summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2012-06-02 11:26:07 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-02 11:26:07 -0700
commite184c05b55335b733662f60acc85706f3fb6b419 (patch)
tree92f9e88589d6a8b94d6347e9e9d2d85e927ae1eb /services
parent5daa08df5e6a70b40aef210ec5b2bcfa897aaef6 (diff)
parentd672b241f6720201e3b8f613363d71e4291b8597 (diff)
downloadframeworks_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.java7
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) {