diff options
author | Patrick Baumann <patb@google.com> | 2019-11-06 10:36:39 -0800 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-11-16 00:27:34 +0000 |
commit | 3470f2801d59ad85b710b49f12507f0f1bba3ad8 (patch) | |
tree | 9866f7b45eaad8a4c321e9f4e731f47691e0978e | |
parent | 75c97cf80d59e114ef7945ed0bb550f8ab42118d (diff) | |
download | base-3470f2801d59ad85b710b49f12507f0f1bba3ad8.tar.gz |
DO NOT MERGE: Fixes NPE when preparing app data during init
When deleting an unused static shared library on Q, the user manager was
fetched via mContext.getSystemService. At this time during boot, the
service wasn't registered and so null was returned. This has already
been addressed in R with a move to injecting dependencies in the
PackageManagerService constructor.
Bug: 142083996
Bug: 141413692
Test: manual; remove static dependency on eng Q build and reboot
Change-Id: I8ae4e331d09b4734c54cdc6887b273705dce88b1
(cherry picked from commit 46e6a0b1ff34d3a0a8fc006ba86677780195a1ff)
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 703c17acd6ce..dd8cb4dba0a7 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -22967,9 +22967,9 @@ public class PackageManagerService extends IPackageManager.Stub mSettings.writeKernelMappingLPr(ps); } - final UserManager um = mContext.getSystemService(UserManager.class); + final UserManagerService um = sUserManager; UserManagerInternal umInternal = getUserManagerInternal(); - for (UserInfo user : um.getUsers()) { + for (UserInfo user : um.getUsers(false /* excludeDying */)) { final int flags; if (umInternal.isUserUnlockingOrUnlocked(user.id)) { flags = StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE; |