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

Commit 62b56927 authored by Winson Chung's avatar Winson Chung
Browse files

Ignore source hint rect if it is too small

- When the source hint rect is too small, we can't do a nice transition
  when going home (it would require scaling the surface up to fit the
  rect, which conflicts spatially with the crop down to launcher
  icon/pip), so in this case, just fallback to the overlay

Bug: 190464560
Test: Enter YT Pip, play video, swipe it down to miniplayer then
      enter pip
Change-Id: I44b253ca440f6d2ca0eb20eef3454c5d4e3ae3e9
parent 954681d8
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -121,6 +121,15 @@ public class SwipePipToHomeAnimator extends ValueAnimator {
        mDestinationBoundsAnimation.set(mDestinationBounds);
        mSurfaceTransactionHelper = new PipSurfaceTransactionHelper(cornerRadius);

        if (sourceRectHint != null && (sourceRectHint.width() < destinationBounds.width()
                || sourceRectHint.height() < destinationBounds.height())) {
            // This is a situation in which the source hint rect on at least one axis is smaller
            // than the destination bounds, which presents a problem because we would have to scale
            // up that axis to fit the bounds. So instead, just fallback to the non-source hint
            // animation in this case.
            sourceRectHint = null;
        }

        if (sourceRectHint == null) {
            mSourceHintRectInsets = null;