From 76dbf6fafd73d67b9987b53a2544abddb03c5ca7 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Tue, 3 Jan 2017 14:55:47 -0800 Subject: Fixing onPageBeginTransition not being called when scrolling overlay Bug: 33693546 Change-Id: If212a196648fbb2c725ca4800a157ec24f278ca8 --- src/com/android/launcher3/PagedView.java | 3 ++- src/com/android/launcher3/Workspace.java | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src/com/android') diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index 7aed15599..76e2073f2 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -563,7 +563,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc protected boolean computeScrollHelper(boolean shouldInvalidate) { if (mScroller.computeScrollOffset()) { // Don't bother scrolling if the page does not need to be moved - if (getScrollX() != mScroller.getCurrX() + if (getUnboundedScrollX() != mScroller.getCurrX() || getScrollY() != mScroller.getCurrY()) { float scaleX = mFreeScroll ? getScaleX() : 1f; int scrollX = (int) (mScroller.getCurrX() * (1 / scaleX)); @@ -1945,6 +1945,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc // Trigger a compute() to finish switching pages if necessary if (immediate) { computeScroll(); + pageEndTransition(); } invalidate(); diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index fccff6cf4..cf6b02505 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1386,12 +1386,10 @@ public class Workspace extends PagedView // it's own settling, and every gesture to the overlay should be self-contained and start // from 0, so we zero it out here. if (isScrollingOverlay()) { - int finalScroll = mIsRtl ? mMaxScrollX : 0; - // We reset mWasInOverscroll so that PagedView doesn't zero out the overscroll - // interaction when we call scrollTo. + // interaction when we call snapToPageImmediately. mWasInOverscroll = false; - scrollTo(finalScroll, getScrollY()); + snapToPageImmediately(0); } else { super.snapToDestination(); } -- cgit v1.2.3