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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22160410

Change-Id: Ib428feb263f3654f19732db261ffdcec8390a66d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Beverly Tai
2023-03-22 13:25:29 +00:00
committed by Automerger Merge Worker
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
|| 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);
return mState;
}

View File

@@ -407,6 +407,17 @@ public class DozeMachineTest extends SysuiTestCase {
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
public void testSuppressingPulse_doesntCrash() {
mMachine.requestState(INITIALIZED);