Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +4 −17 Original line number Diff line number Diff line Loading @@ -491,25 +491,12 @@ public class PipController implements PipTransitionController.PipTransitionCallb if (mPipTaskOrganizer.isInPip() && saveRestoreSnapFraction) { // Calculate the snap fraction of the current stack along the old movement bounds final PipSnapAlgorithm pipSnapAlgorithm = mPipBoundsAlgorithm.getSnapAlgorithm(); final float snapFraction = pipSnapAlgorithm.getSnapFraction(mPipBoundsState.getBounds(), mPipBoundsAlgorithm.getMovementBounds(mPipBoundsState.getBounds()), final Rect postChangeStackBounds = new Rect(mPipBoundsState.getBounds()); final float snapFraction = pipSnapAlgorithm.getSnapFraction(postChangeStackBounds, mPipBoundsAlgorithm.getMovementBounds(postChangeStackBounds), mPipBoundsState.getStashedState()); updateDisplayLayout.run(); final Rect postChangeStackBounds; if (mPipBoundsState.getBounds() != null && (mPipBoundsState.getBounds().width() > mPipBoundsState.getMaxSize().x || mPipBoundsState.getBounds().height() > mPipBoundsState.getMaxSize().y)) { postChangeStackBounds = new Rect(0, 0, mPipBoundsState.getMaxSize().x, mPipBoundsState.getMaxSize().y); } else if (mPipBoundsState.getBounds() != null && (mPipBoundsState.getBounds().width() < mPipBoundsState.getMinSize().x || mPipBoundsState.getBounds().height() < mPipBoundsState.getMinSize().y)) { postChangeStackBounds = new Rect(0, 0, mPipBoundsState.getMinSize().x, mPipBoundsState.getMinSize().y); } else { postChangeStackBounds = new Rect(mPipBoundsState.getBounds()); } // Calculate the stack bounds in the new orientation based on same fraction along the // rotated movement bounds. Loading @@ -521,7 +508,7 @@ public class PipController implements PipTransitionController.PipTransitionCallb mPipBoundsState.getDisplayBounds(), mPipBoundsState.getDisplayLayout().stableInsets()); mTouchHandler.getMotionHelper().animateResizedBounds(postChangeStackBounds); mTouchHandler.getMotionHelper().movePip(postChangeStackBounds); } else { updateDisplayLayout.run(); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMotionHelper.java +0 −9 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, private static final int UNSTASH_DURATION = 250; private static final int LEAVE_PIP_DURATION = 300; private static final int SHIFT_DURATION = 300; private static final int ANIMATE_PIP_RESIZE_ANIMATION = 250; /** Friction to use for PIP when it moves via physics fling animations. */ private static final float DEFAULT_FRICTION = 1.9f; Loading Loading @@ -548,14 +547,6 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, resizeAndAnimatePipUnchecked(unstashedBounds, UNSTASH_DURATION); } /** * Animates the PiP from an old bound to a new bound. This is mostly used when display * has changed and PiP bounds needs to be changed. */ void animateResizedBounds(Rect newBounds) { resizeAndAnimatePipUnchecked(newBounds, ANIMATE_PIP_RESIZE_ANIMATION); } /** * Animates the PiP to offset it from the IME or shelf. */ Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -191,7 +191,7 @@ public class PipControllerTest extends ShellTestCase { mPipController.mDisplaysChangedListener.onDisplayConfigurationChanged( displayId, new Configuration()); verify(mMockPipMotionHelper).animateResizedBounds(any(Rect.class)); verify(mMockPipMotionHelper).movePip(any(Rect.class)); } @Test Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +4 −17 Original line number Diff line number Diff line Loading @@ -491,25 +491,12 @@ public class PipController implements PipTransitionController.PipTransitionCallb if (mPipTaskOrganizer.isInPip() && saveRestoreSnapFraction) { // Calculate the snap fraction of the current stack along the old movement bounds final PipSnapAlgorithm pipSnapAlgorithm = mPipBoundsAlgorithm.getSnapAlgorithm(); final float snapFraction = pipSnapAlgorithm.getSnapFraction(mPipBoundsState.getBounds(), mPipBoundsAlgorithm.getMovementBounds(mPipBoundsState.getBounds()), final Rect postChangeStackBounds = new Rect(mPipBoundsState.getBounds()); final float snapFraction = pipSnapAlgorithm.getSnapFraction(postChangeStackBounds, mPipBoundsAlgorithm.getMovementBounds(postChangeStackBounds), mPipBoundsState.getStashedState()); updateDisplayLayout.run(); final Rect postChangeStackBounds; if (mPipBoundsState.getBounds() != null && (mPipBoundsState.getBounds().width() > mPipBoundsState.getMaxSize().x || mPipBoundsState.getBounds().height() > mPipBoundsState.getMaxSize().y)) { postChangeStackBounds = new Rect(0, 0, mPipBoundsState.getMaxSize().x, mPipBoundsState.getMaxSize().y); } else if (mPipBoundsState.getBounds() != null && (mPipBoundsState.getBounds().width() < mPipBoundsState.getMinSize().x || mPipBoundsState.getBounds().height() < mPipBoundsState.getMinSize().y)) { postChangeStackBounds = new Rect(0, 0, mPipBoundsState.getMinSize().x, mPipBoundsState.getMinSize().y); } else { postChangeStackBounds = new Rect(mPipBoundsState.getBounds()); } // Calculate the stack bounds in the new orientation based on same fraction along the // rotated movement bounds. Loading @@ -521,7 +508,7 @@ public class PipController implements PipTransitionController.PipTransitionCallb mPipBoundsState.getDisplayBounds(), mPipBoundsState.getDisplayLayout().stableInsets()); mTouchHandler.getMotionHelper().animateResizedBounds(postChangeStackBounds); mTouchHandler.getMotionHelper().movePip(postChangeStackBounds); } else { updateDisplayLayout.run(); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMotionHelper.java +0 −9 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, private static final int UNSTASH_DURATION = 250; private static final int LEAVE_PIP_DURATION = 300; private static final int SHIFT_DURATION = 300; private static final int ANIMATE_PIP_RESIZE_ANIMATION = 250; /** Friction to use for PIP when it moves via physics fling animations. */ private static final float DEFAULT_FRICTION = 1.9f; Loading Loading @@ -548,14 +547,6 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, resizeAndAnimatePipUnchecked(unstashedBounds, UNSTASH_DURATION); } /** * Animates the PiP from an old bound to a new bound. This is mostly used when display * has changed and PiP bounds needs to be changed. */ void animateResizedBounds(Rect newBounds) { resizeAndAnimatePipUnchecked(newBounds, ANIMATE_PIP_RESIZE_ANIMATION); } /** * Animates the PiP to offset it from the IME or shelf. */ Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -191,7 +191,7 @@ public class PipControllerTest extends ShellTestCase { mPipController.mDisplaysChangedListener.onDisplayConfigurationChanged( displayId, new Configuration()); verify(mMockPipMotionHelper).animateResizedBounds(any(Rect.class)); verify(mMockPipMotionHelper).movePip(any(Rect.class)); } @Test Loading