diff options
author | Nate Jiang <qiangjiang@google.com> | 2020-04-02 14:36:49 -0700 |
---|---|---|
committer | Nate Jiang <qiangjiang@google.com> | 2020-04-02 15:13:07 -0700 |
commit | 7347b91f448800656c79c0eb0cca39b83861e575 (patch) | |
tree | 004193d086faa76b8ba01b28440731ea554d6459 /service | |
parent | 48a31819c11d3ee7508f3fb364617925684c362b (diff) |
Duplicate ScanResult should return only one matched suggestion
Bug: 153010858
Test: atest com.android.server.wifi
Change-Id: Ia4254fd407e8ff12cdf9d45d07a280ea7b5ffcdf
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java b/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java index 19c9da156..5539f8131 100644 --- a/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java +++ b/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java @@ -1615,6 +1615,8 @@ public class WifiNetworkSuggestionsManager { */ public @NonNull List<WifiConfiguration> getWifiConfigForMatchedNetworkSuggestionsSharedWithUser( List<ScanResult> scanResults) { + // Create a HashSet to avoid return multiple result for duplicate ScanResult. + Set<String> networkKeys = new HashSet<>(); List<WifiConfiguration> sharedWifiConfigs = new ArrayList<>(); for (ScanResult scanResult : scanResults) { ScanResultMatchInfo scanResultMatchInfo = @@ -1648,7 +1650,9 @@ public class WifiNetworkSuggestionsManager { if (existingConfig == null || !existingConfig.fromWifiNetworkSuggestion) { continue; } - sharedWifiConfigs.add(existingConfig); + if (networkKeys.add(existingConfig.getKey())) { + sharedWifiConfigs.add(existingConfig); + } } return sharedWifiConfigs; } |