Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 894fe927 authored by Joe Castro's avatar Joe Castro Committed by Android (Google) Code Review
Browse files

Merge "Don't remove permission when cleaning up orphaned tree on uninstall"

parents 2d1cb69a d8572e27
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -4245,7 +4245,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()) {
@@ -4264,26 +4263,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;