diff options
author | Randy Pan <zpan@google.com> | 2016-10-05 11:40:51 -0700 |
---|---|---|
committer | Randy Pan <zpan@google.com> | 2016-10-10 12:00:53 -0700 |
commit | 0b9b32c53a83dea56417bda7bc9ddc1dc1e4222e (patch) | |
tree | 42f368adfe7afc5037052bb59dfddb9db72a75fc /tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java | |
parent | 67344e5255ad4c00ef7e036986e54cfe1e04998e (diff) | |
download | android_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.java | 19 |
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); |