From 57855efc386a84dd8f8fc6cdb0cad4df4bf36f94 Mon Sep 17 00:00:00 2001 From: Etan Cohen Date: Wed, 22 Jul 2020 11:24:16 -0700 Subject: Fix WiFi + "x" stil visible The WiFi + "x" still seems to appear under some conditions - code path checking on changes in status not triggered correctly. Also remove one of the calls to the WifiManager#getCurrentNetwork. Partial fix to WifiManager#getCurrentNetwork blocking. Bug: 161011371 Bug: 163425287 Test: atest NetworkControllerWifiTest Test: visual inspection Change-Id: I112bdff85e905807c4e2826c127aeaedcdb03fd1 --- .../src/com/android/settingslib/wifi/WifiStatusTracker.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'packages/SettingsLib/src') diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java index d7e76a14c768..e77d1a2ccea1 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java @@ -189,10 +189,12 @@ public class WifiStatusTracker { } } updateStatusLabel(); + mCallback.run(); } else if (action.equals(WifiManager.RSSI_CHANGED_ACTION)) { // Default to -200 as its below WifiManager.MIN_RSSI. updateRssi(intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, -200)); updateStatusLabel(); + mCallback.run(); } } @@ -215,13 +217,15 @@ public class WifiStatusTracker { private void updateStatusLabel() { NetworkCapabilities networkCapabilities; - final Network currentWifiNetwork = mWifiManager.getCurrentNetwork(); - if (currentWifiNetwork != null && currentWifiNetwork.equals(mDefaultNetwork)) { + isDefaultNetwork = false; + if (mDefaultNetworkCapabilities != null) { + isDefaultNetwork = mDefaultNetworkCapabilities.hasTransport( + NetworkCapabilities.TRANSPORT_WIFI); + } + if (isDefaultNetwork) { // Wifi is connected and the default network. - isDefaultNetwork = true; networkCapabilities = mDefaultNetworkCapabilities; } else { - isDefaultNetwork = false; networkCapabilities = mConnectivityManager.getNetworkCapabilities( mWifiManager.getCurrentNetwork()); } -- cgit v1.2.3