From b0b399afb183f00de11d83a0cf4d54584c898adb Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Mon, 16 Dec 2019 15:22:52 -0500 Subject: [PATCH] Don't show Wi-Fi indicator until it is validated This change makes it so that we won't show the Wi-Fi indicator in the status bar unless it is validated. So we shouldn't ever see the indicator with an 'x' on it Test: atest SystemUITests; manual Bug: 136473125 Change-Id: I14cf8dd8387a5df569f897a27ffe59bf4bdf27f8 --- .../statusbar/policy/WifiSignalController.java | 3 ++- .../statusbar/policy/NetworkControllerWifiTest.java | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java index e7d1c95db0e3b..718522c9908a7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java @@ -85,7 +85,8 @@ public class WifiSignalController extends boolean visibleWhenEnabled = mContext.getResources().getBoolean( R.bool.config_showWifiIndicatorWhenEnabled); boolean wifiVisible = mCurrentState.enabled - && (mCurrentState.connected || !mHasMobileData || visibleWhenEnabled); + && ((mCurrentState.connected && mCurrentState.inetCondition == 1) + || !mHasMobileData || visibleWhenEnabled); String wifiDesc = wifiVisible ? mCurrentState.ssid : null; boolean ssidPresent = wifiVisible && mCurrentState.ssid != null; String contentDescription = getStringIfExists(getContentDescription()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java index 34511831247ef..32da4c9650fbc 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java @@ -39,7 +39,8 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { setWifiState(true, testSsid); setWifiLevel(0); - verifyLastWifiIcon(true, WifiIcons.WIFI_SIGNAL_STRENGTH[0][0]); + // Connected, but still not validated - does not show + verifyLastWifiIcon(false, WifiIcons.WIFI_SIGNAL_STRENGTH[0][0]); for (int testLevel = 0; testLevel < WifiIcons.WIFI_LEVEL_COUNT; testLevel++) { setWifiLevel(testLevel); @@ -47,7 +48,8 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_WIFI, true, true); verifyLastWifiIcon(true, WifiIcons.WIFI_SIGNAL_STRENGTH[1][testLevel]); setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_WIFI, false, true); - verifyLastWifiIcon(true, WifiIcons.WIFI_SIGNAL_STRENGTH[0][testLevel]); + // Icon does not show if not validated + verifyLastWifiIcon(false, WifiIcons.WIFI_SIGNAL_STRENGTH[0][testLevel]); } } @@ -70,7 +72,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { testSsid); setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_WIFI, false, true); verifyLastQsWifiIcon(true, true, WifiIcons.QS_WIFI_SIGNAL_STRENGTH[0][testLevel], - testSsid); + null); } } @@ -132,7 +134,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { verifyLastWifiIcon(true, WifiIcons.WIFI_SIGNAL_STRENGTH[1][testLevel]); setConnectivityViaCallback(NetworkCapabilities.TRANSPORT_WIFI, false, true); - verifyLastWifiIcon(true, WifiIcons.WIFI_SIGNAL_STRENGTH[0][testLevel]); + verifyLastWifiIcon(false, WifiIcons.WIFI_SIGNAL_STRENGTH[0][testLevel]); } @Test