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

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

Merge "Fix bug 2911311 and bug 2911700"

parents 831cffa5 f6148c53
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -531,6 +531,8 @@ public class ActionBarImpl extends ActionBar {
        }

        public void onMenuModeChange(MenuBuilder menu) {
            invalidate();
            mUpperContextView.showOverflowMenu();
        }
    }

+2 −0
Original line number Diff line number Diff line
@@ -135,5 +135,7 @@ public class StandaloneActionMode extends ActionMode implements MenuBuilder.Call
    }

    public void onMenuModeChange(MenuBuilder menu) {
        invalidate();
        mContextView.showOverflowMenu();
    }
}
+19 −4
Original line number Diff line number Diff line
@@ -148,14 +148,28 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo

    public boolean showOverflowMenu() {
        if (mOverflowButton != null) {
            MenuPopupHelper popup = new MenuPopupHelper(getContext(), mMenu, mOverflowButton, true);
            final MenuPopupHelper popup =
                    new MenuPopupHelper(getContext(), mMenu, mOverflowButton, true);
            // Post this for later; we might still need a layout for the anchor to be right.
            post(new Runnable() {
                public void run() {
                    popup.show();
                }
            });
            mOverflowPopup = new WeakReference<MenuPopupHelper>(popup);
            return true;
        }
        return false;
    }

    public boolean isOverflowMenuShowing() {
        MenuPopupHelper popup = mOverflowPopup != null ? mOverflowPopup.get() : null;
        if (popup != null) {
            return popup.isShowing();
        }
        return false;
    }

    public boolean hideOverflowMenu() {
        MenuPopupHelper popup = mOverflowPopup != null ? mOverflowPopup.get() : null;
        if (popup != null) {
@@ -177,7 +191,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo
            final Resources res = context.getResources();
            setClickable(true);
            setFocusable(true);
            // TODO setTitle() to a localized string for accessibility
            setContentDescription(res.getString(com.android.internal.R.string.more_item_label));
            setImageDrawable(res.getDrawable(com.android.internal.R.drawable.ic_menu_more));
            setVisibility(VISIBLE);
            setEnabled(true);
@@ -189,7 +203,8 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo
                return true;
            }

            showOverflowMenu();
            // Change to overflow mode
            mMenu.getCallback().onMenuModeChange(mMenu);
            return true;
        }
    }
+21 −0
Original line number Diff line number Diff line
@@ -163,6 +163,27 @@ public class ActionBarContextView extends ViewGroup {
        mMenuView = null;
    }

    public boolean showOverflowMenu() {
        if (mMenuView != null) {
            return mMenuView.showOverflowMenu();
        }
        return false;
    }

    public boolean hideOverflowMenu() {
        if (mMenuView != null) {
            return mMenuView.hideOverflowMenu();
        }
        return false;
    }

    public boolean isOverflowMenuShowing() {
        if (mMenuView != null) {
            return mMenuView.isOverflowMenuShowing();
        }
        return false;
    }

    @Override
    protected LayoutParams generateDefaultLayoutParams() {
        // Used by custom views if they don't supply layout params. Everything else
+7 −0
Original line number Diff line number Diff line
@@ -219,6 +219,13 @@ public class ActionBarView extends ViewGroup {
        return false;
    }

    public boolean isOverflowMenuShowing() {
        if (mMenuView != null) {
            return mMenuView.isOverflowMenuShowing();
        }
        return false;
    }

    public boolean isOverflowReserved() {
        return mMenuView != null && mMenuView.isOverflowReserved();
    }
Loading