diff options
| author | Mike Lockwood <lockwood@android.com> | 2009-10-29 01:21:46 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2009-10-29 01:21:46 -0700 |
| commit | f634f4922894cc23a9b2298a0c971ffac763c132 (patch) | |
| tree | c992d80a44c25cd4af87fd5cd4c8ada831da652e /services | |
| parent | 6373349836237abffc3de8a3632234170bc1cfca (diff) | |
| parent | 5ef898080c1b8b596531c938eae87b3c35331ac2 (diff) | |
| download | frameworks_base-f634f4922894cc23a9b2298a0c971ffac763c132.zip frameworks_base-f634f4922894cc23a9b2298a0c971ffac763c132.tar.gz frameworks_base-f634f4922894cc23a9b2298a0c971ffac763c132.tar.bz2 | |
am 5ef89808: Merge change I9c242127 into eclair
Merge commit '5ef898080c1b8b596531c938eae87b3c35331ac2' into eclair-mr2
* commit '5ef898080c1b8b596531c938eae87b3c35331ac2':
PowerManagerService: Animate LCD backlight changes due to autobrightness support.
Diffstat (limited to 'services')
| -rw-r--r-- | services/java/com/android/server/PowerManagerService.java | 58 |
1 files changed, 41 insertions, 17 deletions
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 5c4aa79..927c1b3 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -131,6 +131,8 @@ class PowerManagerService extends IPowerManager.Stub static final boolean ANIMATE_KEYBOARD_LIGHTS = false; static final int ANIM_STEPS = 60/4; + // Slower animation for autobrightness changes + static final int AUTOBRIGHTNESS_ANIM_STEPS = 60; // These magic numbers are the initial state of the LEDs at boot. Ideally // we should read them from the driver, but our current hardware returns 0 @@ -224,7 +226,7 @@ class PowerManagerService extends IPowerManager.Stub // could be either static or controllable at runtime private static final boolean mSpew = false; - private static final boolean mDebugLightSensor = false; + private static final boolean mDebugLightSensor = (false || mSpew); /* static PrintStream mLog; @@ -1925,27 +1927,45 @@ class PowerManagerService extends IPowerManager.Stub Log.d(TAG, "keyboardValue " + keyboardValue); } + boolean startAnimation = false; if (mScreenBrightnessOverride < 0) { - mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BACKLIGHT, - lcdValue); - } - mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, - buttonValue); - mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, - keyboardValue); - - // update our animation state - if (ANIMATE_SCREEN_LIGHTS) { - mScreenBrightness.curValue = lcdValue; - mScreenBrightness.animating = false; + if (ANIMATE_SCREEN_LIGHTS) { + if (mScreenBrightness.setTargetLocked(lcdValue, + AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_SCREEN_BRIGHTNESS, + (int)mScreenBrightness.curValue)) { + startAnimation = true; + } + } else { + mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BACKLIGHT, + lcdValue); + } } if (ANIMATE_BUTTON_LIGHTS) { - mButtonBrightness.curValue = buttonValue; - mButtonBrightness.animating = false; + if (mButtonBrightness.setTargetLocked(buttonValue, + AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, + (int)mButtonBrightness.curValue)) { + startAnimation = true; + } + } else { + mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, + buttonValue); } if (ANIMATE_KEYBOARD_LIGHTS) { - mKeyboardBrightness.curValue = keyboardValue; - mKeyboardBrightness.animating = false; + if (mKeyboardBrightness.setTargetLocked(keyboardValue, + AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_BUTTON_BRIGHTNESS, + (int)mKeyboardBrightness.curValue)) { + startAnimation = true; + } + } else { + mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, + keyboardValue); + } + if (startAnimation) { + if (mDebugLightSensor) { + Log.i(TAG, "lightSensorChangedLocked scheduling light animator"); + } + mHandler.removeCallbacks(mLightAnimator); + mHandler.post(mLightAnimator); } } } @@ -2041,6 +2061,7 @@ class PowerManagerService extends IPowerManager.Stub if (mAutoBrightessEnabled != enabled) { mAutoBrightessEnabled = enabled; // reset computed brightness + mLightSensorValue = -1; mLightSensorBrightness = -1; if (mHasHardwareAutoBrightness) { @@ -2263,14 +2284,17 @@ class PowerManagerService extends IPowerManager.Stub if (ANIMATE_SCREEN_LIGHTS) { mScreenBrightness.curValue = brightness; mScreenBrightness.animating = false; + mScreenBrightness.targetValue = -1; } if (ANIMATE_KEYBOARD_LIGHTS) { mKeyboardBrightness.curValue = brightness; mKeyboardBrightness.animating = false; + mKeyboardBrightness.targetValue = -1; } if (ANIMATE_BUTTON_LIGHTS) { mButtonBrightness.curValue = brightness; mButtonBrightness.animating = false; + mButtonBrightness.targetValue = -1; } } |
