From d51ddb989d04e334f3cb1ac774650e312e61a38e Mon Sep 17 00:00:00 2001 From: Maxwell Zhou-Smith Date: Sun, 26 Oct 2025 20:30:17 +1100 Subject: [PATCH] Bypassed Storage Perms Check for External Share The share intent provides files via content uris with temporary read permissions, so we do not need to obtain storage permissions --- .../java/fr/free/nrw/commons/upload/UploadActivity.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt index 66e0257f6..928043844 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.kt @@ -314,6 +314,16 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C // Check if all required permissions are granted val hasAllPermissions = hasPermission(this, PERMISSIONS_STORAGE) val hasPartialAccess = hasPartialAccess(this) + + // The share intent provides files via content uris with temporary read permissions, + // so we do not need to obtain storage permissions + val intent = intent + val action = intent.action + if (Intent.ACTION_SEND == action || Intent.ACTION_SEND_MULTIPLE == action) { + receiveSharedItems() + return + } + if (hasAllPermissions || hasPartialAccess) { // All required permissions are granted, so enable UI elements and perform actions receiveSharedItems()