Fix bug 3299208 - Some apps' dialogs aren't show()ing successfully

Fix legacy submenus in options menus.

Change-Id: I3d115c72d99dadd5b23f9459fd27277a39de332b
This commit is contained in:
Adam Powell
2011-01-23 15:18:46 -08:00
parent b35672e4ef
commit e571e60a3d

View File

@@ -885,15 +885,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
final Menu parentMenu = subMenu.getRootMenu();
final PanelFeatureState panel = findMenuPanel(parentMenu);
/*
* Use the panel open state to determine whether this is coming from an open panel
* or an action button. If it's an open panel we want to use MenuDialogHelper.
* If it's closed we want to grab the relevant view and create a popup anchored to it.
*/
if (panel.isOpen) {
// The window manager will give us a valid window token
new MenuDialogHelper(subMenu).show(null);
} else if (hasFeature(FEATURE_ACTION_BAR)) {
if (hasFeature(FEATURE_ACTION_BAR) && panel.featureId == FEATURE_OPTIONS_PANEL) {
mDecor.post(new Runnable() {
public void run() {
mActionButtonPopup = new ActionButtonSubmenu(getContext(), subMenu);
@@ -904,6 +896,9 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
}
}
});
} else {
// The window manager will give us a valid window token
new MenuDialogHelper(subMenu).show(null);
}
return true;