Merge "PiP: Do nothing when tapping on resize drag handle." into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-06-05 23:33:24 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 12 deletions

View File

@@ -292,20 +292,29 @@ public class PipResizeGestureHandler {
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
mPipTaskOrganizer.scheduleFinishResizePip(mLastResizeBounds, (Rect bounds) -> {
new Handler(Looper.getMainLooper()).post(() -> {
mMotionHelper.synchronizePinnedStackBounds();
mUpdateMovementBoundsRunnable.run();
mCtrlType = CTRL_NONE;
mAllowGesture = false;
mThresholdCrossed = false;
});
});
if (!mLastResizeBounds.isEmpty()) {
mPipTaskOrganizer.scheduleFinishResizePip(mLastResizeBounds,
(Rect bounds) -> {
new Handler(Looper.getMainLooper()).post(() -> {
mMotionHelper.synchronizePinnedStackBounds();
mUpdateMovementBoundsRunnable.run();
resetState();
});
});
} else {
resetState();
}
break;
}
}
}
private void resetState() {
mCtrlType = CTRL_NONE;
mAllowGesture = false;
mThresholdCrossed = false;
}
void updateMaxSize(int maxX, int maxY) {
mMaxSize.set(maxX, maxY);
}

View File

@@ -606,11 +606,9 @@ public class PipTouchHandler {
MotionEvent ev = (MotionEvent) inputEvent;
if (mPipResizeGestureHandler.isWithinTouchRegion((int) ev.getX(), (int) ev.getY())) {
if (mPipResizeGestureHandler.isWithinTouchRegion((int) ev.getRawX(), (int) ev.getRawY())) {
return true;
}
if (mMagnetizedPip.maybeConsumeMotionEvent(ev)) {
// If the first touch event occurs within the magnetic field, pass the ACTION_DOWN event
// to the touch state. Touch state needs a DOWN event in order to later process MOVE