Merge "DozeSensors uses default pickup config value" into tm-qpr-dev

This commit is contained in:
Beverly Tai
2022-12-21 15:27:25 +00:00
committed by Android (Google) Code Review
3 changed files with 49 additions and 5 deletions

View File

@@ -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 */,

View File

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

View File

@@ -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);