diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-01-24 22:53:33 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-01-24 22:53:34 +0000 |
commit | 6dada2c3bc67349ae08befd0f1fa76cf7e6ea028 (patch) | |
tree | c85a6fd80ce53661dfce84f10c0466909ad8481f | |
parent | 0e62cf37d128216dae128fbae0d26f98acade773 (diff) | |
parent | 3564dd1aed7f98bff60e000ac6b1d76c58406998 (diff) |
Merge "Track the potential connectable networks for the watchdog."
-rw-r--r-- | service/java/com/android/server/wifi/RecommendedNetworkEvaluator.java | 4 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/RecommendedNetworkEvaluatorTest.java | 39 |
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; |