diff options
author | Roshan Pius <rpius@google.com> | 2016-04-05 16:18:34 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2016-04-18 10:47:34 -0700 |
commit | a6b66a48b231f5729b8015d3446feb4c2fa0a9d1 (patch) | |
tree | c83017fa428249c26e53c7bee9a2ec7c251f6da6 /service | |
parent | 752bd0ed137ccc42cdfd911611f2d5f8d33be53c (diff) |
QNS: Skip ephemeral networks deleted by user
Skip ephemeral networks which were explicitly deleted by the user. This
was missed in migration from autojoin to QNS.
BUG: 28026676
Change-Id: Ib663183b29774b851e492ddd170c4b4bef03ae61
TEST: Compiles & unit-test passes
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/WifiConfigManager.java | 9 | ||||
-rw-r--r-- | service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigManager.java b/service/java/com/android/server/wifi/WifiConfigManager.java index 408269e6e..4820cc2f6 100644 --- a/service/java/com/android/server/wifi/WifiConfigManager.java +++ b/service/java/com/android/server/wifi/WifiConfigManager.java @@ -3300,4 +3300,13 @@ public class WifiConfigManager { mActiveScanDetail = activeScanDetail; } } + + /** + * Check if the provided ephemeral network was deleted by the user or not. + * @param ssid ssid of the network + * @return true if network was deleted, false otherwise. + */ + public boolean wasEphemeralNetworkDeleted(String ssid) { + return mDeletedEphemeralSSIDs.contains(ssid); + } } diff --git a/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java b/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java index af2b16bbc..74d2aa27e 100644 --- a/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java +++ b/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java @@ -723,7 +723,8 @@ public class WifiQualifiedNetworkSelector { if (isUntrustedConnectionsAllowed && mNetworkScoreCache != null) { int netScore = mNetworkScoreCache.getNetworkScore(scanResult, false); //get network score (Determine if this is an 'Ephemeral' network) - if (netScore != WifiNetworkScoreCache.INVALID_NETWORK_SCORE) { + if (!mWifiConfigManager.wasEphemeralNetworkDeleted(scanResult.SSID) + && netScore != WifiNetworkScoreCache.INVALID_NETWORK_SCORE) { localLog(scanId + "has score: " + netScore); if (netScore > unTrustedHighestScore) { unTrustedHighestScore = netScore; |