Merge "Plumb through the reason for wakeup from Doze." into tm-qpr-dev
This commit is contained in:
@@ -269,9 +269,10 @@ public class DozeMachine {
|
|||||||
return mPulseReason;
|
return mPulseReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Requests the PowerManager to wake up now. */
|
/** Requests the PowerManager to wake up now.
|
||||||
public void wakeUp() {
|
* @param reason {@link DozeLog.Reason} that woke up the device.*/
|
||||||
mDozeService.requestWakeUp();
|
public void wakeUp(@DozeLog.Reason int reason) {
|
||||||
|
mDozeService.requestWakeUp(reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isExecutingTransition() {
|
public boolean isExecutingTransition() {
|
||||||
@@ -469,7 +470,7 @@ public class DozeMachine {
|
|||||||
void setDozeScreenState(int state);
|
void setDozeScreenState(int state);
|
||||||
|
|
||||||
/** Request waking up. */
|
/** Request waking up. */
|
||||||
void requestWakeUp();
|
void requestWakeUp(@DozeLog.Reason int reason);
|
||||||
|
|
||||||
/** Set screen brightness */
|
/** Set screen brightness */
|
||||||
void setDozeScreenBrightness(int brightness);
|
void setDozeScreenBrightness(int brightness);
|
||||||
@@ -492,8 +493,8 @@ public class DozeMachine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void requestWakeUp() {
|
public void requestWakeUp(@DozeLog.Reason int reason) {
|
||||||
mDelegate.requestWakeUp();
|
mDelegate.requestWakeUp(reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -113,10 +113,10 @@ public class DozeService extends DreamService
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void requestWakeUp() {
|
public void requestWakeUp(@DozeLog.Reason int reason) {
|
||||||
PowerManager pm = getSystemService(PowerManager.class);
|
PowerManager pm = getSystemService(PowerManager.class);
|
||||||
pm.wakeUp(SystemClock.uptimeMillis(), PowerManager.WAKE_REASON_GESTURE,
|
pm.wakeUp(SystemClock.uptimeMillis(), PowerManager.WAKE_REASON_GESTURE,
|
||||||
"com.android.systemui:NODOZE");
|
"com.android.systemui:NODOZE " + DozeLog.reasonToString(reason));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.systemui.doze;
|
package com.android.systemui.doze;
|
||||||
|
|
||||||
|
import static android.app.StatusBarManager.SESSION_KEYGUARD;
|
||||||
|
|
||||||
import static com.android.systemui.doze.DozeMachine.State.DOZE_SUSPEND_TRIGGERS;
|
import static com.android.systemui.doze.DozeMachine.State.DOZE_SUSPEND_TRIGGERS;
|
||||||
import static com.android.systemui.doze.DozeMachine.State.FINISH;
|
import static com.android.systemui.doze.DozeMachine.State.FINISH;
|
||||||
import static com.android.systemui.doze.DozeMachine.State.UNINITIALIZED;
|
import static com.android.systemui.doze.DozeMachine.State.UNINITIALIZED;
|
||||||
@@ -34,19 +36,19 @@ import android.util.Log;
|
|||||||
import android.view.Display;
|
import android.view.Display;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
|
import com.android.internal.logging.InstanceId;
|
||||||
import com.android.internal.logging.UiEvent;
|
import com.android.internal.logging.UiEvent;
|
||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.biometrics.AuthController;
|
import com.android.systemui.biometrics.AuthController;
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||||
import com.android.systemui.dagger.qualifiers.Main;
|
|
||||||
import com.android.systemui.dock.DockManager;
|
import com.android.systemui.dock.DockManager;
|
||||||
import com.android.systemui.doze.DozeMachine.State;
|
import com.android.systemui.doze.DozeMachine.State;
|
||||||
import com.android.systemui.doze.dagger.DozeScope;
|
import com.android.systemui.doze.dagger.DozeScope;
|
||||||
|
import com.android.systemui.log.SessionTracker;
|
||||||
import com.android.systemui.statusbar.phone.DozeParameters;
|
import com.android.systemui.statusbar.phone.DozeParameters;
|
||||||
import com.android.systemui.statusbar.policy.DevicePostureController;
|
import com.android.systemui.statusbar.policy.DevicePostureController;
|
||||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||||
import com.android.systemui.util.Assert;
|
import com.android.systemui.util.Assert;
|
||||||
import com.android.systemui.util.concurrency.DelayableExecutor;
|
|
||||||
import com.android.systemui.util.sensors.AsyncSensorManager;
|
import com.android.systemui.util.sensors.AsyncSensorManager;
|
||||||
import com.android.systemui.util.sensors.ProximityCheck;
|
import com.android.systemui.util.sensors.ProximityCheck;
|
||||||
import com.android.systemui.util.sensors.ProximitySensor;
|
import com.android.systemui.util.sensors.ProximitySensor;
|
||||||
@@ -80,6 +82,7 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
private static final int PROXIMITY_TIMEOUT_DELAY_MS = 500;
|
private static final int PROXIMITY_TIMEOUT_DELAY_MS = 500;
|
||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
|
private final SessionTracker mSessionTracker;
|
||||||
private DozeMachine mMachine;
|
private DozeMachine mMachine;
|
||||||
private final DozeLog mDozeLog;
|
private final DozeLog mDozeLog;
|
||||||
private final DozeSensors mDozeSensors;
|
private final DozeSensors mDozeSensors;
|
||||||
@@ -95,10 +98,8 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
private final ProximityCheck mProxCheck;
|
private final ProximityCheck mProxCheck;
|
||||||
private final BroadcastDispatcher mBroadcastDispatcher;
|
private final BroadcastDispatcher mBroadcastDispatcher;
|
||||||
private final AuthController mAuthController;
|
private final AuthController mAuthController;
|
||||||
private final DelayableExecutor mMainExecutor;
|
|
||||||
private final KeyguardStateController mKeyguardStateController;
|
private final KeyguardStateController mKeyguardStateController;
|
||||||
private final UiEventLogger mUiEventLogger;
|
private final UiEventLogger mUiEventLogger;
|
||||||
private final DevicePostureController mDevicePostureController;
|
|
||||||
|
|
||||||
private long mNotificationPulseTime;
|
private long mNotificationPulseTime;
|
||||||
private boolean mPulsePending;
|
private boolean mPulsePending;
|
||||||
@@ -185,8 +186,8 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
ProximityCheck proxCheck,
|
ProximityCheck proxCheck,
|
||||||
DozeLog dozeLog, BroadcastDispatcher broadcastDispatcher,
|
DozeLog dozeLog, BroadcastDispatcher broadcastDispatcher,
|
||||||
SecureSettings secureSettings, AuthController authController,
|
SecureSettings secureSettings, AuthController authController,
|
||||||
@Main DelayableExecutor mainExecutor,
|
|
||||||
UiEventLogger uiEventLogger,
|
UiEventLogger uiEventLogger,
|
||||||
|
SessionTracker sessionTracker,
|
||||||
KeyguardStateController keyguardStateController,
|
KeyguardStateController keyguardStateController,
|
||||||
DevicePostureController devicePostureController) {
|
DevicePostureController devicePostureController) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
@@ -196,8 +197,8 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
mSensorManager = sensorManager;
|
mSensorManager = sensorManager;
|
||||||
mWakeLock = wakeLock;
|
mWakeLock = wakeLock;
|
||||||
mAllowPulseTriggers = true;
|
mAllowPulseTriggers = true;
|
||||||
|
mSessionTracker = sessionTracker;
|
||||||
|
|
||||||
mDevicePostureController = devicePostureController;
|
|
||||||
mDozeSensors = new DozeSensors(context, mSensorManager, dozeParameters,
|
mDozeSensors = new DozeSensors(context, mSensorManager, dozeParameters,
|
||||||
config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor,
|
config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor,
|
||||||
secureSettings, authController, devicePostureController);
|
secureSettings, authController, devicePostureController);
|
||||||
@@ -206,14 +207,9 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
mDozeLog = dozeLog;
|
mDozeLog = dozeLog;
|
||||||
mBroadcastDispatcher = broadcastDispatcher;
|
mBroadcastDispatcher = broadcastDispatcher;
|
||||||
mAuthController = authController;
|
mAuthController = authController;
|
||||||
mMainExecutor = mainExecutor;
|
|
||||||
mUiEventLogger = uiEventLogger;
|
mUiEventLogger = uiEventLogger;
|
||||||
mKeyguardStateController = keyguardStateController;
|
mKeyguardStateController = keyguardStateController;
|
||||||
}
|
}
|
||||||
private final DevicePostureController.Callback mDevicePostureCallback =
|
|
||||||
posture -> {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDozeMachine(DozeMachine dozeMachine) {
|
public void setDozeMachine(DozeMachine dozeMachine) {
|
||||||
@@ -271,7 +267,7 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
mProxCheck.check(PROXIMITY_TIMEOUT_DELAY_MS, near -> {
|
mProxCheck.check(PROXIMITY_TIMEOUT_DELAY_MS, near -> {
|
||||||
final long end = SystemClock.uptimeMillis();
|
final long end = SystemClock.uptimeMillis();
|
||||||
mDozeLog.traceProximityResult(
|
mDozeLog.traceProximityResult(
|
||||||
near == null ? false : near,
|
near != null && near,
|
||||||
end - start,
|
end - start,
|
||||||
reason);
|
reason);
|
||||||
callback.accept(near);
|
callback.accept(near);
|
||||||
@@ -354,17 +350,17 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
return mKeyguardStateController.isOccluded();
|
return mKeyguardStateController.isOccluded();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void gentleWakeUp(int reason) {
|
private void gentleWakeUp(@DozeLog.Reason int reason) {
|
||||||
// Log screen wake up reason (lift/pickup, tap, double-tap)
|
// Log screen wake up reason (lift/pickup, tap, double-tap)
|
||||||
Optional.ofNullable(DozingUpdateUiEvent.fromReason(reason))
|
Optional.ofNullable(DozingUpdateUiEvent.fromReason(reason))
|
||||||
.ifPresent(mUiEventLogger::log);
|
.ifPresent(uiEventEnum -> mUiEventLogger.log(uiEventEnum, getKeyguardSessionId()));
|
||||||
if (mDozeParameters.getDisplayNeedsBlanking()) {
|
if (mDozeParameters.getDisplayNeedsBlanking()) {
|
||||||
// Let's prepare the display to wake-up by drawing black.
|
// Let's prepare the display to wake-up by drawing black.
|
||||||
// This will cover the hardware wake-up sequence, where the display
|
// This will cover the hardware wake-up sequence, where the display
|
||||||
// becomes black for a few frames.
|
// becomes black for a few frames.
|
||||||
mDozeHost.setAodDimmingScrim(1f);
|
mDozeHost.setAodDimmingScrim(1f);
|
||||||
}
|
}
|
||||||
mMachine.wakeUp();
|
mMachine.wakeUp(reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onProximityFar(boolean far) {
|
private void onProximityFar(boolean far) {
|
||||||
@@ -384,11 +380,10 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
|
|
||||||
if (state == DozeMachine.State.DOZE_PULSING
|
if (state == DozeMachine.State.DOZE_PULSING
|
||||||
|| state == DozeMachine.State.DOZE_PULSING_BRIGHT) {
|
|| state == DozeMachine.State.DOZE_PULSING_BRIGHT) {
|
||||||
boolean ignoreTouch = near;
|
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.i(TAG, "Prox changed, ignore touch = " + ignoreTouch);
|
Log.i(TAG, "Prox changed, ignore touch = " + near);
|
||||||
}
|
}
|
||||||
mDozeHost.onIgnoreTouchWhilePulsing(ignoreTouch);
|
mDozeHost.onIgnoreTouchWhilePulsing(near);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (far && (paused || pausing)) {
|
if (far && (paused || pausing)) {
|
||||||
@@ -424,7 +419,8 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
mMachine.requestState(DozeMachine.State.DOZE_AOD);
|
mMachine.requestState(DozeMachine.State.DOZE_AOD);
|
||||||
// Log sensor triggered
|
// Log sensor triggered
|
||||||
Optional.ofNullable(DozingUpdateUiEvent.fromReason(reason))
|
Optional.ofNullable(DozingUpdateUiEvent.fromReason(reason))
|
||||||
.ifPresent(mUiEventLogger::log);
|
.ifPresent(uiEventEnum ->
|
||||||
|
mUiEventLogger.log(uiEventEnum, getKeyguardSessionId()));
|
||||||
}
|
}
|
||||||
}, false /* alreadyPerformedProxCheck */, reason);
|
}, false /* alreadyPerformedProxCheck */, reason);
|
||||||
} else {
|
} else {
|
||||||
@@ -564,7 +560,7 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
|
|
||||||
// Logs request pulse reason on AOD screen.
|
// Logs request pulse reason on AOD screen.
|
||||||
Optional.ofNullable(DozingUpdateUiEvent.fromReason(reason))
|
Optional.ofNullable(DozingUpdateUiEvent.fromReason(reason))
|
||||||
.ifPresent(mUiEventLogger::log);
|
.ifPresent(uiEventEnum -> mUiEventLogger.log(uiEventEnum, getKeyguardSessionId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canPulse() {
|
private boolean canPulse() {
|
||||||
@@ -583,6 +579,11 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
mMachine.requestPulse(reason);
|
mMachine.requestPulse(reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private InstanceId getKeyguardSessionId() {
|
||||||
|
return mSessionTracker.getSessionId(SESSION_KEYGUARD);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dump(PrintWriter pw) {
|
public void dump(PrintWriter pw) {
|
||||||
pw.println(" mAodInterruptRunnable=" + mAodInterruptRunnable);
|
pw.println(" mAodInterruptRunnable=" + mAodInterruptRunnable);
|
||||||
|
|||||||
@@ -448,7 +448,7 @@ public class DozeMachineTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWakeUp_wakesUp() {
|
public void testWakeUp_wakesUp() {
|
||||||
mMachine.wakeUp();
|
mMachine.wakeUp(DozeLog.REASON_SENSOR_PICKUP);
|
||||||
|
|
||||||
assertTrue(mServiceFake.requestedWakeup);
|
assertTrue(mServiceFake.requestedWakeup);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,9 +75,9 @@ public class DozeScreenStatePreventingAdapterTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void forwards_requestWakeUp() throws Exception {
|
public void forwards_requestWakeUp() {
|
||||||
mWrapper.requestWakeUp();
|
mWrapper.requestWakeUp(DozeLog.REASON_SENSOR_PICKUP);
|
||||||
verify(mInner).requestWakeUp();
|
verify(mInner).requestWakeUp(DozeLog.REASON_SENSOR_PICKUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class DozeServiceFake implements DozeMachine.Service {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void requestWakeUp() {
|
public void requestWakeUp(@DozeLog.Reason int reason) {
|
||||||
requestedWakeup = true;
|
requestedWakeup = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,9 +81,9 @@ public class DozeSuspendScreenStatePreventingAdapterTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void forwards_requestWakeUp() throws Exception {
|
public void forwards_requestWakeUp() {
|
||||||
mWrapper.requestWakeUp();
|
mWrapper.requestWakeUp(DozeLog.REASON_SENSOR_PICKUP);
|
||||||
verify(mInner).requestWakeUp();
|
verify(mInner).requestWakeUp(DozeLog.REASON_SENSOR_PICKUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import static org.mockito.Mockito.spy;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.app.StatusBarManager;
|
||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.display.AmbientDisplayConfiguration;
|
import android.hardware.display.AmbientDisplayConfiguration;
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
@@ -40,12 +41,14 @@ import android.view.Display;
|
|||||||
|
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
|
import com.android.internal.logging.InstanceId;
|
||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.biometrics.AuthController;
|
import com.android.systemui.biometrics.AuthController;
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||||
import com.android.systemui.dock.DockManager;
|
import com.android.systemui.dock.DockManager;
|
||||||
import com.android.systemui.doze.DozeTriggers.DozingUpdateUiEvent;
|
import com.android.systemui.doze.DozeTriggers.DozingUpdateUiEvent;
|
||||||
|
import com.android.systemui.log.SessionTracker;
|
||||||
import com.android.systemui.statusbar.phone.DozeParameters;
|
import com.android.systemui.statusbar.phone.DozeParameters;
|
||||||
import com.android.systemui.statusbar.policy.DevicePostureController;
|
import com.android.systemui.statusbar.policy.DevicePostureController;
|
||||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||||
@@ -92,12 +95,14 @@ public class DozeTriggersTest extends SysuiTestCase {
|
|||||||
private KeyguardStateController mKeyguardStateController;
|
private KeyguardStateController mKeyguardStateController;
|
||||||
@Mock
|
@Mock
|
||||||
private DevicePostureController mDevicePostureController;
|
private DevicePostureController mDevicePostureController;
|
||||||
|
@Mock
|
||||||
|
private SessionTracker mSessionTracker;
|
||||||
|
|
||||||
private DozeTriggers mTriggers;
|
private DozeTriggers mTriggers;
|
||||||
private FakeSensorManager mSensors;
|
private FakeSensorManager mSensors;
|
||||||
private Sensor mTapSensor;
|
private Sensor mTapSensor;
|
||||||
private FakeProximitySensor mProximitySensor;
|
private FakeProximitySensor mProximitySensor;
|
||||||
private FakeExecutor mExecutor = new FakeExecutor(new FakeSystemClock());
|
private final FakeExecutor mExecutor = new FakeExecutor(new FakeSystemClock());
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
@@ -123,14 +128,14 @@ public class DozeTriggersTest extends SysuiTestCase {
|
|||||||
mTriggers = new DozeTriggers(mContext, mHost, config, dozeParameters,
|
mTriggers = new DozeTriggers(mContext, mHost, config, dozeParameters,
|
||||||
asyncSensorManager, wakeLock, mDockManager, mProximitySensor,
|
asyncSensorManager, wakeLock, mDockManager, mProximitySensor,
|
||||||
mProximityCheck, mock(DozeLog.class), mBroadcastDispatcher, new FakeSettings(),
|
mProximityCheck, mock(DozeLog.class), mBroadcastDispatcher, new FakeSettings(),
|
||||||
mAuthController, mExecutor, mUiEventLogger, mKeyguardStateController,
|
mAuthController, mUiEventLogger, mSessionTracker, mKeyguardStateController,
|
||||||
mDevicePostureController);
|
mDevicePostureController);
|
||||||
mTriggers.setDozeMachine(mMachine);
|
mTriggers.setDozeMachine(mMachine);
|
||||||
waitForSensorManager();
|
waitForSensorManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnNotification_stillWorksAfterOneFailedProxCheck() throws Exception {
|
public void testOnNotification_stillWorksAfterOneFailedProxCheck() {
|
||||||
when(mMachine.getState()).thenReturn(DozeMachine.State.DOZE);
|
when(mMachine.getState()).thenReturn(DozeMachine.State.DOZE);
|
||||||
ArgumentCaptor<DozeHost.Callback> captor = ArgumentCaptor.forClass(DozeHost.Callback.class);
|
ArgumentCaptor<DozeHost.Callback> captor = ArgumentCaptor.forClass(DozeHost.Callback.class);
|
||||||
doAnswer(invocation -> null).when(mHost).addCallback(captor.capture());
|
doAnswer(invocation -> null).when(mHost).addCallback(captor.capture());
|
||||||
@@ -216,7 +221,7 @@ public class DozeTriggersTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testProximitySensorNotAvailablel() {
|
public void testProximitySensorNotAvailable() {
|
||||||
mProximitySensor.setSensorAvailable(false);
|
mProximitySensor.setSensorAvailable(false);
|
||||||
mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_LONG_PRESS, 100, 100, null);
|
mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_LONG_PRESS, 100, 100, null);
|
||||||
mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_WAKE_REACH, 100, 100,
|
mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_WAKE_REACH, 100, 100,
|
||||||
@@ -228,6 +233,9 @@ public class DozeTriggersTest extends SysuiTestCase {
|
|||||||
public void testQuickPickup() {
|
public void testQuickPickup() {
|
||||||
// GIVEN device is in doze (screen blank, but running doze sensors)
|
// GIVEN device is in doze (screen blank, but running doze sensors)
|
||||||
when(mMachine.getState()).thenReturn(DozeMachine.State.DOZE);
|
when(mMachine.getState()).thenReturn(DozeMachine.State.DOZE);
|
||||||
|
InstanceId keyguardSessionId = InstanceId.fakeInstanceId(99);
|
||||||
|
when(mSessionTracker.getSessionId(StatusBarManager.SESSION_KEYGUARD))
|
||||||
|
.thenReturn(keyguardSessionId);
|
||||||
|
|
||||||
// WHEN quick pick up is triggered
|
// WHEN quick pick up is triggered
|
||||||
mTriggers.onSensor(DozeLog.REASON_SENSOR_QUICK_PICKUP, 100, 100, null);
|
mTriggers.onSensor(DozeLog.REASON_SENSOR_QUICK_PICKUP, 100, 100, null);
|
||||||
@@ -236,7 +244,8 @@ public class DozeTriggersTest extends SysuiTestCase {
|
|||||||
verify(mMachine).requestPulse(anyInt());
|
verify(mMachine).requestPulse(anyInt());
|
||||||
|
|
||||||
// THEN a log is taken that quick pick up was triggered
|
// THEN a log is taken that quick pick up was triggered
|
||||||
verify(mUiEventLogger).log(DozingUpdateUiEvent.DOZING_UPDATE_QUICK_PICKUP);
|
verify(mUiEventLogger)
|
||||||
|
.log(DozingUpdateUiEvent.DOZING_UPDATE_QUICK_PICKUP, keyguardSessionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -249,7 +258,7 @@ public class DozeTriggersTest extends SysuiTestCase {
|
|||||||
mTriggers.onSensor(DozeLog.REASON_SENSOR_PICKUP, 100, 100, null);
|
mTriggers.onSensor(DozeLog.REASON_SENSOR_PICKUP, 100, 100, null);
|
||||||
|
|
||||||
// THEN wakeup
|
// THEN wakeup
|
||||||
verify(mMachine).wakeUp();
|
verify(mMachine).wakeUp(DozeLog.REASON_SENSOR_PICKUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -262,7 +271,7 @@ public class DozeTriggersTest extends SysuiTestCase {
|
|||||||
mTriggers.onSensor(DozeLog.REASON_SENSOR_PICKUP, 100, 100, null);
|
mTriggers.onSensor(DozeLog.REASON_SENSOR_PICKUP, 100, 100, null);
|
||||||
|
|
||||||
// THEN never wakeup
|
// THEN never wakeup
|
||||||
verify(mMachine, never()).wakeUp();
|
verify(mMachine, never()).wakeUp(DozeLog.REASON_SENSOR_PICKUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user