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

Commit ae0c5e8d authored by Adrian Roos's avatar Adrian Roos
Browse files

Doze: Fix WakeLock bug

Change-Id: I3d687bbf82173723c420058867531a970d1f46cb
Fixes: 32857549
Test: runtest -x $(gettop)/frameworks/base/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
parent 01a96637
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -225,8 +225,10 @@ public class DozeMachine {
        boolean newPolicy = wakeLockPolicy(newState);
        if (mWakeLockHeldForCurrentState && !newPolicy) {
            mWakeLock.release();
            mWakeLockHeldForCurrentState = false;
        } else if (!mWakeLockHeldForCurrentState && newPolicy) {
            mWakeLock.acquire();
            mWakeLockHeldForCurrentState = true;
        }
    }

+13 −0
Original line number Diff line number Diff line
@@ -187,6 +187,19 @@ public class DozeMachineTest {
        assertFalse(mWakeLockFake.isHeld());
    }

    @Test
    @UiThreadTest
    public void testWakeLock_releasedAfterPulse() {
        mMachine.requestState(INITIALIZED);

        mMachine.requestState(DOZE);
        mMachine.requestState(DOZE_REQUEST_PULSE);
        mMachine.requestState(DOZE_PULSING);
        mMachine.requestState(DOZE_PULSE_DONE);

        assertFalse(mWakeLockFake.isHeld());
    }

    @Test
    @UiThreadTest
    public void testScreen_offInDoze() {