From a83580614f4f75f7d474e81c7c10c2c784df1380 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Wed, 9 May 2012 10:37:41 -0700 Subject: [PATCH] Keep layout from overwriting translate dimensions If the layout goes through more than one pass after detecting a window movement but before animation begins then the later pass overwrites the animation offsets. The incorrect values are large leading to an animation starting location in the bottom right corner. Fixes bug 6450310. Change-Id: I0f74e67b3e9a15a9246151abf6d47384509340e9 --- .../server/wm/WindowManagerService.java | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 204a6cdd35ff9..84bd09b6e72c7 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -6674,8 +6674,7 @@ public class WindowManagerService extends IWindowManager.Stub public static final int SET_TRANSPARENT_REGION = ANIMATOR_WHAT_OFFSET + 1; public static final int SET_WALLPAPER_OFFSET = ANIMATOR_WHAT_OFFSET + 2; public static final int SET_DIM_PARAMETERS = ANIMATOR_WHAT_OFFSET + 3; - public static final int SET_MOVE_ANIMATION = ANIMATOR_WHAT_OFFSET + 4; - public static final int CLEAR_PENDING_ACTIONS = ANIMATOR_WHAT_OFFSET + 5; + public static final int CLEAR_PENDING_ACTIONS = ANIMATOR_WHAT_OFFSET + 4; private Session mLastReportedHold; @@ -7159,18 +7158,6 @@ public class WindowManagerService extends IWindowManager.Stub break; } - case SET_MOVE_ANIMATION: { - WindowAnimator.SetAnimationParams params = - (WindowAnimator.SetAnimationParams) msg.obj; - WindowStateAnimator winAnimator = params.mWinAnimator; - winAnimator.setAnimation(params.mAnimation); - winAnimator.mAnimDw = params.mAnimDw; - winAnimator.mAnimDh = params.mAnimDh; - - scheduleAnimationLocked(); - break; - } - case CLEAR_PENDING_ACTIONS: { mAnimator.clearPendingActions(); break; @@ -8418,9 +8405,6 @@ public class WindowManagerService extends IWindowManager.Stub winAnimator.setAnimation(a); winAnimator.mAnimDw = w.mLastFrame.left - w.mFrame.left; winAnimator.mAnimDh = w.mLastFrame.top - w.mFrame.top; - } else { - winAnimator.mAnimDw = innerDw; - winAnimator.mAnimDh = innerDh; } //Slog.i(TAG, "Window " + this + " clearing mContentChanged - done placing");