diff options
| author | 2020-11-06 03:54:47 +0000 | |
|---|---|---|
| committer | 2020-11-06 03:54:47 +0000 | |
| commit | a2cf5c1df156290983576c3b68eef281ace8ecac (patch) | |
| tree | faee6782d7d501d092c11b656c59db5a2aaeeb53 | |
| parent | da1ea4bc8032e1e45e97021067301e367ef275f8 (diff) | |
| parent | 719c9c520603e1d84d31864810d2237ae4d429ca (diff) | |
DO NOT MERGE Revoke install permissions when the permission defining app is uninstalled. am: 719c9c5206
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12787259
Change-Id: Ibd9825e98ae6f7ce5aa21e999cd9a446e60fc614
| -rw-r--r-- | services/core/java/com/android/server/pm/permission/PermissionManagerService.java | 14 |
1 files changed, 14 insertions, 0 deletions
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 9cbe6b3332e6..594cd92396e9 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -2775,6 +2775,20 @@ public class PermissionManagerService { } }); } + } else { + mPackageManagerInt.forEachPackage(p -> { + PackageSetting ps = (PackageSetting) p.mExtras; + if (ps == null) { + return; + } + PermissionsState permissionsState = ps.getPermissionsState(); + if (permissionsState.getInstallPermissionState(bp.getName()) + != null) { + permissionsState.revokeInstallPermission(bp); + permissionsState.updatePermissionFlags(bp, UserHandle.USER_ALL, + MASK_PERMISSION_FLAGS_ALL, 0); + } + }); } flags |= UPDATE_PERMISSIONS_ALL; it.remove(); |