Prevent NPE when shrinking workspace

Change-Id: I61f1793d4db5f3006f2e1bceb0f0c578b35e4e71
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index af7d080..f73d01f 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1142,25 +1142,30 @@
             mWaitingToShrinkState = shrinkState;
             return;
         }
-        mIsSmall = true;
-        mShrinkState = shrinkState;
-
         // Stop any scrolling, move to the current page right away
         setCurrentPage((mNextPage != INVALID_PAGE) ? mNextPage : mCurrentPage);
         if (!mIsDragInProcess) {
-            updateWhichPagesAcceptDrops(mShrinkState);
+            updateWhichPagesAcceptDrops(shrinkState);
         }
 
-        // we intercept and reject all touch events when we're small, so be sure to reset the state
-        mTouchState = TOUCH_STATE_REST;
-        mActivePointerId = INVALID_POINTER;
-
         CellLayout currentPage = (CellLayout) getChildAt(mCurrentPage);
+        if (currentPage == null) {
+            Log.w(TAG, "currentPage is NULL! mCurrentPage " + mCurrentPage
+                    + " mNextPage " + mNextPage);
+            return;
+        }
         if (currentPage.getBackgroundAlphaMultiplier() < 1.0f) {
             currentPage.setBackgroundAlpha(0.0f);
         }
         currentPage.setBackgroundAlphaMultiplier(1.0f);
 
+        mIsSmall = true;
+        mShrinkState = shrinkState;
+
+        // we intercept and reject all touch events when we're small, so be sure to reset the state
+        mTouchState = TOUCH_STATE_REST;
+        mActivePointerId = INVALID_POINTER;
+
         final Resources res = getResources();
         final int screenWidth = getWidth();
         final int screenHeight = getHeight();