diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java index 64d90cf4f7..798e40019b 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java @@ -607,6 +607,10 @@ public abstract class RecentsView extends PagedView impl } } + public boolean isCenterPageTask() { + return getScrollX() == getScrollForPage(getPageNearestToCenterOfScreen()); + } + @Override protected void onPageBeginTransition() { super.onPageBeginTransition(); @@ -616,7 +620,7 @@ public abstract class RecentsView extends PagedView impl @Override protected void onPageEndTransition() { super.onPageEndTransition(); - if (getScrollX() == getScrollForPage(getPageNearestToCenterOfScreen())) { + if (isCenterPageTask()) { LayoutUtils.setViewEnabled(mActionsView, true); } if (getNextPage() > 0) { diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java index cadf6c4174..5176f2c76c 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java @@ -425,13 +425,16 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable { } private boolean showTaskMenu(int action) { - getRecentsView().snapToPage(getRecentsView().indexOfChild(this)); - mMenuView = TaskMenuView.showForTask(this); - mActivity.getStatsLogManager().log(LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS, buildProto()); - UserEventDispatcher.newInstance(getContext()).logActionOnItem(action, Direction.NONE, - LauncherLogProto.ItemType.TASK_ICON); - if (mMenuView != null) { - mMenuView.addOnAttachStateChangeListener(mTaskMenuStateListener); + if (!getRecentsView().isCenterPageTask()) { + getRecentsView().snapToPage(getRecentsView().indexOfChild(this)); + } else { + mMenuView = TaskMenuView.showForTask(this); + mActivity.getStatsLogManager().log(LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS, buildProto()); + UserEventDispatcher.newInstance(getContext()).logActionOnItem(action, Direction.NONE, + LauncherLogProto.ItemType.TASK_ICON); + if (mMenuView != null) { + mMenuView.addOnAttachStateChangeListener(mTaskMenuStateListener); + } } return mMenuView != null; }