diff options
-rw-r--r-- | services/java/com/android/server/wm/ScreenRotationAnimation.java | 1 | ||||
-rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 3 |
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; |