1<?xml version="1.0" encoding="utf-8"?> 2<!-- Copyright (C) 2020 The Android Open Source Project 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15--> 16<resources> 17 <!-- 18 OEMs that wish to change the below settings must do so via a runtime resource overlay package 19 and *NOT* by changing this file. This file is part of the tethering mainline module. 20 TODO: define two resources for each config item: a default_* resource and a config_* resource, 21 config_* is empty by default but may be overridden by RROs. 22 --> 23 <!-- List of regexpressions describing the interface (if any) that represent tetherable 24 USB interfaces. If the device doesn't want to support tethering over USB this should 25 be empty. An example would be "usb.*" --> 26 <string-array translatable="false" name="config_tether_usb_regexs"> 27 <item>"usb\\d"</item> 28 <item>"rndis\\d"</item> 29 </string-array> 30 31 <!-- List of regexpressions describing the interface (if any) that represent tetherable 32 NCM interfaces. If the device doesn't want to support tethering over NCM this should 33 be empty. --> 34 <string-array translatable="false" name="config_tether_ncm_regexs"> 35 </string-array> 36 37 <!-- List of regexpressions describing the interface (if any) that represent tetherable 38 Wifi interfaces. If the device doesn't want to support tethering over Wifi this 39 should be empty. An example would be "softap.*" --> 40 <string-array translatable="false" name="config_tether_wifi_regexs"> 41 <item>"wlan\\d"</item> 42 <item>"softap\\d"</item> 43 <item>"ap_br_wlan\\d"</item> 44 <item>"ap_br_softap\\d"</item> 45 </string-array> 46 47 <!-- List of regexpressions describing the interface (if any) that represent tetherable 48 WiGig interfaces. If the device doesn't want to support tethering over WiGig this 49 should be empty. An example would be "wigig\\d" --> 50 <string-array translatable="false" name="config_tether_wigig_regexs"> 51 <item>"wigig\\d"</item> 52 </string-array> 53 54 <!-- List of regexpressions describing the interface (if any) that represent tetherable 55 Wifi P2P interfaces. If the device doesn't want to support tethering over Wifi P2p this 56 should be empty. An example would be "p2p-p2p\\d-.*" --> 57 <string-array translatable="false" name="config_tether_wifi_p2p_regexs"> 58 <item>"p2p-p2p\\d-.*"</item> 59 <item>"p2p\\d"</item> 60 </string-array> 61 62 <!-- List of regexpressions describing the interface (if any) that represent tetherable 63 bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this 64 should be empty. --> 65 <string-array translatable="false" name="config_tether_bluetooth_regexs"> 66 <item>"bt-pan"</item> 67 </string-array> 68 69 <!-- Use the BPF offload for tethering when the kernel has support. True by default. 70 If the device doesn't want to support tether BPF offload, this should be false. 71 Note that this setting could be overridden by device config. 72 --> 73 <bool translatable="false" name="config_tether_enable_bpf_offload">true</bool> 74 75 <!-- Use the old dnsmasq DHCP server for tethering instead of the framework implementation. --> 76 <bool translatable="false" name="config_tether_enable_legacy_dhcp_server">false</bool> 77 78 <!-- Use legacy wifi p2p dedicated address instead of randomize address. --> 79 <bool translatable="false" name="config_tether_enable_legacy_wifi_p2p_dedicated_ip">false</bool> 80 81 <!-- Dhcp range (min, max) to use for tethering purposes --> 82 <string-array translatable="false" name="config_tether_dhcp_range"> 83 </string-array> 84 85 <!-- Used to config periodic polls tether offload stats from tethering offload HAL to make the 86 data warnings work. 5000(ms) by default. If the device doesn't want to poll tether 87 offload stats, this should be -1. Note that this setting could be override by 88 runtime resource overlays. 89 --> 90 <integer translatable="false" name="config_tether_offload_poll_interval">5000</integer> 91 92 <!-- Array of ConnectivityManager.TYPE_{BLUETOOTH, ETHERNET, MOBILE, MOBILE_DUN, MOBILE_HIPRI, 93 WIFI} values allowable for tethering. 94 95 Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or 96 [1,7,0] for TYPE_WIFI, TYPE_BLUETOOTH, and TYPE_MOBILE. 97 98 This list is also modified by code within the framework, including: 99 100 - TYPE_ETHERNET (9) is prepended to this list, and 101 102 - the return value of TelephonyManager.isTetheringApnRequired() 103 determines how the array is further modified: 104 105 * TRUE (DUN REQUIRED). 106 TYPE_MOBILE is removed (if present). 107 TYPE_MOBILE_HIPRI is removed (if present). 108 TYPE_MOBILE_DUN is appended (if not already present). 109 110 * FALSE (DUN NOT REQUIRED). 111 TYPE_MOBILE_DUN is removed (if present). 112 If both of TYPE_MOBILE{,_HIPRI} are not present: 113 TYPE_MOBILE is appended. 114 TYPE_MOBILE_HIPRI is appended. 115 116 For other changes applied to this list, now and in the future, see 117 com.android.networkstack.tethering.TetheringConfiguration. 118 119 Note also: the order of this is important. The first upstream type 120 for which a satisfying network exists is used. 121 --> 122 <integer-array translatable="false" name="config_tether_upstream_types"> 123 </integer-array> 124 125 <!-- When true, the tethering upstream network follows the current default 126 Internet network (except when the current default network is mobile, 127 in which case a DUN network will be used if required). 128 129 When true, overrides the config_tether_upstream_types setting above. 130 --> 131 <bool translatable="false" name="config_tether_upstream_automatic">true</bool> 132 133 134 <!-- If the mobile hotspot feature requires provisioning, a package name and class name 135 can be provided to launch a supported application that provisions the devices. 136 EntitlementManager will send an intent to Settings with the specified package name and 137 class name in extras to launch provision app. 138 TODO: note what extras here. 139 140 See EntitlementManager#runUiTetherProvisioning and 141 packages/apps/Settings/src/com/android/settings/network/TetherProvisioningActivity.java 142 for more details. 143 144 For ui-less/periodic recheck support see config_mobile_hotspot_provision_app_no_ui 145 --> 146 <!-- The first element is the package name and the second element is the class name 147 of the provisioning app --> 148 <string-array translatable="false" name="config_mobile_hotspot_provision_app"> 149 <!-- 150 <item>com.example.provisioning</item> 151 <item>com.example.provisioning.Activity</item> 152 --> 153 </string-array> 154 155 <!-- If the mobile hotspot feature requires provisioning, an action can be provided 156 that will be broadcast in non-ui cases for checking the provisioning status. 157 EntitlementManager will pass the specified name to Settings and Settings would 158 launch provisioning app by sending an intent with the package name. 159 160 A second broadcast, action defined by config_mobile_hotspot_provision_response, 161 will be sent back to notify if provisioning succeeded or not. The response will 162 match that of the activity in config_mobile_hotspot_provision_app, but instead 163 contained within the int extra "EntitlementResult". 164 TODO: provide the system api for "EntitlementResult" extra and note it here. 165 166 See EntitlementManager#runSilentTetherProvisioning and 167 packages/apps/Settings/src/com/android/settings/wifi/tether/TetherService.java for more 168 details. 169 --> 170 <string translatable="false" name="config_mobile_hotspot_provision_app_no_ui"></string> 171 172 <!-- Sent in response to a provisioning check. The caller must hold the 173 permission android.permission.TETHER_PRIVILEGED for Settings to 174 receive this response. 175 176 See config_mobile_hotspot_provision_response 177 --> 178 <string translatable="false" name="config_mobile_hotspot_provision_response"></string> 179 180 <!-- Number of hours between each background provisioning call --> 181 <integer translatable="false" name="config_mobile_hotspot_provision_check_period">24</integer> 182 183 <!-- ComponentName of the service used to run no ui tether provisioning. --> 184 <string translatable="false" name="config_wifi_tether_enable">com.android.settings/.wifi.tether.TetherService</string> 185 186 <!-- No upstream notification is shown when there is a downstream but no upstream that is able 187 to do the tethering. --> 188 <!-- Delay(millisecond) to show no upstream notification after there's no Backhaul. Set delay to 189 "-1" for disable this feature. --> 190 <integer name="delay_to_show_no_upstream_after_no_backhaul">-1</integer> 191 192 <!-- Cellular roaming notification is shown when upstream is cellular network and in roaming 193 state. --> 194 <!-- Config for showing upstream roaming notification. --> 195 <bool name="config_upstream_roaming_notification">false</bool> 196 197 <!-- Which USB function should be enabled when TETHERING_USB is requested. 0: RNDIS, 1: NCM. 198 --> 199 <integer translatable="false" name="config_tether_usb_functions">0</integer> 200</resources> 201