From 448489a991773b58f4be4ef06553a8a0b235f78b Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 29 Sep 2016 10:55:10 -0700 Subject: [PATCH] Work on issue #29422027: APR: Runtime restarts in system_server More debugability. Change-Id: I93b8e2ac63a25ca43d0eaedfcf8262ba92bc15d5 --- services/core/java/com/android/server/am/BroadcastQueue.java | 3 ++- services/core/java/com/android/server/am/BroadcastRecord.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index f78f29c4ac6dc..8b8e2c4097c28 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -227,7 +227,8 @@ public final class BroadcastQueue { public final boolean replaceParallelBroadcastLocked(BroadcastRecord r) { for (int i = mParallelBroadcasts.size() - 1; i >= 0; i--) { - if (r.intent.filterEquals(mParallelBroadcasts.get(i).intent)) { + final Intent curIntent = mParallelBroadcasts.get(i).intent; + if (r.intent.filterEquals(curIntent)) { if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "***** DROPPING PARALLEL [" + mQueueName + "]: " + r.intent); diff --git a/services/core/java/com/android/server/am/BroadcastRecord.java b/services/core/java/com/android/server/am/BroadcastRecord.java index 3437ae6195f68..1e7911a25f500 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();