Bug 5275928 - Don't try to open an overflow menu under invalid circumstances.

Change-Id: I62ea1e982f0d3c92cb504efbae95bce238b12f72
This commit is contained in:
Adam Powell
2011-10-27 17:46:07 -07:00
parent e10462e384
commit 678ed0c5a3
2 changed files with 7 additions and 2 deletions

View File

@@ -300,6 +300,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter
public boolean hideOverflowMenu() {
if (mPostedOpenRunnable != null && mMenuView != null) {
((View) mMenuView).removeCallbacks(mPostedOpenRunnable);
mPostedOpenRunnable = null;
return true;
}
@@ -653,10 +654,11 @@ public class ActionMenuPresenter extends BaseMenuPresenter
public void run() {
mMenu.changeMenuMode();
if (mPopup.tryShow()) {
final View menuView = (View) mMenuView;
if (menuView != null && menuView.getWindowToken() != null && mPopup.tryShow()) {
mOverflowPopup = mPopup;
mPostedOpenRunnable = null;
}
mPostedOpenRunnable = null;
}
}
}

View File

@@ -216,6 +216,9 @@ public class ActionBarContextView extends AbsActionBarView implements AnimatorLi
});
final MenuBuilder menu = (MenuBuilder) mode.getMenu();
if (mActionMenuPresenter != null) {
mActionMenuPresenter.dismissPopupMenus();
}
mActionMenuPresenter = new ActionMenuPresenter(mContext);
mActionMenuPresenter.setReserveOverflow(true);