Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e85826a6 authored by Beverly Tai's avatar Beverly Tai Committed by Android (Google) Code Review
Browse files

Merge "Don't register for UDFPS long press in STATE_DOZE" into tm-qpr-dev

parents 0900d054 f3b7a9af
Loading
Loading
Loading
Loading
+51 −20
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ public class DozeSensors {
    private boolean mListening;
    private boolean mListeningTouchScreenSensors;
    private boolean mListeningProxSensors;
    private boolean mListeningAodOnlySensors;
    private boolean mUdfpsEnrolled;

    @DevicePostureController.DevicePostureInt
@@ -184,7 +185,8 @@ public class DozeSensors {
                        dozeParameters.getPulseOnSigMotion(),
                        DozeLog.PULSE_REASON_SENSOR_SIGMOTION,
                        false /* touchCoords */,
                        false /* touchscreen */),
                        false /* touchscreen */
                ),
                new TriggerSensor(
                        mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE),
                        Settings.Secure.DOZE_PICK_UP_GESTURE,
@@ -195,14 +197,17 @@ public class DozeSensors {
                        false /* touchscreen */,
                        false /* ignoresSetting */,
                        false /* requires prox */,
                        true /* immediatelyReRegister */),
                        true /* immediatelyReRegister */,
                        false /* requiresAod */
                ),
                new TriggerSensor(
                        findSensor(config.doubleTapSensorType()),
                        Settings.Secure.DOZE_DOUBLE_TAP_GESTURE,
                        true /* configured */,
                        DozeLog.REASON_SENSOR_DOUBLE_TAP,
                        dozeParameters.doubleTapReportsTouchCoordinates(),
                        true /* touchscreen */),
                        true /* touchscreen */
                ),
                new TriggerSensor(
                        findSensors(config.tapSensorTypeMapping()),
                        Settings.Secure.DOZE_TAP_SCREEN_GESTURE,
@@ -214,7 +219,9 @@ public class DozeSensors {
                        false /* ignoresSetting */,
                        dozeParameters.singleTapUsesProx(mDevicePosture) /* requiresProx */,
                        true /* immediatelyReRegister */,
                        mDevicePosture),
                        mDevicePosture,
                        false
                ),
                new TriggerSensor(
                        findSensor(config.longPressSensorType()),
                        Settings.Secure.DOZE_PULSE_ON_LONG_PRESS,
@@ -225,7 +232,9 @@ public class DozeSensors {
                        true /* touchscreen */,
                        false /* ignoresSetting */,
                        dozeParameters.longPressUsesProx() /* requiresProx */,
                        true /* immediatelyReRegister */),
                        true /* immediatelyReRegister */,
                        false /* requiresAod */
                ),
                new TriggerSensor(
                        findSensor(config.udfpsLongPressSensorType()),
                        "doze_pulse_on_auth",
@@ -236,7 +245,9 @@ public class DozeSensors {
                        true /* touchscreen */,
                        false /* ignoresSetting */,
                        dozeParameters.longPressUsesProx(),
                        false /* immediatelyReRegister */),
                        false /* immediatelyReRegister */,
                        true /* requiresAod */
                ),
                new PluginSensor(
                        new SensorManagerPlugin.Sensor(TYPE_WAKE_DISPLAY),
                        Settings.Secure.DOZE_WAKE_DISPLAY_GESTURE,
@@ -244,7 +255,8 @@ public class DozeSensors {
                          && mConfig.alwaysOnEnabled(UserHandle.USER_CURRENT),
                        DozeLog.REASON_SENSOR_WAKE_UP_PRESENCE,
                        false /* reports touch coordinates */,
                        false /* touchscreen */),
                        false /* touchscreen */
                ),
                new PluginSensor(
                        new SensorManagerPlugin.Sensor(TYPE_WAKE_LOCK_SCREEN),
                        Settings.Secure.DOZE_WAKE_LOCK_SCREEN_GESTURE,
@@ -252,7 +264,8 @@ public class DozeSensors {
                        DozeLog.PULSE_REASON_SENSOR_WAKE_REACH,
                        false /* reports touch coordinates */,
                        false /* touchscreen */,
                        mConfig.getWakeLockScreenDebounce()),
                        mConfig.getWakeLockScreenDebounce()
                ),
                new TriggerSensor(
                        findSensor(config.quickPickupSensorType()),
                        Settings.Secure.DOZE_QUICK_PICKUP_GESTURE,
@@ -263,7 +276,9 @@ public class DozeSensors {
                        false /* requiresTouchscreen */,
                        false /* ignoresSetting */,
                        false /* requiresProx */,
                        true /* immediatelyReRegister */),
                        true /* immediatelyReRegister */,
                        false /* requiresAod */
                ),
        };
        setProxListening(false);  // Don't immediately start listening when we register.
        mProximitySensor.register(
@@ -357,29 +372,36 @@ public class DozeSensors {
    /**
     * If sensors should be registered and sending signals.
     */
    public void setListening(boolean listen, boolean includeTouchScreenSensors) {
        if (mListening == listen && mListeningTouchScreenSensors == includeTouchScreenSensors) {
    public void setListening(boolean listen, boolean includeTouchScreenSensors,
            boolean includeAodOnlySensors) {
        if (mListening == listen && mListeningTouchScreenSensors == includeTouchScreenSensors
                && mListeningAodOnlySensors == includeAodOnlySensors) {
            return;
        }
        mListening = listen;
        mListeningTouchScreenSensors = includeTouchScreenSensors;
        mListeningAodOnlySensors = includeAodOnlySensors;
        updateListening();
    }

    /**
     * If sensors should be registered and sending signals.
     */
    public void setListening(boolean listen, boolean includeTouchScreenSensors,
            boolean lowPowerStateOrOff) {
    public void setListeningWithPowerState(boolean listen, boolean includeTouchScreenSensors,
            boolean includeAodRequiringSensors, boolean lowPowerStateOrOff) {
        final boolean shouldRegisterProxSensors =
                !mSelectivelyRegisterProxSensors || lowPowerStateOrOff;
        if (mListening == listen && mListeningTouchScreenSensors == includeTouchScreenSensors
                && mListeningProxSensors == shouldRegisterProxSensors) {
        if (mListening == listen
                && mListeningTouchScreenSensors == includeTouchScreenSensors
                && mListeningProxSensors == shouldRegisterProxSensors
                && mListeningAodOnlySensors == includeAodRequiringSensors
        ) {
            return;
        }
        mListening = listen;
        mListeningTouchScreenSensors = includeTouchScreenSensors;
        mListeningProxSensors = shouldRegisterProxSensors;
        mListeningAodOnlySensors = includeAodRequiringSensors;
        updateListening();
    }

@@ -391,7 +413,8 @@ public class DozeSensors {
        for (TriggerSensor s : mTriggerSensors) {
            boolean listen = mListening
                    && (!s.mRequiresTouchscreen || mListeningTouchScreenSensors)
                    && (!s.mRequiresProx || mListeningProxSensors);
                    && (!s.mRequiresProx || mListeningProxSensors)
                    && (!s.mRequiresAod || mListeningAodOnlySensors);
            s.setListening(listen);
            if (listen) {
                anyListening = true;
@@ -499,6 +522,9 @@ public class DozeSensors {
        private final boolean mRequiresTouchscreen;
        private final boolean mRequiresProx;

        // Whether the sensor should only register if the device is in AOD
        private final boolean mRequiresAod;

        // Whether to immediately re-register this sensor after the sensor is triggered.
        // If false, the sensor registration will be updated on the next AOD state transition.
        private final boolean mImmediatelyReRegister;
@@ -527,7 +553,8 @@ public class DozeSensors {
                    requiresTouchscreen,
                    false /* ignoresSetting */,
                    false /* requiresProx */,
                    true /* immediatelyReRegister */
                    true /* immediatelyReRegister */,
                    false
            );
        }

@@ -541,7 +568,8 @@ public class DozeSensors {
                boolean requiresTouchscreen,
                boolean ignoresSetting,
                boolean requiresProx,
                boolean immediatelyReRegister
                boolean immediatelyReRegister,
                boolean requiresAod
        ) {
            this(
                    new Sensor[]{ sensor },
@@ -554,7 +582,8 @@ public class DozeSensors {
                    ignoresSetting,
                    requiresProx,
                    immediatelyReRegister,
                    DevicePostureController.DEVICE_POSTURE_UNKNOWN
                    DevicePostureController.DEVICE_POSTURE_UNKNOWN,
                    requiresAod
            );
        }

@@ -569,7 +598,8 @@ public class DozeSensors {
                boolean ignoresSetting,
                boolean requiresProx,
                boolean immediatelyReRegister,
                @DevicePostureController.DevicePostureInt int posture
                @DevicePostureController.DevicePostureInt int posture,
                boolean requiresAod
        ) {
            mSensors = sensors;
            mSetting = setting;
@@ -580,6 +610,7 @@ public class DozeSensors {
            mRequiresTouchscreen = requiresTouchscreen;
            mIgnoresSetting = ignoresSetting;
            mRequiresProx = requiresProx;
            mRequiresAod = requiresAod;
            mPosture = posture;
            mImmediatelyReRegister = immediatelyReRegister;
        }
+15 −5
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ public class DozeTriggers implements DozeMachine.Part {
    private boolean mWantProxSensor;
    private boolean mWantTouchScreenSensors;
    private boolean mWantSensors;
    private boolean mInAod;

    private final UserTracker.Callback mUserChangedCallback =
            new UserTracker.Callback() {
@@ -460,12 +461,19 @@ public class DozeTriggers implements DozeMachine.Part {
                mDozeSensors.requestTemporaryDisable();
                break;
            case DOZE:
                mAodInterruptRunnable = null;
                mWantProxSensor = false;
                mWantSensors = true;
                mWantTouchScreenSensors = true;
                mInAod = false;
                break;
            case DOZE_AOD:
                mAodInterruptRunnable = null;
                mWantProxSensor = newState != DozeMachine.State.DOZE;
                mWantProxSensor = true;
                mWantSensors = true;
                mWantTouchScreenSensors = true;
                if (newState == DozeMachine.State.DOZE_AOD && !sWakeDisplaySensorState) {
                mInAod = true;
                if (!sWakeDisplaySensorState) {
                    onWakeScreen(false, newState, DozeLog.REASON_SENSOR_WAKE_UP_PRESENCE);
                }
                break;
@@ -491,7 +499,7 @@ public class DozeTriggers implements DozeMachine.Part {
                break;
            default:
        }
        mDozeSensors.setListening(mWantSensors, mWantTouchScreenSensors);
        mDozeSensors.setListening(mWantSensors, mWantTouchScreenSensors, mInAod);
    }

    private void registerCallbacks() {
@@ -510,11 +518,12 @@ public class DozeTriggers implements DozeMachine.Part {

    private void stopListeningToAllTriggers() {
        unregisterCallbacks();
        mDozeSensors.setListening(false, false);
        mDozeSensors.setListening(false, false, false);
        mDozeSensors.setProxListening(false);
        mWantSensors = false;
        mWantProxSensor = false;
        mWantTouchScreenSensors = false;
        mInAod = false;
    }

    @Override
@@ -523,7 +532,8 @@ public class DozeTriggers implements DozeMachine.Part {
        final boolean lowPowerStateOrOff = state == Display.STATE_DOZE
                || state == Display.STATE_DOZE_SUSPEND || state == Display.STATE_OFF;
        mDozeSensors.setProxListening(mWantProxSensor && lowPowerStateOrOff);
        mDozeSensors.setListening(mWantSensors, mWantTouchScreenSensors, lowPowerStateOrOff);
        mDozeSensors.setListeningWithPowerState(mWantSensors, mWantTouchScreenSensors,
                mInAod, lowPowerStateOrOff);

        if (mAodInterruptRunnable != null && state == Display.STATE_ON) {
            mAodInterruptRunnable.run();
+89 −36
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ public class DozeSensorsTest extends SysuiTestCase {

    @Test
    public void testSensorDebounce() {
        mDozeSensors.setListening(true, true);
        mDozeSensors.setListening(true, true, true);

        mWakeLockScreenListener.onSensorChanged(mock(SensorManagerPlugin.SensorEvent.class));
        mTestableLooper.processAllMessages();
@@ -162,7 +162,7 @@ public class DozeSensorsTest extends SysuiTestCase {
    @Test
    public void testSetListening_firstTrue_registerSettingsObserver() {
        verify(mSensorManager, never()).registerListener(any(), any(Sensor.class), anyInt());
        mDozeSensors.setListening(true, true);
        mDozeSensors.setListening(true, true, true);

        verify(mTriggerSensor).registerSettingsObserver(any(ContentObserver.class));
    }
@@ -170,8 +170,8 @@ public class DozeSensorsTest extends SysuiTestCase {
    @Test
    public void testSetListening_twiceTrue_onlyRegisterSettingsObserverOnce() {
        verify(mSensorManager, never()).registerListener(any(), any(Sensor.class), anyInt());
        mDozeSensors.setListening(true, true);
        mDozeSensors.setListening(true, true);
        mDozeSensors.setListening(true, true, true);
        mDozeSensors.setListening(true, true, true);

        verify(mTriggerSensor, times(1)).registerSettingsObserver(any(ContentObserver.class));
    }
@@ -196,7 +196,7 @@ public class DozeSensorsTest extends SysuiTestCase {
        assertFalse(mSensorTap.mRequested);

        // WHEN we're now in a low powered state
        dozeSensors.setListening(true, true, true);
        dozeSensors.setListeningWithPowerState(true, true, true, true);

        // THEN the tap sensor is registered
        assertTrue(mSensorTap.mRequested);
@@ -207,12 +207,12 @@ public class DozeSensorsTest extends SysuiTestCase {
        // GIVEN doze sensors enabled
        when(mAmbientDisplayConfiguration.enabled(anyInt())).thenReturn(true);

        // GIVEN a trigger sensor
        // GIVEN a trigger sensor that's enabled by settings
        Sensor mockSensor = mock(Sensor.class);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorWithSettingEnabled(
                mockSensor,
                /* settingEnabled */ true,
                /* requiresTouchScreen */ true);
                /* settingEnabled */ true
        );
        when(mSensorManager.requestTriggerSensor(eq(triggerSensor), eq(mockSensor)))
                .thenReturn(true);

@@ -228,12 +228,12 @@ public class DozeSensorsTest extends SysuiTestCase {
        // GIVEN doze sensors enabled
        when(mAmbientDisplayConfiguration.enabled(anyInt())).thenReturn(true);

        // GIVEN a trigger sensor
        // GIVEN a trigger sensor that's not enabled by settings
        Sensor mockSensor = mock(Sensor.class);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorWithSettingEnabled(
                mockSensor,
                /* settingEnabled*/ false,
                /* requiresTouchScreen */ true);
                /* settingEnabled*/ false
        );
        when(mSensorManager.requestTriggerSensor(eq(triggerSensor), eq(mockSensor)))
                .thenReturn(true);

@@ -249,12 +249,12 @@ public class DozeSensorsTest extends SysuiTestCase {
        // GIVEN doze sensors enabled
        when(mAmbientDisplayConfiguration.enabled(anyInt())).thenReturn(true);

        // GIVEN a trigger sensor that's
        // GIVEN a trigger sensor that's not enabled by settings
        Sensor mockSensor = mock(Sensor.class);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorWithSettingEnabled(
                mockSensor,
                /* settingEnabled*/ false,
                /* requiresTouchScreen */ true);
                /* settingEnabled*/ false
        );
        when(mSensorManager.requestTriggerSensor(eq(triggerSensor), eq(mockSensor)))
                .thenReturn(true);

@@ -264,7 +264,7 @@ public class DozeSensorsTest extends SysuiTestCase {
        // WHEN ignoreSetting is called
        triggerSensor.ignoreSetting(true);

        // THEN the sensor is registered
        // THEN the sensor is still registered since the setting is ignore
        assertTrue(triggerSensor.mRegistered);
    }

@@ -275,10 +275,10 @@ public class DozeSensorsTest extends SysuiTestCase {

        // GIVEN a trigger sensor
        Sensor mockSensor = mock(Sensor.class);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorWithSettingEnabled(
                mockSensor,
                /* settingEnabled*/ true,
                /* requiresTouchScreen */ true);
                /* settingEnabled*/ true
        );
        when(mSensorManager.requestTriggerSensor(eq(triggerSensor), eq(mockSensor)))
                .thenReturn(true);

@@ -295,7 +295,7 @@ public class DozeSensorsTest extends SysuiTestCase {
        // GIVEN doze sensor that supports postures
        Sensor closedSensor = createSensor(Sensor.TYPE_LIGHT, Sensor.STRING_TYPE_LIGHT);
        Sensor openedSensor = createSensor(Sensor.TYPE_PROXIMITY, Sensor.STRING_TYPE_LIGHT);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorForPosture(
                new Sensor[] {
                        null /* unknown */,
                        closedSensor,
@@ -316,7 +316,7 @@ public class DozeSensorsTest extends SysuiTestCase {
        // GIVEN doze sensor that supports postures
        Sensor closedSensor = createSensor(Sensor.TYPE_LIGHT, Sensor.STRING_TYPE_LIGHT);
        Sensor openedSensor = createSensor(Sensor.TYPE_PROXIMITY, Sensor.STRING_TYPE_LIGHT);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorForPosture(
                new Sensor[] {
                        null /* unknown */,
                        closedSensor,
@@ -345,7 +345,7 @@ public class DozeSensorsTest extends SysuiTestCase {
        // GIVEN doze sensor that supports postures
        Sensor closedSensor = createSensor(Sensor.TYPE_LIGHT, Sensor.STRING_TYPE_LIGHT);
        Sensor openedSensor = createSensor(Sensor.TYPE_PROXIMITY, Sensor.STRING_TYPE_LIGHT);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorForPosture(
                new Sensor[] {
                        null /* unknown */,
                        closedSensor,
@@ -400,7 +400,7 @@ public class DozeSensorsTest extends SysuiTestCase {
    public void testUdfpsEnrollmentChanged() throws Exception {
        // GIVEN a UDFPS_LONG_PRESS trigger sensor that's not configured
        Sensor mockSensor = mock(Sensor.class);
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensor(
        TriggerSensor triggerSensor = mDozeSensors.createDozeSensorForPosture(
                mockSensor,
                REASON_SENSOR_UDFPS_LONG_PRESS,
                /* configured */ false);
@@ -409,7 +409,7 @@ public class DozeSensorsTest extends SysuiTestCase {
                .thenReturn(true);

        // WHEN listening state is set to TRUE
        mDozeSensors.setListening(true, true);
        mDozeSensors.setListening(true, true, true);

        // THEN mRegistered is still false b/c !mConfigured
        assertFalse(triggerSensor.mConfigured);
@@ -438,6 +438,35 @@ public class DozeSensorsTest extends SysuiTestCase {
        }
    }

    @Test
    public void aodOnlySensor_onlyRegisteredWhenAodSensorsIncluded() {
        // GIVEN doze sensors enabled
        when(mAmbientDisplayConfiguration.enabled(anyInt())).thenReturn(true);

        // GIVEN a trigger sensor that requires aod
        Sensor mockSensor = mock(Sensor.class);
        TriggerSensor aodOnlyTriggerSensor = mDozeSensors.createDozeSensorRequiringAod(mockSensor);
        when(mSensorManager.requestTriggerSensor(eq(aodOnlyTriggerSensor), eq(mockSensor)))
                .thenReturn(true);
        mDozeSensors.addSensor(aodOnlyTriggerSensor);

        // WHEN aod only sensors aren't included
        mDozeSensors.setListening(/* listen */ true, /* includeTouchScreenSensors */true,
                /* includeAodOnlySensors */false);

        // THEN the sensor is not registered or requested
        assertFalse(aodOnlyTriggerSensor.mRequested);
        assertFalse(aodOnlyTriggerSensor.mRegistered);

        // WHEN aod only sensors ARE included
        mDozeSensors.setListening(/* listen */ true, /* includeTouchScreenSensors */true,
                /* includeAodOnlySensors */true);

        // THEN the sensor is registered and requested
        assertTrue(aodOnlyTriggerSensor.mRequested);
        assertTrue(aodOnlyTriggerSensor.mRegistered);
    }

    @Test
    public void liftToWake_defaultSetting_configDefaultFalse() {
        // WHEN the default lift to wake gesture setting is false
@@ -494,8 +523,8 @@ public class DozeSensorsTest extends SysuiTestCase {
            mTriggerSensors = new TriggerSensor[] {mTriggerSensor, mSensorTap};
        }

        public TriggerSensor createDozeSensor(Sensor sensor, boolean settingEnabled,
                boolean requiresTouchScreen) {
        public TriggerSensor createDozeSensorWithSettingEnabled(Sensor sensor,
                boolean settingEnabled) {
            return new TriggerSensor(/* sensor */ sensor,
                    /* setting name */ "test_setting",
                    /* settingDefault */ settingEnabled,
@@ -504,11 +533,13 @@ public class DozeSensorsTest extends SysuiTestCase {
                    /* reportsTouchCoordinate*/ false,
                    /* requiresTouchscreen */ false,
                    /* ignoresSetting */ false,
                    requiresTouchScreen,
                    /* immediatelyReRegister */ true);
                    /* requiresProx */ false,
                    /* immediatelyReRegister */ true,
                    /* requiresAod */false
            );
        }

        public TriggerSensor createDozeSensor(
        public TriggerSensor createDozeSensorForPosture(
                Sensor sensor,
                int pulseReason,
                boolean configured
@@ -522,15 +553,35 @@ public class DozeSensorsTest extends SysuiTestCase {
                    /* requiresTouchscreen */ false,
                    /* ignoresSetting */ false,
                    /* requiresTouchScreen */ false,
                    /* immediatelyReRegister*/ true);
                    /* immediatelyReRegister*/ true,
                    false
            );
        }

        /**
         * Create a doze sensor that requires Aod
         */
        public TriggerSensor createDozeSensorRequiringAod(Sensor sensor) {
            return new TriggerSensor(/* sensor */ sensor,
                    /* setting name */ "aod_requiring_sensor",
                    /* settingDefault */ true,
                    /* configured */ true,
                    /* pulseReason*/ 0,
                    /* reportsTouchCoordinate*/ false,
                    /* requiresTouchscreen */ false,
                    /* ignoresSetting */ false,
                    /* requiresProx */ false,
                    /* immediatelyReRegister */ true,
                    /* requiresAoD */ true
            );
        }

        /**
         * create a doze sensor that supports postures and is enabled
         * Create a doze sensor that supports postures and is enabled
         */
        public TriggerSensor createDozeSensor(Sensor[] sensors, int posture) {
        public TriggerSensor createDozeSensorForPosture(Sensor[] sensors, int posture) {
            return new TriggerSensor(/* sensor */ sensors,
                    /* setting name */ "test_setting",
                    /* setting name */ "posture_test_setting",
                    /* settingDefault */ true,
                    /* configured */ true,
                    /* pulseReason*/ 0,
@@ -539,7 +590,9 @@ public class DozeSensorsTest extends SysuiTestCase {
                    /* ignoresSetting */ true,
                    /* requiresProx */ false,
                    /* immediatelyReRegister */ true,
                    posture);
                    posture,
                    /* requiresUi */ false
            );
        }

        public void addSensor(TriggerSensor sensor) {
+8 −0
Original line number Diff line number Diff line
@@ -395,6 +395,14 @@ public class DozeTriggersTest extends SysuiTestCase {
        verify(mAuthController).onAodInterrupt(anyInt(), anyInt(), anyFloat(), anyFloat());
    }


    @Test
    public void udfpsLongPress_dozeState_notRegistered() {
        // GIVEN device is DOZE_AOD_PAUSED
        when(mMachine.getState()).thenReturn(DozeMachine.State.DOZE);
        // beverlyt
    }

    private void waitForSensorManager() {
        mExecutor.runAllReady();
    }