Revoke install permissions when the permission defining app is uninstalled.

Bug: 155648771
Test: atest RemovePermissionTest
Change-Id: I4a5ecd9bede6f11d5023b3e8345b61d5b04e566f
Merged-In: I4a5ecd9bede6f11d5023b3e8345b61d5b04e566f
This commit is contained in:
Hai Zhang
2020-06-15 18:18:33 -07:00
parent 008d947b59
commit 2bf768e2ca

View File

@@ -4224,6 +4224,20 @@ public class PermissionManagerService extends IPermissionManager.Stub {
revokePermissionFromPackageForUser(p.getPackageName(),
bp.getName(), true, userId, callback));
}
} else {
mPackageManagerInt.forEachPackage(p -> {
PackageSetting ps = mPackageManagerInt.getPackageSetting(
p.getPackageName());
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);
}
});
}
it.remove();
}