markchien | 932da86 | 2019-08-27 10:19:38 +0800 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?> |
markchien | 6fbbdff | 2020-01-12 17:13:58 +0800 | [diff] [blame] | 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 | --> |
markchien | 932da86 | 2019-08-27 10:19:38 +0800 | [diff] [blame] | 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. |
markchien | 6fbbdff | 2020-01-12 17:13:58 +0800 | [diff] [blame] | 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. |
markchien | 932da86 | 2019-08-27 10:19:38 +0800 | [diff] [blame] | 22 | --> |
markchien | 6fbbdff | 2020-01-12 17:13:58 +0800 | [diff] [blame] | 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 | Wifi interfaces. If the device doesn't want to support tethering over Wifi this |
| 33 | should be empty. An example would be "softap.*" --> |
| 34 | <string-array translatable="false" name="config_tether_wifi_regexs"> |
| 35 | <item>"wlan\\d"</item> |
| 36 | <item>"softap\\d"</item> |
| 37 | </string-array> |
| 38 | |
| 39 | <!-- List of regexpressions describing the interface (if any) that represent tetherable |
| 40 | Wifi P2P interfaces. If the device doesn't want to support tethering over Wifi P2p this |
markchien | 1a4b235 | 2020-01-15 14:25:32 +0800 | [diff] [blame^] | 41 | should be empty. An example would be "p2p-p2p\\d-.*" --> |
markchien | 6fbbdff | 2020-01-12 17:13:58 +0800 | [diff] [blame] | 42 | <string-array translatable="false" name="config_tether_wifi_p2p_regexs"> |
markchien | 1a4b235 | 2020-01-15 14:25:32 +0800 | [diff] [blame^] | 43 | <item>"p2p-p2p\\d-.*"</item> |
markchien | 6fbbdff | 2020-01-12 17:13:58 +0800 | [diff] [blame] | 44 | </string-array> |
| 45 | |
| 46 | <!-- List of regexpressions describing the interface (if any) that represent tetherable |
| 47 | bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this |
| 48 | should be empty. --> |
| 49 | <string-array translatable="false" name="config_tether_bluetooth_regexs"> |
| 50 | <item>"bt-pan"</item> |
| 51 | </string-array> |
| 52 | |
markchien | 9a0b95d | 2020-01-13 16:09:42 +0800 | [diff] [blame] | 53 | <!-- Use the old dnsmasq DHCP server for tethering instead of the framework implementation. --> |
| 54 | <bool translatable="false" name="config_tether_enable_legacy_dhcp_server">false</bool> |
| 55 | |
markchien | 6fbbdff | 2020-01-12 17:13:58 +0800 | [diff] [blame] | 56 | <!-- Dhcp range (min, max) to use for tethering purposes --> |
| 57 | <string-array translatable="false" name="config_tether_dhcp_range"> |
| 58 | </string-array> |
| 59 | |
| 60 | <!-- Array of ConnectivityManager.TYPE_{BLUETOOTH, ETHERNET, MOBILE, MOBILE_DUN, MOBILE_HIPRI, |
| 61 | WIFI} values allowable for tethering. |
| 62 | |
| 63 | Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or |
| 64 | [1,7,0] for TYPE_WIFI, TYPE_BLUETOOTH, and TYPE_MOBILE. |
| 65 | |
| 66 | This list is also modified by code within the framework, including: |
| 67 | |
| 68 | - TYPE_ETHERNET (9) is prepended to this list, and |
| 69 | |
| 70 | - the return value of TelephonyManager.isTetheringApnRequired() |
| 71 | determines how the array is further modified: |
| 72 | |
| 73 | * TRUE (DUN REQUIRED). |
| 74 | TYPE_MOBILE is removed (if present). |
| 75 | TYPE_MOBILE_HIPRI is removed (if present). |
| 76 | TYPE_MOBILE_DUN is appended (if not already present). |
| 77 | |
| 78 | * FALSE (DUN NOT REQUIRED). |
| 79 | TYPE_MOBILE_DUN is removed (if present). |
| 80 | If both of TYPE_MOBILE{,_HIPRI} are not present: |
| 81 | TYPE_MOBILE is appended. |
| 82 | TYPE_MOBILE_HIPRI is appended. |
| 83 | |
| 84 | For other changes applied to this list, now and in the future, see |
| 85 | com.android.server.connectivity.tethering.TetheringConfiguration. |
| 86 | |
| 87 | Note also: the order of this is important. The first upstream type |
| 88 | for which a satisfying network exists is used. |
| 89 | --> |
| 90 | <integer-array translatable="false" name="config_tether_upstream_types"> |
| 91 | </integer-array> |
| 92 | |
| 93 | <!-- When true, the tethering upstream network follows the current default |
| 94 | Internet network (except when the current default network is mobile, |
| 95 | in which case a DUN network will be used if required). |
| 96 | |
| 97 | When true, overrides the config_tether_upstream_types setting above. |
| 98 | --> |
| 99 | <bool translatable="false" name="config_tether_upstream_automatic">true</bool> |
| 100 | |
| 101 | |
| 102 | <!-- If the mobile hotspot feature requires provisioning, a package name and class name |
| 103 | can be provided to launch a supported application that provisions the devices. |
| 104 | EntitlementManager will send an inent to Settings with the specified package name and |
| 105 | class name in extras to launch provision app. |
| 106 | TODO: note what extras here. |
| 107 | |
| 108 | See EntitlementManager#runUiTetherProvisioning and |
| 109 | packages/apps/Settings/src/com/android/settings/network/TetherProvisioningActivity.java |
| 110 | for more details. |
| 111 | |
| 112 | For ui-less/periodic recheck support see config_mobile_hotspot_provision_app_no_ui |
| 113 | --> |
| 114 | <!-- The first element is the package name and the second element is the class name |
| 115 | of the provisioning app --> |
| 116 | <string-array translatable="false" name="config_mobile_hotspot_provision_app"> |
| 117 | <!-- |
| 118 | <item>com.example.provisioning</item> |
| 119 | <item>com.example.provisioning.Activity</item> |
| 120 | --> |
| 121 | </string-array> |
| 122 | |
| 123 | <!-- If the mobile hotspot feature requires provisioning, an action can be provided |
| 124 | that will be broadcast in non-ui cases for checking the provisioning status. |
| 125 | EntitlementManager will pass the specified name to Settings and Settings would |
| 126 | launch provisioning app by sending an intent with the package name. |
| 127 | |
| 128 | A second broadcast, action defined by config_mobile_hotspot_provision_response, |
| 129 | will be sent back to notify if provisioning succeeded or not. The response will |
| 130 | match that of the activity in config_mobile_hotspot_provision_app, but instead |
| 131 | contained within the int extra "EntitlementResult". |
| 132 | TODO: provide the system api for "EntitlementResult" extra and note it here. |
| 133 | |
| 134 | See EntitlementManager#runSilentTetherProvisioning and |
| 135 | packages/apps/Settings/src/com/android/settings/wifi/tether/TetherService.java for more |
| 136 | details. |
| 137 | --> |
| 138 | <string translatable="false" name="config_mobile_hotspot_provision_app_no_ui"></string> |
| 139 | |
| 140 | <!-- Sent in response to a provisioning check. The caller must hold the |
| 141 | permission android.permission.TETHER_PRIVILEGED for Settings to |
| 142 | receive this response. |
| 143 | |
| 144 | See config_mobile_hotspot_provision_response |
| 145 | --> |
| 146 | <string translatable="false" name="config_mobile_hotspot_provision_response"></string> |
| 147 | |
| 148 | <!-- Number of hours between each background provisioning call --> |
| 149 | <integer translatable="false" name="config_mobile_hotspot_provision_check_period">24</integer> |
| 150 | |
| 151 | <!-- ComponentName of the service used to run no ui tether provisioning. --> |
| 152 | <string translatable="false" name="config_wifi_tether_enable">com.android.settings/.wifi.tether.TetherService</string> |
markchien | 932da86 | 2019-08-27 10:19:38 +0800 | [diff] [blame] | 153 | </resources> |