summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerShellCommand.java3
-rw-r--r--services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java4
2 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index 78a600e34dae..6b10d4c17527 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -159,13 +159,14 @@ class PackageManagerShellCommand extends ShellCommand {
private static final Map<String, Integer> SUPPORTED_PERMISSION_FLAGS = new ArrayMap<>();
private static final List<String> SUPPORTED_PERMISSION_FLAGS_LIST;
static {
+ SUPPORTED_PERMISSION_FLAGS_LIST = List.of("review-required", "revoked-compat",
+ "revoke-when-requested", "user-fixed", "user-set");
SUPPORTED_PERMISSION_FLAGS.put("user-set", FLAG_PERMISSION_USER_SET);
SUPPORTED_PERMISSION_FLAGS.put("user-fixed", FLAG_PERMISSION_USER_FIXED);
SUPPORTED_PERMISSION_FLAGS.put("revoked-compat", FLAG_PERMISSION_REVOKED_COMPAT);
SUPPORTED_PERMISSION_FLAGS.put("review-required", FLAG_PERMISSION_REVIEW_REQUIRED);
SUPPORTED_PERMISSION_FLAGS.put("revoke-when-requested",
FLAG_PERMISSION_REVOKE_WHEN_REQUESTED);
- SUPPORTED_PERMISSION_FLAGS_LIST = new ArrayList<>(SUPPORTED_PERMISSION_FLAGS.keySet());
}
final IPackageManager mInterface;
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
index 092f3bec4012..d9e74f8a6afd 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
@@ -767,8 +767,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
flagValues &= ~FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT;
flagValues &= ~FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT;
flagValues &= ~PackageManager.FLAG_PERMISSION_APPLY_RESTRICTION;
- // REVIEW_REQUIRED can only be set by non-system apps for POST_NOTIFICATIONS, or by the
- // shell or root UID.
+ // REVIEW_REQUIRED can be set on any permission by the shell or the root uid, or by
+ // any app for the POST_NOTIFICATIONS permission specifically.
if (!POST_NOTIFICATIONS.equals(permName) && callingUid != Process.SHELL_UID
&& callingUid != Process.ROOT_UID) {
flagValues &= ~PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED;