diff options
-rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 1 | ||||
-rw-r--r-- | services/core/java/com/android/server/wm/WindowStateAnimator.java | 11 |
2 files changed, 10 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 4972ce4..ebec172 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -9973,6 +9973,7 @@ public class WindowManagerService extends IWindowManager.Stub winAnimator.setAnimation(a); winAnimator.mAnimDw = w.mLastFrame.left - left; winAnimator.mAnimDh = w.mLastFrame.top - top; + winAnimator.mAnimateMove = true; } //TODO (multidisplay): Accessibility supported only for the default display. diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index ec89b37..424e2e2 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -122,6 +122,7 @@ class WindowStateAnimator { // used. int mAnimDw; int mAnimDh; + boolean mAnimateMove = false; float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1; float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1; @@ -290,9 +291,15 @@ class WindowStateAnimator { " wh=" + mWin.mFrame.height() + " dw=" + mAnimDw + " dh=" + mAnimDh + " scale=" + mService.getWindowAnimationScaleLocked()); - mAnimation.initialize(mWin.mFrame.width(), mWin.mFrame.height(), - mAnimDw, mAnimDh); final DisplayInfo displayInfo = displayContent.getDisplayInfo(); + if (mAnimateMove) { + mAnimateMove = false; + mAnimation.initialize(mWin.mFrame.width(), mWin.mFrame.height(), + mAnimDw, mAnimDh); + } else { + mAnimation.initialize(mWin.mFrame.width(), mWin.mFrame.height(), + displayInfo.appWidth, displayInfo.appHeight); + } mAnimDw = displayInfo.appWidth; mAnimDh = displayInfo.appHeight; mAnimation.setStartTime(mAnimationStartTime != -1 |