summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/power/PowerManagerService.java
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-05-04 11:56:08 -0700
committerSteve Kondik <shade@chemlab.org>2013-05-04 19:36:07 -0700
commita1810eff06acf67b9fae62cb7b58fb31af41318c (patch)
treee7b7e7d09b811b8d2adb2e0344f44a6c86a6f273 /services/java/com/android/server/power/PowerManagerService.java
parent93df8a71f87985a9aa3dc142b430c365e2a53276 (diff)
downloadframeworks_base-a1810eff06acf67b9fae62cb7b58fb31af41318c.zip
frameworks_base-a1810eff06acf67b9fae62cb7b58fb31af41318c.tar.gz
frameworks_base-a1810eff06acf67b9fae62cb7b58fb31af41318c.tar.bz2
power: Add panel auto-brightness configuration
* Some panel hardware requires that we twiddle some knobs in sysfs to enable proper display calibration (gamma, etc) when auto-brightness is enabled. Add a configuration value to handle this. Change-Id: I3c793c3520fc6f9a18d5a3abf1fe0df803c5e580
Diffstat (limited to 'services/java/com/android/server/power/PowerManagerService.java')
-rw-r--r--services/java/com/android/server/power/PowerManagerService.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/java/com/android/server/power/PowerManagerService.java b/services/java/com/android/server/power/PowerManagerService.java
index e8f6b60..f1971c4 100644
--- a/services/java/com/android/server/power/PowerManagerService.java
+++ b/services/java/com/android/server/power/PowerManagerService.java
@@ -183,6 +183,7 @@ public final class PowerManagerService extends IPowerManager.Stub
private WirelessChargerDetector mWirelessChargerDetector;
private SettingsObserver mSettingsObserver;
private DreamManagerService mDreamManager;
+ private AutoBrightnessHandler mAutoBrightnessHandler;
private LightsService.Light mAttentionLight;
private LightsService.Light mButtonsLight;
private LightsService.Light mKeyboardLight;
@@ -418,6 +419,9 @@ public final class PowerManagerService extends IPowerManager.Stub
// activity manager is not running when the constructor is called, so we
// have to defer setting the screen state until this point.
mDisplayBlanker.unblankAllDisplays();
+
+ mAutoBrightnessHandler = new AutoBrightnessHandler(context);
+
}
public void setPolicy(WindowManagerPolicy policy) {
@@ -567,9 +571,14 @@ public final class PowerManagerService extends IPowerManager.Stub
mTemporaryScreenAutoBrightnessAdjustmentSettingOverride = Float.NaN;
}
+ final int oldScreenBrightnessModeSetting =
+ mScreenBrightnessModeSetting;
mScreenBrightnessModeSetting = Settings.System.getIntForUser(resolver,
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT);
+ if (oldScreenBrightnessModeSetting != mScreenBrightnessModeSetting) {
+ mAutoBrightnessHandler.onAutoBrightnessChanged(mScreenBrightnessModeSetting);
+ }
mDirty |= DIRTY_SETTINGS;
}