Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5254d5ed authored by Adam Powell's avatar Adam Powell Committed by Android (Google) Code Review
Browse files

Merge "Fix bug 5093394 - Double SearchView!! What does it mean!?"

parents 045d179f 6b0e97c7
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -151,6 +151,11 @@ public class MenuBuilder implements Menu {
    private CopyOnWriteArrayList<WeakReference<MenuPresenter>> mPresenters =
            new CopyOnWriteArrayList<WeakReference<MenuPresenter>>();

    /**
     * Currently expanded menu item; must be collapsed when we clear.
     */
    private MenuItemImpl mExpandedItem;
    
    /**
     * Called by menu to notify of close and selection changes.
     */
@@ -512,6 +517,9 @@ public class MenuBuilder implements Menu {
    }
    
    public void clear() {
        if (mExpandedItem != null) {
            collapseItemActionView(mExpandedItem);
        }
        mItems.clear();
        
        onItemsChanged(true);
@@ -1223,11 +1231,14 @@ public class MenuBuilder implements Menu {
        }
        startDispatchingItemsChanged();

        if (expanded) {
            mExpandedItem = item;
        }
        return expanded;
    }

    public boolean collapseItemActionView(MenuItemImpl item) {
        if (mPresenters.isEmpty()) return false;
        if (mPresenters.isEmpty() || mExpandedItem != item) return false;

        boolean collapsed = false;

@@ -1242,6 +1253,9 @@ public class MenuBuilder implements Menu {
        }
        startDispatchingItemsChanged();

        if (collapsed) {
            mExpandedItem = null;
        }
        return collapsed;
    }
}
+2 −3
Original line number Diff line number Diff line
@@ -1265,9 +1265,8 @@ public class ActionBarView extends AbsActionBarView {
        @Override
        public void initForMenu(Context context, MenuBuilder menu) {
            // Clear the expanded action view when menus change.
            mExpandedActionView = null;
            if (mCurrentExpandedItem != null) {
                mCurrentExpandedItem.collapseActionView();
            if (mMenu != null && mCurrentExpandedItem != null) {
                mMenu.collapseItemActionView(mCurrentExpandedItem);
            }
            mMenu = menu;
        }