Merge "Allow No Sensor to be Specified in DDC" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
55d73f2ed4
@@ -1412,7 +1412,7 @@ public class DisplayDeviceConfig {
|
||||
loadBrightnessRampsFromConfigXml();
|
||||
loadAmbientLightSensorFromConfigXml();
|
||||
loadBrightnessChangeThresholdsFromXml();
|
||||
setProxSensorUnspecified();
|
||||
useFallbackProxSensor();
|
||||
loadAutoBrightnessConfigsFromConfigXml();
|
||||
loadAutoBrightnessAvailableFromConfigXml();
|
||||
mLoadedFrom = "<config.xml>";
|
||||
@@ -1432,7 +1432,7 @@ public class DisplayDeviceConfig {
|
||||
mBrightnessRampIncreaseMaxMillis = 0;
|
||||
setSimpleMappingStrategyValues();
|
||||
loadAmbientLightSensorFromConfigXml();
|
||||
setProxSensorUnspecified();
|
||||
useFallbackProxSensor();
|
||||
loadAutoBrightnessAvailableFromConfigXml();
|
||||
}
|
||||
|
||||
@@ -1941,7 +1941,12 @@ public class DisplayDeviceConfig {
|
||||
}
|
||||
}
|
||||
|
||||
private void setProxSensorUnspecified() {
|
||||
private void useFallbackProxSensor() {
|
||||
mProximitySensor.name = null;
|
||||
mProximitySensor.type = null;
|
||||
}
|
||||
|
||||
private void useNullProxSensor() {
|
||||
mProximitySensor.name = "";
|
||||
mProximitySensor.type = "";
|
||||
}
|
||||
@@ -1949,6 +1954,12 @@ public class DisplayDeviceConfig {
|
||||
private void loadProxSensorFromDdc(DisplayConfiguration config) {
|
||||
SensorDetails sensorDetails = config.getProxSensor();
|
||||
if (sensorDetails != null) {
|
||||
if (sensorDetails.getName() == null && sensorDetails.getType() == null) {
|
||||
// If prox sensor is defined, but no details given, this is assumed that
|
||||
// the display does not have or wish to use a prox sensor for it.
|
||||
useNullProxSensor();
|
||||
return;
|
||||
}
|
||||
mProximitySensor.name = sensorDetails.getName();
|
||||
mProximitySensor.type = sensorDetails.getType();
|
||||
final RefreshRateRange rr = sensorDetails.getRefreshRate();
|
||||
@@ -1957,7 +1968,8 @@ public class DisplayDeviceConfig {
|
||||
mProximitySensor.maxRefreshRate = rr.getMaximum().floatValue();
|
||||
}
|
||||
} else {
|
||||
setProxSensorUnspecified();
|
||||
// If prox sensor is unspecified, then use a fallback.
|
||||
useFallbackProxSensor();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,9 @@ public class SensorUtils {
|
||||
*/
|
||||
public static Sensor findSensor(SensorManager sensorManager, String sensorType,
|
||||
String sensorName, int fallbackType) {
|
||||
if ("".equals(sensorName) && "".equals(sensorType)) {
|
||||
return null;
|
||||
}
|
||||
final boolean isNameSpecified = !TextUtils.isEmpty(sensorName);
|
||||
final boolean isTypeSpecified = !TextUtils.isEmpty(sensorType);
|
||||
if (isNameSpecified || isTypeSpecified) {
|
||||
|
||||
@@ -148,6 +148,8 @@ public final class DisplayDeviceConfigTest {
|
||||
assertArrayEquals(new float[]{23, 24, 25},
|
||||
mDisplayDeviceConfig.getAmbientDarkeningPercentagesIdle(), ZERO_DELTA);
|
||||
|
||||
assertEquals("ProximitySensor123", mDisplayDeviceConfig.getProximitySensor().name);
|
||||
assertEquals("prox_type_1", mDisplayDeviceConfig.getProximitySensor().type);
|
||||
|
||||
// Todo(brup): Add asserts for BrightnessThrottlingData, DensityMapping,
|
||||
// HighBrightnessModeData AmbientLightSensor, RefreshRateLimitations and ProximitySensor.
|
||||
@@ -420,6 +422,10 @@ public final class DisplayDeviceConfigTest {
|
||||
+ "</brightnessThrottlingPoint>\n"
|
||||
+ "</brightnessThrottlingMap>\n"
|
||||
+ "</thermalThrottling>\n"
|
||||
+ "<proxSensor>\n"
|
||||
+ "<name>ProximitySensor123</name>\n"
|
||||
+ "<type>prox_type_1</type>\n"
|
||||
+ "</proxSensor>\n"
|
||||
+ "</displayConfiguration>\n";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user