Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90bb5e56 authored by Tim Murray's avatar Tim Murray
Browse files

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
parent f5340028
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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() {