Loading core/res/res/values/config.xml +4 −0 Original line number Diff line number Diff line Loading @@ -3943,4 +3943,8 @@ <!-- The default peak refresh rate for a given device. Change this value if you want to allow for higher refresh rates to be automatically used out of the box --> <integer name="config_defaultPeakRefreshRate">60</integer> <!-- The type of the light sensor to be used by the display framework for things like auto-brightness. If unset, then it just gets the default sensor of type TYPE_LIGHT. --> <string name="config_displayLightSensorType" translatable="false" /> </resources> core/res/res/values/symbols.xml +4 −0 Original line number Diff line number Diff line Loading @@ -3693,5 +3693,9 @@ <java-symbol type="string" name="mime_type_presentation" /> <java-symbol type="string" name="mime_type_presentation_ext" /> <!-- For high refresh rate displays --> <java-symbol type="integer" name="config_defaultPeakRefreshRate" /> <!-- For Auto-Brightness --> <java-symbol type="string" name="config_displayLightSensorType" /> </resources> services/core/java/com/android/server/display/AutomaticBrightnessController.java +2 −2 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ class AutomaticBrightnessController { private PackageManager mPackageManager; public AutomaticBrightnessController(Callbacks callbacks, Looper looper, SensorManager sensorManager, BrightnessMappingStrategy mapper, SensorManager sensorManager, Sensor lightSensor, BrightnessMappingStrategy mapper, int lightSensorWarmUpTime, int brightnessMin, int brightnessMax, float dozeScaleFactor, int lightSensorRate, int initialLightSensorRate, long brighteningLightDebounceConfig, long darkeningLightDebounceConfig, boolean resetAmbientLuxAfterWarmUpConfig, Loading Loading @@ -249,7 +249,7 @@ class AutomaticBrightnessController { new AmbientLightRingBuffer(mNormalLightSensorRate, mAmbientLightHorizon); if (!DEBUG_PRETEND_LIGHT_SENSOR_ABSENT) { mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); mLightSensor = lightSensor; } mActivityTaskManager = ActivityTaskManager.getService(); Loading services/core/java/com/android/server/display/DisplayPowerController.java +20 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.os.SystemClock; import android.os.Trace; import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import android.util.MathUtils; import android.util.Slog; import android.util.TimeUtils; Loading @@ -58,6 +59,7 @@ import com.android.server.display.whitebalance.DisplayWhiteBalanceSettings; import com.android.server.policy.WindowManagerPolicy; import java.io.PrintWriter; import java.util.List; /** * Controls the power state of the display. Loading Loading @@ -474,10 +476,14 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call int shortTermModelTimeout = resources.getInteger( com.android.internal.R.integer.config_autoBrightnessShortTermModelTimeout); String lightSensorType = resources.getString( com.android.internal.R.string.config_displayLightSensorType); Sensor lightSensor = findDisplayLightSensor(lightSensorType); mBrightnessMapper = BrightnessMappingStrategy.create(resources); if (mBrightnessMapper != null) { mAutomaticBrightnessController = new AutomaticBrightnessController(this, handler.getLooper(), sensorManager, mBrightnessMapper, handler.getLooper(), sensorManager, lightSensor, mBrightnessMapper, lightSensorWarmUpTimeConfig, mScreenBrightnessRangeMinimum, mScreenBrightnessRangeMaximum, dozeScaleFactor, lightSensorRate, initialLightSensorRate, brighteningLightDebounce, darkeningLightDebounce, Loading Loading @@ -530,6 +536,19 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mDisplayWhiteBalanceController = displayWhiteBalanceController; } private Sensor findDisplayLightSensor(String sensorType) { if (!TextUtils.isEmpty(sensorType)) { List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL); for (int i = 0; i < sensors.size(); i++) { Sensor sensor = sensors.get(i); if (sensorType.equals(sensor.getStringType())) { return sensor; } } } return mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); } /** * Returns true if the proximity sensor screen-off function is available. */ Loading Loading
core/res/res/values/config.xml +4 −0 Original line number Diff line number Diff line Loading @@ -3943,4 +3943,8 @@ <!-- The default peak refresh rate for a given device. Change this value if you want to allow for higher refresh rates to be automatically used out of the box --> <integer name="config_defaultPeakRefreshRate">60</integer> <!-- The type of the light sensor to be used by the display framework for things like auto-brightness. If unset, then it just gets the default sensor of type TYPE_LIGHT. --> <string name="config_displayLightSensorType" translatable="false" /> </resources>
core/res/res/values/symbols.xml +4 −0 Original line number Diff line number Diff line Loading @@ -3693,5 +3693,9 @@ <java-symbol type="string" name="mime_type_presentation" /> <java-symbol type="string" name="mime_type_presentation_ext" /> <!-- For high refresh rate displays --> <java-symbol type="integer" name="config_defaultPeakRefreshRate" /> <!-- For Auto-Brightness --> <java-symbol type="string" name="config_displayLightSensorType" /> </resources>
services/core/java/com/android/server/display/AutomaticBrightnessController.java +2 −2 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ class AutomaticBrightnessController { private PackageManager mPackageManager; public AutomaticBrightnessController(Callbacks callbacks, Looper looper, SensorManager sensorManager, BrightnessMappingStrategy mapper, SensorManager sensorManager, Sensor lightSensor, BrightnessMappingStrategy mapper, int lightSensorWarmUpTime, int brightnessMin, int brightnessMax, float dozeScaleFactor, int lightSensorRate, int initialLightSensorRate, long brighteningLightDebounceConfig, long darkeningLightDebounceConfig, boolean resetAmbientLuxAfterWarmUpConfig, Loading Loading @@ -249,7 +249,7 @@ class AutomaticBrightnessController { new AmbientLightRingBuffer(mNormalLightSensorRate, mAmbientLightHorizon); if (!DEBUG_PRETEND_LIGHT_SENSOR_ABSENT) { mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); mLightSensor = lightSensor; } mActivityTaskManager = ActivityTaskManager.getService(); Loading
services/core/java/com/android/server/display/DisplayPowerController.java +20 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.os.SystemClock; import android.os.Trace; import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import android.util.MathUtils; import android.util.Slog; import android.util.TimeUtils; Loading @@ -58,6 +59,7 @@ import com.android.server.display.whitebalance.DisplayWhiteBalanceSettings; import com.android.server.policy.WindowManagerPolicy; import java.io.PrintWriter; import java.util.List; /** * Controls the power state of the display. Loading Loading @@ -474,10 +476,14 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call int shortTermModelTimeout = resources.getInteger( com.android.internal.R.integer.config_autoBrightnessShortTermModelTimeout); String lightSensorType = resources.getString( com.android.internal.R.string.config_displayLightSensorType); Sensor lightSensor = findDisplayLightSensor(lightSensorType); mBrightnessMapper = BrightnessMappingStrategy.create(resources); if (mBrightnessMapper != null) { mAutomaticBrightnessController = new AutomaticBrightnessController(this, handler.getLooper(), sensorManager, mBrightnessMapper, handler.getLooper(), sensorManager, lightSensor, mBrightnessMapper, lightSensorWarmUpTimeConfig, mScreenBrightnessRangeMinimum, mScreenBrightnessRangeMaximum, dozeScaleFactor, lightSensorRate, initialLightSensorRate, brighteningLightDebounce, darkeningLightDebounce, Loading Loading @@ -530,6 +536,19 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mDisplayWhiteBalanceController = displayWhiteBalanceController; } private Sensor findDisplayLightSensor(String sensorType) { if (!TextUtils.isEmpty(sensorType)) { List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL); for (int i = 0; i < sensors.size(); i++) { Sensor sensor = sensors.get(i); if (sensorType.equals(sensor.getStringType())) { return sensor; } } } return mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); } /** * Returns true if the proximity sensor screen-off function is available. */ Loading