diff --git a/app/src/main/java/io/legato/kazusa/ui/file/HandleFileContract.kt b/app/src/main/java/io/legato/kazusa/ui/file/HandleFileContract.kt index 9c38dd5cf..682fe16b5 100644 --- a/app/src/main/java/io/legato/kazusa/ui/file/HandleFileContract.kt +++ b/app/src/main/java/io/legato/kazusa/ui/file/HandleFileContract.kt @@ -41,15 +41,20 @@ class HandleFileContract : } override fun parseResult(resultCode: Int, intent: Intent?): Result { - val uri = if (resultCode != RESULT_OK || intent?.data == null || - RealPathUtil.getTreePath(intent.data!!) - ?.startsWith(appCtx.externalFiles.parent!!) == true + if (resultCode != RESULT_OK || intent == null) { + return Result(null, requestCode, null) + } + + val dataUri = intent.data + val uri = if (dataUri == null || + RealPathUtil.getTreePath(dataUri)?.startsWith(appCtx.externalFiles.parent!!) == true ) { null } else { - intent.data + dataUri } - return Result(uri, requestCode, intent?.getStringExtra("value")) + + return Result(uri, requestCode, intent.getStringExtra("value")) } companion object { diff --git a/app/src/main/java/io/legato/kazusa/utils/ActivityResultContracts.kt b/app/src/main/java/io/legato/kazusa/utils/ActivityResultContracts.kt index 3d3c1174f..704dd9153 100644 --- a/app/src/main/java/io/legato/kazusa/utils/ActivityResultContracts.kt +++ b/app/src/main/java/io/legato/kazusa/utils/ActivityResultContracts.kt @@ -26,22 +26,25 @@ class SelectImageContract : ActivityResultContract