Fix initial brightness state after startup.
Setting of mInitialAnimation member was assuming that currentValue
member would only be 0 at boot. It also gets set to 0 when the
sensor goes dark. This fix removes mInitialValue reliance on
currentValue.
Fixes bug 6444319.
Change-Id: I27069f1b44f1f727533d34bbecad2e5aeaa7aab8
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 38e08ae..469b4f1 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -2242,7 +2242,9 @@
} else {
newValue = endValue;
mHighestLightSensorValue = endSensorValue;
- mInitialAnimation = false;
+ if (endValue > 0) {
+ mInitialAnimation = false;
+ }
}
if (mDebugLightAnimation) {
@@ -2290,7 +2292,7 @@
currentMask = mask;
duration = (int) (mWindowScaleAnimation * animationDuration);
startTimeMillis = SystemClock.elapsedRealtime();
- mInitialAnimation = currentValue == 0 && target > 0;
+ mInitialAnimation = mInitialAnimation && target > 0;
if (mDebugLightAnimation) {
Slog.v(TAG, "animateTo(target=" + target
@@ -2608,7 +2610,8 @@
}
};
- private boolean mInitialAnimation; // used to prevent lightsensor changes while turning on
+ /** used to prevent lightsensor changes while turning on. */
+ private boolean mInitialAnimation = true;
private void dockStateChanged(int state) {
synchronized (mLocks) {