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.
This commit is contained in:
Joe Onorato
2009-09-03 11:38:43 -07:00
parent fc75f0f532
commit 006b25f88d
4 changed files with 21 additions and 9 deletions
-1
View File
@@ -26,7 +26,6 @@
android:id="@+id/all_apps_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"
android:scrollbarStyle="outsideInset"
android:drawSelectorOnTop="false"
+6 -1
View File
@@ -33,7 +33,7 @@
#define STATE_SELECTED_ICON_INDEX 9
#define STATE_SELECTED_ICON_TEXTURE 10
#define STATE_BORDERY0 11
#define STATE_VISIBLE 11
// Drawing constants, should be parameters ======
#define VIEW_ANGLE 1.28700222f
@@ -155,6 +155,11 @@ main(int launchID)
// Clear to transparent
pfClearColor(0.0f, 0.0f, 0.0f, 0.0f);
// If we're not supposed to be showing, don't do anything.
if (!loadI32(ALLOC_STATE, STATE_VISIBLE)) {
return 0;
}
// icons & labels
int iconCount = loadI32(ALLOC_STATE, STATE_ICON_COUNT);
int pageCount = count_pages(iconCount);
@@ -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() {
+2 -7
View File
@@ -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();