Parameterize ThroughputScorer

This makes the salient parameters of ThroughputScorer configurable
via an overlay.

Set the default parameters so that unmetered networks are preferred
over metered networks, and within each of those categories, saved networks
are preferred over suggestions. However, being the last-suggested network
can override both of these for a limited time.

Bug: 136675430
Bug: 142081306
Test: atest FrameworksWifiTests (currently 1 disabled)
Change-Id: I54ba20c93a99c3bd3e261faca1b0ec3f1c46e50a
diff --git a/service/res/values/config.xml b/service/res/values/config.xml
index f95f4d6..fb3b02f 100644
--- a/service/res/values/config.xml
+++ b/service/res/values/config.xml
@@ -72,6 +72,32 @@
     <!-- Boolean indicating whether or not wifi should turn off when emergency call is made -->
     <bool translatable="false" name="config_wifi_turn_off_during_emergency_call">false</bool>
 
+    <!-- Parameters for controlling network selection by the framework -->
+
+    <!-- The ratio of the next two parameters is the multiplier that converts the estimated
+         throughput in Mbps to score points. -->
+    <integer translatable="false" name="config_wifiFrameworkThroughputBonusNumerator">120</integer>
+    <integer translatable="false" name="config_wifiFrameworkThroughputBonusDenominator">433</integer>
+
+    <!-- Maximum contribution (in score points) due to the estimated throughput. -->
+    <integer translatable="false" name="config_wifiFrameworkThroughputBonusLimit">200</integer>
+
+    <!-- The default values chosen here establish four non-overlapping categories:
+             saved, unmetered
+             unsaved, unmetered
+             saved, metered
+             unsaved, metered
+         These values can be reduced to allow overlapping between categories. -->
+    <integer translatable="false" name="config_wifiFrameworkSavedNetworkBonus">500</integer>
+    <integer translatable="false" name="config_wifiFrameworkUnmeteredNetworkBonus">1000</integer>
+
+    <integer translatable="false" name="config_wifiFrameworkCurrentNetworkBonus">20</integer>
+    <integer translatable="false" name="config_wifiFrameworkSecureNetworkBonus">10</integer>
+
+    <!-- The bonus for the last-selected network starts out very large to override the category
+         boundaries. -->
+    <integer translatable="false" name="config_wifiFrameworkLastSelectionBonus">1999</integer>
+
     <!-- Integers specifying the max packet Tx/Rx rates for full scan -->
     <integer translatable="false" name="config_wifi_framework_max_tx_rate_for_full_scan">8</integer>
     <integer translatable="false" name="config_wifi_framework_max_rx_rate_for_full_scan">16</integer>