Merge "Revert "Move focused task to front when attaching RecentsView"" into sc-v2-dev
diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
index bda2b77..9180bd0 100644
--- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
+++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
@@ -539,7 +539,7 @@
@Override
public void onMotionPauseDetected() {
mHasMotionEverBeenPaused = true;
- maybeUpdateRecentsAttachedState(true/* animate */, true/* moveFocusedTask */);
+ maybeUpdateRecentsAttachedState();
performHapticFeedback();
}
@@ -550,24 +550,18 @@
};
}
- private void maybeUpdateRecentsAttachedState() {
+ public void maybeUpdateRecentsAttachedState() {
maybeUpdateRecentsAttachedState(true /* animate */);
}
- private void maybeUpdateRecentsAttachedState(boolean animate) {
- maybeUpdateRecentsAttachedState(animate, false /* moveFocusedTask */);
- }
-
/**
* Determines whether to show or hide RecentsView. The window is always
* synchronized with its corresponding TaskView in RecentsView, so if
* RecentsView is shown, it will appear to be attached to the window.
*
* Note this method has no effect unless the navigation mode is NO_BUTTON.
- * @param animate whether to animate when attaching RecentsView
- * @param moveFocusedTask whether to move focused task to front when attaching
*/
- private void maybeUpdateRecentsAttachedState(boolean animate, boolean moveFocusedTask) {
+ private void maybeUpdateRecentsAttachedState(boolean animate) {
if (!mDeviceState.isFullyGesturalNavMode() || mRecentsView == null) {
return;
}
@@ -586,12 +580,6 @@
} else {
recentsAttachedToAppWindow = mHasMotionEverBeenPaused || mIsLikelyToStartNewTask;
}
- if (moveFocusedTask && !mAnimationFactory.hasRecentsEverAttachedToAppWindow()
- && recentsAttachedToAppWindow) {
- // Only move focused task if RecentsView has never been attached before, to avoid
- // TaskView jumping to new position as we move the tasks.
- mRecentsView.moveFocusedTaskToFront();
- }
mAnimationFactory.setRecentsAttachedToAppWindow(recentsAttachedToAppWindow, animate);
// Reapply window transform throughout the attach animation, as the animation affects how
diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
index 389509f..1412b1a 100644
--- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java
+++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
@@ -396,10 +396,6 @@
default boolean isRecentsAttachedToAppWindow() {
return false;
}
-
- default boolean hasRecentsEverAttachedToAppWindow() {
- return false;
- }
}
class DefaultAnimationFactory implements AnimationFactory {
@@ -409,7 +405,6 @@
private final Consumer<AnimatorControllerWithResistance> mCallback;
private boolean mIsAttachedToWindow;
- private boolean mHasEverAttachedToWindow;
DefaultAnimationFactory(Consumer<AnimatorControllerWithResistance> callback) {
mCallback = callback;
@@ -463,9 +458,6 @@
}
mIsAttachedToWindow = attached;
RecentsView recentsView = mActivity.getOverviewPanel();
- if (attached) {
- mHasEverAttachedToWindow = true;
- }
Animator fadeAnim = mActivity.getStateManager()
.createStateElementAnimation(INDEX_RECENTS_FADE_ANIM, attached ? 1 : 0);
@@ -495,11 +487,6 @@
return mIsAttachedToWindow;
}
- @Override
- public boolean hasRecentsEverAttachedToAppWindow() {
- return mHasEverAttachedToWindow;
- }
-
protected void createBackgroundToOverviewAnim(ACTIVITY_TYPE activity, PendingAnimation pa) {
// Scale down recents from being full screen to being in overview.
RecentsView recentsView = activity.getOverviewPanel();
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index ecf6483..aee5ff8 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -1111,35 +1111,6 @@
}
}
- /**
- * Moves the focused task to the front of the carousel in tablets, to minimize animation
- * required to focus the task in grid.
- */
- public void moveFocusedTaskToFront() {
- if (!(mActivity.getDeviceProfile().isTablet && FeatureFlags.ENABLE_OVERVIEW_GRID.get())) {
- return;
- }
-
- TaskView focusedTaskView = getFocusedTaskView();
- if (focusedTaskView == null) {
- return;
- }
-
- if (indexOfChild(focusedTaskView) != mCurrentPage) {
- return;
- }
-
- int primaryScroll = mOrientationHandler.getPrimaryScroll(this);
- int currentPageScroll = getScrollForPage(mCurrentPage);
- mCurrentPageScrollDiff = primaryScroll - currentPageScroll;
-
- removeView(focusedTaskView);
- addView(focusedTaskView, mTaskViewStartIndex);
- setCurrentPage(0);
-
- updateGridProperties();
- }
-
protected void applyLoadPlan(ArrayList<Task> tasks) {
if (mPendingAnimation != null) {
mPendingAnimation.addEndListener(success -> applyLoadPlan(tasks));