Merge "Snap to last task if swiping down at a greater Y than X velocity." into tm-qpr-dev am: 5166c5da3f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/19290025 Change-Id: I8a378f907e50aa952dd5354111cea993fb55137d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1077,15 +1077,16 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
}
|
||||
|
||||
private GestureEndTarget calculateEndTargetForFlingY(PointF velocity, float endVelocity) {
|
||||
final boolean isScrollingToNewTask = isScrollingToNewTask();
|
||||
// If swiping at a diagonal, base end target on the faster velocity direction.
|
||||
final boolean willGoToNewTask =
|
||||
isScrollingToNewTask() && Math.abs(velocity.x) > Math.abs(endVelocity);
|
||||
final boolean isSwipeUp = endVelocity < 0;
|
||||
if (!isSwipeUp) {
|
||||
return isScrollingToNewTask ? NEW_TASK : LAST_TASK;
|
||||
final boolean isCenteredOnNewTask =
|
||||
mRecentsView.getDestinationPage() != mRecentsView.getRunningTaskIndex();
|
||||
return willGoToNewTask || isCenteredOnNewTask ? NEW_TASK : LAST_TASK;
|
||||
}
|
||||
|
||||
// If swiping upward at a diagonal, base end target on the faster velocity direction.
|
||||
boolean willGoToNewTask =
|
||||
isScrollingToNewTask && Math.abs(velocity.x) > Math.abs(endVelocity);
|
||||
if (!mDeviceState.isFullyGesturalNavMode()) {
|
||||
return (!hasReachedOverviewThreshold() && willGoToNewTask) ? NEW_TASK : RECENTS;
|
||||
}
|
||||
@@ -1212,6 +1213,9 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
duration = Math.max(duration, mRecentsView.getScroller().getDuration());
|
||||
}
|
||||
}
|
||||
} else if (endTarget == LAST_TASK && mRecentsView != null
|
||||
&& mRecentsView.getNextPage() != mRecentsView.getRunningTaskIndex()) {
|
||||
mRecentsView.snapToPage(mRecentsView.getRunningTaskIndex(), Math.toIntExact(duration));
|
||||
}
|
||||
|
||||
// Let RecentsView handle the scrolling to the task, which we launch in startNewTask()
|
||||
|
||||
Reference in New Issue
Block a user