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

Commit 51cf7d18 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Pass sourceRectHint to auto-enter-pip transition

Bug: 198309223
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/eODHpvqAQPfbwjFamtRYC1
Test: manual, see video
Change-Id: I169603c5285f9a226ab0423dbd36d8e3e2ca51a1
parent 795a9a8c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ public class SwipePipToHomeAnimator extends RectFSpringAnim {
    private final int mTaskId;
    private final ComponentName mComponentName;
    private final SurfaceControl mLeash;
    private final Rect mSourceRectHint = new Rect();
    private final Rect mAppBounds = new Rect();
    private final Matrix mHomeToWindowPositionMap = new Matrix();
    private final Rect mStartBounds = new Rect();
@@ -140,6 +141,7 @@ public class SwipePipToHomeAnimator extends RectFSpringAnim {
        }

        if (sourceRectHint == null) {
            mSourceRectHint.setEmpty();
            mSourceHintRectInsets = null;

            // Create a new overlay layer
@@ -169,6 +171,7 @@ public class SwipePipToHomeAnimator extends RectFSpringAnim {
                t.apply();
            });
        } else {
            mSourceRectHint.set(sourceRectHint);
            mSourceHintRectInsets = new Rect(sourceRectHint.left - appBounds.left,
                    sourceRectHint.top - appBounds.top,
                    appBounds.right - sourceRectHint.right,
@@ -249,7 +252,8 @@ public class SwipePipToHomeAnimator extends RectFSpringAnim {
            return mSurfaceTransactionHelper.scaleAndRotate(tx, mLeash, mAppBounds, bounds, insets,
                    rotatedPosition.degree, rotatedPosition.positionX, rotatedPosition.positionY);
        } else {
            return mSurfaceTransactionHelper.scaleAndCrop(tx, mLeash, mAppBounds, bounds, insets);
            return mSurfaceTransactionHelper.scaleAndCrop(tx, mLeash, mSourceRectHint, mAppBounds,
                    bounds, insets);
        }
    }