Fix MENU icon weirdness. (DO NOT MERGE)

(Broken by change I7cbb7bbf.)

Bug: 5308636
Change-Id: I30ca20f62bd140a823eb926a9a0521c4d6014680
This commit is contained in:
Daniel Sandler
2011-09-15 16:02:56 -04:00
parent 3144a6ca15
commit f1ebcee224
2 changed files with 21 additions and 4 deletions

View File

@@ -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);

View File

@@ -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.