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:
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user