Skip to content

Commit a835806

Browse files
author
Craig Mautner
committed
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
1 parent a4e2ec6 commit a835806

File tree

1 file changed

+1
-17
lines changed

1 file changed

+1
-17
lines changed

services/java/com/android/server/wm/WindowManagerService.java

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6674,8 +6674,7 @@ final class H extends Handler {
66746674
public static final int SET_TRANSPARENT_REGION = ANIMATOR_WHAT_OFFSET + 1;
66756675
public static final int SET_WALLPAPER_OFFSET = ANIMATOR_WHAT_OFFSET + 2;
66766676
public static final int SET_DIM_PARAMETERS = ANIMATOR_WHAT_OFFSET + 3;
6677-
public static final int SET_MOVE_ANIMATION = ANIMATOR_WHAT_OFFSET + 4;
6678-
public static final int CLEAR_PENDING_ACTIONS = ANIMATOR_WHAT_OFFSET + 5;
6677+
public static final int CLEAR_PENDING_ACTIONS = ANIMATOR_WHAT_OFFSET + 4;
66796678

66806679
private Session mLastReportedHold;
66816680

@@ -7159,18 +7158,6 @@ public void handleMessage(Message msg) {
71597158
break;
71607159
}
71617160

7162-
case SET_MOVE_ANIMATION: {
7163-
WindowAnimator.SetAnimationParams params =
7164-
(WindowAnimator.SetAnimationParams) msg.obj;
7165-
WindowStateAnimator winAnimator = params.mWinAnimator;
7166-
winAnimator.setAnimation(params.mAnimation);
7167-
winAnimator.mAnimDw = params.mAnimDw;
7168-
winAnimator.mAnimDh = params.mAnimDh;
7169-
7170-
scheduleAnimationLocked();
7171-
break;
7172-
}
7173-
71747161
case CLEAR_PENDING_ACTIONS: {
71757162
mAnimator.clearPendingActions();
71767163
break;
@@ -8418,9 +8405,6 @@ private final void performLayoutAndPlaceSurfacesLockedInner(
84188405
winAnimator.setAnimation(a);
84198406
winAnimator.mAnimDw = w.mLastFrame.left - w.mFrame.left;
84208407
winAnimator.mAnimDh = w.mLastFrame.top - w.mFrame.top;
8421-
} else {
8422-
winAnimator.mAnimDw = innerDw;
8423-
winAnimator.mAnimDh = innerDh;
84248408
}
84258409

84268410
//Slog.i(TAG, "Window " + this + " clearing mContentChanged - done placing");

0 commit comments

Comments
 (0)