am 498301d8: Merge "Add drag-to-open for action bar submenus" into klp-dev

* commit '498301d8b554f3806ddb01acd2ea98c27132a0e2':
  Add drag-to-open for action bar submenus
This commit is contained in:
Alan Viverette
2013-09-09 10:27:37 -07:00
committed by Android Git Automerger

View File

@@ -156,7 +156,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter
}
@Override
public View getItemView(MenuItemImpl item, View convertView, ViewGroup parent) {
public View getItemView(final MenuItemImpl item, View convertView, ViewGroup parent) {
View actionView = item.getActionView();
if (actionView == null || item.hasCollapsibleActionView()) {
if (!(convertView instanceof ActionMenuItemView)) {
@@ -166,6 +166,27 @@ public class ActionMenuPresenter extends BaseMenuPresenter
}
actionView.setVisibility(item.isActionViewExpanded() ? View.GONE : View.VISIBLE);
if (item.hasSubMenu()) {
actionView.setOnTouchListener(new ForwardingListener(actionView) {
@Override
public ListPopupWindow getPopup() {
return mActionButtonPopup != null ? mActionButtonPopup.getPopup() : null;
}
@Override
protected boolean onForwardingStarted() {
return onSubMenuSelected((SubMenuBuilder) item.getSubMenu());
}
@Override
protected boolean onForwardingStopped() {
return dismissPopupMenus();
}
});
} else {
actionView.setOnTouchListener(null);
}
final ActionMenuView menuParent = (ActionMenuView) parent;
final ViewGroup.LayoutParams lp = actionView.getLayoutParams();
if (!menuParent.checkLayoutParams(lp)) {