Loading quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +10 −4 Original line number Diff line number Diff line Loading @@ -1006,8 +1006,8 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, return false; } private GestureEndTarget calculateEndTarget(PointF velocity, float endVelocity, boolean isFling, boolean isCancel) { private GestureEndTarget calculateEndTarget(PointF velocity, float endVelocity, boolean isFlingY, boolean isCancel) { if (mGestureState.isHandlingAtomicEvent()) { // Button mode, this is only used to go to recents return RECENTS; Loading @@ -1028,11 +1028,17 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, goingToNewTask = false; } final boolean reachedOverviewThreshold = mCurrentShift.value >= MIN_PROGRESS_FOR_OVERVIEW; if (!isFling) { final boolean isFlingX = Math.abs(velocity.x) > mContext.getResources() .getDimension(R.dimen.quickstep_fling_threshold_speed); if (!isFlingY) { if (isCancel) { endTarget = LAST_TASK; } else if (mDeviceState.isFullyGesturalNavMode()) { if (mIsMotionPaused) { if (goingToNewTask && isFlingX) { // Flinging towards new task takes precedence over mIsMotionPaused (which only // checks y-velocity). endTarget = NEW_TASK; } else if (mIsMotionPaused) { endTarget = RECENTS; } else if (goingToNewTask) { endTarget = NEW_TASK; Loading quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java +5 −1 Original line number Diff line number Diff line Loading @@ -84,6 +84,9 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC public static final float QUICKSTEP_TOUCH_SLOP_RATIO_TWO_BUTTON = 9; public static final float QUICKSTEP_TOUCH_SLOP_RATIO_GESTURAL = 2; // Minimum angle of a gesture's coordinate where a release goes to overview. public static final int OVERVIEW_MIN_DEGREES = 15; private final RecentsAnimationDeviceState mDeviceState; private final NavBarPosition mNavBarPosition; private final TaskAnimationManager mTaskAnimationManager; Loading Loading @@ -291,8 +294,9 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC // the gesture (in which case mPassedPilferInputSlop starts as true). boolean haveNotPassedSlopOnContinuedGesture = !mPassedSlopOnThisGesture && mPassedPilferInputSlop; double degrees = Math.toDegrees(Math.atan(upDist / horizontalDist)); boolean isLikelyToStartNewTask = haveNotPassedSlopOnContinuedGesture || horizontalDist > upDist; || degrees <= OVERVIEW_MIN_DEGREES; if (!mPassedPilferInputSlop) { if (passedSlop) { Loading Loading
quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +10 −4 Original line number Diff line number Diff line Loading @@ -1006,8 +1006,8 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, return false; } private GestureEndTarget calculateEndTarget(PointF velocity, float endVelocity, boolean isFling, boolean isCancel) { private GestureEndTarget calculateEndTarget(PointF velocity, float endVelocity, boolean isFlingY, boolean isCancel) { if (mGestureState.isHandlingAtomicEvent()) { // Button mode, this is only used to go to recents return RECENTS; Loading @@ -1028,11 +1028,17 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, goingToNewTask = false; } final boolean reachedOverviewThreshold = mCurrentShift.value >= MIN_PROGRESS_FOR_OVERVIEW; if (!isFling) { final boolean isFlingX = Math.abs(velocity.x) > mContext.getResources() .getDimension(R.dimen.quickstep_fling_threshold_speed); if (!isFlingY) { if (isCancel) { endTarget = LAST_TASK; } else if (mDeviceState.isFullyGesturalNavMode()) { if (mIsMotionPaused) { if (goingToNewTask && isFlingX) { // Flinging towards new task takes precedence over mIsMotionPaused (which only // checks y-velocity). endTarget = NEW_TASK; } else if (mIsMotionPaused) { endTarget = RECENTS; } else if (goingToNewTask) { endTarget = NEW_TASK; Loading
quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java +5 −1 Original line number Diff line number Diff line Loading @@ -84,6 +84,9 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC public static final float QUICKSTEP_TOUCH_SLOP_RATIO_TWO_BUTTON = 9; public static final float QUICKSTEP_TOUCH_SLOP_RATIO_GESTURAL = 2; // Minimum angle of a gesture's coordinate where a release goes to overview. public static final int OVERVIEW_MIN_DEGREES = 15; private final RecentsAnimationDeviceState mDeviceState; private final NavBarPosition mNavBarPosition; private final TaskAnimationManager mTaskAnimationManager; Loading Loading @@ -291,8 +294,9 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC // the gesture (in which case mPassedPilferInputSlop starts as true). boolean haveNotPassedSlopOnContinuedGesture = !mPassedSlopOnThisGesture && mPassedPilferInputSlop; double degrees = Math.toDegrees(Math.atan(upDist / horizontalDist)); boolean isLikelyToStartNewTask = haveNotPassedSlopOnContinuedGesture || horizontalDist > upDist; || degrees <= OVERVIEW_MIN_DEGREES; if (!mPassedPilferInputSlop) { if (passedSlop) { Loading