summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Abhijeet Kaur <abkaur@google.com> 2022-08-16 15:22:22 +0100
committer Abhijeet Kaur <abkaur@google.com> 2022-09-01 19:39:54 +0000
commit3a3cc4d91994ffa1da76ca8ff36c0eff929d545a (patch)
treee93d3675275e74a2bf4d33f86b2065c4e57b4262
parent91e0c35911498f2546357bb8786e291a3263e1d6 (diff)
Remove legacy WRITE_EXTERNAL_STORAGE permission check for Installers
Bug: 239495492 Bug: 243924784 Test: atest ScopedStorageHostTest#testCheckInstallerAppAccessToObbDirs Change-Id: Id96c854c0b31e94d367dccd125ad5c14523cdc79 Merged-In: Id96c854c0b31e94d367dccd125ad5c14523cdc79 (cherry picked from commit 33e2c5008b925c6e4349788be1aba19a6d19aa99)
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java10
1 files changed, 2 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index 5eec6e58e925..e54665eb2593 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -19,12 +19,10 @@ package com.android.server;
import static android.Manifest.permission.ACCESS_MTP;
import static android.Manifest.permission.INSTALL_PACKAGES;
import static android.Manifest.permission.MANAGE_EXTERNAL_STORAGE;
-import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.app.AppOpsManager.OP_LEGACY_STORAGE;
import static android.app.AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE;
import static android.app.AppOpsManager.OP_REQUEST_INSTALL_PACKAGES;
-import static android.app.AppOpsManager.OP_WRITE_EXTERNAL_STORAGE;
import static android.app.PendingIntent.FLAG_CANCEL_CURRENT;
import static android.app.PendingIntent.FLAG_IMMUTABLE;
import static android.app.PendingIntent.FLAG_ONE_SHOT;
@@ -4512,11 +4510,7 @@ class StorageManagerService extends IStorageManager.Stub
}
}
- // Determine if caller is holding runtime permission
- final boolean hasWrite = StorageManager.checkPermissionAndCheckOp(mContext, false, 0,
- uid, packageName, WRITE_EXTERNAL_STORAGE, OP_WRITE_EXTERNAL_STORAGE);
-
- // We're only willing to give out installer access if they also hold
+ // We're only willing to give out installer access if they hold
// runtime permission; this is a firm CDD requirement
final boolean hasInstall = mIPackageManager.checkUidPermission(INSTALL_PACKAGES,
uid) == PERMISSION_GRANTED;
@@ -4532,7 +4526,7 @@ class StorageManagerService extends IStorageManager.Stub
break;
}
}
- if ((hasInstall || hasInstallOp) && hasWrite) {
+ if (hasInstall || hasInstallOp) {
return StorageManager.MOUNT_MODE_EXTERNAL_INSTALLER;
}
return StorageManager.MOUNT_MODE_EXTERNAL_DEFAULT;