Merge "DozeSensors uses default pickup config value" into tm-qpr-dev
This commit is contained in:
@@ -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 static com.android.systemui.plugins.SensorManagerPlugin.Sensor.TYPE_WAKE_LOCK_SCREEN;
|
||||||
|
|
||||||
import android.annotation.AnyThread;
|
import android.annotation.AnyThread;
|
||||||
|
import android.content.res.Resources;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
@@ -40,6 +41,7 @@ import android.view.Display;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
|
import com.android.internal.R;
|
||||||
import com.android.internal.logging.UiEvent;
|
import com.android.internal.logging.UiEvent;
|
||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.internal.logging.UiEventLoggerImpl;
|
import com.android.internal.logging.UiEventLoggerImpl;
|
||||||
@@ -140,6 +142,7 @@ public class DozeSensors {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DozeSensors(
|
DozeSensors(
|
||||||
|
Resources resources,
|
||||||
AsyncSensorManager sensorManager,
|
AsyncSensorManager sensorManager,
|
||||||
DozeParameters dozeParameters,
|
DozeParameters dozeParameters,
|
||||||
AmbientDisplayConfiguration config,
|
AmbientDisplayConfiguration config,
|
||||||
@@ -185,7 +188,8 @@ public class DozeSensors {
|
|||||||
new TriggerSensor(
|
new TriggerSensor(
|
||||||
mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE),
|
mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE),
|
||||||
Settings.Secure.DOZE_PICK_UP_GESTURE,
|
Settings.Secure.DOZE_PICK_UP_GESTURE,
|
||||||
true /* settingDef */,
|
resources.getBoolean(
|
||||||
|
R.bool.config_dozePickupGestureEnabled) /* settingDef */,
|
||||||
config.dozePickupSensorAvailable(),
|
config.dozePickupSensorAvailable(),
|
||||||
DozeLog.REASON_SENSOR_PICKUP, false /* touchCoords */,
|
DozeLog.REASON_SENSOR_PICKUP, false /* touchCoords */,
|
||||||
false /* touchscreen */,
|
false /* touchscreen */,
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ public class DozeTriggers implements DozeMachine.Part {
|
|||||||
mAllowPulseTriggers = true;
|
mAllowPulseTriggers = true;
|
||||||
mSessionTracker = sessionTracker;
|
mSessionTracker = sessionTracker;
|
||||||
|
|
||||||
mDozeSensors = new DozeSensors(mSensorManager, dozeParameters,
|
mDozeSensors = new DozeSensors(mContext.getResources(), mSensorManager, dozeParameters,
|
||||||
config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor,
|
config, wakeLock, this::onSensor, this::onProximityFar, dozeLog, proximitySensor,
|
||||||
secureSettings, authController, devicePostureController, userTracker);
|
secureSettings, authController, devicePostureController, userTracker);
|
||||||
mDockManager = dockManager;
|
mDockManager = dockManager;
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import static org.mockito.Mockito.times;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.content.res.Resources;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.display.AmbientDisplayConfiguration;
|
import android.hardware.display.AmbientDisplayConfiguration;
|
||||||
@@ -76,7 +77,8 @@ import java.util.function.Consumer;
|
|||||||
@RunWithLooper
|
@RunWithLooper
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public class DozeSensorsTest extends SysuiTestCase {
|
public class DozeSensorsTest extends SysuiTestCase {
|
||||||
|
@Mock
|
||||||
|
private Resources mResources;
|
||||||
@Mock
|
@Mock
|
||||||
private AsyncSensorManager mSensorManager;
|
private AsyncSensorManager mSensorManager;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -426,7 +428,7 @@ public class DozeSensorsTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGesturesAllInitiallyRespectSettings() {
|
public void testGesturesAllInitiallyRespectSettings() {
|
||||||
DozeSensors dozeSensors = new DozeSensors(mSensorManager, mDozeParameters,
|
DozeSensors dozeSensors = new DozeSensors(mResources, mSensorManager, mDozeParameters,
|
||||||
mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
|
mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
|
||||||
mProximitySensor, mFakeSettings, mAuthController,
|
mProximitySensor, mFakeSettings, mAuthController,
|
||||||
mDevicePostureController, mUserTracker);
|
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 {
|
private class TestableDozeSensors extends DozeSensors {
|
||||||
TestableDozeSensors() {
|
TestableDozeSensors() {
|
||||||
super(mSensorManager, mDozeParameters,
|
super(mResources, mSensorManager, mDozeParameters,
|
||||||
mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
|
mAmbientDisplayConfiguration, mWakeLock, mCallback, mProxCallback, mDozeLog,
|
||||||
mProximitySensor, mFakeSettings, mAuthController,
|
mProximitySensor, mFakeSettings, mAuthController,
|
||||||
mDevicePostureController, mUserTracker);
|
mDevicePostureController, mUserTracker);
|
||||||
|
|||||||
Reference in New Issue
Block a user