Merge "Don't crash on transition DOZE_SUSPEND_TRIGGERS => DOZE_PULSE_DONE" into tm-qpr-dev

This commit is contained in:
Beverly Tai
2023-03-21 20:28:27 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 1 deletions

View File

@@ -398,7 +398,8 @@ public class DozeMachine {
} }
if ((mState == State.DOZE_AOD_PAUSED || mState == State.DOZE_AOD_PAUSING if ((mState == State.DOZE_AOD_PAUSED || mState == State.DOZE_AOD_PAUSING
|| mState == State.DOZE_AOD || mState == State.DOZE || mState == State.DOZE_AOD || mState == State.DOZE
|| mState == State.DOZE_AOD_DOCKED) && requestedState == State.DOZE_PULSE_DONE) { || mState == State.DOZE_AOD_DOCKED || mState == State.DOZE_SUSPEND_TRIGGERS)
&& requestedState == State.DOZE_PULSE_DONE) {
Log.i(TAG, "Dropping pulse done because current state is already done: " + mState); Log.i(TAG, "Dropping pulse done because current state is already done: " + mState);
return mState; return mState;
} }

View File

@@ -407,6 +407,17 @@ public class DozeMachineTest extends SysuiTestCase {
mMachine.requestState(DOZE_PULSE_DONE); mMachine.requestState(DOZE_PULSE_DONE);
} }
@Test
public void testPulsing_dozeSuspendTriggers_pulseDone_doesntCrash() {
mMachine.requestState(INITIALIZED);
mMachine.requestState(DOZE);
mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
mMachine.requestState(DOZE_SUSPEND_TRIGGERS);
mMachine.requestState(DOZE_PULSE_DONE);
}
@Test @Test
public void testSuppressingPulse_doesntCrash() { public void testSuppressingPulse_doesntCrash() {
mMachine.requestState(INITIALIZED); mMachine.requestState(INITIALIZED);