From 5047132887112df4235beea8ff42a28f1653e202 Mon Sep 17 00:00:00 2001 From: Abodunrinwa Toki Date: Mon, 1 Jun 2015 14:37:24 +0100 Subject: [PATCH] Also refresh FloatingToolbar for "icon" menu item changes. Bug: 21512730 Change-Id: I77f62c46e2d2a11e6cb4329fa8b659bb1a97a6b9 --- .../internal/widget/FloatingToolbar.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java index 3cff59a316d49..b23b47a4b263c 100644 --- a/core/java/com/android/internal/widget/FloatingToolbar.java +++ b/core/java/com/android/internal/widget/FloatingToolbar.java @@ -83,7 +83,7 @@ public final class FloatingToolbar { private final Rect mContentRect = new Rect(); private Menu mMenu; - private List mShowingTitles = new ArrayList(); + private List mShowingMenuItems = new ArrayList(); private MenuItem.OnMenuItemClickListener mMenuItemClickListener = NO_OP_MENUITEM_CLICK_LISTENER; private int mSuggestedWidth; @@ -155,7 +155,7 @@ public final class FloatingToolbar { if (!isCurrentlyShowing(menuItems) || mWidthChanged) { mPopup.dismiss(); mPopup.layoutMenuItems(menuItems, mMenuItemClickListener, mSuggestedWidth); - mShowingTitles = getMenuItemTitles(menuItems); + mShowingMenuItems = getShowingMenuItemsReferences(menuItems); } mPopup.updateCoordinates(mContentRect); if (!mPopup.isShowing()) { @@ -210,7 +210,7 @@ public final class FloatingToolbar { * Returns true if this floating toolbar is currently showing the specified menu items. */ private boolean isCurrentlyShowing(List menuItems) { - return mShowingTitles.equals(getMenuItemTitles(menuItems)); + return mShowingMenuItems.equals(getShowingMenuItemsReferences(menuItems)); } /** @@ -233,12 +233,16 @@ public final class FloatingToolbar { return menuItems; } - private List getMenuItemTitles(List menuItems) { - List titles = new ArrayList(); + private List getShowingMenuItemsReferences(List menuItems) { + List references = new ArrayList(); for (MenuItem menuItem : menuItems) { - titles.add(menuItem.getTitle()); + if (isIconOnlyMenuItem(menuItem)) { + references.add(menuItem.getIcon()); + } else { + references.add(menuItem.getTitle()); + } } - return titles; + return references; }