summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-01-24 22:53:33 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-01-24 22:53:34 +0000
commit6dada2c3bc67349ae08befd0f1fa76cf7e6ea028 (patch)
treec85a6fd80ce53661dfce84f10c0466909ad8481f
parent0e62cf37d128216dae128fbae0d26f98acade773 (diff)
parent3564dd1aed7f98bff60e000ac6b1d76c58406998 (diff)
Merge "Track the potential connectable networks for the watchdog."
-rw-r--r--service/java/com/android/server/wifi/RecommendedNetworkEvaluator.java4
-rw-r--r--tests/wifitests/src/com/android/server/wifi/RecommendedNetworkEvaluatorTest.java39
2 files changed, 43 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/RecommendedNetworkEvaluator.java b/service/java/com/android/server/wifi/RecommendedNetworkEvaluator.java
index 5b5b57e61..b4cbf62c1 100644
--- a/service/java/com/android/server/wifi/RecommendedNetworkEvaluator.java
+++ b/service/java/com/android/server/wifi/RecommendedNetworkEvaluator.java
@@ -149,6 +149,10 @@ public class RecommendedNetworkEvaluator implements WifiNetworkSelector.NetworkE
availableConfiguredNetworks.add(configuredNetwork);
}
scanResults.add(scanResult);
+ // Track potential connectable networks for the watchdog.
+ if (connectableNetworks != null) {
+ connectableNetworks.add(Pair.create(scanDetail, configuredNetwork));
+ }
}
if (scanResults.isEmpty()) {
diff --git a/tests/wifitests/src/com/android/server/wifi/RecommendedNetworkEvaluatorTest.java b/tests/wifitests/src/com/android/server/wifi/RecommendedNetworkEvaluatorTest.java
index d5ba0961d..f4e0005ca 100644
--- a/tests/wifitests/src/com/android/server/wifi/RecommendedNetworkEvaluatorTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/RecommendedNetworkEvaluatorTest.java
@@ -45,6 +45,7 @@ import android.os.Process;
import android.provider.Settings;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.LocalLog;
+import android.util.Pair;
import com.android.server.wifi.util.ScanResultUtil;
@@ -406,6 +407,44 @@ public class RecommendedNetworkEvaluatorTest {
}
@Test
+ public void testEvaluateNetworks_potentialConnectableNetworksPopulated() {
+ when(mWifiConfigManager.wasEphemeralNetworkDeleted(anyString())).thenReturn(false);
+ when(mNetworkScoreManager.requestRecommendation(any(RecommendationRequest.class)))
+ .thenReturn(RecommendationResult.createDoNotConnectRecommendation());
+
+ List<Pair<ScanDetail, WifiConfiguration>> potentialConnectableNetworks = new ArrayList<>();
+ mRecommendedNetworkEvaluator.evaluateNetworks(
+ Lists.newArrayList(TRUSTED_SCAN_DETAIL, EPHEMERAL_SCAN_DETAIL,
+ UNTRUSTED_SCAN_DETAIL), null, null, false,
+ true /* untrustedNetworkAllowed */, potentialConnectableNetworks);
+
+ assertEquals(3, potentialConnectableNetworks.size());
+ Pair<ScanDetail, WifiConfiguration> expectedTrustedPair =
+ Pair.create(TRUSTED_SCAN_DETAIL, TRUSTED_WIFI_CONFIGURATION);
+ Pair<ScanDetail, WifiConfiguration> expectedUntrustedPair =
+ Pair.create(UNTRUSTED_SCAN_DETAIL, null);
+ Pair<ScanDetail, WifiConfiguration> expectedEphemPair =
+ Pair.create(EPHEMERAL_SCAN_DETAIL, EPHEMERAL_WIFI_CONFIGURATION);
+ assertTrue(potentialConnectableNetworks.contains(expectedTrustedPair));
+ assertTrue(potentialConnectableNetworks.contains(expectedUntrustedPair));
+ assertTrue(potentialConnectableNetworks.contains(expectedEphemPair));
+ }
+
+ @Test
+ public void testEvaluateNetworks_potentialConnectableNetworksIsNull() {
+ when(mWifiConfigManager.wasEphemeralNetworkDeleted(anyString())).thenReturn(false);
+ when(mNetworkScoreManager.requestRecommendation(any(RecommendationRequest.class)))
+ .thenReturn(RecommendationResult.createDoNotConnectRecommendation());
+
+ mRecommendedNetworkEvaluator.evaluateNetworks(
+ Lists.newArrayList(TRUSTED_SCAN_DETAIL, EPHEMERAL_SCAN_DETAIL,
+ UNTRUSTED_SCAN_DETAIL),
+ null, null, false, true /* untrustedNetworkAllowed */, null);
+
+ // should not throw a NPE.
+ }
+
+ @Test
public void testEvaluateNetworks_requestContainsLastSelectedNetwork() {
int lastSelectedNetworkId = 5;
long lastSelectedTimestamp = 1000;