From 6da3c3bc0d222e9be2b7f6784525eac1be158edf Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Tue, 9 May 2023 08:19:09 -0700 Subject: [PATCH] Ignore demoteFromRunning requests if the process queue is not active. Bug: 281662943 Test: atest services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java Test: atest services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java Change-Id: Id2e223a3e523142fbb9bc23a533ba3e0fa8d4982 --- .../java/com/android/server/am/BroadcastQueueModernImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java b/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java index 78ca2ba6bfce4..e8ac35fdcde15 100644 --- a/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java +++ b/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java @@ -1151,6 +1151,11 @@ class BroadcastQueueModernImpl extends BroadcastQueue { */ @GuardedBy("mService") private void demoteFromRunningLocked(@NonNull BroadcastProcessQueue queue) { + if (!queue.isActive()) { + logw("Ignoring demoteFromRunning; no active broadcast for " + queue); + return; + } + final int cookie = traceBegin("demoteFromRunning"); // We've drained running broadcasts; maybe move back to runnable queue.makeActiveIdle();