diff options
| author | 2019-01-09 17:07:19 -0800 | |
|---|---|---|
| committer | 2019-01-15 15:06:07 -0800 | |
| commit | 550f7d4dc9fe21d0fc51db88614af5857edb3300 (patch) | |
| tree | 6d954825283878c3029d206afc55a5c29dd17a9e | |
| parent | ec4bb0c254a4b4cf19703155d302e91cff4dce1c (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.java | 4 | ||||
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java | 26 |
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) { |