Merge "Fix bug 5099037 - No delete option when multiple videos are selected"
diff --git a/core/java/android/widget/ActivityChooserView.java b/core/java/android/widget/ActivityChooserView.java
index 45d73af..6a84626 100644
--- a/core/java/android/widget/ActivityChooserView.java
+++ b/core/java/android/widget/ActivityChooserView.java
@@ -156,7 +156,7 @@
* @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 5c42579..dd75925 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 @@
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 @@
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 5e70e4c..5622b44 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 @@
}
}
- if (changedAtLeastOneItem) onItemsChanged(false);
+ if (changedAtLeastOneItem) onItemsChanged(true);
}
public void setGroupEnabled(int group, boolean enabled) {
@@ -929,6 +929,7 @@
*
* @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 @@
void onItemVisibleChanged(MenuItemImpl item) {
// Notify of items being changed
mIsVisibleItemsStale = true;
- onItemsChanged(false);
+ onItemsChanged(true);
}
/**
@@ -981,7 +982,7 @@
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 8b53bb8..04147ab 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 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 5d82a97..82e1f83 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"