From 16558242d8ca51a13c2609e615f6ae0756c12b7e Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Sun, 12 Oct 2025 13:14:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=83=8C=E6=99=AF=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E9=97=AE=E9=A2=98=20#81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kazusa/ui/file/HandleFileContract.kt | 15 ++++++++++----- .../kazusa/utils/ActivityResultContracts.kt | 19 +++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) 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