From 719c9c520603e1d84d31864810d2237ae4d429ca Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Mon, 15 Jun 2020 18:18:33 -0700 Subject: DO NOT MERGE Revoke install permissions when the permission defining app is uninstalled. Bug: 155648771 Test: atest RemovePermissionTest Change-Id: I4a5ecd9bede6f11d5023b3e8345b61d5b04e566f --- .../server/pm/permission/PermissionManagerService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 e35d25676de5..b3bee6f68b78 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -2690,6 +2690,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(); -- cgit v1.2.3-59-g8ed1b