summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2016-04-05 16:18:34 -0700
committerRoshan Pius <rpius@google.com>2016-04-18 10:47:34 -0700
commita6b66a48b231f5729b8015d3446feb4c2fa0a9d1 (patch)
treec83017fa428249c26e53c7bee9a2ec7c251f6da6 /service
parent752bd0ed137ccc42cdfd911611f2d5f8d33be53c (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.java9
-rw-r--r--service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java3
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;