Merge "Doze: Fix WakeLock bug"

This commit is contained in:
TreeHugger Robot
2016-11-17 20:57:30 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 0 deletions

View File

@@ -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;
}
}

View File

@@ -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() {