diff options
| author | 2020-09-03 22:24:36 +0000 | |
|---|---|---|
| committer | 2020-09-03 22:24:36 +0000 | |
| commit | e6ef7e83b0f7ab24f354394736db2fd28375f7c6 (patch) | |
| tree | faa2874e67fc4d971e2d00a7a5515aa1f0596076 | |
| parent | 1ee01b6c2190bcaaf1acda4df0bbae7ac9d398ba (diff) | |
| parent | b2487b78627ea1df86e41a2c58d7b92fa78ea85a (diff) | |
DO NOT MERGE Fix NPE in executeDeletePackageLIF. am: 01e0f4813a am: b2487b7862
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12495373
Change-Id: I318b3678f81919da1d33fbe7b53035cccb54b903
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 3 |
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 14b890568843..a980788b3d8f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -19198,7 +19198,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); } |