BroadcastProcessQueue: fix wait-for-broadcast-barrier/idle
wait-for-broadcast-barrier/idle was trying to wait for infinitely-deferred broadcasts. That's not necessary. Test: atest WMShellFlickerTests:ExpandPipOnDoubleClickTest with barrier Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.statusbar.StatusUpdate#testBatteryDrain Bug: 261065790 Change-Id: Ib4de69cfd5b9cb6b36cd4d59096e9edba9b89720
This commit is contained in:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user