diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java index 707bf1363..eb180ec44 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadActivity.java @@ -278,7 +278,8 @@ public class UploadActivity extends BaseActivity implements UploadContract.View, public void checkStoragePermissions() { // Check if all required permissions are granted final boolean hasAllPermissions = PermissionUtils.hasPermission(this, PERMISSIONS_STORAGE); - if (hasAllPermissions) { + final boolean hasPartialAccess = PermissionUtils.hasPartialAccess(this); + if (hasAllPermissions || hasPartialAccess) { // All required permissions are granted, so enable UI elements and perform actions receiveSharedItems(); binding.cvContainerTopCard.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/fr/free/nrw/commons/utils/PermissionUtils.java b/app/src/main/java/fr/free/nrw/commons/utils/PermissionUtils.java index 5fb444192..88a314fc6 100644 --- a/app/src/main/java/fr/free/nrw/commons/utils/PermissionUtils.java +++ b/app/src/main/java/fr/free/nrw/commons/utils/PermissionUtils.java @@ -76,7 +76,9 @@ public class PermissionUtils { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { return ContextCompat.checkSelfPermission(activity, permission.READ_MEDIA_VISUAL_USER_SELECTED - ) == PackageManager.PERMISSION_GRANTED; + ) == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission( + activity, permission.READ_MEDIA_IMAGES + ) == PackageManager.PERMISSION_DENIED; } return false; }