OSDN Git Service

A bit of code cleanup (issue 11026590)
authorAdam Cohen <adamcohen@google.com>
Mon, 28 Oct 2013 23:02:34 +0000 (16:02 -0700)
committerAdam Cohen <adamcohen@google.com>
Mon, 28 Oct 2013 23:21:21 +0000 (16:21 -0700)
Change-Id: I8b2ef52f59abdbe3ca286eac6e639f19a11f7970

src/com/android/launcher3/Launcher.java
src/com/android/launcher3/PagedView.java

index f35daaa..38fc3b3 100644 (file)
@@ -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
@@ -3023,7 +3023,6 @@ public class Launcher extends Activity
                         onCompleteRunnable.run();
                     }
                     mAppsCustomizeContent.updateCurrentPageScroll();
-                    mAppsCustomizeContent.resumeScrolling();
                 }
             });
 
index c154b33..3ff9873 100644 (file)
@@ -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
@@ -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;
@@ -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
@@ -1863,7 +1869,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
                     }
                 } else {
                     if (!mScroller.isFinished()) {
-                        mScroller.abortAnimation();
+                        abortScrollerAnimation();
                     }
 
                     float scaleX = getScaleX();
@@ -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();