Remi NGUYEN VAN | 21c854a | 2021-03-08 22:05:03 +0900 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <!-- |
| 3 | ~ Copyright (C) 2021 The Android Open Source Project |
| 4 | ~ |
| 5 | ~ Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | ~ you may not use this file except in compliance with the License. |
| 7 | ~ You may obtain a copy of the License at |
| 8 | ~ |
| 9 | ~ http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | ~ |
| 11 | ~ Unless required by applicable law or agreed to in writing, software |
| 12 | ~ distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | ~ See the License for the specific language governing permissions and |
| 15 | ~ limitations under the License. |
| 16 | --> |
| 17 | |
| 18 | <!-- Configuration values for ConnectivityService |
| 19 | DO NOT EDIT THIS FILE for specific device configuration; instead, use a Runtime Resources |
| 20 | Overlay package following the overlayable.xml configuration in the same directory: |
| 21 | https://source.android.com/devices/architecture/rros --> |
| 22 | <resources> |
| 23 | |
| 24 | <!-- Configuration hook for the URL returned by ConnectivityManager#getCaptivePortalServerUrl. |
| 25 | If empty, the returned value is controlled by Settings.Global.CAPTIVE_PORTAL_HTTP_URL, |
| 26 | and if that value is empty, the framework will use a hard-coded default. |
| 27 | This is *NOT* a URL that will always be used by the system network validation to detect |
| 28 | captive portals: NetworkMonitor may use different strategies and will not necessarily use |
| 29 | this URL. NetworkMonitor behaviour should be configured with NetworkStack resource overlays |
| 30 | instead. --> |
| 31 | <!--suppress CheckTagEmptyBody --> |
| 32 | <string translatable="false" name="config_networkCaptivePortalServerUrl"></string> |
| 33 | |
| 34 | <!-- The maximum duration (in milliseconds) we expect a network transition to take --> |
| 35 | <integer name="config_networkTransitionTimeout">60000</integer> |
| 36 | |
| 37 | <!-- Configuration of network interfaces that support WakeOnLAN --> |
| 38 | <string-array translatable="false" name="config_wakeonlan_supported_interfaces"> |
| 39 | <!-- |
| 40 | <item>wlan0</item> |
| 41 | <item>eth0</item> |
| 42 | --> |
| 43 | </string-array> |
| 44 | |
Remi NGUYEN VAN | 5a42a5f | 2021-03-09 13:35:25 +0900 | [diff] [blame] | 45 | <string-array translatable="false" name="config_legacy_networktype_restore_timers"> |
| 46 | <item>2,60000</item><!-- mobile_mms --> |
| 47 | <item>3,60000</item><!-- mobile_supl --> |
| 48 | <item>4,60000</item><!-- mobile_dun --> |
| 49 | <item>5,60000</item><!-- mobile_hipri --> |
| 50 | <item>10,60000</item><!-- mobile_fota --> |
| 51 | <item>11,60000</item><!-- mobile_ims --> |
| 52 | <item>12,60000</item><!-- mobile_cbs --> |
| 53 | </string-array> |
| 54 | |
Remi NGUYEN VAN | 0d4c78d | 2021-03-17 23:14:53 +0900 | [diff] [blame] | 55 | <!-- Default supported concurrent socket keepalive slots per transport type, used by |
| 56 | ConnectivityManager.createSocketKeepalive() for calculating the number of keepalive |
| 57 | offload slots that should be reserved for privileged access. This string array should be |
| 58 | overridden by the device to present the capability of creating socket keepalives. --> |
| 59 | <!-- An Array of "[NetworkCapabilities.TRANSPORT_*],[supported keepalives] --> |
| 60 | <string-array translatable="false" name="config_networkSupportedKeepaliveCount"> |
| 61 | <item>0,1</item> |
| 62 | <item>1,3</item> |
| 63 | </string-array> |
| 64 | |
Remi NGUYEN VAN | 97fad72 | 2021-03-19 17:41:48 +0900 | [diff] [blame] | 65 | <!-- Reserved privileged keepalive slots per transport. --> |
| 66 | <integer translatable="false" name="config_reservedPrivilegedKeepaliveSlots">2</integer> |
| 67 | |
| 68 | <!-- Allowed unprivileged keepalive slots per uid. --> |
| 69 | <integer translatable="false" name="config_allowedUnprivilegedKeepalivePerUid">2</integer> |
Remi NGUYEN VAN | 0d4c78d | 2021-03-17 23:14:53 +0900 | [diff] [blame] | 70 | |
| 71 | <!-- Default value for ConnectivityManager.getMultipathPreference() on metered networks. Actual |
| 72 | device behaviour is controlled by the metered multipath preference in |
| 73 | ConnectivitySettingsManager. This is the default value of that setting. --> |
| 74 | <integer translatable="false" name="config_networkMeteredMultipathPreference">0</integer> |
| 75 | |
| 76 | <!-- Whether the device should automatically switch away from Wi-Fi networks that lose |
| 77 | Internet access. Actual device behaviour is controlled by |
| 78 | Settings.Global.NETWORK_AVOID_BAD_WIFI. This is the default value of that setting. --> |
| 79 | <integer translatable="false" name="config_networkAvoidBadWifi">1</integer> |
| 80 | |
Chalard Jean | 020b93a | 2022-09-01 13:20:14 +0900 | [diff] [blame] | 81 | <!-- Whether the device should actively prefer bad wifi to good cell on Android 12/13. |
| 82 | |
| 83 | This setting only makes sense if the system is configured not to avoid bad wifis |
| 84 | (config_networkAvoidBadWifi=0 and Settings.Global.NETWORK_AVOID_BAD_WIFI=IGNORE |
| 85 | or PROMPT), otherwise it's not used. |
| 86 | |
| 87 | On Android 12 and 13, if this is 0, when ranking a bad wifi that never validated against |
| 88 | validated mobile data, the system will prefer mobile data. It will prefer wifi if wifi |
| 89 | loses validation later. This is the default behavior up to Android 13. |
| 90 | This behavior avoids the device losing internet access when walking past a wifi network |
| 91 | with no internet access. |
| 92 | |
| 93 | If this is 1, then in the same scenario, the system will prefer mobile data until the wifi |
| 94 | completes its first validation attempt (or the attempt times out), and after that it |
| 95 | will prefer the wifi even if it doesn't provide internet access, unless there is a captive |
| 96 | portal on that wifi. |
| 97 | |
| 98 | On Android 14 and above, the behavior is always like 1, regardless of the value of this |
| 99 | setting. --> |
Chalard Jean | 11b4d5e | 2022-09-30 14:44:55 +0900 | [diff] [blame] | 100 | <integer translatable="false" name="config_activelyPreferBadWifi">0</integer> |
Chalard Jean | 020b93a | 2022-09-01 13:20:14 +0900 | [diff] [blame] | 101 | |
Remi NGUYEN VAN | 97fad72 | 2021-03-19 17:41:48 +0900 | [diff] [blame] | 102 | <!-- Array of ConnectivityManager.TYPE_xxxx constants for networks that may only |
| 103 | be controlled by systemOrSignature apps. --> |
| 104 | <integer-array translatable="false" name="config_protectedNetworks"> |
| 105 | <item>10</item> |
| 106 | <item>11</item> |
| 107 | <item>12</item> |
| 108 | <item>14</item> |
| 109 | <item>15</item> |
| 110 | </integer-array> |
| 111 | |
| 112 | <!-- Whether the internal vehicle network should remain active even when no |
| 113 | apps requested it. --> |
| 114 | <bool name="config_vehicleInternalNetworkAlwaysRequested">false</bool> |
| 115 | |
| 116 | |
| 117 | <!-- If the hardware supports specially marking packets that caused a wakeup of the |
| 118 | main CPU, set this value to the mark used. --> |
| 119 | <integer name="config_networkWakeupPacketMark">0</integer> |
| 120 | |
| 121 | <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. --> |
| 122 | <integer name="config_networkWakeupPacketMask">0</integer> |
| 123 | |
| 124 | <!-- Whether/how to notify the user on network switches. See LingerMonitor.java. --> |
| 125 | <integer translatable="false" name="config_networkNotifySwitchType">0</integer> |
| 126 | |
| 127 | <!-- What types of network switches to notify. See LingerMonitor.java. --> |
| 128 | <string-array translatable="false" name="config_networkNotifySwitches"> |
| 129 | </string-array> |
| 130 | |
Remi NGUYEN VAN | 57c0380 | 2021-03-31 17:07:45 +0900 | [diff] [blame] | 131 | <!-- Whether to use an ongoing notification for signing in to captive portals, instead of a |
| 132 | notification that can be dismissed. --> |
| 133 | <bool name="config_ongoingSignInNotification">false</bool> |
| 134 | |
Remi NGUYEN VAN | 3a8198c | 2021-07-01 14:14:13 +0900 | [diff] [blame] | 135 | <!-- Whether to cancel network notifications automatically when tapped --> |
| 136 | <bool name="config_autoCancelNetworkNotifications">true</bool> |
| 137 | |
Chalard Jean | e13b833 | 2023-06-05 18:47:42 +0900 | [diff] [blame] | 138 | <!-- Configuration to let OEMs customize what to do when : |
| 139 | • Partial connectivity is detected on the network |
| 140 | • No internet is detected on the network, and |
| 141 | - the network was explicitly selected |
| 142 | - the system is configured to actively prefer bad wifi (see config_activelyPreferBadWifi) |
| 143 | The default behavior (false) is to post a notification with a PendingIntent so |
| 144 | the user is informed and can act if they wish. |
| 145 | Making this true instead will have the system fire the intent immediately instead |
| 146 | of showing a notification. OEMs who do this should have some intent receiver |
| 147 | listening to the intent and take the action they prefer (e.g. show a dialog, |
| 148 | show a customized notification etc). --> |
Remi NGUYEN VAN | 5dc6ca0 | 2021-07-30 18:14:48 +0900 | [diff] [blame] | 149 | <bool name="config_notifyNoInternetAsDialogWhenHighPriority">false</bool> |
| 150 | |
| 151 | <!-- When showing notifications indicating partial connectivity, display the same notifications |
| 152 | as no connectivity instead. This may be easier to understand for users but offers less |
| 153 | details on what is happening. --> |
| 154 | <bool name="config_partialConnectivityNotifiedAsNoInternet">false</bool> |
| 155 | |
Chalard Jean | 0702f98 | 2021-09-16 21:50:07 +0900 | [diff] [blame] | 156 | <!-- Whether the cell radio of the device is capable of timesharing. |
| 157 | |
| 158 | Whether the cell radio is capable of timesharing between two different networks |
| 159 | even for a few seconds. When this is false, the networking stack will ask telephony |
| 160 | networks to disconnect immediately, instead of lingering, when outscored by some |
| 161 | other telephony network (typically on another subscription). This deprives apps |
| 162 | of a chance to gracefully migrate to the new network and degrades the experience |
| 163 | for apps, so it should only be set to false when timesharing on the cell radio has |
| 164 | extreme adverse effects on performance of the new network. |
| 165 | --> |
| 166 | <bool translatable="false" name="config_cellular_radio_timesharing_capable">true</bool> |
Xiao Ma | 0a171c0 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 167 | |
| 168 | <!-- Configure ethernet tcp buffersizes in the form: |
| 169 | rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max --> |
| 170 | <string translatable="false" name="config_ethernet_tcp_buffers">524288,1048576,3145728,524288,1048576,2097152</string> |
| 171 | |
| 172 | <!-- Configuration of Ethernet interfaces in the following format: |
| 173 | <interface name|mac address>;[Network Capabilities];[IP config];[Override Transport] |
| 174 | Where |
| 175 | [Network Capabilities] Optional. A comma separated list of network capabilities. |
| 176 | Values must be from NetworkCapabilities#NET_CAPABILITY_* constants. |
| 177 | The NOT_ROAMING, NOT_CONGESTED and NOT_SUSPENDED capabilities are always |
| 178 | added automatically because this configuration provides no way to update |
| 179 | them dynamically. |
| 180 | [IP config] Optional. If empty or not specified - DHCP will be used, otherwise |
| 181 | use the following format to specify static IP configuration: |
| 182 | ip=<ip-address/mask> gateway=<ip-address> dns=<comma-sep-ip-addresses> |
| 183 | domains=<comma-sep-domains> |
| 184 | [Override Transport] Optional. An override network transport type to allow |
| 185 | the propagation of an interface type on the other end of a local Ethernet |
| 186 | interface. Value must be from NetworkCapabilities#TRANSPORT_* constants. If |
| 187 | left out, this will default to TRANSPORT_ETHERNET. |
| 188 | --> |
| 189 | <string-array translatable="false" name="config_ethernet_interfaces"> |
| 190 | <!-- |
| 191 | <item>eth1;12,13,14,15;ip=192.168.0.10/24 gateway=192.168.0.1 dns=4.4.4.4,8.8.8.8</item> |
| 192 | <item>eth2;;ip=192.168.0.11/24</item> |
| 193 | <item>eth3;12,13,14,15;ip=192.168.0.12/24;1</item> |
| 194 | --> |
| 195 | </string-array> |
| 196 | |
Patrick Rohr | 11eac8e | 2023-10-11 17:32:32 -0700 | [diff] [blame] | 197 | <!-- Regex of wired ethernet ifaces. Network interfaces that match this regex will be tracked |
| 198 | by ethernet service. |
| 199 | If set to "*", ethernet service uses "(eth|usb)\\d+" on Android U+ and eth\\d+ on |
| 200 | Android T. --> |
| 201 | <string translatable="false" name="config_ethernet_iface_regex">*</string> |
he_won.hwang | 881307a | 2022-03-15 21:23:52 +0900 | [diff] [blame] | 202 | |
| 203 | <!-- Ignores Wi-Fi validation failures after roam. |
| 204 | If validation fails on a Wi-Fi network after a roam to a new BSSID, |
| 205 | assume that the roam temporarily disrupted network connectivity, and |
| 206 | ignore all failures until this time has passed. |
| 207 | NetworkMonitor will continue to attempt validation, and if it fails after this time has passed, |
| 208 | the network will be marked unvalidated. |
| 209 | |
Lorenzo Colitti | a63e234 | 2022-03-23 23:17:16 +0900 | [diff] [blame] | 210 | Only supported up to S. On T+, the Wi-Fi code should use unregisterAfterReplacement in order |
he_won.hwang | 881307a | 2022-03-15 21:23:52 +0900 | [diff] [blame] | 211 | to ensure that apps see the network disconnect and reconnect. --> |
| 212 | <integer translatable="false" name="config_validationFailureAfterRoamIgnoreTimeMillis">-1</integer> |
Junyu Lai | e72c849 | 2022-06-11 17:10:54 +0800 | [diff] [blame] | 213 | |
| 214 | <!-- Whether the network stats service should run compare on the result of |
| 215 | {@link NetworkStatsDataMigrationUtils#readPlatformCollection} and the result |
| 216 | of reading from legacy recorders. Possible values are: |
| 217 | 0 = never compare, |
| 218 | 1 = always compare, |
| 219 | 2 = compare on debuggable builds (default value) |
| 220 | --> |
| 221 | <integer translatable="false" name="config_netstats_validate_import">2</integer> |
Remi NGUYEN VAN | 0d4c78d | 2021-03-17 23:14:53 +0900 | [diff] [blame] | 222 | </resources> |