summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java
diff options
context:
space:
mode:
authorRandy Pan <zpan@google.com>2016-10-05 11:40:51 -0700
committerRandy Pan <zpan@google.com>2016-10-10 12:00:53 -0700
commit0b9b32c53a83dea56417bda7bc9ddc1dc1e4222e (patch)
tree42f368adfe7afc5037052bb59dfddb9db72a75fc /tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java
parent67344e5255ad4c00ef7e036986e54cfe1e04998e (diff)
downloadandroid_frameworks_opt_net_wifi-0b9b32c53a83dea56417bda7bc9ddc1dc1e4222e.tar.gz
android_frameworks_opt_net_wifi-0b9b32c53a83dea56417bda7bc9ddc1dc1e4222e.tar.bz2
android_frameworks_opt_net_wifi-0b9b32c53a83dea56417bda7bc9ddc1dc1e4222e.zip
ExternalScoreEvaluator: factor in active network
When obtaining the score for an externally scored network, indicate whether the network is the currently connected one, which is favored by the external scorer. This helps avoid unnecessary roaming caused by RSSI fluctuation. Bug: 31928897 Test: Wifi framework unit tests Change-Id: I4a0657de58f4dab3fc5e004082dcf5d7c4a02e31
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java
index db3aff14c..e01af28b1 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java
@@ -309,17 +309,24 @@ public class WifiNetworkSelectorTestUtil {
for (int i = 0; i < scanDetails.size(); i++) {
ScanDetail scanDetail = scanDetails.get(i);
- byte rssiScore;
- Integer score = scores[i];
ScanResult scanResult = scanDetail.getScanResult();
WifiKey wifiKey = new WifiKey("\"" + scanResult.SSID + "\"", scanResult.BSSID);
NetworkKey ntwkKey = new NetworkKey(wifiKey);
- if (scores[i] == null) {
- rssiScore = WifiNetworkScoreCache.INVALID_NETWORK_SCORE;
+ RssiCurve rssiCurve;
+
+ if (scores != null) { // fixed score
+ byte rssiScore;
+ Integer score = scores[i];
+
+ if (scores[i] == null) {
+ rssiScore = WifiNetworkScoreCache.INVALID_NETWORK_SCORE;
+ } else {
+ rssiScore = scores[i].byteValue();
+ }
+ rssiCurve = new RssiCurve(-100, 100, new byte[] {rssiScore});
} else {
- rssiScore = scores[i].byteValue();
+ rssiCurve = new RssiCurve(-80, 20, new byte[] {-10, 0, 10, 20, 30, 40});
}
- RssiCurve rssiCurve = new RssiCurve(-100, 100, new byte[] {rssiScore});
ScoredNetwork scoredNetwork = new ScoredNetwork(ntwkKey, rssiCurve, meteredHints[i]);
networks.add(scoredNetwork);