blob: 52aa5bbaffa580a0145d79d5051486954abf9558 [file] [log] [blame]
markchien017fef22019-08-27 10:19:38 +08001<?xml version="1.0" encoding="utf-8"?>
markchiendcc69622020-01-12 17:13:58 +08002<!-- 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-->
markchien017fef22019-08-27 10:19:38 +080016<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.
markchiendcc69622020-01-12 17:13:58 +080020 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.
markchien017fef22019-08-27 10:19:38 +080022 -->
markchiendcc69622020-01-12 17:13:58 +080023 <!-- 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
Milim Lee31ef4c02019-10-17 05:02:33 +090032 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
markchiendcc69622020-01-12 17:13:58 +080038 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 </string-array>
44
45 <!-- List of regexpressions describing the interface (if any) that represent tetherable
46 Wifi P2P interfaces. If the device doesn't want to support tethering over Wifi P2p this
markchien383f4b12020-01-15 14:25:32 +080047 should be empty. An example would be "p2p-p2p\\d-.*" -->
markchiendcc69622020-01-12 17:13:58 +080048 <string-array translatable="false" name="config_tether_wifi_p2p_regexs">
markchien383f4b12020-01-15 14:25:32 +080049 <item>"p2p-p2p\\d-.*"</item>
Jimmy Chenc2759012020-02-04 14:25:42 +080050 <item>"p2p\\d"</item>
markchiendcc69622020-01-12 17:13:58 +080051 </string-array>
52
53 <!-- List of regexpressions describing the interface (if any) that represent tetherable
54 bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
55 should be empty. -->
56 <string-array translatable="false" name="config_tether_bluetooth_regexs">
57 <item>"bt-pan"</item>
58 </string-array>
59
markchien2dfee022020-01-13 16:09:42 +080060 <!-- Use the old dnsmasq DHCP server for tethering instead of the framework implementation. -->
61 <bool translatable="false" name="config_tether_enable_legacy_dhcp_server">false</bool>
62
markchiendcc69622020-01-12 17:13:58 +080063 <!-- Dhcp range (min, max) to use for tethering purposes -->
64 <string-array translatable="false" name="config_tether_dhcp_range">
65 </string-array>
66
67 <!-- Array of ConnectivityManager.TYPE_{BLUETOOTH, ETHERNET, MOBILE, MOBILE_DUN, MOBILE_HIPRI,
68 WIFI} values allowable for tethering.
69
70 Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
71 [1,7,0] for TYPE_WIFI, TYPE_BLUETOOTH, and TYPE_MOBILE.
72
73 This list is also modified by code within the framework, including:
74
75 - TYPE_ETHERNET (9) is prepended to this list, and
76
77 - the return value of TelephonyManager.isTetheringApnRequired()
78 determines how the array is further modified:
79
80 * TRUE (DUN REQUIRED).
81 TYPE_MOBILE is removed (if present).
82 TYPE_MOBILE_HIPRI is removed (if present).
83 TYPE_MOBILE_DUN is appended (if not already present).
84
85 * FALSE (DUN NOT REQUIRED).
86 TYPE_MOBILE_DUN is removed (if present).
87 If both of TYPE_MOBILE{,_HIPRI} are not present:
88 TYPE_MOBILE is appended.
89 TYPE_MOBILE_HIPRI is appended.
90
91 For other changes applied to this list, now and in the future, see
markchien503be612020-04-12 21:41:29 +080092 com.android.networkstack.tethering.TetheringConfiguration.
markchiendcc69622020-01-12 17:13:58 +080093
94 Note also: the order of this is important. The first upstream type
95 for which a satisfying network exists is used.
96 -->
97 <integer-array translatable="false" name="config_tether_upstream_types">
98 </integer-array>
99
100 <!-- When true, the tethering upstream network follows the current default
101 Internet network (except when the current default network is mobile,
102 in which case a DUN network will be used if required).
103
104 When true, overrides the config_tether_upstream_types setting above.
105 -->
106 <bool translatable="false" name="config_tether_upstream_automatic">true</bool>
107
108
109 <!-- If the mobile hotspot feature requires provisioning, a package name and class name
110 can be provided to launch a supported application that provisions the devices.
markchienda4519a2020-01-14 12:46:53 +0800111 EntitlementManager will send an intent to Settings with the specified package name and
markchiendcc69622020-01-12 17:13:58 +0800112 class name in extras to launch provision app.
113 TODO: note what extras here.
114
115 See EntitlementManager#runUiTetherProvisioning and
116 packages/apps/Settings/src/com/android/settings/network/TetherProvisioningActivity.java
117 for more details.
118
119 For ui-less/periodic recheck support see config_mobile_hotspot_provision_app_no_ui
120 -->
121 <!-- The first element is the package name and the second element is the class name
122 of the provisioning app -->
123 <string-array translatable="false" name="config_mobile_hotspot_provision_app">
124 <!--
125 <item>com.example.provisioning</item>
126 <item>com.example.provisioning.Activity</item>
127 -->
128 </string-array>
129
130 <!-- If the mobile hotspot feature requires provisioning, an action can be provided
131 that will be broadcast in non-ui cases for checking the provisioning status.
132 EntitlementManager will pass the specified name to Settings and Settings would
133 launch provisioning app by sending an intent with the package name.
134
135 A second broadcast, action defined by config_mobile_hotspot_provision_response,
136 will be sent back to notify if provisioning succeeded or not. The response will
137 match that of the activity in config_mobile_hotspot_provision_app, but instead
138 contained within the int extra "EntitlementResult".
139 TODO: provide the system api for "EntitlementResult" extra and note it here.
140
141 See EntitlementManager#runSilentTetherProvisioning and
142 packages/apps/Settings/src/com/android/settings/wifi/tether/TetherService.java for more
143 details.
144 -->
145 <string translatable="false" name="config_mobile_hotspot_provision_app_no_ui"></string>
146
147 <!-- Sent in response to a provisioning check. The caller must hold the
148 permission android.permission.TETHER_PRIVILEGED for Settings to
149 receive this response.
150
151 See config_mobile_hotspot_provision_response
152 -->
153 <string translatable="false" name="config_mobile_hotspot_provision_response"></string>
154
155 <!-- Number of hours between each background provisioning call -->
156 <integer translatable="false" name="config_mobile_hotspot_provision_check_period">24</integer>
157
158 <!-- ComponentName of the service used to run no ui tether provisioning. -->
159 <string translatable="false" name="config_wifi_tether_enable">com.android.settings/.wifi.tether.TetherService</string>
Automerger Merge Worker2d7bacc2020-03-09 08:54:00 +0000160
161 <!-- Enable tethering notification -->
162 <!-- Icons for showing tether enable notification.
163 Each item should have two elements and be separated with ";".
164
165 The first element is downstream types which is one of tethering. This element has to be
166 made by WIFI, USB, BT, and OR'd with the others. Use "|" to combine multiple downstream
167 types and use "," to separate each combinations. Such as
168
169 USB|BT,WIFI|USB|BT
170
171 The second element is icon for the item. This element has to be composed by
172 <package name>:drawable/<resource name>. Such as
173
174 1. com.android.networkstack.tethering:drawable/stat_sys_tether_general
175 2. android:drawable/xxx
176
177 So the entire string of each item would be
178
179 USB|BT,WIFI|USB|BT;com.android.networkstack.tethering:drawable/stat_sys_tether_general
180
181 NOTE: One config can be separated into two or more for readability. Such as
182
183 WIFI|USB,WIFI|BT,USB|BT,WIFI|USB|BT;android:drawable/xxx
184
185 can be separated into
186
187 WIFI|USB;android:drawable/xxx
188 WIFI|BT;android:drawable/xxx
189 USB|BT;android:drawable/xxx
190 WIFI|USB|BT;android:drawable/xxx
191
192 Notification will not show if the downstream type isn't listed in array.
193 Empty array means disable notifications. -->
194 <!-- In AOSP, hotspot is configured to no notification by default. Because status bar has showed
195 an icon on the right side already -->
196 <string-array translatable="false" name="tethering_notification_icons">
197 <item>USB;com.android.networkstack.tethering:drawable/stat_sys_tether_usb</item>
198 <item>BT;com.android.networkstack.tethering:drawable/stat_sys_tether_bluetooth</item>
199 <item>WIFI|USB,WIFI|BT,USB|BT,WIFI|USB|BT;com.android.networkstack.tethering:drawable/stat_sys_tether_general</item>
200 </string-array>
201 <!-- String for tether enable notification title. -->
202 <string name="tethering_notification_title">@string/tethered_notification_title</string>
203 <!-- String for tether enable notification message. -->
204 <string name="tethering_notification_message">@string/tethered_notification_message</string>
Paul Hu77fa8d62020-04-16 02:54:37 +0000205
206 <!-- No upstream notification is shown when there is a downstream but no upstream that is able
207 to do the tethering. -->
208 <!-- Delay(millisecond) to show no upstream notification after there's no Backhaul. Set delay to
209 "-1" for disable this feature. -->
210 <integer name="delay_to_show_no_upstream_after_no_backhaul">-1</integer>
markchien017fef22019-08-27 10:19:38 +0800211</resources>