Create fake wakeup Sensor for FakeProximitySensor

Bug: 142293105
Test: atest SystemUITests:AsyncSensorManagerTest \
            SystemUITests:DozeScreenBrightnessTest \
            SystemUITests:DozeTriggerTest \
            SystemUITests:ProximitySensorTest
Change-Id: I60fe7a2f47f7e1e377125c59a54ecae040dad622
This commit is contained in:
Tadashi G. Takaoka
2019-10-30 16:25:50 +09:00
parent 1bc0e60398
commit af4b2fe966

View File

@@ -64,7 +64,8 @@ public class FakeSensorManager extends SensorManager {
.getDefaultSensor(Sensor.TYPE_PROXIMITY);
if (proxSensor == null) {
// No prox? Let's create a fake one!
proxSensor = createSensor(Sensor.TYPE_PROXIMITY, null);
proxSensor =
createSensor(Sensor.TYPE_PROXIMITY, null, 1 /* SENSOR_FLAG_WAKE_UP_SENSOR */);
}
mSensors = new FakeGenericSensor[]{
@@ -92,18 +93,6 @@ public class FakeSensorManager extends SensorManager {
if (s != null) {
return s;
}
switch(type) {
case Sensor.TYPE_PROXIMITY:
try {
return createSensor(Sensor.TYPE_PROXIMITY, null);
} catch (Exception e) {
// fall through
}
break;
default:
break;
}
// Our mock sensors aren't wakeup, and it's a pain to create them that way. Instead, just
// return non-wakeup sensors if we can't find a wakeup sensor.
return getDefaultSensor(type, false /* wakeup */);
@@ -208,6 +197,10 @@ public class FakeSensorManager extends SensorManager {
}
private Sensor createSensor(int type, @Nullable String stringType) throws Exception {
return createSensor(type, stringType, 0 /* flags */);
}
private Sensor createSensor(int type, @Nullable String stringType, int flags) throws Exception {
Constructor<Sensor> constr = Sensor.class.getDeclaredConstructor();
constr.setAccessible(true);
Sensor sensor = constr.newInstance();
@@ -225,7 +218,7 @@ public class FakeSensorManager extends SensorManager {
setSensorField(sensor, "mPower", 1);
setSensorField(sensor, "mMinDelay", 1000);
setSensorField(sensor, "mMaxDelay", 1000000000);
setSensorField(sensor, "mFlags", 0);
setSensorField(sensor, "mFlags", flags);
setSensorField(sensor, "mId", -1);
return sensor;