diff options
| -rw-r--r-- | services/core/java/com/android/server/am/BroadcastQueue.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/BroadcastRecord.java | 3 |
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 d3826acb7918..7873b7aeda28 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(); |