summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Dubroy <dubroy@google.com>2011-01-18 17:16:07 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-01-18 17:16:07 -0800
commitca1d18ef1c7d96627df88e17d3225f15326b1a4e (patch)
tree018e92d22bf43b1a2c115b2705975cc845c7487b
parent2986910b72eaeaf7823b669896c81ebf144d8c67 (diff)
parent0dfcf68b58bec1ac74f9b8700e3357f8e6d8b4a3 (diff)
downloadandroid_packages_apps_Trebuchet-ca1d18ef1c7d96627df88e17d3225f15326b1a4e.tar.gz
android_packages_apps_Trebuchet-ca1d18ef1c7d96627df88e17d3225f15326b1a4e.tar.bz2
android_packages_apps_Trebuchet-ca1d18ef1c7d96627df88e17d3225f15326b1a4e.zip
Merge "Prevent NPE when shrinking workspace" into honeycomb
-rw-r--r--src/com/android/launcher2/Workspace.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index af7d080a7..f73d01f85 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1142,25 +1142,30 @@ public class Workspace extends SmoothPagedView
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();