blob: 22d9b01b0f41a7ac78e246ad6a59a2a5d183f94e [file] [log] [blame]
Remi NGUYEN VAN21c854a2021-03-08 22:05:03 +09001<?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 VAN5a42a5f2021-03-09 13:35:25 +090045 <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 VAN0d4c78d2021-03-17 23:14:53 +090055 <!-- 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 VAN97fad722021-03-19 17:41:48 +090065 <!-- 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 VAN0d4c78d2021-03-17 23:14:53 +090070
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 Jean020b93a2022-09-01 13:20:14 +090081 <!-- 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 Jean11b4d5e2022-09-30 14:44:55 +0900100 <integer translatable="false" name="config_activelyPreferBadWifi">0</integer>
Chalard Jean020b93a2022-09-01 13:20:14 +0900101
Remi NGUYEN VAN97fad722021-03-19 17:41:48 +0900102 <!-- 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 VAN57c03802021-03-31 17:07:45 +0900131 <!-- 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 VAN3a8198c2021-07-01 14:14:13 +0900135 <!-- Whether to cancel network notifications automatically when tapped -->
136 <bool name="config_autoCancelNetworkNotifications">true</bool>
137
Remi NGUYEN VAN5dc6ca02021-07-30 18:14:48 +0900138 <!-- When no internet or partial connectivity is detected on a network, and a high priority
139 (heads up) notification would be shown due to the network being explicitly selected,
140 directly show the dialog that would normally be shown when tapping the notification
141 instead of showing the notification. -->
142 <bool name="config_notifyNoInternetAsDialogWhenHighPriority">false</bool>
143
144 <!-- When showing notifications indicating partial connectivity, display the same notifications
145 as no connectivity instead. This may be easier to understand for users but offers less
146 details on what is happening. -->
147 <bool name="config_partialConnectivityNotifiedAsNoInternet">false</bool>
148
Chalard Jean0702f982021-09-16 21:50:07 +0900149 <!-- Whether the cell radio of the device is capable of timesharing.
150
151 Whether the cell radio is capable of timesharing between two different networks
152 even for a few seconds. When this is false, the networking stack will ask telephony
153 networks to disconnect immediately, instead of lingering, when outscored by some
154 other telephony network (typically on another subscription). This deprives apps
155 of a chance to gracefully migrate to the new network and degrades the experience
156 for apps, so it should only be set to false when timesharing on the cell radio has
157 extreme adverse effects on performance of the new network.
158 -->
159 <bool translatable="false" name="config_cellular_radio_timesharing_capable">true</bool>
Xiao Ma0a171c02022-01-23 16:14:51 +0000160
161 <!-- Configure ethernet tcp buffersizes in the form:
162 rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max -->
163 <string translatable="false" name="config_ethernet_tcp_buffers">524288,1048576,3145728,524288,1048576,2097152</string>
164
165 <!-- Configuration of Ethernet interfaces in the following format:
166 <interface name|mac address>;[Network Capabilities];[IP config];[Override Transport]
167 Where
168 [Network Capabilities] Optional. A comma separated list of network capabilities.
169 Values must be from NetworkCapabilities#NET_CAPABILITY_* constants.
170 The NOT_ROAMING, NOT_CONGESTED and NOT_SUSPENDED capabilities are always
171 added automatically because this configuration provides no way to update
172 them dynamically.
173 [IP config] Optional. If empty or not specified - DHCP will be used, otherwise
174 use the following format to specify static IP configuration:
175 ip=<ip-address/mask> gateway=<ip-address> dns=<comma-sep-ip-addresses>
176 domains=<comma-sep-domains>
177 [Override Transport] Optional. An override network transport type to allow
178 the propagation of an interface type on the other end of a local Ethernet
179 interface. Value must be from NetworkCapabilities#TRANSPORT_* constants. If
180 left out, this will default to TRANSPORT_ETHERNET.
181 -->
182 <string-array translatable="false" name="config_ethernet_interfaces">
183 <!--
184 <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>
185 <item>eth2;;ip=192.168.0.11/24</item>
186 <item>eth3;12,13,14,15;ip=192.168.0.12/24;1</item>
187 -->
188 </string-array>
189
190 <!-- Regex of wired ethernet ifaces -->
191 <string translatable="false" name="config_ethernet_iface_regex">eth\\d</string>
he_won.hwang881307a2022-03-15 21:23:52 +0900192
193 <!-- Ignores Wi-Fi validation failures after roam.
194 If validation fails on a Wi-Fi network after a roam to a new BSSID,
195 assume that the roam temporarily disrupted network connectivity, and
196 ignore all failures until this time has passed.
197 NetworkMonitor will continue to attempt validation, and if it fails after this time has passed,
198 the network will be marked unvalidated.
199
Lorenzo Colittia63e2342022-03-23 23:17:16 +0900200 Only supported up to S. On T+, the Wi-Fi code should use unregisterAfterReplacement in order
he_won.hwang881307a2022-03-15 21:23:52 +0900201 to ensure that apps see the network disconnect and reconnect. -->
202 <integer translatable="false" name="config_validationFailureAfterRoamIgnoreTimeMillis">-1</integer>
Junyu Laie72c8492022-06-11 17:10:54 +0800203
204 <!-- Whether the network stats service should run compare on the result of
205 {@link NetworkStatsDataMigrationUtils#readPlatformCollection} and the result
206 of reading from legacy recorders. Possible values are:
207 0 = never compare,
208 1 = always compare,
209 2 = compare on debuggable builds (default value)
210 -->
211 <integer translatable="false" name="config_netstats_validate_import">2</integer>
Remi NGUYEN VAN0d4c78d2021-03-17 23:14:53 +0900212</resources>