• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
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
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
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>
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
81    <!-- Array of ConnectivityManager.TYPE_xxxx constants for networks that may only
82         be controlled by systemOrSignature apps.  -->
83    <integer-array translatable="false" name="config_protectedNetworks">
84        <item>10</item>
85        <item>11</item>
86        <item>12</item>
87        <item>14</item>
88        <item>15</item>
89    </integer-array>
90
91    <!-- Whether the internal vehicle network should remain active even when no
92         apps requested it. -->
93    <bool name="config_vehicleInternalNetworkAlwaysRequested">false</bool>
94
95
96    <!-- If the hardware supports specially marking packets that caused a wakeup of the
97         main CPU, set this value to the mark used. -->
98    <integer name="config_networkWakeupPacketMark">0</integer>
99
100    <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. -->
101    <integer name="config_networkWakeupPacketMask">0</integer>
102
103    <!-- Whether/how to notify the user on network switches. See LingerMonitor.java. -->
104    <integer translatable="false" name="config_networkNotifySwitchType">0</integer>
105
106    <!-- What types of network switches to notify. See LingerMonitor.java. -->
107    <string-array translatable="false" name="config_networkNotifySwitches">
108    </string-array>
109
110    <!-- Whether to use an ongoing notification for signing in to captive portals, instead of a
111         notification that can be dismissed. -->
112    <bool name="config_ongoingSignInNotification">false</bool>
113
114    <!-- Whether to cancel network notifications automatically when tapped -->
115    <bool name="config_autoCancelNetworkNotifications">true</bool>
116
117    <!-- When no internet or partial connectivity is detected on a network, and a high priority
118         (heads up) notification would be shown due to the network being explicitly selected,
119         directly show the dialog that would normally be shown when tapping the notification
120         instead of showing the notification. -->
121    <bool name="config_notifyNoInternetAsDialogWhenHighPriority">false</bool>
122
123    <!-- When showing notifications indicating partial connectivity, display the same notifications
124         as no connectivity instead. This may be easier to understand for users but offers less
125         details on what is happening. -->
126    <bool name="config_partialConnectivityNotifiedAsNoInternet">false</bool>
127
128    <!-- Whether the cell radio of the device is capable of timesharing.
129
130         Whether the cell radio is capable of timesharing between two different networks
131         even for a few seconds. When this is false, the networking stack will ask telephony
132         networks to disconnect immediately, instead of lingering, when outscored by some
133         other telephony network (typically on another subscription). This deprives apps
134         of a chance to gracefully migrate to the new network and degrades the experience
135         for apps, so it should only be set to false when timesharing on the cell radio has
136         extreme adverse effects on performance of the new network.
137    -->
138    <bool translatable="false" name="config_cellular_radio_timesharing_capable">true</bool>
139
140    <!-- Configure ethernet tcp buffersizes in the form:
141         rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max -->
142    <string translatable="false" name="config_ethernet_tcp_buffers">524288,1048576,3145728,524288,1048576,2097152</string>
143
144    <!-- Configuration of Ethernet interfaces in the following format:
145         <interface name|mac address>;[Network Capabilities];[IP config];[Override Transport]
146         Where
147               [Network Capabilities] Optional. A comma separated list of network capabilities.
148                   Values must be from NetworkCapabilities#NET_CAPABILITY_* constants.
149                   The NOT_ROAMING, NOT_CONGESTED and NOT_SUSPENDED capabilities are always
150                   added automatically because this configuration provides no way to update
151                   them dynamically.
152               [IP config] Optional. If empty or not specified - DHCP will be used, otherwise
153                   use the following format to specify static IP configuration:
154                       ip=<ip-address/mask> gateway=<ip-address> dns=<comma-sep-ip-addresses>
155                       domains=<comma-sep-domains>
156               [Override Transport] Optional. An override network transport type to allow
157                    the propagation of an interface type on the other end of a local Ethernet
158                    interface. Value must be from NetworkCapabilities#TRANSPORT_* constants. If
159                    left out, this will default to TRANSPORT_ETHERNET.
160         -->
161    <string-array translatable="false" name="config_ethernet_interfaces">
162        <!--
163        <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>
164        <item>eth2;;ip=192.168.0.11/24</item>
165        <item>eth3;12,13,14,15;ip=192.168.0.12/24;1</item>
166        -->
167    </string-array>
168
169    <!-- Regex of wired ethernet ifaces -->
170    <string translatable="false" name="config_ethernet_iface_regex">eth\\d</string>
171
172    <!-- Ignores Wi-Fi validation failures after roam.
173    If validation fails on a Wi-Fi network after a roam to a new BSSID,
174    assume that the roam temporarily disrupted network connectivity, and
175    ignore all failures until this time has passed.
176    NetworkMonitor will continue to attempt validation, and if it fails after this time has passed,
177    the network will be marked unvalidated.
178
179    Only supported up to S. On T+, the Wi-Fi code should use unregisterAfterReplacement in order
180    to ensure that apps see the network disconnect and reconnect. -->
181    <integer translatable="false" name="config_validationFailureAfterRoamIgnoreTimeMillis">-1</integer>
182
183    <!-- Whether the network stats service should run compare on the result of
184    {@link NetworkStatsDataMigrationUtils#readPlatformCollection} and the result
185    of reading from legacy recorders. Possible values are:
186      0 = never compare,
187      1 = always compare,
188      2 = compare on debuggable builds (default value)
189      -->
190    <integer translatable="false" name="config_netstats_validate_import">2</integer>
191</resources>
192