Merge "Use the correct parent size to initialize animations" into mnc-dev
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 @@
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 @@
// 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 @@
" 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