Loading packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +16 −9 Original line number Diff line number Diff line Loading @@ -164,16 +164,9 @@ public class DozeTriggers implements DozeMachine.Part { if (screenX != -1 && screenY != -1) { mDozeHost.onSlpiTap(screenX, screenY); } // Logs screen wake up reason of either single or double tap. mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING) .setType(MetricsEvent.TYPE_UPDATE).setSubtype(pulseReason)); mMachine.wakeUp(); gentleWakeUp(pulseReason); } else if (isPickup) { // Logs screen wake up reason of lift. mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING) .setType(MetricsEvent.TYPE_UPDATE) .setSubtype(DozeLog.REASON_SENSOR_PICKUP)); mMachine.wakeUp(); gentleWakeUp(pulseReason); } else { mDozeHost.extendPulse(); } Loading @@ -190,6 +183,20 @@ public class DozeTriggers implements DozeMachine.Part { } } private void gentleWakeUp(int reason) { // Log screen wake up reason (lift/pickup, tap, double-tap) mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING) .setType(MetricsEvent.TYPE_UPDATE) .setSubtype(reason)); if (mDozeParameters.getDisplayNeedsBlanking()) { // Let's prepare the display to wake-up by drawing black. // This will cover the hardware wake-up sequence, where the display // becomes black for a few frames. mDozeHost.setAodDimmingScrim(255f); } mMachine.wakeUp(); } private void onProximityFar(boolean far) { final boolean near = !far; final DozeMachine.State state = mMachine.getState(); Loading packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.systemui.doze; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; Loading Loading @@ -136,13 +137,14 @@ public class DozeTriggersTest extends SysuiTestCase { @Test public void testOnSensor_whenDockedWithNearAndDoubleTapScreen_shouldWakeUp() { doReturn(true).when(mDockManagerFake).isDocked(); doReturn(true).when(mParameters).getDisplayNeedsBlanking(); mSensors.getMockProximitySensor().sendProximityResult(false /* far */); mTriggers.onSensor(DozeLog.REASON_SENSOR_DOUBLE_TAP, false /* sensorPerformedProxCheck */, 50 /* screenX */, 50 /* screenY */, null /* rawValues */); verify(mHost).setAodDimmingScrim(eq(255)); verify(mMachine).wakeUp(); } } Loading
packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +16 −9 Original line number Diff line number Diff line Loading @@ -164,16 +164,9 @@ public class DozeTriggers implements DozeMachine.Part { if (screenX != -1 && screenY != -1) { mDozeHost.onSlpiTap(screenX, screenY); } // Logs screen wake up reason of either single or double tap. mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING) .setType(MetricsEvent.TYPE_UPDATE).setSubtype(pulseReason)); mMachine.wakeUp(); gentleWakeUp(pulseReason); } else if (isPickup) { // Logs screen wake up reason of lift. mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING) .setType(MetricsEvent.TYPE_UPDATE) .setSubtype(DozeLog.REASON_SENSOR_PICKUP)); mMachine.wakeUp(); gentleWakeUp(pulseReason); } else { mDozeHost.extendPulse(); } Loading @@ -190,6 +183,20 @@ public class DozeTriggers implements DozeMachine.Part { } } private void gentleWakeUp(int reason) { // Log screen wake up reason (lift/pickup, tap, double-tap) mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING) .setType(MetricsEvent.TYPE_UPDATE) .setSubtype(reason)); if (mDozeParameters.getDisplayNeedsBlanking()) { // Let's prepare the display to wake-up by drawing black. // This will cover the hardware wake-up sequence, where the display // becomes black for a few frames. mDozeHost.setAodDimmingScrim(255f); } mMachine.wakeUp(); } private void onProximityFar(boolean far) { final boolean near = !far; final DozeMachine.State state = mMachine.getState(); Loading
packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.systemui.doze; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; Loading Loading @@ -136,13 +137,14 @@ public class DozeTriggersTest extends SysuiTestCase { @Test public void testOnSensor_whenDockedWithNearAndDoubleTapScreen_shouldWakeUp() { doReturn(true).when(mDockManagerFake).isDocked(); doReturn(true).when(mParameters).getDisplayNeedsBlanking(); mSensors.getMockProximitySensor().sendProximityResult(false /* far */); mTriggers.onSensor(DozeLog.REASON_SENSOR_DOUBLE_TAP, false /* sensorPerformedProxCheck */, 50 /* screenX */, 50 /* screenY */, null /* rawValues */); verify(mHost).setAodDimmingScrim(eq(255)); verify(mMachine).wakeUp(); } }