summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java4
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java17
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.