Merge "Don't remove permission when cleaning up orphaned tree on uninstall" into tm-qpr-dev am: f0f951f7a8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20945135 Change-Id: Ibc95a20be54fe57125618c2b98a6078097971c04 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -4215,7 +4215,6 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
|
||||
}
|
||||
boolean changed = false;
|
||||
|
||||
Set<Permission> needsUpdate = null;
|
||||
synchronized (mLock) {
|
||||
final Iterator<Permission> it = mRegistry.getPermissionTrees().iterator();
|
||||
while (it.hasNext()) {
|
||||
@@ -4234,26 +4233,6 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
|
||||
+ " that used to be declared by " + bp.getPackageName());
|
||||
it.remove();
|
||||
}
|
||||
if (needsUpdate == null) {
|
||||
needsUpdate = new ArraySet<>();
|
||||
}
|
||||
needsUpdate.add(bp);
|
||||
}
|
||||
}
|
||||
if (needsUpdate != null) {
|
||||
for (final Permission bp : needsUpdate) {
|
||||
final AndroidPackage sourcePkg =
|
||||
mPackageManagerInt.getPackage(bp.getPackageName());
|
||||
final PackageStateInternal sourcePs =
|
||||
mPackageManagerInt.getPackageStateInternal(bp.getPackageName());
|
||||
synchronized (mLock) {
|
||||
if (sourcePkg != null && sourcePs != null) {
|
||||
continue;
|
||||
}
|
||||
Slog.w(TAG, "Removing dangling permission tree: " + bp.getName()
|
||||
+ " from package " + bp.getPackageName());
|
||||
mRegistry.removePermission(bp.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
return changed;
|
||||
|
||||
Reference in New Issue
Block a user