summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Quang Luong <qal@google.com> 2019-01-09 17:07:19 -0800
committer Quang Luong <qal@google.com> 2019-01-15 15:06:07 -0800
commit550f7d4dc9fe21d0fc51db88614af5857edb3300 (patch)
tree6d954825283878c3029d206afc55a5c29dd17a9e
parentec4bb0c254a4b4cf19703155d302e91cff4dce1c (diff)
Add correct RSSI for OSU entries in wifi picker
OSU entries should now display the correct RSSI retrieved from its scan results. Tracking bug for adding robolectric tests: b/122849296 Bug: 118705403 Test: manual, build and check scan results in verbose mode Change-Id: Ie89bb94cfcef20f5dec6d4419e536aadaaed4ca5
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java4
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java26
2 files changed, 14 insertions, 16 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index 78f8a7287db1..1267898d24b9 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -321,9 +321,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
public AccessPoint(Context context, OsuProvider provider) {
mContext = context;
mOsuProvider = provider;
- mRssi = 1;
- // TODO: This placeholder SSID is here to avoid null pointer exceptions.
- ssid = "<OsuProvider AP SSID goes here>";
+ ssid = provider.getFriendlyName();
updateKey();
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index 3805eea47807..58c93e4727eb 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -624,7 +624,6 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro
}
// Add Passpoint OSU Provider AccessPoints
- // TODO(b/118705403): filter out OSU Providers which we already have credentials from.
Map<OsuProvider, List<ScanResult>> providersAndScans =
mWifiManager.getMatchingOsuProviders(cachedScanResults);
Set<OsuProvider> alreadyProvisioned = mWifiManager
@@ -632,13 +631,10 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro
providersAndScans.keySet()).keySet();
for (OsuProvider provider : providersAndScans.keySet()) {
if (!alreadyProvisioned.contains(provider)) {
- // TODO(b/118705403): use real scan results for this provider
AccessPoint accessPointOsu =
- getCachedOrCreateOsu(null, cachedAccessPoints, provider);
- // TODO(b/118705403): Figure out if we would need to update an OSU AP (this will
- // be used if we need to display it at the top of the picker as the "active" AP)
- // Otherwise OSU APs should ignore attempts to update the active connection info
- // accessPointOsu.update(connectionConfig, mLastInfo, mLastNetworkInfo);
+ getCachedOrCreateOsu(providersAndScans.get(provider),
+ cachedAccessPoints, provider);
+ accessPointOsu.update(connectionConfig, mLastInfo, mLastNetworkInfo);
accessPoints.add(accessPointOsu);
}
}
@@ -709,17 +705,21 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro
List<ScanResult> scanResults,
List<AccessPoint> cache,
OsuProvider provider) {
+ AccessPoint matchedAccessPoint = null;
ListIterator<AccessPoint> lit = cache.listIterator();
while (lit.hasNext()) {
- final AccessPoint ret = lit.next();
- if (ret.getKey().equals(AccessPoint.getKey(provider))) {
+ AccessPoint currentAccessPoint = lit.next();
+ if (currentAccessPoint.getKey().equals(AccessPoint.getKey(provider))) {
lit.remove();
- // TODO(b/118705403): Use real scan results for this.
- // ret.setScanResults(scanResults);
- return ret;
+ matchedAccessPoint = currentAccessPoint;
+ break;
}
}
- return new AccessPoint(mContext, provider);
+ if (matchedAccessPoint == null) {
+ matchedAccessPoint = new AccessPoint(mContext, provider);
+ }
+ matchedAccessPoint.setScanResults(scanResults);
+ return matchedAccessPoint;
}
private void updateNetworkInfo(NetworkInfo networkInfo) {