Loading packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +12 −6 Original line number Diff line number Diff line Loading @@ -815,6 +815,7 @@ public class PipTouchHandler { private class DefaultPipTouchGesture extends PipTouchGesture { private final Point mStartPosition = new Point(); private final PointF mDelta = new PointF(); private boolean mShouldHideMenuAfterFling; @Override public void onDown(PipTouchState touchState) { Loading Loading @@ -892,21 +893,17 @@ public class PipTouchHandler { final float velocity = PointF.length(vel.x, vel.y); if (touchState.isDragging()) { Runnable endAction = null; if (mMenuState != MENU_STATE_NONE) { // If the menu is still visible, then just poke the menu so that // it will timeout after the user stops touching it mMenuController.showMenu(mMenuState, mMotionHelper.getBounds(), true /* allowMenuTimeout */, willResizeMenu()); } else { // If the menu is not visible, then we can still be showing the activity for the // dismiss overlay, so just finish it after the animation completes endAction = mMenuController::hideMenu; } mShouldHideMenuAfterFling = mMenuState == MENU_STATE_NONE; mMotionHelper.flingToSnapTarget(vel.x, vel.y, PipTouchHandler.this::updateDismissFraction /* updateAction */, endAction /* endAction */); this::flingEndAction /* endAction */); } else if (mTouchState.isDoubleTap()) { // Expand to fullscreen if this is a double tap // the PiP should be frozen until the transition ends Loading @@ -927,6 +924,15 @@ public class PipTouchHandler { } return true; } private void flingEndAction() { mTouchState.setAllowTouches(true); if (mShouldHideMenuAfterFling) { // If the menu is not visible, then we can still be showing the activity for the // dismiss overlay, so just finish it after the animation completes mMenuController.hideMenu(); } } }; /** Loading Loading
packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +12 −6 Original line number Diff line number Diff line Loading @@ -815,6 +815,7 @@ public class PipTouchHandler { private class DefaultPipTouchGesture extends PipTouchGesture { private final Point mStartPosition = new Point(); private final PointF mDelta = new PointF(); private boolean mShouldHideMenuAfterFling; @Override public void onDown(PipTouchState touchState) { Loading Loading @@ -892,21 +893,17 @@ public class PipTouchHandler { final float velocity = PointF.length(vel.x, vel.y); if (touchState.isDragging()) { Runnable endAction = null; if (mMenuState != MENU_STATE_NONE) { // If the menu is still visible, then just poke the menu so that // it will timeout after the user stops touching it mMenuController.showMenu(mMenuState, mMotionHelper.getBounds(), true /* allowMenuTimeout */, willResizeMenu()); } else { // If the menu is not visible, then we can still be showing the activity for the // dismiss overlay, so just finish it after the animation completes endAction = mMenuController::hideMenu; } mShouldHideMenuAfterFling = mMenuState == MENU_STATE_NONE; mMotionHelper.flingToSnapTarget(vel.x, vel.y, PipTouchHandler.this::updateDismissFraction /* updateAction */, endAction /* endAction */); this::flingEndAction /* endAction */); } else if (mTouchState.isDoubleTap()) { // Expand to fullscreen if this is a double tap // the PiP should be frozen until the transition ends Loading @@ -927,6 +924,15 @@ public class PipTouchHandler { } return true; } private void flingEndAction() { mTouchState.setAllowTouches(true); if (mShouldHideMenuAfterFling) { // If the menu is not visible, then we can still be showing the activity for the // dismiss overlay, so just finish it after the animation completes mMenuController.hideMenu(); } } }; /** Loading