diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java index bf0dc7bce5f93..1343895ed93dd 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java @@ -261,8 +261,6 @@ public class WifiStatusTracker { private void updateWifiState() { state = mWifiManager.getWifiState(); enabled = state == WifiManager.WIFI_STATE_ENABLED; - isCarrierMerged = false; - subId = 0; } private void updateRssi(int newRssi) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java index 103ca0ebc6ca3..ff9d919dda134 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java @@ -83,7 +83,7 @@ public class WifiSignalController extends SignalController @Override public void notifyListeners(SignalCallback callback) { if (mCurrentState.isCarrierMerged) { - if (mCurrentState.isDefault) { + if (mCurrentState.isDefault || !mNetworkController.isRadioOn()) { notifyListenersForCarrierWifi(callback); } } else { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java index a39971d273036..9f152e1e2fe5f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerWifiTest.java @@ -268,6 +268,21 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { } } + @Test + public void testDisableWiFiWithVcnWithUnderlyingWifi() { + String testSsid = "Test VCN SSID"; + setWifiEnabled(true); + verifyLastWifiIcon(false, WifiIcons.WIFI_NO_NETWORK); + + mNetworkController.setNoNetworksAvailable(false); + setWifiStateForVcn(true, testSsid); + setWifiLevelForVcn(1); + verifyLastMobileDataIndicatorsForVcn(true, 1, TelephonyIcons.ICON_CWF, false); + + setWifiEnabled(false); + verifyLastMobileDataIndicatorsForVcn(false, 1, 0, false); + } + @Test public void testCallStrengh() { if (true) return;