summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hai Zhang <zhanghai@google.com> 2020-09-03 22:36:21 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-09-03 22:36:21 +0000
commitbf81014583013da293c541d30035195db7415cd7 (patch)
tree999271e5acef206d196c847b6808bb14cb144d23
parent6f54008cc1cc5453981cd13690fd0fe5a915d549 (diff)
parente6ef7e83b0f7ab24f354394736db2fd28375f7c6 (diff)
DO NOT MERGE Fix NPE in executeDeletePackageLIF. am: 01e0f4813a am: b2487b7862 am: e6ef7e83b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12495373 Change-Id: Ib0ebacb28f841a4ff307b30eecc235daa5625ab1
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 93b85e1cb70f..4219bd4b9fa8 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -19203,7 +19203,8 @@ public class PackageManagerService extends IPackageManager.Stub
// We need to get the permission state before package state is (potentially) destroyed.
final SparseBooleanArray hadSuspendAppsPermission = new SparseBooleanArray();
- for (int userId : allUserHandles) {
+ // allUserHandles could be null, so call mUserManager.getUserIds() directly which is cached anyway.
+ for (int userId : mUserManager.getUserIds()) {
hadSuspendAppsPermission.put(userId, checkPermission(Manifest.permission.SUSPEND_APPS,
packageName, userId) == PERMISSION_GRANTED);
}