diff options
| author | 2022-12-21 15:27:25 +0000 | |
|---|---|---|
| committer | 2022-12-21 15:27:25 +0000 | |
| commit | 4475e9026c488c7c33be1ed5adccb4a8abe176cf (patch) | |
| tree | 94e46659434117a58cdcda37c15934e43437275f | |
| parent | 7f90cf447d87050c17373b70c80f1d3b6915277f (diff) | |
| parent | eeb9ff1e31376dbee893f2529f46e571c12d50a9 (diff) | |
Merge "DozeSensors uses default pickup config value" into tm-qpr-dev
3 files changed, 49 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java index 833ff3ff9746..37183e89df29 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java @@ -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 */, diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java index 3f9f14c620b5..b95c3f3c0ee7 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java @@ -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; diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java index 20d3cd59cc16..d910a275967b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java @@ -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); |