summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/BroadcastQueue.java3
-rw-r--r--services/core/java/com/android/server/am/BroadcastRecord.java3
2 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java
index 3b4b8d620a2d..00497d4dbad5 100644
--- a/services/core/java/com/android/server/am/BroadcastQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -228,7 +228,8 @@ public final class BroadcastQueue {
public final boolean replaceParallelBroadcastLocked(BroadcastRecord r) {
final Intent intent = r.intent;
for (int i = mParallelBroadcasts.size() - 1; i >= 0; i--) {
- if (intent.filterEquals(mParallelBroadcasts.get(i).intent)) {
+ final Intent curIntent = mParallelBroadcasts.get(i).intent;
+ if (intent.filterEquals(curIntent)) {
if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST,
"***** DROPPING PARALLEL ["
+ mQueueName + "]: " + intent);
diff --git a/services/core/java/com/android/server/am/BroadcastRecord.java b/services/core/java/com/android/server/am/BroadcastRecord.java
index 3437ae6195f6..1e7911a25f50 100644
--- a/services/core/java/com/android/server/am/BroadcastRecord.java
+++ b/services/core/java/com/android/server/am/BroadcastRecord.java
@@ -219,6 +219,9 @@ final class BroadcastRecord extends Binder {
int _resultCode, String _resultData, Bundle _resultExtras, boolean _serialized,
boolean _sticky, boolean _initialSticky,
int _userId) {
+ if (_intent == null) {
+ throw new NullPointerException("Can't construct with a null intent");
+ }
queue = _queue;
intent = _intent;
targetComp = _intent.getComponent();