am 7814e92f: am 2fe44efc: Merge "Also refresh FloatingToolbar for "icon" menu item changes." into mnc-dev

* commit '7814e92f7f2e76b4e517adfc496db006284f518a':
  Also refresh FloatingToolbar for "icon" menu item changes.
This commit is contained in:
Abodunrinwa Toki
2015-06-04 19:22:59 +00:00
committed by Android Git Automerger

View File

@@ -84,7 +84,7 @@ public final class FloatingToolbar {
private final Rect mContentRect = new Rect(); private final Rect mContentRect = new Rect();
private Menu mMenu; private Menu mMenu;
private List<CharSequence> mShowingTitles = new ArrayList<CharSequence>(); private List<Object> mShowingMenuItems = new ArrayList<Object>();
private MenuItem.OnMenuItemClickListener mMenuItemClickListener = NO_OP_MENUITEM_CLICK_LISTENER; private MenuItem.OnMenuItemClickListener mMenuItemClickListener = NO_OP_MENUITEM_CLICK_LISTENER;
private int mSuggestedWidth; private int mSuggestedWidth;
@@ -156,7 +156,7 @@ public final class FloatingToolbar {
if (!isCurrentlyShowing(menuItems) || mWidthChanged) { if (!isCurrentlyShowing(menuItems) || mWidthChanged) {
mPopup.dismiss(); mPopup.dismiss();
mPopup.layoutMenuItems(menuItems, mMenuItemClickListener, mSuggestedWidth); mPopup.layoutMenuItems(menuItems, mMenuItemClickListener, mSuggestedWidth);
mShowingTitles = getMenuItemTitles(menuItems); mShowingMenuItems = getShowingMenuItemsReferences(menuItems);
} }
mPopup.updateCoordinates(mContentRect); mPopup.updateCoordinates(mContentRect);
if (!mPopup.isShowing()) { if (!mPopup.isShowing()) {
@@ -211,7 +211,7 @@ public final class FloatingToolbar {
* Returns true if this floating toolbar is currently showing the specified menu items. * Returns true if this floating toolbar is currently showing the specified menu items.
*/ */
private boolean isCurrentlyShowing(List<MenuItem> menuItems) { private boolean isCurrentlyShowing(List<MenuItem> menuItems) {
return mShowingTitles.equals(getMenuItemTitles(menuItems)); return mShowingMenuItems.equals(getShowingMenuItemsReferences(menuItems));
} }
/** /**
@@ -234,12 +234,16 @@ public final class FloatingToolbar {
return menuItems; return menuItems;
} }
private List<CharSequence> getMenuItemTitles(List<MenuItem> menuItems) { private List<Object> getShowingMenuItemsReferences(List<MenuItem> menuItems) {
List<CharSequence> titles = new ArrayList<CharSequence>(); List<Object> references = new ArrayList<Object>();
for (MenuItem menuItem : menuItems) { for (MenuItem menuItem : menuItems) {
titles.add(menuItem.getTitle()); if (isIconOnlyMenuItem(menuItem)) {
references.add(menuItem.getIcon());
} else {
references.add(menuItem.getTitle());
}
} }
return titles; return references;
} }