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

Commit 93ac4948 authored by Beverly Tai's avatar Beverly Tai Committed by Automerger Merge Worker
Browse files

Merge "DozeSensors uses default pickup config value" into tm-qpr-dev am: 4475e902

parents 99d63e70 4475e902
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static com.android.systemui.plugins.SensorManagerPlugin.Sensor.TYPE_WAKE_
import static com.android.systemui.plugins.SensorManagerPlugin.Sensor.TYPE_WAKE_LOCK_SCREEN;

import android.annotation.AnyThread;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.hardware.Sensor;
import android.hardware.SensorManager;
@@ -40,6 +41,7 @@ import android.view.Display;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;

import com.android.internal.R;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLoggerImpl;
@@ -140,6 +142,7 @@ public class DozeSensors {
    }

    DozeSensors(
            Resources resources,
            AsyncSensorManager sensorManager,
            DozeParameters dozeParameters,
            AmbientDisplayConfiguration config,
@@ -185,7 +188,8 @@ public class DozeSensors {
                new TriggerSensor(
                        mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE),
                        Settings.Secure.DOZE_PICK_UP_GESTURE,
                        true /* settingDef */,
                        resources.getBoolean(
                                R.bool.config_dozePickupGestureEnabled) /* settingDef */,
                        config.dozePickupSensorAvailable(),
                        DozeLog.REASON_SENSOR_PICKUP, false /* touchCoords */,
                        false /* touchscreen */,
+1 −1
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ public class DozeTriggers implements DozeMachine.Part {
        mAllowPulseTriggers = true;
        mSessionTracker = sessionTracker;

        mDozeSensors = new DozeSensors(mSensorManager, dozeParameters,
        mDozeSensors = new DozeSensors(mContext.getResources(), mSensorManager, dozeParameters,
                config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor,
                secureSettings, authController, devicePostureController, userTracker);
        mDockManager = dockManager;
+43 −3
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.res.Resources;
import android.database.ContentObserver;
import android.hardware.Sensor;
import android.hardware.display.AmbientDisplayConfiguration;
@@ -76,7 +77,8 @@ import java.util.function.Consumer;
@RunWithLooper
@SmallTest
public class DozeSensorsTest extends SysuiTestCase {

    @Mock
    private Resources mResources;
    @Mock
    private AsyncSensorManager mSensorManager;
    @Mock
@@ -426,7 +428,7 @@ public class DozeSensorsTest extends SysuiTestCase {

    @Test
    public void testGesturesAllInitiallyRespectSettings() {
        DozeSensors dozeSensors = new DozeSensors(mSensorManager, mDozeParameters,
        DozeSensors dozeSensors = new DozeSensors(mResources, mSensorManager, mDozeParameters,
                mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
                mProximitySensor, mFakeSettings, mAuthController,
                mDevicePostureController, mUserTracker);
@@ -436,9 +438,47 @@ public class DozeSensorsTest extends SysuiTestCase {
        }
    }

    @Test
    public void liftToWake_defaultSetting_configDefaultFalse() {
        // WHEN the default lift to wake gesture setting is false
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dozePickupGestureEnabled)).thenReturn(false);

        DozeSensors dozeSensors = new DozeSensors(mResources, mSensorManager, mDozeParameters,
                mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
                mProximitySensor, mFakeSettings, mAuthController,
                mDevicePostureController, mUserTracker);

        for (TriggerSensor sensor : dozeSensors.mTriggerSensors) {
            // THEN lift to wake's TriggerSensor enabledBySettings is false
            if (sensor.mPulseReason == DozeLog.REASON_SENSOR_PICKUP) {
                assertFalse(sensor.enabledBySetting());
            }
        }
    }

    @Test
    public void liftToWake_defaultSetting_configDefaultTrue() {
        // WHEN the default lift to wake gesture setting is true
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_dozePickupGestureEnabled)).thenReturn(true);

        DozeSensors dozeSensors = new DozeSensors(mResources, mSensorManager, mDozeParameters,
                mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
                mProximitySensor, mFakeSettings, mAuthController,
                mDevicePostureController, mUserTracker);

        for (TriggerSensor sensor : dozeSensors.mTriggerSensors) {
            // THEN lift to wake's TriggerSensor enabledBySettings is true
            if (sensor.mPulseReason == DozeLog.REASON_SENSOR_PICKUP) {
                assertTrue(sensor.enabledBySetting());
            }
        }
    }

    private class TestableDozeSensors extends DozeSensors {
        TestableDozeSensors() {
            super(mSensorManager, mDozeParameters,
            super(mResources, mSensorManager, mDozeParameters,
                    mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
                    mProximitySensor, mFakeSettings, mAuthController,
                    mDevicePostureController, mUserTracker);