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

Commit e8735e6f authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Fix regressions with reparenting task am: 27475c6e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14914910

Change-Id: I65b524a55c36f841af362d07d6ecee48ce9562a7
parents 8915168f 27475c6e
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -6614,17 +6614,23 @@ class Task extends TaskFragment {
    void clearLastRecentsAnimationTransaction() {
        mLastRecentsAnimationTransaction = null;
        mLastRecentsAnimationOverlay = null;
        // reset also the transform introduced by mLastRecentsAnimationTransaction
        getPendingTransaction().setMatrix(mSurfaceControl, Matrix.IDENTITY_MATRIX, new float[9]);
        // reset also the crop and transform introduced by mLastRecentsAnimationTransaction
        Rect bounds = getBounds();
        getPendingTransaction().setMatrix(mSurfaceControl, Matrix.IDENTITY_MATRIX, new float[9])
                .setWindowCrop(mSurfaceControl, bounds.width(), bounds.height());
    }

    void maybeApplyLastRecentsAnimationTransaction() {
        if (mLastRecentsAnimationTransaction != null) {
            final SurfaceControl.Transaction tx = getPendingTransaction();
            if (mLastRecentsAnimationOverlay != null) {
                getPendingTransaction().reparent(mLastRecentsAnimationOverlay, mSurfaceControl);
                tx.reparent(mLastRecentsAnimationOverlay, mSurfaceControl);
            }
            PictureInPictureSurfaceTransaction.apply(mLastRecentsAnimationTransaction,
                    mSurfaceControl, getPendingTransaction());
                    mSurfaceControl, tx);
            // If we are transferring the transform from the root task entering PIP, then also show
            // the new task immediately
            tx.show(mSurfaceControl);
            mLastRecentsAnimationTransaction = null;
            mLastRecentsAnimationOverlay = null;
        }