From f44cff9912cca8f887a000cd001ddc4273fd7e2e Mon Sep 17 00:00:00 2001 From: Markus Fisch Date: Sun, 30 Jun 2024 19:06:02 +0200 Subject: [PATCH] Use type in getParcelableExtra() on Tiramisu+ And ignore the deprecation warning for earlier Android versions. Also use a scope function to remove the local variable in the parent context. --- .../binaryeye/activity/CameraActivity.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/de/markusfisch/android/binaryeye/activity/CameraActivity.kt b/app/src/main/kotlin/de/markusfisch/android/binaryeye/activity/CameraActivity.kt index 98a6f1b4..fd48d49d 100644 --- a/app/src/main/kotlin/de/markusfisch/android/binaryeye/activity/CameraActivity.kt +++ b/app/src/main/kotlin/de/markusfisch/android/binaryeye/activity/CameraActivity.kt @@ -9,6 +9,7 @@ import android.graphics.Matrix import android.graphics.Rect import android.hardware.Camera import android.net.Uri +import android.os.Build import android.os.Bundle import android.support.design.widget.FloatingActionButton import android.support.v7.app.AppCompatActivity @@ -356,16 +357,23 @@ class CameraActivity : AppCompatActivity() { return } - // Read text from file - val textUri = intent.getParcelableExtra(Intent.EXTRA_STREAM) as Uri? - if (textUri != null) { + // Read text from file. + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { + @Suppress("DEPRECATION") + intent.getParcelableExtra(Intent.EXTRA_STREAM) as Uri? + } else { + intent.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java) + }?.let { textUri -> val file = contentResolver.openFileDescriptor(textUri, "r") if (file != null) { val fs = FileInputStream(file.fileDescriptor) val scn = Scanner(fs).useDelimiter("\\A") if (scn.hasNext()) { - val fText = scn.next() - startActivity(MainActivity.getEncodeIntent(this, fText, true)) + startActivity( + MainActivity.getEncodeIntent( + this, scn.next(), true + ) + ) finish() } file.close()