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

Commit 3aac1079 authored by Mateusz Cicheński's avatar Mateusz Cicheński Committed by Android (Google) Code Review
Browse files

Merge "Animate PiP away on inset changes." into tm-qpr-dev

parents d04f92f2 9621f52c
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -612,9 +612,24 @@ public class PipController implements PipTransitionController.PipTransitionCallb
                new DisplayInsetsController.OnInsetsChangedListener() {
                    @Override
                    public void insetsChanged(InsetsState insetsState) {
                        int oldMaxMovementBound = mPipBoundsState.getMovementBounds().bottom;
                        onDisplayChanged(
                                mDisplayController.getDisplayLayout(mPipBoundsState.getDisplayId()),
                                false /* saveRestoreSnapFraction */);
                        int newMaxMovementBound = mPipBoundsState.getMovementBounds().bottom;
                        if (!mEnablePipKeepClearAlgorithm) {
                            int pipTop = mPipBoundsState.getBounds().top;
                            int diff = newMaxMovementBound - oldMaxMovementBound;
                            if (diff < 0 && pipTop > newMaxMovementBound) {
                                // bottom inset has increased, move PiP up if it is too low
                                mPipMotionHelper.animateToOffset(mPipBoundsState.getBounds(),
                                        newMaxMovementBound - pipTop);
                            }
                            if (diff > 0 && oldMaxMovementBound == pipTop) {
                                // bottom inset has decreased, move PiP down if it was by the edge
                                mPipMotionHelper.animateToOffset(mPipBoundsState.getBounds(), diff);
                            }
                        }
                    }
                });