From 006b25f88d56ef59c78f376fa2b07a34a2cef6e3 Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Thu, 3 Sep 2009 11:38:43 -0700 Subject: 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. --- src/com/android/launcher2/AllAppsView.java | 13 +++++++++++++ src/com/android/launcher2/Launcher.java | 9 ++------- 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java index 375fc12c7..9967332de 100644 --- a/src/com/android/launcher2/AllAppsView.java +++ b/src/com/android/launcher2/AllAppsView.java @@ -282,6 +282,18 @@ public class AllAppsView extends RSSurfaceView 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 @@ public class AllAppsView extends RSSurfaceView @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 06f106ec1..9bcb53788 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -1583,7 +1583,7 @@ public final class Launcher extends Activity void showAllAppsDialog() { mAllAppsVisible = true; - mAllAppsGrid.setVisibility(View.VISIBLE); + mAllAppsGrid.show(); mWorkspace.hide(); // TODO: fade these two too @@ -1594,12 +1594,7 @@ public final class Launcher extends Activity 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(); -- cgit v1.2.3