diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java | 12 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java | 12 |
2 files changed, 21 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java index 06dbdbf1efa8..a4592d554f0e 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java @@ -121,11 +121,17 @@ public class DozeDockHandler implements DozeMachine.Part { if (dozeState == State.DOZE && mConfig.alwaysOnEnabled(UserHandle.USER_CURRENT)) { mMachine.requestState(State.DOZE_AOD); - break; } - // continue below + else { + requestPulseOutNow(dozeState); + } + break; case DockManager.STATE_DOCKED_HIDE: - requestPulseOutNow(dozeState); + if (dozeState == State.DOZE_AOD) { + mMachine.requestState(State.DOZE); + } else { + requestPulseOutNow(dozeState); + } break; default: // no-op diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java index 4ba28582d7ba..df014a49e5cb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java @@ -202,4 +202,16 @@ public class DozeDockHandlerTest extends SysuiTestCase { verify(mMachine).requestState(eq(State.DOZE)); } + + @Test + public void testTransitionToPulsing_whenDockedHide_requestPulseOut() { + mDockHandler.transitionTo(DozeMachine.State.UNINITIALIZED, DozeMachine.State.INITIALIZED); + when(mMachine.getState()).thenReturn(DozeMachine.State.DOZE_PULSING); + when(mMachine.getPulseReason()).thenReturn(DozeLog.PULSE_REASON_DOCKING); + mDockManagerFake.setDockEvent(DockManager.STATE_DOCKED_HIDE); + + mDockHandler.transitionTo(DozeMachine.State.INITIALIZED, State.DOZE_PULSING); + + verify(mHost).stopPulsing(); + } } |