Merge "Pass isLikelyToStartNewTask to onGestureStarted()" into rvc-dev am: ccf588d36b am: 6be2c6cb83
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/11994586 Change-Id: I0f76e1d3261b8bace3f9ccdf4862b62f6918f3d7
This commit is contained in:
@@ -327,7 +327,7 @@ public abstract class BaseSwipeUpHandler<T extends StatefulActivity<?>, Q extend
|
|||||||
public abstract void onMotionPauseChanged(boolean isPaused);
|
public abstract void onMotionPauseChanged(boolean isPaused);
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
public void onGestureStarted() { }
|
public void onGestureStarted(boolean isLikelyToStartNewTask) { }
|
||||||
|
|
||||||
@UiThread
|
@UiThread
|
||||||
public abstract void onGestureCancelled();
|
public abstract void onGestureCancelled();
|
||||||
|
|||||||
@@ -492,9 +492,13 @@ public abstract class BaseSwipeUpHandlerV2<T extends StatefulActivity<?>, Q exte
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setIsLikelyToStartNewTask(boolean isLikelyToStartNewTask) {
|
public void setIsLikelyToStartNewTask(boolean isLikelyToStartNewTask) {
|
||||||
|
setIsLikelyToStartNewTask(isLikelyToStartNewTask, true /* animate */);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setIsLikelyToStartNewTask(boolean isLikelyToStartNewTask, boolean animate) {
|
||||||
if (mIsLikelyToStartNewTask != isLikelyToStartNewTask) {
|
if (mIsLikelyToStartNewTask != isLikelyToStartNewTask) {
|
||||||
mIsLikelyToStartNewTask = isLikelyToStartNewTask;
|
mIsLikelyToStartNewTask = isLikelyToStartNewTask;
|
||||||
maybeUpdateRecentsAttachedState();
|
maybeUpdateRecentsAttachedState(animate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -628,8 +632,9 @@ public abstract class BaseSwipeUpHandlerV2<T extends StatefulActivity<?>, Q exte
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGestureStarted() {
|
public void onGestureStarted(boolean isLikelyToStartNewTask) {
|
||||||
notifyGestureStartedAsync();
|
notifyGestureStartedAsync();
|
||||||
|
setIsLikelyToStartNewTask(isLikelyToStartNewTask, false /* animate */);
|
||||||
mStateCallback.setStateOnUiThread(STATE_GESTURE_STARTED);
|
mStateCallback.setStateOnUiThread(STATE_GESTURE_STARTED);
|
||||||
mGestureStarted = true;
|
mGestureStarted = true;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-12
@@ -277,6 +277,13 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
|
|||||||
if (!mPassedSlopOnThisGesture && passedSlop) {
|
if (!mPassedSlopOnThisGesture && passedSlop) {
|
||||||
mPassedSlopOnThisGesture = true;
|
mPassedSlopOnThisGesture = true;
|
||||||
}
|
}
|
||||||
|
// Until passing slop, we don't know what direction we're going, so assume
|
||||||
|
// we're quick switching to avoid translating recents away when continuing
|
||||||
|
// the gesture (in which case mPassedPilferInputSlop starts as true).
|
||||||
|
boolean haveNotPassedSlopOnContinuedGesture =
|
||||||
|
!mPassedSlopOnThisGesture && mPassedPilferInputSlop;
|
||||||
|
boolean isLikelyToStartNewTask = haveNotPassedSlopOnContinuedGesture
|
||||||
|
|| horizontalDist > upDist;
|
||||||
|
|
||||||
if (!mPassedPilferInputSlop) {
|
if (!mPassedPilferInputSlop) {
|
||||||
if (passedSlop) {
|
if (passedSlop) {
|
||||||
@@ -299,7 +306,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
|
|||||||
mStartDisplacement = Math.min(displacement, -mTouchSlop);
|
mStartDisplacement = Math.min(displacement, -mTouchSlop);
|
||||||
|
|
||||||
}
|
}
|
||||||
notifyGestureStarted();
|
notifyGestureStarted(isLikelyToStartNewTask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,13 +317,6 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mDeviceState.isFullyGesturalNavMode()) {
|
if (mDeviceState.isFullyGesturalNavMode()) {
|
||||||
// Until passing slop, we don't know what direction we're going, so assume
|
|
||||||
// we're quick switching to avoid translating recents away when continuing
|
|
||||||
// the gesture.
|
|
||||||
boolean haveNotPassedSlopOnContinuedGesture =
|
|
||||||
!mPassedSlopOnThisGesture && mPassedPilferInputSlop;
|
|
||||||
boolean isLikelyToStartNewTask = haveNotPassedSlopOnContinuedGesture
|
|
||||||
|| horizontalDist > upDist;
|
|
||||||
mMotionPauseDetector.setDisallowPause(upDist < mMotionPauseMinDisplacement
|
mMotionPauseDetector.setDisallowPause(upDist < mMotionPauseMinDisplacement
|
||||||
|| isLikelyToStartNewTask);
|
|| isLikelyToStartNewTask);
|
||||||
mMotionPauseDetector.addPosition(ev);
|
mMotionPauseDetector.addPosition(ev);
|
||||||
@@ -340,7 +340,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void notifyGestureStarted() {
|
private void notifyGestureStarted(boolean isLikelyToStartNewTask) {
|
||||||
ActiveGestureLog.INSTANCE.addLog("startQuickstep");
|
ActiveGestureLog.INSTANCE.addLog("startQuickstep");
|
||||||
if (mInteractionHandler == null) {
|
if (mInteractionHandler == null) {
|
||||||
return;
|
return;
|
||||||
@@ -353,7 +353,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
|
|||||||
CLOSE_SYSTEM_WINDOWS_REASON_RECENTS);
|
CLOSE_SYSTEM_WINDOWS_REASON_RECENTS);
|
||||||
|
|
||||||
// Notify the handler that the gesture has actually started
|
// Notify the handler that the gesture has actually started
|
||||||
mInteractionHandler.onGestureStarted();
|
mInteractionHandler.onGestureStarted(isLikelyToStartNewTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startTouchTrackingForWindowAnimation(long touchTimeMs) {
|
private void startTouchTrackingForWindowAnimation(long touchTimeMs) {
|
||||||
@@ -370,8 +370,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
|
|||||||
mActiveCallbacks = mTaskAnimationManager.continueRecentsAnimation(mGestureState);
|
mActiveCallbacks = mTaskAnimationManager.continueRecentsAnimation(mGestureState);
|
||||||
mActiveCallbacks.addListener(mInteractionHandler);
|
mActiveCallbacks.addListener(mInteractionHandler);
|
||||||
mTaskAnimationManager.notifyRecentsAnimationState(mInteractionHandler);
|
mTaskAnimationManager.notifyRecentsAnimationState(mInteractionHandler);
|
||||||
mInteractionHandler.setIsLikelyToStartNewTask(true);
|
notifyGestureStarted(true /*isLikelyToStartNewTask*/);
|
||||||
notifyGestureStarted();
|
|
||||||
} else {
|
} else {
|
||||||
intent.putExtra(INTENT_EXTRA_LOG_TRACE_ID, mGestureState.getGestureId());
|
intent.putExtra(INTENT_EXTRA_LOG_TRACE_ID, mGestureState.getGestureId());
|
||||||
mActiveCallbacks = mTaskAnimationManager.startRecentsAnimation(mGestureState, intent,
|
mActiveCallbacks = mTaskAnimationManager.startRecentsAnimation(mGestureState, intent,
|
||||||
|
|||||||
Reference in New Issue
Block a user