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

Commit c4aa31ea authored by Rob Carr's avatar Rob Carr Committed by Android (Google) Code Review
Browse files

Merge "resolve merge conflicts of 6540c239 to master"

parents 47e8e16e 24ad15ec
Loading
Loading
Loading
Loading
+0 −27
Original line number Original line Diff line number Diff line
@@ -225,8 +225,6 @@ class WindowStateAnimator {
    int mAttrType;
    int mAttrType;


    static final long PENDING_TRANSACTION_FINISH_WAIT_TIME = 100;
    static final long PENDING_TRANSACTION_FINISH_WAIT_TIME = 100;
    long mDeferTransactionUntilFrame = -1;
    long mDeferTransactionTime = -1;


    boolean mForceScaleUntilResize;
    boolean mForceScaleUntilResize;


@@ -1889,35 +1887,10 @@ class WindowStateAnimator {
        if (!mWin.isChildWindow()) {
        if (!mWin.isChildWindow()) {
            return;
            return;
        }
        }
        mDeferTransactionUntilFrame = frameNumber;
        mDeferTransactionTime = System.currentTimeMillis();
        mSurfaceController.deferTransactionUntil(
        mSurfaceController.deferTransactionUntil(
                mWin.getParentWindow().mWinAnimator.mSurfaceController.getHandle(), frameNumber);
                mWin.getParentWindow().mWinAnimator.mSurfaceController.getHandle(), frameNumber);
    }
    }


    // Defer the current transaction to the frame number of the last saved transaction.
    // We do this to avoid shooting through an unsynchronized transaction while something is
    // pending. This is generally fine, as either we will get in on the synchronization,
    // or SurfaceFlinger will see that the frame has already occured. The only
    // potential problem is in frame number resets so we reset things with a timeout
    // every so often to be careful.
    void deferToPendingTransaction() {
        if (mDeferTransactionUntilFrame < 0) {
            return;
        }
        final WindowState parentWindow = mWin.getParentWindow();
        long time = System.currentTimeMillis();
        if (time > mDeferTransactionTime + PENDING_TRANSACTION_FINISH_WAIT_TIME) {
            mDeferTransactionTime = -1;
            mDeferTransactionUntilFrame = -1;
        } else if (parentWindow != null &&
                parentWindow.mWinAnimator.hasSurface()) {
            mSurfaceController.deferTransactionUntil(
                    mWin.getParentWindow().mWinAnimator.mSurfaceController.getHandle(),
                    mDeferTransactionUntilFrame);
        }
    }

    /**
    /**
     * Sometimes we need to synchronize the first frame of animation with some external event.
     * Sometimes we need to synchronize the first frame of animation with some external event.
     * To achieve this, we prolong the start of the animation and keep producing the first frame of
     * To achieve this, we prolong the start of the animation and keep producing the first frame of
+0 −4
Original line number Original line Diff line number Diff line
@@ -739,10 +739,6 @@ class WindowSurfacePlacer {


                // Moved from updateWindowsAndWallpaperLocked().
                // Moved from updateWindowsAndWallpaperLocked().
                if (w.mHasSurface) {
                if (w.mHasSurface) {
                    // If we have recently synchronized a previous transaction for this
                    // window ensure we don't push through an unsynchronized one now.
                    winAnimator.deferToPendingTransaction();

                    // Take care of the window being ready to display.
                    // Take care of the window being ready to display.
                    final boolean committed = winAnimator.commitFinishDrawingLocked();
                    final boolean committed = winAnimator.commitFinishDrawingLocked();
                    if (isDefaultDisplay && committed) {
                    if (isDefaultDisplay && committed) {