OSDN Git Service

Fixing NPE in updateCurrentPageScroll (Bug 7465970)
authorWinson Chung <winsonc@google.com>
Mon, 26 Nov 2012 22:08:38 +0000 (14:08 -0800)
committerWinson Chung <winsonc@google.com>
Mon, 26 Nov 2012 22:44:43 +0000 (14:44 -0800)
Change-Id: I71d2b01518f3f736f6787ff6a503271b9ea7b04b

src/com/android/launcher2/PagedView.java

index 2cb943d..6d5d151 100644 (file)
@@ -297,9 +297,13 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
      * the previous tab page.
      */
     protected void updateCurrentPageScroll() {
-        int offset = getChildOffset(mCurrentPage);
-        int relOffset = getRelativeChildOffset(mCurrentPage);
-        int newX = offset - relOffset;
+        // If the current page is invalid, just reset the scroll position to zero
+        int newX = 0;
+        if (0 <= mCurrentPage && mCurrentPage < getPageCount()) {
+            int offset = getChildOffset(mCurrentPage);
+            int relOffset = getRelativeChildOffset(mCurrentPage);
+            newX = offset - relOffset;
+        }
         scrollTo(newX, 0);
         mScroller.setFinalX(newX);
         mScroller.forceFinished(true);