commit | 52fe5dd97fb749aad4f570914a22aebf8d0de1c1 | [log] [tgz] |
---|---|---|
author | TreeHugger Robot <treehugger-gerrit@google.com> | Mon Dec 10 22:58:34 2018 +0000 |
committer | Android (Google) Code Review <android-gerrit@google.com> | Mon Dec 10 22:58:34 2018 +0000 |
tree | f49cec8208ded2beedd0302482b20eda69bea94c | |
parent | be5eb1769a354bd2df0083fa6d4cbd733fc743e8 [diff] | |
parent | c6bdbec499d7afd4806e6f472ab049d3b6967764 [diff] |
Merge "Do not review removed permissions"
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 4a95f61..888675c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -18310,6 +18310,10 @@ continue; } + if (bp.isRemoved()) { + continue; + } + // If shared user we just reset the state to which only this app contributed. if (ps.sharedUser != null) { boolean used = false;
diff --git a/services/core/java/com/android/server/pm/permission/BasePermission.java b/services/core/java/com/android/server/pm/permission/BasePermission.java index 11701af..996f42b 100644 --- a/services/core/java/com/android/server/pm/permission/BasePermission.java +++ b/services/core/java/com/android/server/pm/permission/BasePermission.java
@@ -189,6 +189,11 @@ return (protectionLevel & PermissionInfo.PROTECTION_MASK_BASE) == PermissionInfo.PROTECTION_DANGEROUS; } + + public boolean isRemoved() { + return perm.info != null && (perm.info.flags & PermissionInfo.FLAG_REMOVED) != 0; + } + public boolean isSignature() { return (protectionLevel & PermissionInfo.PROTECTION_MASK_BASE) == PermissionInfo.PROTECTION_SIGNATURE;
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java index 4ef7970..bc3c18d 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -799,6 +799,10 @@ continue; } + if (bp.isRemoved()) { + continue; + } + // Limit ephemeral apps to ephemeral allowed permissions. if (pkg.applicationInfo.isInstantApp() && !bp.isInstant()) { if (DEBUG_PERMISSIONS) {