summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hui Yu <huiyu@google.com> 2022-04-07 16:34:16 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-04-07 16:34:16 +0000
commitf3e8d88277152d9c268f536a501b6e1944f554f4 (patch)
treedf4c1d1aa5ccee7a9ce126d354d03e8a11177789
parentb597282629a5b8983e6de2611c06ea889961effa (diff)
parentfc32f968d6a1d8dfb741bbd4ada0e5e41b97f594 (diff)
Merge "Null check on BroadcastRecord's receivers list." into tm-dev
-rw-r--r--services/core/java/com/android/server/am/BroadcastDispatcher.java5
-rw-r--r--services/core/java/com/android/server/am/BroadcastRecord.java4
2 files changed, 9 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastDispatcher.java b/services/core/java/com/android/server/am/BroadcastDispatcher.java
index 01d8109a82a0..872531a47bc9 100644
--- a/services/core/java/com/android/server/am/BroadcastDispatcher.java
+++ b/services/core/java/com/android/server/am/BroadcastDispatcher.java
@@ -580,6 +580,11 @@ public class BroadcastDispatcher {
// ----------------------------------
// BroadcastQueue operation support
void enqueueOrderedBroadcastLocked(BroadcastRecord r) {
+ if (r.receivers == null || r.receivers.isEmpty()) {
+ mOrderedBroadcasts.add(r);
+ return;
+ }
+
if (Intent.ACTION_LOCKED_BOOT_COMPLETED.equals(r.intent.getAction())) {
// Create one BroadcastRecord for each UID that can be deferred.
final SparseArray<BroadcastRecord> deferred =
diff --git a/services/core/java/com/android/server/am/BroadcastRecord.java b/services/core/java/com/android/server/am/BroadcastRecord.java
index 2ee32b6abe96..5343af25fd39 100644
--- a/services/core/java/com/android/server/am/BroadcastRecord.java
+++ b/services/core/java/com/android/server/am/BroadcastRecord.java
@@ -414,6 +414,10 @@ final class BroadcastRecord extends Binder {
return ret;
}
+ if (receivers == null) {
+ return ret;
+ }
+
final String action = intent.getAction();
if (!Intent.ACTION_LOCKED_BOOT_COMPLETED.equals(action)
&& !Intent.ACTION_BOOT_COMPLETED.equals(action)) {