diff --git a/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java b/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java index ccc587cd87..44396faa49 100644 --- a/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java +++ b/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java @@ -197,7 +197,7 @@ public class StaggeredWorkspaceAnim { launcher.getStateManager().createAtomicAnimation(BACKGROUND_APP, NORMAL, config).start(); // Stop scrolling so that it doesn't interfere with the translation offscreen. - launcher.getOverviewPanel().getScroller().forceFinished(true); + launcher.getOverviewPanel().forceFinishScroller(); if (animateOverviewScrim) { launcher.getWorkspace().getStateTransitionAnimation() diff --git a/quickstep/src/com/android/quickstep/util/WorkspaceRevealAnim.java b/quickstep/src/com/android/quickstep/util/WorkspaceRevealAnim.java index df94d0bee6..7ae6cb7661 100644 --- a/quickstep/src/com/android/quickstep/util/WorkspaceRevealAnim.java +++ b/quickstep/src/com/android/quickstep/util/WorkspaceRevealAnim.java @@ -120,7 +120,7 @@ public class WorkspaceRevealAnim { launcher.getStateManager().createAtomicAnimation(BACKGROUND_APP, NORMAL, config).start(); // Stop scrolling so that it doesn't interfere with the translation offscreen. - launcher.getOverviewPanel().getScroller().forceFinished(true); + launcher.getOverviewPanel().forceFinishScroller(); if (animateOverviewScrim) { launcher.getWorkspace().getStateTransitionAnimation() diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index 108091c1ee..a7198a80cd 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -254,7 +254,7 @@ public abstract class PagedView extends ViewGrou } mOrientationHandler.set(this, VIEW_SCROLL_TO, newPosition); mScroller.startScroll(mScroller.getCurrX(), 0, newPosition - mScroller.getCurrX(), 0); - forceFinishScroller(true); + forceFinishScroller(); } /** @@ -276,14 +276,16 @@ public abstract class PagedView extends ViewGrou } } - private void forceFinishScroller(boolean resetNextPage) { + /** + * Immediately finishes any in-progress scroll, maintaining the current position. Also sets + * mNextPage = INVALID_PAGE and calls pageEndTransition(). + */ + public void forceFinishScroller() { mScroller.forceFinished(true); // We need to clean up the next page here to avoid computeScrollHelper from // updating current page on the pass. - if (resetNextPage) { - mNextPage = INVALID_PAGE; - pageEndTransition(); - } + mNextPage = INVALID_PAGE; + pageEndTransition(); } private int validateNewPage(int newPage) {