diff options
| author | Craig Mautner <cmautner@google.com> | 2012-06-02 11:26:07 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2012-06-02 11:26:07 -0700 |
| commit | e184c05b55335b733662f60acc85706f3fb6b419 (patch) | |
| tree | 92f9e88589d6a8b94d6347e9e9d2d85e927ae1eb /services | |
| parent | 5daa08df5e6a70b40aef210ec5b2bcfa897aaef6 (diff) | |
| parent | d672b241f6720201e3b8f613363d71e4291b8597 (diff) | |
| download | frameworks_base-e184c05b55335b733662f60acc85706f3fb6b419.zip frameworks_base-e184c05b55335b733662f60acc85706f3fb6b419.tar.gz frameworks_base-e184c05b55335b733662f60acc85706f3fb6b419.tar.bz2 | |
am d672b241: Merge "Fix power manager issues." into jb-dev
* commit 'd672b241f6720201e3b8f613363d71e4291b8597':
Fix power manager issues.
Diffstat (limited to 'services')
| -rw-r--r-- | services/java/com/android/server/PowerManagerService.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 469b4f1..5aa0d16 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -2285,6 +2285,10 @@ public class PowerManagerService extends IPowerManager.Stub public void animateTo(int target, int sensorTarget, int mask, int animationDuration) { synchronized(this) { + if (isAnimating() && (mask ^ currentMask) != 0) { + // current animation is unrelated to new animation, jump to final values + cancelAnimation(); + } startValue = currentValue; endValue = target; startSensorValue = mHighestLightSensorValue; @@ -2409,7 +2413,8 @@ public class PowerManagerService extends IPowerManager.Stub private boolean isScreenTurningOffLocked() { return (mScreenBrightnessAnimator.isAnimating() - && mScreenBrightnessAnimator.endValue == PowerManager.BRIGHTNESS_OFF); + && mScreenBrightnessAnimator.endValue == PowerManager.BRIGHTNESS_OFF + && (mScreenBrightnessAnimator.currentMask & SCREEN_BRIGHT_BIT) != 0); } private boolean shouldLog(long time) { |
