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();
|
loadBrightnessRampsFromConfigXml();
|
||||||
loadAmbientLightSensorFromConfigXml();
|
loadAmbientLightSensorFromConfigXml();
|
||||||
loadBrightnessChangeThresholdsFromXml();
|
loadBrightnessChangeThresholdsFromXml();
|
||||||
setProxSensorUnspecified();
|
useFallbackProxSensor();
|
||||||
loadAutoBrightnessConfigsFromConfigXml();
|
loadAutoBrightnessConfigsFromConfigXml();
|
||||||
loadAutoBrightnessAvailableFromConfigXml();
|
loadAutoBrightnessAvailableFromConfigXml();
|
||||||
mLoadedFrom = "<config.xml>";
|
mLoadedFrom = "<config.xml>";
|
||||||
@@ -1432,7 +1432,7 @@ public class DisplayDeviceConfig {
|
|||||||
mBrightnessRampIncreaseMaxMillis = 0;
|
mBrightnessRampIncreaseMaxMillis = 0;
|
||||||
setSimpleMappingStrategyValues();
|
setSimpleMappingStrategyValues();
|
||||||
loadAmbientLightSensorFromConfigXml();
|
loadAmbientLightSensorFromConfigXml();
|
||||||
setProxSensorUnspecified();
|
useFallbackProxSensor();
|
||||||
loadAutoBrightnessAvailableFromConfigXml();
|
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.name = "";
|
||||||
mProximitySensor.type = "";
|
mProximitySensor.type = "";
|
||||||
}
|
}
|
||||||
@@ -1949,6 +1954,12 @@ public class DisplayDeviceConfig {
|
|||||||
private void loadProxSensorFromDdc(DisplayConfiguration config) {
|
private void loadProxSensorFromDdc(DisplayConfiguration config) {
|
||||||
SensorDetails sensorDetails = config.getProxSensor();
|
SensorDetails sensorDetails = config.getProxSensor();
|
||||||
if (sensorDetails != null) {
|
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.name = sensorDetails.getName();
|
||||||
mProximitySensor.type = sensorDetails.getType();
|
mProximitySensor.type = sensorDetails.getType();
|
||||||
final RefreshRateRange rr = sensorDetails.getRefreshRate();
|
final RefreshRateRange rr = sensorDetails.getRefreshRate();
|
||||||
@@ -1957,7 +1968,8 @@ public class DisplayDeviceConfig {
|
|||||||
mProximitySensor.maxRefreshRate = rr.getMaximum().floatValue();
|
mProximitySensor.maxRefreshRate = rr.getMaximum().floatValue();
|
||||||
}
|
}
|
||||||
} else {
|
} 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,
|
public static Sensor findSensor(SensorManager sensorManager, String sensorType,
|
||||||
String sensorName, int fallbackType) {
|
String sensorName, int fallbackType) {
|
||||||
|
if ("".equals(sensorName) && "".equals(sensorType)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
final boolean isNameSpecified = !TextUtils.isEmpty(sensorName);
|
final boolean isNameSpecified = !TextUtils.isEmpty(sensorName);
|
||||||
final boolean isTypeSpecified = !TextUtils.isEmpty(sensorType);
|
final boolean isTypeSpecified = !TextUtils.isEmpty(sensorType);
|
||||||
if (isNameSpecified || isTypeSpecified) {
|
if (isNameSpecified || isTypeSpecified) {
|
||||||
|
|||||||
@@ -148,6 +148,8 @@ public final class DisplayDeviceConfigTest {
|
|||||||
assertArrayEquals(new float[]{23, 24, 25},
|
assertArrayEquals(new float[]{23, 24, 25},
|
||||||
mDisplayDeviceConfig.getAmbientDarkeningPercentagesIdle(), ZERO_DELTA);
|
mDisplayDeviceConfig.getAmbientDarkeningPercentagesIdle(), ZERO_DELTA);
|
||||||
|
|
||||||
|
assertEquals("ProximitySensor123", mDisplayDeviceConfig.getProximitySensor().name);
|
||||||
|
assertEquals("prox_type_1", mDisplayDeviceConfig.getProximitySensor().type);
|
||||||
|
|
||||||
// Todo(brup): Add asserts for BrightnessThrottlingData, DensityMapping,
|
// Todo(brup): Add asserts for BrightnessThrottlingData, DensityMapping,
|
||||||
// HighBrightnessModeData AmbientLightSensor, RefreshRateLimitations and ProximitySensor.
|
// HighBrightnessModeData AmbientLightSensor, RefreshRateLimitations and ProximitySensor.
|
||||||
@@ -420,6 +422,10 @@ public final class DisplayDeviceConfigTest {
|
|||||||
+ "</brightnessThrottlingPoint>\n"
|
+ "</brightnessThrottlingPoint>\n"
|
||||||
+ "</brightnessThrottlingMap>\n"
|
+ "</brightnessThrottlingMap>\n"
|
||||||
+ "</thermalThrottling>\n"
|
+ "</thermalThrottling>\n"
|
||||||
|
+ "<proxSensor>\n"
|
||||||
|
+ "<name>ProximitySensor123</name>\n"
|
||||||
|
+ "<type>prox_type_1</type>\n"
|
||||||
|
+ "</proxSensor>\n"
|
||||||
+ "</displayConfiguration>\n";
|
+ "</displayConfiguration>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user