summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Patrick Plunkett <patplunkett@google.com> 2024-11-06 16:26:35 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-11-06 16:26:35 +0000
commitce71447c9463561c561754909b38b81dcad55d30 (patch)
treec05ff2664463a68c069f327b207b9359b8843ed9
parentec0916e7f7d879ebca3684bd7b18bb8f276b9717 (diff)
parentb327a1806f57f7c4984fc651987b5133a84b4580 (diff)
Merge "Allow ALLOCATE_AGGRESSIVE permission for StorageManagerService.getInternalStorageRemainingLifetime" into main
-rw-r--r--core/java/android/os/storage/IStorageManager.aidl1
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java11
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();
}