Merge "NPE fix" into honeycomb
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 2281c84..bef4e84 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -1521,6 +1521,8 @@
         mWorkspace.removeAllViews();
         mWorkspace = null;
         mDragController = null;
+
+        ValueAnimator.clearAllAnimations();
     }
 
     @Override
@@ -2681,7 +2683,6 @@
 
         if (toAllApps) {
             mWorkspace.shrink(ShrinkState.BOTTOM_HIDDEN, animated);
-            toView.setAlpha(0f);
         } else {
             mWorkspace.shrink(ShrinkState.TOP, animated);
         }
@@ -2694,6 +2695,7 @@
             scaleAnim.setDuration(duration);
 
             if (toAllApps) {
+                toView.setAlpha(0f);
                 ObjectAnimator alphaAnim = ObjectAnimator.ofPropertyValuesHolder(toView,
                         PropertyValuesHolder.ofFloat("alpha", 1.0f));
                 alphaAnim.setInterpolator(new DecelerateInterpolator(1.5f));
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 3f3088f..540b373 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -287,6 +287,7 @@
                     mDrawCustomizeTrayBackground = false;
                 }
                 enableCacheUpdates();
+                mAnimator = null;
             }
         };
         mShrinkAnimationListener = new AnimatorListenerAdapter() {
@@ -297,6 +298,7 @@
             @Override
             public void onAnimationEnd(Animator animation) {
                 enableCacheUpdates();
+                mAnimator = null;
             }
         };
         mSnapVelocity = 600;