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