summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2012-03-02 16:06:33 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-03-02 16:06:33 -0800
commitb6df928e5eff4448f670b92c1ce00de55f0f0eac (patch)
tree5ff8ea2f4b71b6af87baa2eb12a115115fa90cef
parentdc043b58cb3567246d00057d90e502ea16e1ebf2 (diff)
parenta731cd302dc39deaf835aeb52af12f391806a4bf (diff)
downloadframeworks_base-b6df928e5eff4448f670b92c1ce00de55f0f0eac.zip
frameworks_base-b6df928e5eff4448f670b92c1ce00de55f0f0eac.tar.gz
frameworks_base-b6df928e5eff4448f670b92c1ce00de55f0f0eac.tar.bz2
Merge "Fix rotation so orientation changes aren't dropped. Modify test so that rotation animation is entered one final time after rotation completes. This last time causes mUpdateRotation to be set true forcing a test for orientation change. Fixes bug 6109189."
-rw-r--r--services/java/com/android/server/wm/ScreenRotationAnimation.java1
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java3
2 files changed, 3 insertions, 1 deletions
diff --git a/services/java/com/android/server/wm/ScreenRotationAnimation.java b/services/java/com/android/server/wm/ScreenRotationAnimation.java
index 1335a44..932e456 100644
--- a/services/java/com/android/server/wm/ScreenRotationAnimation.java
+++ b/services/java/com/android/server/wm/ScreenRotationAnimation.java
@@ -602,6 +602,7 @@ class ScreenRotationAnimation implements WindowManagerService.StepAnimator {
public boolean startAndFinishAnimationLocked(long now) {
if (!isAnimating()) {
if (DEBUG_STATE) Slog.v(TAG, "Step: no animations running");
+ mFinishAnimReady = false;
return false;
}
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 6221b90..c1a4bd0 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -7669,7 +7669,8 @@ public class WindowManagerService extends IWindowManager.Stub
}
if (mScreenRotationAnimation != null) {
- if (mScreenRotationAnimation.isAnimating()) {
+ if (mScreenRotationAnimation.isAnimating() ||
+ mScreenRotationAnimation.mFinishAnimReady) {
if (mScreenRotationAnimation.startAndFinishAnimationLocked(currentTime)) {
mInnerFields.mUpdateRotation = false;
mInnerFields.mAnimating = true;