summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2009-10-29 01:44:29 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-10-29 01:44:29 -0700
commit4f049475c739dadeea53b428bf2e445a78ebaec5 (patch)
tree4390e10044ba3d99422f340904c406d04eb3c944 /services
parenta628d54d108b365b66934e4b83aac739ee5ad9cc (diff)
parentf634f4922894cc23a9b2298a0c971ffac763c132 (diff)
downloadframeworks_base-4f049475c739dadeea53b428bf2e445a78ebaec5.zip
frameworks_base-4f049475c739dadeea53b428bf2e445a78ebaec5.tar.gz
frameworks_base-4f049475c739dadeea53b428bf2e445a78ebaec5.tar.bz2
am f634f492: am 5ef89808: Merge change I9c242127 into eclair
Merge commit 'f634f4922894cc23a9b2298a0c971ffac763c132' into eclair-mr2-plus-aosp * commit 'f634f4922894cc23a9b2298a0c971ffac763c132': PowerManagerService: Animate LCD backlight changes due to autobrightness support.
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/PowerManagerService.java58
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;
}
}