summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/PowerManagerService.java25
1 files changed, 15 insertions, 10 deletions
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index f3a91e7..5c4aa79 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -2037,16 +2037,21 @@ class PowerManagerService extends IPowerManager.Stub
}
private void setScreenBrightnessMode(int mode) {
- mAutoBrightessEnabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
- // reset computed brightness
- mLightSensorBrightness = -1;
-
- if (mHasHardwareAutoBrightness) {
- // When setting auto-brightness, must reset the brightness afterwards
- mHardware.setAutoBrightness_UNCHECKED(mAutoBrightessEnabled);
- setBacklightBrightness((int)mScreenBrightness.curValue);
- } else {
- enableLightSensor(screenIsOn() && mAutoBrightessEnabled);
+ boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
+ if (mAutoBrightessEnabled != enabled) {
+ mAutoBrightessEnabled = enabled;
+ // reset computed brightness
+ mLightSensorBrightness = -1;
+
+ if (mHasHardwareAutoBrightness) {
+ // When setting auto-brightness, must reset the brightness afterwards
+ mHardware.setAutoBrightness_UNCHECKED(enabled);
+ if (screenIsOn()) {
+ setBacklightBrightness((int)mScreenBrightness.curValue);
+ }
+ } else {
+ enableLightSensor(screenIsOn() && enabled);
+ }
}
}