diff options
| -rw-r--r-- | core/java/android/os/storage/StorageManager.java | 100 |
1 files changed, 9 insertions, 91 deletions
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 78994205e5e7..5527c69417d5 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -17,18 +17,7 @@ package android.os.storage; import static android.Manifest.permission.MANAGE_EXTERNAL_STORAGE; -import static android.Manifest.permission.READ_EXTERNAL_STORAGE; -import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE; import static android.app.AppOpsManager.OP_LEGACY_STORAGE; -import static android.app.AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE; -import static android.app.AppOpsManager.OP_READ_EXTERNAL_STORAGE; -import static android.app.AppOpsManager.OP_READ_MEDIA_AUDIO; -import static android.app.AppOpsManager.OP_READ_MEDIA_IMAGES; -import static android.app.AppOpsManager.OP_READ_MEDIA_VIDEO; -import static android.app.AppOpsManager.OP_WRITE_EXTERNAL_STORAGE; -import static android.app.AppOpsManager.OP_WRITE_MEDIA_AUDIO; -import static android.app.AppOpsManager.OP_WRITE_MEDIA_IMAGES; -import static android.app.AppOpsManager.OP_WRITE_MEDIA_VIDEO; import static android.content.ContentResolver.DEPRECATE_DATA_PREFIX; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.os.UserHandle.PER_USER_RANGE; @@ -1869,88 +1858,17 @@ public class StorageManager { // handle obscure cases like when an app targets Q but was installed on // a device that was originally running on P before being upgraded to Q. - /** {@hide} */ - public boolean checkPermissionReadAudio(boolean enforce, - int pid, int uid, String packageName, @Nullable String featureId) { - if (!checkExternalStoragePermissionAndAppOp(enforce, pid, uid, packageName, featureId, - READ_EXTERNAL_STORAGE, OP_READ_EXTERNAL_STORAGE)) { - return false; - } - return noteAppOpAllowingLegacy(enforce, pid, uid, packageName, featureId, - OP_READ_MEDIA_AUDIO); - } - - /** {@hide} */ - public boolean checkPermissionWriteAudio(boolean enforce, - int pid, int uid, String packageName, @Nullable String featureId) { - if (!checkExternalStoragePermissionAndAppOp(enforce, pid, uid, packageName, featureId, - WRITE_EXTERNAL_STORAGE, OP_WRITE_EXTERNAL_STORAGE)) { - return false; - } - return noteAppOpAllowingLegacy(enforce, pid, uid, packageName, featureId, - OP_WRITE_MEDIA_AUDIO); - } - - /** {@hide} */ - public boolean checkPermissionReadVideo(boolean enforce, - int pid, int uid, String packageName, @Nullable String featureId) { - if (!checkExternalStoragePermissionAndAppOp(enforce, pid, uid, packageName, featureId, - READ_EXTERNAL_STORAGE, OP_READ_EXTERNAL_STORAGE)) { - return false; - } - return noteAppOpAllowingLegacy(enforce, pid, uid, packageName, featureId, - OP_READ_MEDIA_VIDEO); - } - - /** {@hide} */ - public boolean checkPermissionWriteVideo(boolean enforce, - int pid, int uid, String packageName, @Nullable String featureId) { - if (!checkExternalStoragePermissionAndAppOp(enforce, pid, uid, packageName, featureId, - WRITE_EXTERNAL_STORAGE, OP_WRITE_EXTERNAL_STORAGE)) { - return false; - } - return noteAppOpAllowingLegacy(enforce, pid, uid, packageName, featureId, - OP_WRITE_MEDIA_VIDEO); - } - - /** {@hide} */ + /** + * @deprecated This method always returns false and should not be used. + * Clients should check the appropriate permissions directly instead + * (e.g. READ_MEDIA_IMAGES). + * + * {@hide} + */ + @Deprecated public boolean checkPermissionReadImages(boolean enforce, int pid, int uid, String packageName, @Nullable String featureId) { - if (!checkExternalStoragePermissionAndAppOp(enforce, pid, uid, packageName, featureId, - READ_EXTERNAL_STORAGE, OP_READ_EXTERNAL_STORAGE)) { - return false; - } - return noteAppOpAllowingLegacy(enforce, pid, uid, packageName, featureId, - OP_READ_MEDIA_IMAGES); - } - - /** {@hide} */ - public boolean checkPermissionWriteImages(boolean enforce, - int pid, int uid, String packageName, @Nullable String featureId) { - if (!checkExternalStoragePermissionAndAppOp(enforce, pid, uid, packageName, featureId, - WRITE_EXTERNAL_STORAGE, OP_WRITE_EXTERNAL_STORAGE)) { - return false; - } - return noteAppOpAllowingLegacy(enforce, pid, uid, packageName, featureId, - OP_WRITE_MEDIA_IMAGES); - } - - private boolean checkExternalStoragePermissionAndAppOp(boolean enforce, - int pid, int uid, String packageName, @Nullable String featureId, String permission, - int op) { - // First check if app has MANAGE_EXTERNAL_STORAGE. - final int mode = mAppOps.noteOpNoThrow(OP_MANAGE_EXTERNAL_STORAGE, uid, packageName, - featureId, null); - if (mode == AppOpsManager.MODE_ALLOWED) { - return true; - } - if (mode == AppOpsManager.MODE_DEFAULT && mContext.checkPermission( - MANAGE_EXTERNAL_STORAGE, pid, uid) == PERMISSION_GRANTED) { - return true; - } - // If app doesn't have MANAGE_EXTERNAL_STORAGE, then check if it has requested granular - // permission. - return checkPermissionAndAppOp(enforce, pid, uid, packageName, featureId, permission, op); + return false; } /** {@hide} */ |