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

Commit 7f1ef643 authored by Hai Zhang's avatar Hai Zhang Committed by Android (Google) Code Review
Browse files

Merge "Quick fix for NPE in onPackageUninstalled() for UPS."

parents be6029c6 484b48b1
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ import android.util.Slog;
import android.util.SparseArray;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.Preconditions;
import com.android.internal.util.function.TriFunction;
import com.android.server.LocalServices;
@@ -722,6 +723,16 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        public void onPackageUninstalled(@NonNull String packageName, int appId,
                @NonNull PackageState packageState, @Nullable AndroidPackage pkg,
                @NonNull List<AndroidPackage> sharedUserPkgs, @UserIdInt int userId) {
            if (userId != UserHandle.USER_ALL) {
                final int[] userIds = getAllUserIds();
                if (!ArrayUtils.contains(userIds, userId)) {
                    // This may happen due to DeletePackageHelper.removeUnusedPackagesLPw() calling
                    // deletePackageX() asynchronously.
                    Slog.w(LOG_TAG, "Skipping onPackageUninstalled() for non-existent user "
                            + userId);
                    return;
                }
            }
            mPermissionManagerServiceImpl.onPackageUninstalled(packageName, appId, packageState,
                    pkg, sharedUserPkgs, userId);
        }