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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user