summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Patrick Baumann <patb@google.com> 2020-05-26 06:28:33 -0700
committer Patrick Baumann <patb@google.com> 2020-05-26 06:28:33 -0700
commit0bc18b37ac912b5b06aedbbe307ef29c4351b7c9 (patch)
tree51f12fe0ee29bfb050f49d5efd31e862f8654285
parenta543dfde92e33b0d067943c6d4f0a3149d822bc2 (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.java10
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 */