summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaj Yengisetty <raj@cyngn.com>2015-06-15 23:15:00 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2015-06-22 17:21:03 +0000
commite806def329c6a928f98923ddb021ffd8acfb0b65 (patch)
tree095d02f6d3dbd055ff54661e25aa507297b3a146
parente963932853caa238ba7bc6928e5243075e41fc75 (diff)
downloadandroid_packages_apps_Trebuchet-e806def329c6a928f98923ddb021ffd8acfb0b65.tar.gz
android_packages_apps_Trebuchet-e806def329c6a928f98923ddb021ffd8acfb0b65.tar.bz2
android_packages_apps_Trebuchet-e806def329c6a928f98923ddb021ffd8acfb0b65.zip
Trebuchet: Fix popupMenu behavior and clean up old code.
Repro: - Open Overview Menu - Select Scroll Effects - Click on the overflow menu - Press home - Observer popupMenu stays on screen Change-Id: I64e65d66758957552f2d64b0347a2f82d0818757
-rw-r--r--src/com/android/launcher3/Launcher.java64
1 files changed, 17 insertions, 47 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 170aa5f1c..813d091df 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -151,7 +151,8 @@ import java.util.concurrent.atomic.AtomicInteger;
*/
public class Launcher extends Activity
implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks,
- View.OnTouchListener, PageSwitchListener, LauncherProviderChangeListener {
+ View.OnTouchListener, PageSwitchListener, LauncherProviderChangeListener,
+ PopupMenu.OnDismissListener {
static final String TAG = "Launcher";
static final boolean LOGD = false;
@@ -250,6 +251,11 @@ public class Launcher extends Activity
public static final String USER_HAS_MIGRATED = "launcher.user_migrated_from_old_data";
+ @Override
+ public void onDismiss(PopupMenu popupMenu) {
+ mPopupMenu = null;
+ }
+
/** The different states that Launcher can be in. */
private enum State { NONE, WORKSPACE, APPS_CUSTOMIZE, APPS_CUSTOMIZE_SPRING_LOADED };
private State mState = State.WORKSPACE;
@@ -342,8 +348,6 @@ public class Launcher extends Activity
private Bundle mSavedInstanceState;
- private Dialog mTransitionEffectDialog;
-
protected LauncherModel mModel;
private IconCache mIconCache;
private boolean mUserPresent = true;
@@ -431,6 +435,8 @@ public class Launcher extends Activity
FocusIndicatorView mFocusHandler;
+ private PopupMenu mPopupMenu;
+
public Animator.AnimatorListener mAnimatorListener = new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator arg0) {}
@@ -1289,43 +1295,6 @@ public class Launcher extends Activity
return mDrawerType;
}
- public void onClickSortModeButton(View v) {
- final PopupMenu popupMenu = new PopupMenu(this, v);
- final Menu menu = popupMenu.getMenu();
- popupMenu.inflate(R.menu.apps_customize_sort_mode);
- switch(mAppsCustomizeContent.getSortMode()) {
- case Title:
- menu.findItem(R.id.sort_mode_title).setChecked(true);
- break;
- case LaunchCount:
- menu.findItem(R.id.sort_mode_launch_count).setChecked(true);
- break;
- case InstallTime:
- menu.findItem(R.id.sort_mode_install_time).setChecked(true);
- break;
- }
- popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
- public boolean onMenuItemClick(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.sort_mode_title:
- mAppsCustomizeContent.setSortMode(AppsCustomizePagedView.SortMode.Title);
- break;
- case R.id.sort_mode_install_time:
- mAppsCustomizeContent.setSortMode(AppsCustomizePagedView.SortMode.InstallTime);
- break;
- case R.id.sort_mode_launch_count:
- mAppsCustomizeContent.setSortMode(AppsCustomizePagedView.SortMode.LaunchCount);
- break;
- }
- mOverviewSettingsPanel.notifyDataSetInvalidated();
- SettingsProvider.putInt(getBaseContext(), SettingsProvider.SETTINGS_UI_DRAWER_SORT_MODE,
- mAppsCustomizeContent.getSortMode().getValue());
- return true;
- }
- });
- popupMenu.show();
- }
-
public void onClickDynamicGridSizeButton() {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
@@ -1431,10 +1400,10 @@ public class Launcher extends Activity
}
public void onClickTransitionEffectOverflowMenuButton(View v, final boolean drawer) {
- final PopupMenu popupMenu = new PopupMenu(this, v);
+ mPopupMenu = new PopupMenu(this, v);
- final Menu menu = popupMenu.getMenu();
- popupMenu.inflate(R.menu.scrolling_settings);
+ final Menu menu = mPopupMenu.getMenu();
+ mPopupMenu.inflate(R.menu.scrolling_settings);
MenuItem pageOutlines = menu.findItem(R.id.scrolling_page_outlines);
MenuItem fadeAdjacent = menu.findItem(R.id.scrolling_fade_adjacent);
@@ -1455,7 +1424,7 @@ public class Launcher extends Activity
final PagedView pagedView = !drawer ? mWorkspace : mAppsCustomizeContent;
- popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
+ mPopupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
@@ -1479,7 +1448,8 @@ public class Launcher extends Activity
}
});
- popupMenu.show();
+ mPopupMenu.setOnDismissListener(this);
+ mPopupMenu.show();
}
protected void startSettings() {
@@ -2250,8 +2220,8 @@ public class Launcher extends Activity
// also will cancel mWaitingForResult.
closeSystemDialogs();
- if (mTransitionEffectDialog != null) {
- mTransitionEffectDialog.cancel();
+ if (mPopupMenu != null) {
+ mPopupMenu.dismiss();
}
final boolean alreadyOnHome = mHasFocus && ((intent.getFlags() &