Merge "stop using hardware layers when workspace stops moving" into honeycomb
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 6138b86..c018cf1 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -273,12 +273,12 @@
         }
     }
 
-    private void pageBeginMoving() {
+    protected void pageBeginMoving() {
         mIsPageMoving = true;
         onPageBeginMoving();
     }
 
-    private void pageEndMoving() {
+    protected void pageEndMoving() {
         onPageEndMoving();
         mIsPageMoving = false;
     }
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 2800b02..212ee09 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -306,10 +306,15 @@
                 }
                 mWallpaperOffset.setOverrideHorizontalCatchupConstant(false);
                 mAnimator = null;
+                enableChildrenLayers(false);
             }
         };
         mShrinkAnimationListener = new AnimatorListenerAdapter() {
             @Override
+            public void onAnimationStart(Animator animation) {
+                enableChildrenLayers(true);
+            }
+            @Override
             public void onAnimationEnd(Animator animation) {
                 mWallpaperOffset.setOverrideHorizontalCatchupConstant(false);
                 mAnimator = null;
@@ -1253,6 +1258,25 @@
         return super.onTouchEvent(ev);
     }
 
+    protected void enableChildrenLayers(boolean enable) {
+        for (int i = 0; i < getPageCount(); i++) {
+            setChildrenLayersEnabled(enable);
+        }
+    }
+    @Override
+    protected void pageBeginMoving() {
+        enableChildrenLayers(true);
+        super.pageBeginMoving();
+    }
+
+    @Override
+    protected void pageEndMoving() {
+        if (!mIsSmall && !mIsInUnshrinkAnimation) {
+            enableChildrenLayers(false);
+        }
+        super.pageEndMoving();
+    }
+
     @Override
     protected void onWallpaperTap(MotionEvent ev) {
         final int[] position = mTempCell;