@@ -13451,7 +13451,7 @@ void removeSuspensionsBySuspendingPackage(String[] packagesToChange,
1345113451 synchronized (mLock) {
1345213452 for (String packageName : packagesToChange) {
1345313453 final PackageSetting ps = mSettings.mPackages.get(packageName);
13454- if (ps.getSuspended(userId)) {
13454+ if (ps != null && ps .getSuspended(userId)) {
1345513455 ps.removeSuspension(suspendingPackagePredicate, userId);
1345613456 if (!ps.getSuspended(userId)) {
1345713457 unsuspendedPackages.add(ps.name);
@@ -13492,7 +13492,7 @@ void removeDistractingPackageRestrictions(String[] packagesToChange, int userId)
1349213492 synchronized (mLock) {
1349313493 for (String packageName : packagesToChange) {
1349413494 final PackageSetting ps = mSettings.mPackages.get(packageName);
13495- if (ps.getDistractionFlags(userId) != 0) {
13495+ if (ps != null && ps .getDistractionFlags(userId) != 0) {
1349613496 ps.setDistractionFlags(0, userId);
1349713497 changedPackages.add(ps.name);
1349813498 changedUids.add(UserHandle.getUid(userId, ps.getAppId()));
@@ -18884,6 +18884,7 @@ public boolean setBlockUninstallForUser(String packageName, boolean blockUninsta
1888418884 int userId) {
1888518885 mContext.enforceCallingOrSelfPermission(
1888618886 android.Manifest.permission.DELETE_PACKAGES, null);
18887+ // TODO (b/157774108): This should fail on non-existent packages.
1888718888 synchronized (mLock) {
1888818889 // Cannot block uninstall of static shared libs as they are
1888918890 // considered a part of the using app (emulating static linking).
0 commit comments