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:
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user