diff options
| -rw-r--r-- | core/java/com/android/internal/view/menu/ActionMenuPresenter.java | 10 | ||||
| -rw-r--r-- | core/java/com/android/internal/widget/ActionBarView.java | 4 | ||||
| -rw-r--r-- | core/res/res/values-sw600dp/bools.xml | 1 | ||||
| -rw-r--r-- | core/res/res/values/bools.xml | 1 |
4 files changed, 16 insertions, 0 deletions
diff --git a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java index 80f68ac57765..06f753f3f28e 100644 --- a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java +++ b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java @@ -48,6 +48,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter { private boolean mMaxItemsSet; private boolean mStrictWidthLimit; private boolean mWidthLimitSet; + private boolean mExpandedActionViewsExclusive; private int mMinCellSize; @@ -124,6 +125,10 @@ public class ActionMenuPresenter extends BaseMenuPresenter { mMaxItemsSet = true; } + public void setExpandedActionViewsExclusive(boolean isExclusive) { + mExpandedActionViewsExclusive = isExclusive; + } + @Override public MenuView getMenuView(ViewGroup root) { MenuView result = super.getMenuView(root); @@ -326,6 +331,11 @@ public class ActionMenuPresenter extends BaseMenuPresenter { } else { hasOverflow = true; } + if (mExpandedActionViewsExclusive && item.isActionViewExpanded()) { + // Overflow everything if we have an expanded action view and we're + // space constrained. + maxActions = 0; + } } // Reserve a spot for the overflow item if needed. diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index 678751cda060..e03858b4af13 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -345,11 +345,15 @@ public class ActionBarView extends AbsActionBarView { final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); if (!mSplitActionBar) { + mActionMenuPresenter.setExpandedActionViewsExclusive( + getResources().getBoolean( + com.android.internal.R.bool.action_bar_expanded_action_views_exclusive)); builder.addMenuPresenter(mActionMenuPresenter); builder.addMenuPresenter(mExpandedMenuPresenter); menuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this); addView(menuView, layoutParams); } else { + mActionMenuPresenter.setExpandedActionViewsExclusive(false); // Allow full screen width in split mode. mActionMenuPresenter.setWidthLimit( getContext().getResources().getDisplayMetrics().widthPixels, true); diff --git a/core/res/res/values-sw600dp/bools.xml b/core/res/res/values-sw600dp/bools.xml index d73ff9977caa..a453ac13576d 100644 --- a/core/res/res/values-sw600dp/bools.xml +++ b/core/res/res/values-sw600dp/bools.xml @@ -17,4 +17,5 @@ <resources> <bool name="preferences_prefer_dual_pane">true</bool> <bool name="show_ongoing_ime_switcher">false</bool> + <bool name="action_bar_expanded_action_views_exclusive">false</bool> </resources> diff --git a/core/res/res/values/bools.xml b/core/res/res/values/bools.xml index e51fc6630277..6e4db5e93dfd 100644 --- a/core/res/res/values/bools.xml +++ b/core/res/res/values/bools.xml @@ -19,4 +19,5 @@ <bool name="split_action_bar_is_narrow">true</bool> <bool name="preferences_prefer_dual_pane">false</bool> <bool name="show_ongoing_ime_switcher">true</bool> + <bool name="action_bar_expanded_action_views_exclusive">true</bool> </resources> |