Loading src/com/android/launcher3/Launcher.java +1 −2 Original line number Diff line number Diff line Loading @@ -3011,7 +3011,7 @@ public class Launcher extends Activity dispatchOnLauncherTransitionPrepare(fromView, animated, true); dispatchOnLauncherTransitionPrepare(toView, animated, true); mAppsCustomizeContent.pauseScrolling(); mAppsCustomizeContent.stopScrolling(); mStateAnimation.addListener(new AnimatorListenerAdapter() { @Override Loading @@ -3023,7 +3023,6 @@ public class Launcher extends Activity onCompleteRunnable.run(); } mAppsCustomizeContent.updateCurrentPageScroll(); mAppsCustomizeContent.resumeScrolling(); } }); Loading src/com/android/launcher3/PagedView.java +24 −19 Original line number Diff line number Diff line Loading @@ -506,33 +506,39 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } scrollTo(newX, 0); mScroller.setFinalX(newX); mScroller.forceFinished(true); forceFinishScroller(); } /** * Called during AllApps/Home transitions to avoid unnecessary work. When that other animation * ends, {@link #resumeScrolling()} should be called, along with * {@link #updateCurrentPageScroll()} to correctly set the final state and re-enable scrolling. * {@link #updateCurrentPageScroll()} should be called, to correctly set the final state and * re-enable scrolling. */ void pauseScrolling() { mScroller.forceFinished(true); void stopScrolling() { mCurrentPage = mNextPage; forceFinishScroller(); } /** * Enables scrolling again. * @see #pauseScrolling() */ void resumeScrolling() { private void abortScrollerAnimation() { mScroller.abortAnimation(); // We need to clean up the next page here to avoid computeScrollHelper from // updating current page on the pass. mNextPage = INVALID_PAGE; } private void forceFinishScroller() { mScroller.forceFinished(true); // We need to clean up the next page here to avoid computeScrollHelper from // updating current page on the pass. mNextPage = INVALID_PAGE; } /** * Sets the current page. */ void setCurrentPage(int currentPage) { if (!mScroller.isFinished()) { mScroller.abortAnimation(); // We need to clean up the next page here to avoid computeScrollHelper from // updating current page on the pass. mNextPage = INVALID_PAGE; abortScrollerAnimation(); } // don't introduce any checks like mCurrentPage == currentPage here-- if we change the // the default Loading Loading @@ -1366,7 +1372,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc final boolean finishedScrolling = (mScroller.isFinished() || xDist < mTouchSlop); if (finishedScrolling) { mTouchState = TOUCH_STATE_REST; mScroller.abortAnimation(); abortScrollerAnimation(); } else { if (isTouchPointInViewportWithBuffer((int) mDownMotionX, (int) mDownMotionY)) { mTouchState = TOUCH_STATE_SCROLLING; Loading Loading @@ -1665,7 +1671,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc * will be false if being flinged. */ if (!mScroller.isFinished()) { mScroller.abortAnimation(); abortScrollerAnimation(); } // Remember where the motion event started Loading Loading @@ -1863,7 +1869,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } } else { if (!mScroller.isFinished()) { mScroller.abortAnimation(); abortScrollerAnimation(); } float scaleX = getScaleX(); Loading Loading @@ -2327,8 +2333,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc if (mContentIsRefreshable) { // Force all scrolling-related behavior to end mScroller.forceFinished(true); mNextPage = INVALID_PAGE; forceFinishScroller(); // Update all the pages syncPages(); Loading Loading
src/com/android/launcher3/Launcher.java +1 −2 Original line number Diff line number Diff line Loading @@ -3011,7 +3011,7 @@ public class Launcher extends Activity dispatchOnLauncherTransitionPrepare(fromView, animated, true); dispatchOnLauncherTransitionPrepare(toView, animated, true); mAppsCustomizeContent.pauseScrolling(); mAppsCustomizeContent.stopScrolling(); mStateAnimation.addListener(new AnimatorListenerAdapter() { @Override Loading @@ -3023,7 +3023,6 @@ public class Launcher extends Activity onCompleteRunnable.run(); } mAppsCustomizeContent.updateCurrentPageScroll(); mAppsCustomizeContent.resumeScrolling(); } }); Loading
src/com/android/launcher3/PagedView.java +24 −19 Original line number Diff line number Diff line Loading @@ -506,33 +506,39 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } scrollTo(newX, 0); mScroller.setFinalX(newX); mScroller.forceFinished(true); forceFinishScroller(); } /** * Called during AllApps/Home transitions to avoid unnecessary work. When that other animation * ends, {@link #resumeScrolling()} should be called, along with * {@link #updateCurrentPageScroll()} to correctly set the final state and re-enable scrolling. * {@link #updateCurrentPageScroll()} should be called, to correctly set the final state and * re-enable scrolling. */ void pauseScrolling() { mScroller.forceFinished(true); void stopScrolling() { mCurrentPage = mNextPage; forceFinishScroller(); } /** * Enables scrolling again. * @see #pauseScrolling() */ void resumeScrolling() { private void abortScrollerAnimation() { mScroller.abortAnimation(); // We need to clean up the next page here to avoid computeScrollHelper from // updating current page on the pass. mNextPage = INVALID_PAGE; } private void forceFinishScroller() { mScroller.forceFinished(true); // We need to clean up the next page here to avoid computeScrollHelper from // updating current page on the pass. mNextPage = INVALID_PAGE; } /** * Sets the current page. */ void setCurrentPage(int currentPage) { if (!mScroller.isFinished()) { mScroller.abortAnimation(); // We need to clean up the next page here to avoid computeScrollHelper from // updating current page on the pass. mNextPage = INVALID_PAGE; abortScrollerAnimation(); } // don't introduce any checks like mCurrentPage == currentPage here-- if we change the // the default Loading Loading @@ -1366,7 +1372,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc final boolean finishedScrolling = (mScroller.isFinished() || xDist < mTouchSlop); if (finishedScrolling) { mTouchState = TOUCH_STATE_REST; mScroller.abortAnimation(); abortScrollerAnimation(); } else { if (isTouchPointInViewportWithBuffer((int) mDownMotionX, (int) mDownMotionY)) { mTouchState = TOUCH_STATE_SCROLLING; Loading Loading @@ -1665,7 +1671,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc * will be false if being flinged. */ if (!mScroller.isFinished()) { mScroller.abortAnimation(); abortScrollerAnimation(); } // Remember where the motion event started Loading Loading @@ -1863,7 +1869,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } } else { if (!mScroller.isFinished()) { mScroller.abortAnimation(); abortScrollerAnimation(); } float scaleX = getScaleX(); Loading Loading @@ -2327,8 +2333,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc if (mContentIsRefreshable) { // Force all scrolling-related behavior to end mScroller.forceFinished(true); mNextPage = INVALID_PAGE; forceFinishScroller(); // Update all the pages syncPages(); Loading