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

Commit 28b4fc76 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Don't prevent windows from drawing when they are just moving" into mnc-dev

parents b9e13a25 c5af4f84
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -83,7 +83,8 @@ oneway interface IWindow {
     * The window is beginning to animate. The application should stop drawing frames until the
     * window is not animating anymore, indicated by being called {@link #windowEndAnimating}.
     *
     * @param remainingFrameCount how many frames the app might still draw before stopping drawing
     * @param remainingFrameCount how many frames the app might still draw before stopping drawing;
     *                            pass -1 to let it continue drawing
     */
    void onAnimationStarted(int remainingFrameCount);

+1 −1
Original line number Diff line number Diff line
@@ -5327,7 +5327,7 @@ public final class ViewRootImpl implements ViewParent,
    }

    public void handleDispatchWindowAnimationStarted(int remainingFrameCount) {
        if (!mDrawDuringWindowsAnimating) {
        if (!mDrawDuringWindowsAnimating && remainingFrameCount != -1) {
            mRemainingFrameCount = remainingFrameCount;
            mWindowsAnimating = true;
        }
+3 −2
Original line number Diff line number Diff line
@@ -272,8 +272,9 @@ public class WindowAnimator {

                try {
                    if (anyAnimating && !anyWasAnimating) {
                        win.mClient.onAnimationStarted(
                                winAnimator.mKeyguardGoingAwayAnimation ? 1 : 0);
                        win.mClient.onAnimationStarted(winAnimator.mAnimatingMove ? -1
                                : winAnimator.mKeyguardGoingAwayAnimation ? 1
                                : 0);
                    } else if (!anyAnimating && anyWasAnimating) {
                        win.mClient.onAnimationStopped();
                    }
+1 −0
Original line number Diff line number Diff line
@@ -10002,6 +10002,7 @@ public class WindowManagerService extends IWindowManager.Stub
                            winAnimator.mAnimDw = w.mLastFrame.left - left;
                            winAnimator.mAnimDh = w.mLastFrame.top - top;
                            winAnimator.mAnimateMove = true;
                            winAnimator.mAnimatingMove = true;
                        }

                        //TODO (multidisplay): Accessibility supported only for the default display.
+7 −0
Original line number Diff line number Diff line
@@ -122,7 +122,13 @@ class WindowStateAnimator {
    // used.
    int mAnimDw;
    int mAnimDh;

    /** Is the next animation to be started a window move animation? */
    boolean mAnimateMove = false;

    /** Are we currently running a window move animation? */
    boolean mAnimatingMove = false;

    float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1;
    float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1;

@@ -361,6 +367,7 @@ class WindowStateAnimator {

        mAnimating = false;
        mKeyguardGoingAwayAnimation = false;
        mAnimatingMove = false;
        mLocalAnimating = false;
        if (mAnimation != null) {
            mAnimation.cancel();