PowerManagerService: Fix bug resulting in backlights turning on while screen is off.

Fixes bugs b/2216879 and b/2197060

Change-Id: I5de3cbdbc0601dd7950dba74cacfff06d41ad18e
Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
Mike Lockwood
2009-10-27 09:32:30 -04:00
parent 8061f64f62
commit 2d155d264e

View File

@@ -2037,16 +2037,21 @@ class PowerManagerService extends IPowerManager.Stub
} }
private void setScreenBrightnessMode(int mode) { private void setScreenBrightnessMode(int mode) {
mAutoBrightessEnabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
if (mAutoBrightessEnabled != enabled) {
mAutoBrightessEnabled = enabled;
// reset computed brightness // reset computed brightness
mLightSensorBrightness = -1; mLightSensorBrightness = -1;
if (mHasHardwareAutoBrightness) { if (mHasHardwareAutoBrightness) {
// When setting auto-brightness, must reset the brightness afterwards // When setting auto-brightness, must reset the brightness afterwards
mHardware.setAutoBrightness_UNCHECKED(mAutoBrightessEnabled); mHardware.setAutoBrightness_UNCHECKED(enabled);
if (screenIsOn()) {
setBacklightBrightness((int)mScreenBrightness.curValue); setBacklightBrightness((int)mScreenBrightness.curValue);
}
} else { } else {
enableLightSensor(screenIsOn() && mAutoBrightessEnabled); enableLightSensor(screenIsOn() && enabled);
}
} }
} }