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

Commit 7a3bc874 authored by Craig Mautner's avatar Craig Mautner Committed by Android (Google) Code Review
Browse files

Merge "Fix so that windows again animate when moving."

parents 419ad1e3 42c45856
Loading
Loading
Loading
Loading
+21 −20
Original line number Diff line number Diff line
@@ -8186,8 +8186,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;
@@ -8289,6 +8287,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);

@@ -8308,24 +8327,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;
                }
            }
        }