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

Commit 044163e8 authored by Daniel Sandler's avatar Daniel Sandler Committed by The Android Automerger
Browse files

Fix MENU icon weirdness. (DO NOT MERGE)

(Broken by change I7cbb7bbf.)

Bug: 5308636
Change-Id: I30ca20f62bd140a823eb926a9a0521c4d6014680
parent 4dde85ba
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) {
@@ -257,6 +274,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.