From 044163e8479ab52b0319336b02e94fd6f999958a Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Thu, 15 Sep 2011 16:02:56 -0400 Subject: [PATCH 1/4] Fix MENU icon weirdness. (DO NOT MERGE) (Broken by change I7cbb7bbf.) Bug: 5308636 Change-Id: I30ca20f62bd140a823eb926a9a0521c4d6014680 --- .../statusbar/phone/NavigationBarView.java | 22 +++++++++++++++++-- .../statusbar/phone/PhoneStatusBar.java | 3 +-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 610edfa4b21f2..0b02a7ec2f0e2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -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); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index febf3ab73c0c1..8fc844882334e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -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. From c34692d5e5a4ed48e5ac839d0f03fe55a35706c7 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Tue, 20 Sep 2011 15:36:50 -0400 Subject: [PATCH 2/4] Retain signal level even when data is offline. Also disable extremely verbose RSSI logging. Bug: 5340142 Change-Id: I051a4cec5651a0734db2666526b16037d7053a1e --- .../systemui/statusbar/policy/NetworkController.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java index 3b097af452be3..820dc1076a922 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -315,16 +315,12 @@ public class NetworkController extends BroadcastReceiver { @Override public void onDataConnectionStateChanged(int state, int networkType) { - if (DEBUG || CHATTY) { + if (DEBUG) { Slog.d(TAG, "onDataConnectionStateChanged: state=" + state + " type=" + networkType); } mDataState = state; mDataNetType = networkType; - if (state < 0) { - // device without a data connection - mSignalStrength = null; - } updateDataNetType(); updateDataIcon(); refreshViews(); From d82bcca3c826134d7542e488fc6f4eb454b33972 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Mon, 19 Sep 2011 14:16:25 -0400 Subject: [PATCH 3/4] Stop clobbering the systemUiVisibility on navbar touch. (DO NOT MERGE) Bug: 5328284 Change-Id: Ib49af35a7919dbf1cdb99f357798101d2534e853 --- .../systemui/statusbar/phone/NavigationBarView.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 0b02a7ec2f0e2..59578cfd261db 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -253,15 +253,6 @@ public class NavigationBarView extends LinearLayout { mCurrentView = mRotatedViews[Surface.ROTATION_0]; } - @Override - public boolean onTouchEvent(MotionEvent ev) { - try { - mBarService.setSystemUiVisibility(0); - } catch (android.os.RemoteException ex) { - } - return false; // pass it on - } - public void reorient() { final int rot = mDisplay.getRotation(); for (int i=0; i<4; i++) { From f421392c586859c1b0d27fdcbd6d4f2f6fb0568a Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Tue, 20 Sep 2011 10:44:59 -0400 Subject: [PATCH 4/4] Fix disappearing nav icons. (DO NOT MERGE) Bug: 5328284 Change-Id: Iaa20454cff9f5a340da7b0c71190796445e8a205 --- .../statusbar/phone/NavigationBarView.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 59578cfd261db..d260e6db495a8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -160,9 +160,15 @@ public class NavigationBarView extends LinearLayout { final View navButtons = mCurrentView.findViewById(R.id.nav_buttons); final View lowLights = mCurrentView.findViewById(R.id.lights_out); + // ok, everyone, stop it right there + navButtons.animate().cancel(); + lowLights.animate().cancel(); + if (!animate) { - lowLights.setVisibility(View.GONE); - navButtons.setAlpha(1f); + navButtons.setAlpha(lightsOut ? 0f : 1f); + + lowLights.setAlpha(lightsOut ? 1f : 0f); + lowLights.setVisibility(lightsOut ? View.VISIBLE : View.GONE); } else { navButtons.animate() .alpha(lightsOut ? 0f : 1f) @@ -170,8 +176,10 @@ public class NavigationBarView extends LinearLayout { .start(); lowLights.setOnTouchListener(mLightsOutListener); - lowLights.setAlpha(0f); - lowLights.setVisibility(View.VISIBLE); + if (lowLights.getVisibility() == View.GONE) { + lowLights.setAlpha(0f); + lowLights.setVisibility(View.VISIBLE); + } lowLights.animate() .alpha(lightsOut ? 1f : 0f) .setStartDelay(lightsOut ? 500 : 0)