diff options
5 files changed, 14 insertions, 9 deletions
diff --git a/core/java/android/widget/ActivityChooserView.java b/core/java/android/widget/ActivityChooserView.java index 45d73af58869..6a8462698a91 100644 --- a/core/java/android/widget/ActivityChooserView.java +++ b/core/java/android/widget/ActivityChooserView.java @@ -156,7 +156,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod * @param attrs A collection of attributes. */ public ActivityChooserView(Context context, AttributeSet attrs) { - this(context, attrs, R.attr.actionButtonStyle); + this(context, attrs, 0); } /** diff --git a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java index 5c4257964403..dd75925293c6 100644 --- a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java +++ b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java @@ -391,7 +391,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter { final boolean inGroup = seenGroups.get(groupId); boolean isAction = (maxActions > 0 || inGroup) && widthLimit > 0 && (!mStrictWidthLimit || cellsRemaining > 0); - maxActions--; if (isAction) { View v = getItemView(item, mScrapActionButtonView, parent); @@ -430,11 +429,15 @@ public class ActionMenuPresenter extends BaseMenuPresenter { for (int j = 0; j < i; j++) { MenuItemImpl areYouMyGroupie = visibleItems.get(j); if (areYouMyGroupie.getGroupId() == groupId) { + // Give back the action slot + if (areYouMyGroupie.isActionButton()) maxActions++; areYouMyGroupie.setIsActionButton(false); } } } + if (isAction) maxActions--; + item.setIsActionButton(isAction); } } diff --git a/core/java/com/android/internal/view/menu/MenuBuilder.java b/core/java/com/android/internal/view/menu/MenuBuilder.java index 5e70e4c3f7c5..5622b4459b4c 100644 --- a/core/java/com/android/internal/view/menu/MenuBuilder.java +++ b/core/java/com/android/internal/view/menu/MenuBuilder.java @@ -567,7 +567,7 @@ public class MenuBuilder implements Menu { } } - if (changedAtLeastOneItem) onItemsChanged(false); + if (changedAtLeastOneItem) onItemsChanged(true); } public void setGroupEnabled(int group, boolean enabled) { @@ -929,6 +929,7 @@ public class MenuBuilder implements Menu { * * @param structureChanged true if the menu structure changed, * false if only item properties changed. + * (Visibility is a structural property since it affects layout.) */ void onItemsChanged(boolean structureChanged) { if (!mPreventDispatchingItemsChanged) { @@ -971,7 +972,7 @@ public class MenuBuilder implements Menu { void onItemVisibleChanged(MenuItemImpl item) { // Notify of items being changed mIsVisibleItemsStale = true; - onItemsChanged(false); + onItemsChanged(true); } /** @@ -981,7 +982,7 @@ public class MenuBuilder implements Menu { void onItemActionRequestChanged(MenuItemImpl item) { // Notify of items being changed mIsActionItemsStale = true; - onItemsChanged(false); + onItemsChanged(true); } ArrayList<MenuItemImpl> getVisibleItems() { diff --git a/core/java/com/android/internal/view/menu/MenuItemImpl.java b/core/java/com/android/internal/view/menu/MenuItemImpl.java index 8b53bb8dc363..04147ab99e4a 100644 --- a/core/java/com/android/internal/view/menu/MenuItemImpl.java +++ b/core/java/com/android/internal/view/menu/MenuItemImpl.java @@ -585,7 +585,7 @@ public final class MenuItemImpl implements MenuItem { public MenuItem setActionProvider(ActionProvider actionProvider) { mActionView = null; mActionProvider = actionProvider; - mMenu.onItemsChanged(false); + mMenu.onItemsChanged(true); // Measurement can be changed return this; } diff --git a/core/res/res/layout/activity_chooser_view.xml b/core/res/res/layout/activity_chooser_view.xml index 5d82a97cd786..82e1f8305f84 100644 --- a/core/res/res/layout/activity_chooser_view.xml +++ b/core/res/res/layout/activity_chooser_view.xml @@ -22,7 +22,8 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" - style="?android:attr/actionButtonStyle"> + style="?android:attr/actionButtonStyle" + android:padding="0dip"> <FrameLayout android:id="@+id/default_activity_button" @@ -31,7 +32,7 @@ android:layout_gravity="center" android:focusable="true" android:addStatesFromChildren="true" - android:background="?android:attr/selectableItemBackground"> + android:background="?android:attr/actionBarItemBackground"> <ImageView android:id="@+id/image" android:layout_width="32dip" @@ -53,7 +54,7 @@ android:layout_gravity="center" android:focusable="true" android:addStatesFromChildren="true" - android:background="?android:attr/selectableItemBackground"> + android:background="?android:attr/actionBarItemBackground"> <ImageView android:id="@+id/image" android:layout_width="32dip" |