summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;