Hide the workspace when launching AllApps2D.

Boosts performance and squashes some weird focus issues.

(Also: fix builds with AllApps3D)

Change-Id: Id1c4628e119c950dced9d3383993674f3d6b9a1c
This commit is contained in:
Daniel Sandler
2010-03-03 15:11:52 -05:00
parent 388f679aa4
commit c351eb8b6a
3 changed files with 33 additions and 13 deletions
+20 -12
View File
@@ -134,19 +134,25 @@ public class AllApps2D
protected void onFinishInflate() {
setBackgroundColor(0xFF000000);
mGrid = (GridView)findViewById(R.id.all_apps_2d_grid);
mGrid.setOnItemClickListener(this);
mGrid.setOnItemLongClickListener(this);
setOnKeyListener(this);
try {
mGrid = (GridView)findViewWithTag("all_apps_2d_grid");
if (mGrid == null) throw new Resources.NotFoundException();
mGrid.setOnItemClickListener(this);
mGrid.setOnItemLongClickListener(this);
ImageButton homeButton = (ImageButton) findViewWithTag("all_apps_2d_home");
if (homeButton == null) throw new Resources.NotFoundException();
homeButton.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
mLauncher.closeAllApps(true);
}
});
} catch (Resources.NotFoundException e) {
Log.e(TAG, "Can't find necessary layout elements for AllApps2D");
}
ImageButton homeButton = (ImageButton) findViewById(R.id.all_apps_2d_home);
homeButton.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
mLauncher.closeAllApps(true);
}
});
setOnKeyListener(this);
}
public AllApps2D(Context context, AttributeSet attrs, int defStyle) {
@@ -235,6 +241,8 @@ public class AllApps2D
} else {
mZoom = 1.0f;
}
mLauncher.zoomed(mZoom);
}
public boolean isVisible() {
@@ -51,6 +51,10 @@ import java.util.Comparator;
public interface AllAppsView {
public interface Watcher {
public void zoomed(float zoom);
};
public void setLauncher(Launcher launcher);
public void setDragController(DragController dragger);
+9 -1
View File
@@ -85,7 +85,7 @@ import java.io.DataInputStream;
* Default launcher application.
*/
public final class Launcher extends Activity
implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks {
implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks, AllAppsView.Watcher {
static final String TAG = "Launcher";
static final boolean LOGD = false;
@@ -1685,6 +1685,13 @@ public final class Launcher extends Activity
return mAllAppsGrid.isVisible();
}
// AllAppsView.Watcher
public void zoomed(float zoom) {
if (zoom == 1.0f) {
mWorkspace.setVisibility(View.GONE);
}
}
void showAllApps(boolean animated) {
mAllAppsGrid.zoom(1.0f, animated);
@@ -1732,6 +1739,7 @@ public final class Launcher extends Activity
*/
void closeAllApps(boolean animated) {
if (mAllAppsGrid.isVisible()) {
mWorkspace.setVisibility(View.VISIBLE);
mAllAppsGrid.zoom(0.0f, animated);
((View)mAllAppsGrid).setFocusable(false);
mWorkspace.getChildAt(mWorkspace.getCurrentScreen()).requestFocus();