Merge "Fixing pullback factor not initialized after launcher process death" into ub-launcher3-rvc-dev
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java
index dd41d25..76c6060 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java
@@ -36,7 +36,6 @@
import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Build;
-import android.util.Pair;
import android.view.MotionEvent;
import android.view.animation.Interpolator;
@@ -362,21 +361,24 @@
mTransitionDragLength = mActivityInterface.getSwipeUpDestinationAndLength(
dp, mContext, TEMP_RECT);
-
- if (mDeviceState.isFullyGesturalNavMode()) {
- // We can drag all the way to the top of the screen.
- mDragLengthFactor = (float) dp.heightPx / mTransitionDragLength;
- Pair<Float, Float> dragFactorStartAndMaxProgress =
- mActivityInterface.getSwipeUpPullbackStartAndMaxProgress();
- mDragLengthFactorStartPullback = dragFactorStartAndMaxProgress.first;
- mDragLengthFactorMaxPullback = dragFactorStartAndMaxProgress.second;
- }
-
mTaskViewSimulator.setDp(dp);
mTaskViewSimulator.setLayoutRotation(
mDeviceState.getCurrentActiveRotation(),
mDeviceState.getDisplayRotation());
+ if (mDeviceState.isFullyGesturalNavMode()) {
+ // We can drag all the way to the top of the screen.
+ mDragLengthFactor = (float) dp.heightPx / mTransitionDragLength;
+
+ float startScale = mTaskViewSimulator.getFullScreenScale();
+ // Start pulling back when RecentsView scale is 0.75f, and let it go down to 0.5f.
+ mDragLengthFactorStartPullback = (0.75f - startScale) / (1 - startScale);
+ mDragLengthFactorMaxPullback = (0.5f - startScale) / (1 - startScale);
+ } else {
+ mDragLengthFactor = 1;
+ mDragLengthFactorStartPullback = mDragLengthFactorMaxPullback = 1;
+ }
+
AnimatorSet anim = new AnimatorSet();
anim.setDuration(mTransitionDragLength * 2);
anim.setInterpolator(t -> t * mDragLengthFactor);
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityInterface.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityInterface.java
index dc35bf6..9495338 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityInterface.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityInterface.java
@@ -34,7 +34,6 @@
import android.content.Context;
import android.graphics.Rect;
import android.util.Log;
-import android.util.Pair;
import android.view.MotionEvent;
import android.view.animation.Interpolator;
@@ -72,9 +71,6 @@
*/
public final class LauncherActivityInterface implements BaseActivityInterface<Launcher> {
- private Pair<Float, Float> mSwipeUpPullbackStartAndMaxProgress =
- BaseActivityInterface.super.getSwipeUpPullbackStartAndMaxProgress();
-
@Override
public int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context, Rect outRect) {
LAUNCHER_ACTIVITY_SIZE_STRATEGY.calculateTaskSize(context, dp, outRect);
@@ -88,11 +84,6 @@
}
@Override
- public Pair<Float, Float> getSwipeUpPullbackStartAndMaxProgress() {
- return mSwipeUpPullbackStartAndMaxProgress;
- }
-
- @Override
public void onTransitionCancelled(boolean activityVisible) {
Launcher launcher = getCreatedActivity();
if (launcher == null) {
@@ -282,12 +273,6 @@
Animator applyFullscreenProgress = ObjectAnimator.ofFloat(recentsView,
RecentsView.FULLSCREEN_PROGRESS, fromFullscreenProgress, endFullscreenProgress);
anim.playTogether(scale, applyFullscreenProgress);
-
- // Start pulling back when RecentsView scale is 0.75f, and let it go down to 0.5f.
- float pullbackStartProgress = (0.75f - fromScale) / (endScale - fromScale);
- float pullbackMaxProgress = (0.5f - fromScale) / (endScale - fromScale);
- mSwipeUpPullbackStartAndMaxProgress = new Pair<>(
- pullbackStartProgress, pullbackMaxProgress);
}
@Override
diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
index bdddb3f..9bf06cc 100644
--- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java
+++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
@@ -19,7 +19,6 @@
import android.content.Context;
import android.graphics.Rect;
import android.os.Build;
-import android.util.Pair;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.Interpolator;
@@ -49,15 +48,6 @@
int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context, Rect outRect);
- /**
- * @return The progress of the swipe where we start resisting the user, where 0 is fullscreen
- * and 1 is recents. These values should probably be greater than 1 to let the user swipe past
- * recents before we start resisting them.
- */
- default Pair<Float, Float> getSwipeUpPullbackStartAndMaxProgress() {
- return new Pair<>(1.4f, 1.8f);
- }
-
void onSwipeUpToRecentsComplete();
default void onSwipeUpToHomeComplete() { }