DO NOT MERGE Cherry pick from ics-mr1 - Bug 5275928 - Don't try to open an

overflow menu under invalid circumstances.

Change-Id: Ifb847b914b880ffb21dd5fc6efa833f46466f224
This commit is contained in:
Adam Powell
2011-10-27 17:46:07 -07:00
committed by The Android Automerger
parent 317ff787c2
commit 72465ea787
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);