Merge "Set allowTouches after the fling animation end" into rvc-dev am: a08db2de29
Change-Id: I32aad0bc2196c003e63b3d4e75ab92d3bb320091
This commit is contained in:
@@ -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) {
|
||||
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user