INNER CODE UNIT · Kotlin
pickerLauncher
fumiama/copymanga · app/src/main/java/top/fumiama/copymanga/MainActivity.kt:404
private var pickerLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) result.data?.data?.let {
saveFile(it)
cropImageUri()
} else Toast.makeText(this, R.string.err_pick_img, Toast.LENGTH_SHORT).show()
}
@SuppressLint("IntentReset")
private fun pickPicture() {
val i = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
i.type = "image/*"
pickerLauncher.launch(i)
}
private fun saveFile(uri: Uri) {
contentResolver.openFileDescriptor(uri, "r")?.use {
it.fileDescriptor?.let { fd ->
FileInputStream(fd).use { fi ->