diff options
| author | 2020-05-26 06:28:33 -0700 | |
|---|---|---|
| committer | 2020-05-26 06:28:33 -0700 | |
| commit | 0bc18b37ac912b5b06aedbbe307ef29c4351b7c9 (patch) | |
| tree | 51f12fe0ee29bfb050f49d5efd31e862f8654285 | |
| parent | a543dfde92e33b0d067943c6d4f0a3149d822bc2 (diff) | |
Fixes NPE on null pkg
This change moves unprotected access of a setting's pkg field to take
place after an existing null check.
Test: atest AppEnumerationTests
Fixes: 157298411
Change-Id: I49c0cb0d08dd09cabd271cf195a8eff71a98083c
| -rw-r--r-- | services/core/java/com/android/server/pm/AppsFilter.java | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/pm/AppsFilter.java b/services/core/java/com/android/server/pm/AppsFilter.java index f9d805e57305..311c36f2808f 100644 --- a/services/core/java/com/android/server/pm/AppsFilter.java +++ b/services/core/java/com/android/server/pm/AppsFilter.java @@ -446,11 +446,6 @@ public class AppsFilter { } } - if (!newPkgSetting.pkg.getProtectedBroadcasts().isEmpty()) { - mProtectedBroadcasts.addAll(newPkgSetting.pkg.getProtectedBroadcasts()); - recomputeComponentVisibility(existingSettings, newPkgSetting.pkg.getPackageName()); - } - Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "filter.addPackage"); try { final AndroidPackage newPkg = newPkgSetting.pkg; @@ -459,6 +454,11 @@ public class AppsFilter { return; } + if (!newPkg.getProtectedBroadcasts().isEmpty()) { + mProtectedBroadcasts.addAll(newPkg.getProtectedBroadcasts()); + recomputeComponentVisibility(existingSettings, newPkg.getPackageName()); + } + final boolean newIsForceQueryable = mForceQueryable.contains(newPkgSetting.appId) /* shared user that is already force queryable */ |