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

Commit f1ebcee2 authored by Daniel Sandler's avatar Daniel Sandler
Browse files

Fix MENU icon weirdness. (DO NOT MERGE)

(Broken by change I7cbb7bbf.)

Bug: 5308636
Change-Id: I30ca20f62bd140a823eb926a9a0521c4d6014680
parent 3144a6ca
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ public class NavigationBarView extends LinearLayout {
    int mBarSize;
    boolean mVertical;

    boolean mHidden, mLowProfile;
    boolean mHidden, mLowProfile, mShowMenu;
    int mDisabledFlags = 0;

    public View getRecentsButton() {
@@ -91,6 +91,7 @@ public class NavigationBarView extends LinearLayout {
        final Resources res = mContext.getResources();
        mBarSize = res.getDimensionPixelSize(R.dimen.navigation_bar_size);
        mVertical = false;
        mShowMenu = false;
    }

    View.OnTouchListener mLightsOutListener = new View.OnTouchListener() {
@@ -126,7 +127,23 @@ public class NavigationBarView extends LinearLayout {
        getBackButton()   .setVisibility(disableBack       ? View.INVISIBLE : View.VISIBLE);
        getHomeButton()   .setVisibility(disableNavigation ? View.INVISIBLE : View.VISIBLE);
        getRecentsButton().setVisibility(disableNavigation ? View.INVISIBLE : View.VISIBLE);
        getMenuButton()   .setVisibility(disableNavigation ? View.INVISIBLE : View.VISIBLE);
 
        getMenuButton()   .setVisibility((disableNavigation || !mShowMenu)
                                                           ? View.INVISIBLE : View.VISIBLE);
    }

    public void setMenuVisibility(final boolean show) {
        setMenuVisibility(show, false);
    }

    public void setMenuVisibility(final boolean show, final boolean force) {
        if (!force && mShowMenu == show) return;

        mShowMenu = show;

        getMenuButton().setVisibility(
            (0 != (mDisabledFlags & View.STATUS_BAR_DISABLE_NAVIGATION) || !mShowMenu)
                ? View.INVISIBLE : View.VISIBLE);
    }

    public void setLowProfile(final boolean lightsOut) {
@@ -256,6 +273,7 @@ public class NavigationBarView extends LinearLayout {
        // force the low profile & disabled states into compliance
        setLowProfile(mLowProfile, false, true /* force */);
        setDisabledFlags(mDisabledFlags, true /* force */);
        setMenuVisibility(mShowMenu, true /* force */);

        if (DEBUG_DEADZONE) {
            mCurrentView.findViewById(R.id.deadzone).setBackgroundColor(0x808080FF);
+1 −2
Original line number Diff line number Diff line
@@ -1572,8 +1572,7 @@ public class PhoneStatusBar extends StatusBar {
            Slog.d(TAG, (showMenu?"showing":"hiding") + " the MENU button");
        }
        if (mNavigationBarView != null) {
            mNavigationBarView.getMenuButton().setVisibility(showMenu
                ? View.VISIBLE : View.INVISIBLE);
            mNavigationBarView.setMenuVisibility(showMenu);
        }

        // See above re: lights-out policy for legacy apps.