Skip to content

Commit

Permalink
增加权限申请(add permissions request)
Browse files Browse the repository at this point in the history
  • Loading branch information
kenneycode committed Aug 9, 2020
1 parent 5f15f7e commit 63a7a75
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 2 deletions.
Binary file added app/src/main/assets/test.mp4
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.github.kenneycode.fusion.demo

import android.Manifest
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity

Expand All @@ -12,6 +13,12 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import io.github.kenneycode.fusion.demo.SimpleActivity.Companion.KEY_SAMPLE_INDEX
import io.github.kenneycode.fusion.util.BitmapUtil
import androidx.core.app.ActivityCompat
import android.content.pm.PackageManager
import androidx.core.content.ContextCompat
import io.github.kenneycode.fusion.util.Utils




/**
Expand All @@ -30,7 +37,8 @@ class MainActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
BitmapUtil.context = applicationContext

Utils.copyAssetsFiles(this, "test.mp4", "/sdcard/test.mp4")
checkPermissions()
val samplesList = findViewById<RecyclerView>(R.id.list)
val layoutManager = LinearLayoutManager(this)
layoutManager.orientation = LinearLayoutManager.VERTICAL
Expand All @@ -39,6 +47,20 @@ class MainActivity : AppCompatActivity() {

}


private fun checkPermissions() {
val permissions = mutableListOf<String>()
if (ContextCompat.checkSelfPermission(application, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE)
}
if (ContextCompat.checkSelfPermission(application, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
permissions.add(Manifest.permission.CAMERA)
}
if (permissions.isNotEmpty()) {
ActivityCompat.requestPermissions(this, permissions.toTypedArray(), 1)
}
}

inner class MyAdapter : RecyclerView.Adapter<VH>() {

override fun onCreateViewHolder(p0: ViewGroup, p1: Int): VH {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class SampleVideo : Fragment() {
val renderer = RenderChain()
.addRenderer(OESConvertRenderer())
.addRenderer(LUTRenderer().apply { setLUTImage(BitmapUtil.decodeBitmapFromAssets("test_lut.png")!!); setLUTStrength(0.8f) })
.addRenderer(GaussianBlurRenderer().apply { setBlurRadius(10) })
.addRenderer(GaussianBlurRenderer().apply { setBlurRadius(20) })

// 创建RenderPipeline,连接输入、渲染器与输出
renderPipeline = RenderPipeline
Expand Down
43 changes: 43 additions & 0 deletions app/src/main/java/io/github/kenneycode/fusion/util/Utils.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package io.github.kenneycode.fusion.util

import android.content.Context
import java.io.File
import java.io.FileOutputStream

class Utils {

companion object {

fun copyAssetsFiles(context: Context, source: String, dst: String): Boolean {
try {
val fileNames = context.assets.list(source)
if (fileNames!!.isNotEmpty()) {
val file = File(dst)
file.mkdirs()
for (fileName in fileNames) {
copyAssetsFiles(context, "$source/$fileName", "$dst/$fileName")
}
} else {
val ins = context.assets.open(source)
val fos = FileOutputStream(File(dst))
val buffer = ByteArray(1024)
var byteCount = 0
while (true) {
byteCount = ins.read(buffer)
if (byteCount == -1) {
break
}
fos.write(buffer, 0, byteCount)
}
fos.flush()
ins.close()
fos.close()
}
} catch (e: Exception) {
e.printStackTrace()
}
return true
}
}

}

0 comments on commit 63a7a75

Please sign in to comment.