diff options
-rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java | 4 | ||||
-rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java | 17 |
2 files changed, 19 insertions, 2 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java index 632a867bd32c..cff8c236378e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java @@ -771,6 +771,10 @@ public class AccessPoint implements Comparable<AccessPoint> { } } + void setRssi(int rssi) { + mRssi = rssi; + } + public static String getSummary(Context context, String ssid, DetailedState state, boolean isEphemeral, String passpointProvider) { if (state == DetailedState.CONNECTED && ssid == null) { diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java index c28288eb91b1..d7dfdf857eaf 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java @@ -312,6 +312,8 @@ public class WifiTracker { connectionConfig = getWifiConfigurationForNetworkId(mLastInfo.getNetworkId()); } + final Collection<ScanResult> results = fetchScanResults(); + final List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks(); if (configs != null) { mSavedNetworksExist = configs.size() != 0; @@ -326,8 +328,20 @@ public class WifiTracker { } } if (mIncludeSaved) { - if (!config.isPasspoint() || mIncludePasspoints) + if (!config.isPasspoint() || mIncludePasspoints) { + // If saved network not present in scan result then set its Rssi to MAX_VALUE + boolean apFound = false; + for (ScanResult result : results) { + if (result.SSID.equals(accessPoint.getSsidStr())) { + apFound = true; + break; + } + } + if (!apFound) { + accessPoint.setRssi(Integer.MAX_VALUE); + } accessPoints.add(accessPoint); + } if (config.isPasspoint() == false) { apMap.put(accessPoint.getSsidStr(), accessPoint); @@ -340,7 +354,6 @@ public class WifiTracker { } } - final Collection<ScanResult> results = fetchScanResults(); if (results != null) { for (ScanResult result : results) { // Ignore hidden and ad-hoc networks. |