Loading packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt +6 −2 Original line number Diff line number Diff line Loading @@ -224,10 +224,14 @@ class DozeLogger @Inject constructor( }) } fun logPulseDropped(from: String, state: DozeMachine.State) { /** * Log why a pulse was dropped and the current doze machine state. The state can be null * if the DozeMachine is the middle of transitioning between states. */ fun logPulseDropped(from: String, state: DozeMachine.State?) { buffer.log(TAG, INFO, { str1 = from str2 = state.name str2 = state?.name }, { "Pulse dropped, cannot pulse from=$str1 state=$str2" }) Loading packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +11 −10 Original line number Diff line number Diff line Loading @@ -536,13 +536,13 @@ public class DozeTriggers implements DozeMachine.Part { return; } if (!mAllowPulseTriggers || mDozeHost.isPulsePending() || !canPulse()) { if (!mAllowPulseTriggers || mDozeHost.isPulsePending() || !canPulse(dozeState)) { if (!mAllowPulseTriggers) { mDozeLog.tracePulseDropped("requestPulse - !mAllowPulseTriggers"); } else if (mDozeHost.isPulsePending()) { mDozeLog.tracePulseDropped("requestPulse - pulsePending"); } else if (!canPulse()) { mDozeLog.tracePulseDropped("requestPulse", dozeState); } else if (!canPulse(dozeState)) { mDozeLog.tracePulseDropped("requestPulse - dozeState cannot pulse", dozeState); } runIfNotNull(onPulseSuppressedListener); return; Loading @@ -559,15 +559,16 @@ public class DozeTriggers implements DozeMachine.Part { // not in pocket, continue pulsing final boolean isPulsePending = mDozeHost.isPulsePending(); mDozeHost.setPulsePending(false); if (!isPulsePending || mDozeHost.isPulsingBlocked() || !canPulse()) { if (!isPulsePending || mDozeHost.isPulsingBlocked() || !canPulse(dozeState)) { if (!isPulsePending) { mDozeLog.tracePulseDropped("continuePulseRequest - pulse no longer" + " pending, pulse was cancelled before it could start" + " transitioning to pulsing state."); } else if (mDozeHost.isPulsingBlocked()) { mDozeLog.tracePulseDropped("continuePulseRequest - pulsingBlocked"); } else if (!canPulse()) { mDozeLog.tracePulseDropped("continuePulseRequest", mMachine.getState()); } else if (!canPulse(dozeState)) { mDozeLog.tracePulseDropped("continuePulseRequest" + " - doze state cannot pulse", dozeState); } runIfNotNull(onPulseSuppressedListener); return; Loading @@ -582,10 +583,10 @@ public class DozeTriggers implements DozeMachine.Part { .ifPresent(uiEventEnum -> mUiEventLogger.log(uiEventEnum, getKeyguardSessionId())); } private boolean canPulse() { return mMachine.getState() == DozeMachine.State.DOZE || mMachine.getState() == DozeMachine.State.DOZE_AOD || mMachine.getState() == DozeMachine.State.DOZE_AOD_DOCKED; private boolean canPulse(DozeMachine.State dozeState) { return dozeState == DozeMachine.State.DOZE || dozeState == DozeMachine.State.DOZE_AOD || dozeState == DozeMachine.State.DOZE_AOD_DOCKED; } @Nullable Loading packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java +14 −2 Original line number Diff line number Diff line Loading @@ -23,10 +23,10 @@ import static com.android.systemui.doze.DozeMachine.State.UNINITIALIZED; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading Loading @@ -88,6 +88,8 @@ public class DozeTriggersTest extends SysuiTestCase { @Mock private ProximityCheck mProximityCheck; @Mock private DozeLog mDozeLog; @Mock private AuthController mAuthController; @Mock private UiEventLogger mUiEventLogger; Loading Loading @@ -127,7 +129,7 @@ public class DozeTriggersTest extends SysuiTestCase { mTriggers = new DozeTriggers(mContext, mHost, config, dozeParameters, asyncSensorManager, wakeLock, mDockManager, mProximitySensor, mProximityCheck, mock(DozeLog.class), mBroadcastDispatcher, new FakeSettings(), mProximityCheck, mDozeLog, mBroadcastDispatcher, new FakeSettings(), mAuthController, mUiEventLogger, mSessionTracker, mKeyguardStateController, mDevicePostureController); mTriggers.setDozeMachine(mMachine); Loading Loading @@ -342,6 +344,16 @@ public class DozeTriggersTest extends SysuiTestCase { verify(mProximityCheck).destroy(); } @Test public void testIsExecutingTransition_dropPulse() { when(mHost.isPulsePending()).thenReturn(false); when(mMachine.isExecutingTransition()).thenReturn(true); mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_LONG_PRESS, 100, 100, null); verify(mDozeLog).tracePulseDropped(anyString(), eq(null)); } private void waitForSensorManager() { mExecutor.runAllReady(); } Loading Loading
packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt +6 −2 Original line number Diff line number Diff line Loading @@ -224,10 +224,14 @@ class DozeLogger @Inject constructor( }) } fun logPulseDropped(from: String, state: DozeMachine.State) { /** * Log why a pulse was dropped and the current doze machine state. The state can be null * if the DozeMachine is the middle of transitioning between states. */ fun logPulseDropped(from: String, state: DozeMachine.State?) { buffer.log(TAG, INFO, { str1 = from str2 = state.name str2 = state?.name }, { "Pulse dropped, cannot pulse from=$str1 state=$str2" }) Loading
packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +11 −10 Original line number Diff line number Diff line Loading @@ -536,13 +536,13 @@ public class DozeTriggers implements DozeMachine.Part { return; } if (!mAllowPulseTriggers || mDozeHost.isPulsePending() || !canPulse()) { if (!mAllowPulseTriggers || mDozeHost.isPulsePending() || !canPulse(dozeState)) { if (!mAllowPulseTriggers) { mDozeLog.tracePulseDropped("requestPulse - !mAllowPulseTriggers"); } else if (mDozeHost.isPulsePending()) { mDozeLog.tracePulseDropped("requestPulse - pulsePending"); } else if (!canPulse()) { mDozeLog.tracePulseDropped("requestPulse", dozeState); } else if (!canPulse(dozeState)) { mDozeLog.tracePulseDropped("requestPulse - dozeState cannot pulse", dozeState); } runIfNotNull(onPulseSuppressedListener); return; Loading @@ -559,15 +559,16 @@ public class DozeTriggers implements DozeMachine.Part { // not in pocket, continue pulsing final boolean isPulsePending = mDozeHost.isPulsePending(); mDozeHost.setPulsePending(false); if (!isPulsePending || mDozeHost.isPulsingBlocked() || !canPulse()) { if (!isPulsePending || mDozeHost.isPulsingBlocked() || !canPulse(dozeState)) { if (!isPulsePending) { mDozeLog.tracePulseDropped("continuePulseRequest - pulse no longer" + " pending, pulse was cancelled before it could start" + " transitioning to pulsing state."); } else if (mDozeHost.isPulsingBlocked()) { mDozeLog.tracePulseDropped("continuePulseRequest - pulsingBlocked"); } else if (!canPulse()) { mDozeLog.tracePulseDropped("continuePulseRequest", mMachine.getState()); } else if (!canPulse(dozeState)) { mDozeLog.tracePulseDropped("continuePulseRequest" + " - doze state cannot pulse", dozeState); } runIfNotNull(onPulseSuppressedListener); return; Loading @@ -582,10 +583,10 @@ public class DozeTriggers implements DozeMachine.Part { .ifPresent(uiEventEnum -> mUiEventLogger.log(uiEventEnum, getKeyguardSessionId())); } private boolean canPulse() { return mMachine.getState() == DozeMachine.State.DOZE || mMachine.getState() == DozeMachine.State.DOZE_AOD || mMachine.getState() == DozeMachine.State.DOZE_AOD_DOCKED; private boolean canPulse(DozeMachine.State dozeState) { return dozeState == DozeMachine.State.DOZE || dozeState == DozeMachine.State.DOZE_AOD || dozeState == DozeMachine.State.DOZE_AOD_DOCKED; } @Nullable Loading
packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java +14 −2 Original line number Diff line number Diff line Loading @@ -23,10 +23,10 @@ import static com.android.systemui.doze.DozeMachine.State.UNINITIALIZED; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading Loading @@ -88,6 +88,8 @@ public class DozeTriggersTest extends SysuiTestCase { @Mock private ProximityCheck mProximityCheck; @Mock private DozeLog mDozeLog; @Mock private AuthController mAuthController; @Mock private UiEventLogger mUiEventLogger; Loading Loading @@ -127,7 +129,7 @@ public class DozeTriggersTest extends SysuiTestCase { mTriggers = new DozeTriggers(mContext, mHost, config, dozeParameters, asyncSensorManager, wakeLock, mDockManager, mProximitySensor, mProximityCheck, mock(DozeLog.class), mBroadcastDispatcher, new FakeSettings(), mProximityCheck, mDozeLog, mBroadcastDispatcher, new FakeSettings(), mAuthController, mUiEventLogger, mSessionTracker, mKeyguardStateController, mDevicePostureController); mTriggers.setDozeMachine(mMachine); Loading Loading @@ -342,6 +344,16 @@ public class DozeTriggersTest extends SysuiTestCase { verify(mProximityCheck).destroy(); } @Test public void testIsExecutingTransition_dropPulse() { when(mHost.isPulsePending()).thenReturn(false); when(mMachine.isExecutingTransition()).thenReturn(true); mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_LONG_PRESS, 100, 100, null); verify(mDozeLog).tracePulseDropped(anyString(), eq(null)); } private void waitForSensorManager() { mExecutor.runAllReady(); } Loading