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

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

Merge "Don't reregister AoD UDFPS gesture after trigger" into tm-qpr-dev

parents 527d13ae 5f8ab566
Loading
Loading
Loading
Loading
+24 −9
Original line number Diff line number Diff line
@@ -183,7 +183,8 @@ public class DozeSensors {
                        mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION),
                        null /* setting */,
                        dozeParameters.getPulseOnSigMotion(),
                        DozeLog.PULSE_REASON_SENSOR_SIGMOTION, false /* touchCoords */,
                        DozeLog.PULSE_REASON_SENSOR_SIGMOTION,
                        false /* touchCoords */,
                        false /* touchscreen */),
                new TriggerSensor(
                        mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE),
@@ -193,7 +194,8 @@ public class DozeSensors {
                        DozeLog.REASON_SENSOR_PICKUP, false /* touchCoords */,
                        false /* touchscreen */,
                        false /* ignoresSetting */,
                        false /* requires prox */),
                        false /* requires prox */,
                        true /* immediatelyReRegister */),
                new TriggerSensor(
                        findSensor(config.doubleTapSensorType()),
                        Settings.Secure.DOZE_DOUBLE_TAP_GESTURE,
@@ -211,6 +213,7 @@ public class DozeSensors {
                        true /* touchscreen */,
                        false /* ignoresSetting */,
                        dozeParameters.singleTapUsesProx(mDevicePosture) /* requiresProx */,
                        true /* immediatelyReRegister */,
                        mDevicePosture),
                new TriggerSensor(
                        findSensor(config.longPressSensorType()),
@@ -221,7 +224,8 @@ public class DozeSensors {
                        true /* reports touch coordinates */,
                        true /* touchscreen */,
                        false /* ignoresSetting */,
                        dozeParameters.longPressUsesProx() /* requiresProx */),
                        dozeParameters.longPressUsesProx() /* requiresProx */,
                        true /* immediatelyReRegister */),
                new TriggerSensor(
                        findSensor(config.udfpsLongPressSensorType()),
                        "doze_pulse_on_auth",
@@ -231,7 +235,8 @@ public class DozeSensors {
                        true /* reports touch coordinates */,
                        true /* touchscreen */,
                        false /* ignoresSetting */,
                        dozeParameters.longPressUsesProx()),
                        dozeParameters.longPressUsesProx(),
                        false /* immediatelyReRegister */),
                new PluginSensor(
                        new SensorManagerPlugin.Sensor(TYPE_WAKE_DISPLAY),
                        Settings.Secure.DOZE_WAKE_DISPLAY_GESTURE,
@@ -257,7 +262,8 @@ public class DozeSensors {
                        false /* requiresTouchCoordinates */,
                        false /* requiresTouchscreen */,
                        false /* ignoresSetting */,
                        false /* requiresProx */),
                        false /* requiresProx */,
                        true /* immediatelyReRegister */),
        };
        setProxListening(false);  // Don't immediately start listening when we register.
        mProximitySensor.register(
@@ -493,6 +499,10 @@ public class DozeSensors {
        private final boolean mRequiresTouchscreen;
        private final boolean mRequiresProx;

        // 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;

        protected boolean mRequested;
        protected boolean mRegistered;
        protected boolean mDisabled;
@@ -516,7 +526,8 @@ public class DozeSensors {
                    reportsTouchCoordinates,
                    requiresTouchscreen,
                    false /* ignoresSetting */,
                    false /* requiresProx */
                    false /* requiresProx */,
                    true /* immediatelyReRegister */
            );
        }

@@ -529,7 +540,8 @@ public class DozeSensors {
                boolean reportsTouchCoordinates,
                boolean requiresTouchscreen,
                boolean ignoresSetting,
                boolean requiresProx
                boolean requiresProx,
                boolean immediatelyReRegister
        ) {
            this(
                    new Sensor[]{ sensor },
@@ -541,6 +553,7 @@ public class DozeSensors {
                    requiresTouchscreen,
                    ignoresSetting,
                    requiresProx,
                    immediatelyReRegister,
                    DevicePostureController.DEVICE_POSTURE_UNKNOWN
            );
        }
@@ -555,6 +568,7 @@ public class DozeSensors {
                boolean requiresTouchscreen,
                boolean ignoresSetting,
                boolean requiresProx,
                boolean immediatelyReRegister,
                @DevicePostureController.DevicePostureInt int posture
        ) {
            mSensors = sensors;
@@ -567,6 +581,7 @@ public class DozeSensors {
            mIgnoresSetting = ignoresSetting;
            mRequiresProx = requiresProx;
            mPosture = posture;
            mImmediatelyReRegister = immediatelyReRegister;
        }

        /**
@@ -702,8 +717,8 @@ public class DozeSensors {
                    screenY = event.values[1];
                }
                mSensorCallback.onSensorPulse(mPulseReason, screenX, screenY, event.values);
                if (!mRegistered) {
                    updateListening();  // reregister, this sensor only fires once
                if (!mRegistered && mImmediatelyReRegister) {
                    updateListening();
                }
            }));
        }
+6 −3
Original line number Diff line number Diff line
@@ -461,7 +461,8 @@ public class DozeSensorsTest extends SysuiTestCase {
                    /* reportsTouchCoordinate*/ false,
                    /* requiresTouchscreen */ false,
                    /* ignoresSetting */ false,
                    requiresTouchScreen);
                    requiresTouchScreen,
                    /* immediatelyReRegister */ true);
        }

        public TriggerSensor createDozeSensor(
@@ -477,7 +478,8 @@ public class DozeSensorsTest extends SysuiTestCase {
                    /* reportsTouchCoordinate*/ false,
                    /* requiresTouchscreen */ false,
                    /* ignoresSetting */ false,
                    /* requiresTouchScreen */false);
                    /* requiresTouchScreen */ false,
                    /* immediatelyReRegister*/ true);
        }

        /**
@@ -493,6 +495,7 @@ public class DozeSensorsTest extends SysuiTestCase {
                    /* requiresTouchscreen */ false,
                    /* ignoresSetting */ true,
                    /* requiresProx */ false,
                    /* immediatelyReRegister */ true,
                    posture);
        }