Merge "Clean up renamed packages during app removal"

This commit is contained in:
TreeHugger Robot
2021-07-19 19:29:54 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 0 deletions

View File

@@ -7577,6 +7577,8 @@ public class PackageManagerService extends IPackageManager.Stub
}
mExpectingBetter.clear();
mSettings.pruneRenamedPackagesLPw();
// Resolve the storage manager.
mStorageManagerPackage = getStorageManagerPackageName();
@@ -21867,6 +21869,8 @@ public class PackageManagerService extends IPackageManager.Stub
}
clearPackagePreferredActivitiesLPw(
deletedPs.name, changedUsers, UserHandle.USER_ALL);
mSettings.removeRenamedPackageLPw(deletedPs.realName);
}
if (changedUsers.size() > 0) {
updateDefaultHomeNotLocked(changedUsers);

View File

@@ -747,6 +747,15 @@ public final class Settings implements Watchable, Snappable {
mRenamedPackages.remove(pkgName);
}
void pruneRenamedPackagesLPw() {
for (int i = mRenamedPackages.size() - 1; i >= 0; i--) {
PackageSetting ps = mPackages.get(mRenamedPackages.valueAt(i));
if (ps == null) {
mRenamedPackages.removeAt(i);
}
}
}
/** Gets and optionally creates a new shared user id. */
SharedUserSetting getSharedUserLPw(String name, int pkgFlags, int pkgPrivateFlags,
boolean create) throws PackageManagerException {