Always have the AllAppsView visible, but have it draw nothing
when it shouldn't be visible.

This lets us do clean animations and not wait for GL to spool up.
diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java
index 375fc12..9967332 100644
--- a/src/com/android/launcher2/AllAppsView.java
+++ b/src/com/android/launcher2/AllAppsView.java
@@ -282,6 +282,18 @@
     public void onDropCompleted(View target, boolean success) {
     }
 
+    public void show() {
+        mRollo.mState.read();
+        mRollo.mState.visible = 1;
+        mRollo.mState.save();
+    }
+
+    public void hide(boolean animate) {
+        mRollo.mState.read();
+        mRollo.mState.visible = 0;
+        mRollo.mState.save();
+    }
+
     /*
     private TouchHandler mScrollHandler = new TouchHandler() {
         @Override
@@ -409,6 +421,7 @@
             @AllocationIndex(8) public int startScrollX;
             @AllocationIndex(9) public int selectedIconIndex = -1;
             @AllocationIndex(10) public int selectedIconTexture;
+            @AllocationIndex(11) public int visible;
         }
 
         public RolloRS() {
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 06f106e..9bcb537 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -1583,7 +1583,7 @@
 
     void showAllAppsDialog() {
         mAllAppsVisible = true;
-        mAllAppsGrid.setVisibility(View.VISIBLE);
+        mAllAppsGrid.show();
         mWorkspace.hide();
         
         // TODO: fade these two too
@@ -1594,12 +1594,7 @@
     void closeAllAppsDialog(boolean animated) {
         if (mAllAppsVisible) {
             Log.d(LOG_TAG, "closing all apps");
-            if (animated) {
-                // TODO mDrawer.animateClose();
-                mAllAppsGrid.setVisibility(View.GONE);
-            } else {
-                mAllAppsGrid.setVisibility(View.GONE);
-            }
+            mAllAppsGrid.hide(animated);
             mAllAppsVisible = false;
             mWorkspace.getChildAt(mWorkspace.getCurrentScreen()).requestFocus();
             mWorkspace.show();