diff options
-rw-r--r-- | core/java/android/os/storage/IStorageManager.aidl | 1 | ||||
-rw-r--r-- | services/core/java/com/android/server/StorageManagerService.java | 11 |
2 files changed, 9 insertions, 3 deletions
diff --git a/core/java/android/os/storage/IStorageManager.aidl b/core/java/android/os/storage/IStorageManager.aidl index 1ab48a22cbbd..09b96da39a84 100644 --- a/core/java/android/os/storage/IStorageManager.aidl +++ b/core/java/android/os/storage/IStorageManager.aidl @@ -181,6 +181,5 @@ interface IStorageManager { * device's useful lifetime remains. If no information is available, -1 * is returned. */ - @EnforcePermission("READ_PRIVILEGED_PHONE_STATE") int getInternalStorageRemainingLifetime() = 99; } diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java index 9d27731cecd4..b7bc4e4827ef 100644 --- a/services/core/java/com/android/server/StorageManagerService.java +++ b/services/core/java/com/android/server/StorageManagerService.java @@ -96,6 +96,7 @@ import android.os.Looper; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.ParcelableException; +import android.os.PermissionEnforcer; import android.os.PersistableBundle; import android.os.Process; import android.os.RemoteCallbackList; @@ -3653,10 +3654,16 @@ class StorageManagerService extends IStorageManager.Stub return mInternalStorageSize; } - @EnforcePermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @Override public int getInternalStorageRemainingLifetime() throws RemoteException { - super.getInternalStorageRemainingLifetime_enforcePermission(); + PermissionEnforcer.fromContext(mContext) + .enforcePermissionAnyOf( + new String[] { + android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, + android.Manifest.permission.ALLOCATE_AGGRESSIVE + }, + getCallingPid(), + getCallingUid()); return mVold.getStorageRemainingLifetime(); } |