Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42c45856 authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Fix so that windows again animate when moving.

Change-Id: I2441d0c892687b8cda239815caf77837cd21093e
parent 98288306
Loading
Loading
Loading
Loading
+21 −20
Original line number Diff line number Diff line
@@ -8400,8 +8400,6 @@ public class WindowManagerService extends IWindowManager.Stub
            final int N = mWindows.size();
            for (i=N-1; i>=0; i--) {
                WindowState w = mWindows.get(i);
                //Slog.i(TAG, "Window " + this + " clearing mContentChanged - done placing");
                w.mContentChanged = false;

                if (someoneLosingFocus && w == mCurrentFocus && w.isDisplayedLw()) {
                    focusDisplayed = true;
@@ -8503,6 +8501,27 @@ public class WindowManagerService extends IWindowManager.Stub
        for (i=N-1; i>=0; i--) {
            final WindowState w = mWindows.get(i);
            final WindowStateAnimator winAnimator = w.mWinAnimator; 
            
            // If the window has moved due to its containing
            // content frame changing, then we'd like to animate
            // it.
            if (w.mHasSurface && w.shouldAnimateMove()) {
                // Frame has moved, containing content frame
                // has also moved, and we're not currently animating...
                // let's do something.
                Animation a = AnimationUtils.loadAnimation(mContext,
                        com.android.internal.R.anim.window_move_from_decor);
                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");
            w.mContentChanged = false;
            
            // TODO(cmautner): Can this move up to the loop at the end of try/catch above?
            updateResizingWindows(w);

@@ -8522,24 +8541,6 @@ public class WindowManagerService extends IWindowManager.Stub
                        }
                    }
                }
    
                // If the window has moved due to its containing
                // content frame changing, then we'd like to animate
                // it.  The checks here are ordered by what is least
                // likely to be true first.
                if (w.shouldAnimateMove()) {
                    // Frame has moved, containing content frame
                    // has also moved, and we're not currently animating...
                    // let's do something.
                    Animation a = AnimationUtils.loadAnimation(mContext,
                            com.android.internal.R.anim.window_move_from_decor);
                    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;
                }
            }
        }