summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java12
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java12
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();
+ }
}