Loading services/core/java/com/android/server/display/DisplayDeviceConfig.java +16 −4 Original line number Diff line number Diff line Loading @@ -1412,7 +1412,7 @@ public class DisplayDeviceConfig { loadBrightnessRampsFromConfigXml(); loadAmbientLightSensorFromConfigXml(); loadBrightnessChangeThresholdsFromXml(); setProxSensorUnspecified(); useFallbackProxSensor(); loadAutoBrightnessConfigsFromConfigXml(); loadAutoBrightnessAvailableFromConfigXml(); mLoadedFrom = "<config.xml>"; Loading @@ -1432,7 +1432,7 @@ public class DisplayDeviceConfig { mBrightnessRampIncreaseMaxMillis = 0; setSimpleMappingStrategyValues(); loadAmbientLightSensorFromConfigXml(); setProxSensorUnspecified(); useFallbackProxSensor(); loadAutoBrightnessAvailableFromConfigXml(); } Loading Loading @@ -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 = ""; } Loading @@ -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(); Loading @@ -1957,7 +1968,8 @@ public class DisplayDeviceConfig { mProximitySensor.maxRefreshRate = rr.getMaximum().floatValue(); } } else { setProxSensorUnspecified(); // If prox sensor is unspecified, then use a fallback. useFallbackProxSensor(); } } Loading services/core/java/com/android/server/display/utils/SensorUtils.java +3 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading services/tests/servicestests/src/com/android/server/display/DisplayDeviceConfigTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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"; } Loading Loading
services/core/java/com/android/server/display/DisplayDeviceConfig.java +16 −4 Original line number Diff line number Diff line Loading @@ -1412,7 +1412,7 @@ public class DisplayDeviceConfig { loadBrightnessRampsFromConfigXml(); loadAmbientLightSensorFromConfigXml(); loadBrightnessChangeThresholdsFromXml(); setProxSensorUnspecified(); useFallbackProxSensor(); loadAutoBrightnessConfigsFromConfigXml(); loadAutoBrightnessAvailableFromConfigXml(); mLoadedFrom = "<config.xml>"; Loading @@ -1432,7 +1432,7 @@ public class DisplayDeviceConfig { mBrightnessRampIncreaseMaxMillis = 0; setSimpleMappingStrategyValues(); loadAmbientLightSensorFromConfigXml(); setProxSensorUnspecified(); useFallbackProxSensor(); loadAutoBrightnessAvailableFromConfigXml(); } Loading Loading @@ -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 = ""; } Loading @@ -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(); Loading @@ -1957,7 +1968,8 @@ public class DisplayDeviceConfig { mProximitySensor.maxRefreshRate = rr.getMaximum().floatValue(); } } else { setProxSensorUnspecified(); // If prox sensor is unspecified, then use a fallback. useFallbackProxSensor(); } } Loading
services/core/java/com/android/server/display/utils/SensorUtils.java +3 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading
services/tests/servicestests/src/com/android/server/display/DisplayDeviceConfigTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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"; } Loading