summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Tim Murray <timmurray@google.com> 2023-01-13 21:06:39 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-01-13 21:06:39 +0000
commit16b26358c8f77b4fb78e3fcb51caa795a6d7c8b2 (patch)
tree59c2c4cc2b64c24f1293f28380dbde8552df6379
parent9106ef94f00b93decda516fe128dfb05904bbda4 (diff)
parent90bb5e565a1d55348b64ffe2d0c12821726cf632 (diff)
Merge "BroadcastProcessQueue: fix wait-for-broadcast-barrier/idle"
-rw-r--r--services/core/java/com/android/server/am/BroadcastProcessQueue.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastProcessQueue.java b/services/core/java/com/android/server/am/BroadcastProcessQueue.java
index 41d9a11e3eaf..d7cca60b6df4 100644
--- a/services/core/java/com/android/server/am/BroadcastProcessQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastProcessQueue.java
@@ -747,7 +747,7 @@ class BroadcastProcessQueue {
* be delivered at some point in the future.
*/
public boolean isIdle() {
- return !isActive() && isEmpty();
+ return (!isActive() && isEmpty()) || isDeferredUntilActive();
}
/**
@@ -769,7 +769,8 @@ class BroadcastProcessQueue {
final boolean nextOffloadBeyond = (nextOffload == null)
|| ((BroadcastRecord) nextOffload.arg1).enqueueTime > barrierTime;
- return activeBeyond && nextBeyond && nextUrgentBeyond && nextOffloadBeyond;
+ return (activeBeyond && nextBeyond && nextUrgentBeyond && nextOffloadBeyond)
+ || isDeferredUntilActive();
}
public boolean isRunnable() {