• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3  package="com.android.bluetooth"
4  android:sharedUserId="android.uid.bluetooth">
5
6    <original-package android:name="com.android.bluetooth" />
7
8    <!-- Allows access to the Bluetooth Share Manager -->
9    <permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE"
10        android:label="@string/permlab_bluetoothShareManager"
11        android:description="@string/permdesc_bluetoothShareManager"
12        android:protectionLevel="signature" />
13
14    <!--  Allows temporarily whitelisting Bluetooth addresses for sharing -->
15    <permission android:name="com.android.permission.WHITELIST_BLUETOOTH_DEVICE"
16        android:label="@string/permlab_bluetoothWhitelist"
17        android:description="@string/permdesc_bluetoothWhitelist"
18        android:protectionLevel="signature" />
19
20    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
21    <uses-permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE" />
22    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
23    <uses-permission android:name="android.permission.INTERNET" />
24    <uses-permission android:name="android.permission.BLUETOOTH" />
25    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
26    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
27    <uses-permission android:name="android.permission.BLUETOOTH_MAP" />
28    <uses-permission android:name="android.permission.DUMP" />
29    <uses-permission android:name="android.permission.WAKE_LOCK" />
30    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
31    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
32    <uses-permission android:name="android.permission.READ_CONTACTS" />
33    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
34    <uses-permission android:name="android.permission.READ_CALL_LOG" />
35    <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
36    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
37    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
38    <uses-permission android:name="android.permission.NFC_HANDOVER_STATUS" />
39    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
40    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
41    <uses-permission android:name="android.permission.NET_ADMIN" />
42    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
43    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
44    <uses-permission android:name="android.permission.NET_TUNNELING" />
45    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
46    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
47    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
48    <uses-permission android:name="android.permission.TETHER_PRIVILEGED" />
49    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
50    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
51    <uses-permission android:name="android.permission.BLUETOOTH_STACK" />
52    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
53    <uses-permission android:name="android.permission.MANAGE_USERS"/>
54    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
55    <uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/>
56    <uses-permission android:name="com.android.gallery3d.permission.GALLERY_PROVIDER"/>
57    <uses-permission android:name="android.permission.RECEIVE_SMS" />
58    <uses-permission android:name="android.permission.SEND_SMS" />
59    <uses-permission android:name="android.permission.READ_SMS" />
60    <uses-permission android:name="android.permission.WRITE_SMS" />
61    <uses-permission android:name="android.permission.READ_CONTACTS" />
62    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
63    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
64    <uses-permission android:name="android.permission.VIBRATE" />
65    <uses-permission android:name="android.permission.DEVICE_POWER" />
66    <uses-permission android:name="android.permission.REAL_GET_TASKS" />
67    <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
68    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
69
70    <!-- For PBAP Owner Vcard Info -->
71    <uses-permission android:name="android.permission.READ_PROFILE"/>
72    <application
73        android:name=".btservice.AdapterApp"
74        android:icon="@mipmap/bt_share"
75        android:persistent="false"
76        android:label="@string/app_name"
77        android:supportsRtl="true"
78        android:usesCleartextTraffic="false"
79        android:directBootAware="true"
80        android:defaultToDeviceProtectedStorage="true">
81        <uses-library android:name="javax.obex" />
82        <provider android:name=".opp.BluetoothOppProvider"
83            android:authorities="com.android.bluetooth.opp"
84            android:exported="true"
85            android:process="@string/process">
86            <path-permission
87                    android:pathPrefix="/btopp"
88                    android:permission="android.permission.ACCESS_BLUETOOTH_SHARE" />
89        </provider>
90        <provider android:name=".opp.BluetoothOppFileProvider"
91            android:authorities="com.android.bluetooth.opp.fileprovider"
92            android:grantUriPermissions="true"
93            android:exported="false">
94            <meta-data
95                android:name="android.support.FILE_PROVIDER_PATHS"
96                android:resource="@xml/file_paths" />
97        </provider>
98        <service
99            android:process="@string/process"
100            android:name = ".btservice.AdapterService">
101            <intent-filter>
102                <action android:name="android.bluetooth.IBluetooth" />
103            </intent-filter>
104        </service>
105        <service
106            android:process="@string/process"
107            android:name=".opp.BluetoothOppService"
108            android:permission="android.permission.ACCESS_BLUETOOTH_SHARE"
109            android:enabled="@bool/profile_supported_opp"/>
110        <receiver
111            android:process="@string/process"
112            android:exported="true"
113            android:name=".opp.BluetoothOppReceiver"
114            android:enabled="@bool/profile_supported_opp">
115            <intent-filter>
116                <action android:name="android.btopp.intent.action.OPEN_RECEIVED_FILES" />
117            </intent-filter>
118        </receiver>
119         <receiver
120            android:process="@string/process"
121            android:name=".opp.BluetoothOppHandoverReceiver"
122            android:permission="com.android.permission.WHITELIST_BLUETOOTH_DEVICE">
123            <intent-filter>
124                <action android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
125                <action android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
126            </intent-filter>
127            <intent-filter>
128                <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
129                <category android:name="android.intent.category.DEFAULT" />
130                <data android:mimeType="*/*" />
131            </intent-filter>
132            <intent-filter>
133                <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
134                <category android:name="android.intent.category.DEFAULT" />
135                <data android:mimeType="*/*" />
136            </intent-filter>
137        </receiver>
138        <activity android:name=".opp.BluetoothOppLauncherActivity"
139            android:process="@string/process"
140            android:theme="@android:style/Theme.Material.Light.Dialog"
141            android:label="@string/bt_share_picker_label"
142            android:enabled="@bool/profile_supported_opp">
143            <intent-filter>
144                <action android:name="android.intent.action.SEND" />
145                <category android:name="android.intent.category.DEFAULT" />
146                <data android:mimeType="image/*" />
147                <data android:mimeType="video/*" />
148                <data android:mimeType="audio/*" />
149                <data android:mimeType="text/x-vcard" />
150                <data android:mimeType="text/plain" />
151                <data android:mimeType="text/html" />
152                <data android:mimeType="text/xml" />
153                <data android:mimeType="application/zip" />
154                <data android:mimeType="application/vnd.ms-excel" />
155                <data android:mimeType="application/msword" />
156                <data android:mimeType="application/vnd.ms-powerpoint" />
157                <data android:mimeType="application/pdf" />
158                <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
159                <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
160                <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
161                <data android:mimeType="application/x-hwp" />
162            </intent-filter>
163            <intent-filter>
164                <action android:name="android.intent.action.SEND_MULTIPLE" />
165                <category android:name="android.intent.category.DEFAULT" />
166                <data android:mimeType="image/*" />
167                <data android:mimeType="video/*" />
168                <data android:mimeType="x-mixmedia/*" />
169                <data android:mimeType="text/x-vcard" />
170            </intent-filter>
171            <intent-filter>
172                <action android:name="android.btopp.intent.action.OPEN" />
173                <category android:name="android.intent.category.DEFAULT" />
174                <data android:mimeType="vnd.android.cursor.item/vnd.android.btopp" />
175            </intent-filter>
176        </activity>
177        <activity android:name=".opp.BluetoothOppBtEnableActivity"
178                  android:process="@string/process"
179                  android:excludeFromRecents="true"
180                  android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
181                  android:enabled="@bool/profile_supported_opp">
182        </activity>
183        <activity android:name=".opp.BluetoothOppBtErrorActivity"
184                  android:process="@string/process"
185                  android:excludeFromRecents="true"
186                  android:theme="@android:style/Theme.Material.Light.Dialog.Alert">
187        </activity>
188        <activity android:name=".opp.BluetoothOppBtEnablingActivity"
189                  android:process="@string/process"
190                  android:excludeFromRecents="true"
191                  android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
192                  android:enabled="@bool/profile_supported_opp">
193        </activity>
194        <activity android:name=".opp.BluetoothOppIncomingFileConfirmActivity"
195                  android:process="@string/process"
196                  android:excludeFromRecents="true"
197                  android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
198                  android:enabled="@bool/profile_supported_opp">
199        </activity>
200        <activity android:name=".opp.BluetoothOppTransferActivity"
201                  android:process="@string/process"
202                  android:excludeFromRecents="true"
203                  android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
204                  android:enabled="@bool/profile_supported_opp">
205        </activity>
206        <activity android:name=".opp.BluetoothOppTransferHistory"
207                  android:process="@string/process"
208                  android:label=""
209                  android:excludeFromRecents="true"
210                  android:configChanges="orientation|keyboardHidden"
211                  android:enabled="@bool/profile_supported_opp">
212        </activity>
213        <activity android:name=".pbap.BluetoothPbapActivity"
214            android:process="@string/process"
215            android:excludeFromRecents="true"
216            android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
217            android:enabled="@bool/profile_supported_pbap">
218            <intent-filter>
219                <category android:name="android.intent.category.DEFAULT" />
220            </intent-filter>
221        </activity>
222        <service
223            android:process="@string/process"
224            android:name=".pbap.BluetoothPbapService"
225            android:enabled="@bool/profile_supported_pbap" >
226            <intent-filter>
227                <action android:name="android.bluetooth.IBluetoothPbap" />
228            </intent-filter>
229        </service>
230        <service
231            android:process="@string/process"
232            android:name=".map.BluetoothMapService"
233            android:enabled="@bool/profile_supported_map" >
234            <intent-filter>
235                <action android:name="android.bluetooth.IBluetoothMap" />
236                <action android:name="android.btmap.intent.action.SHOW_MAPS_SETTINGS" />
237                <action android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT"/>
238            </intent-filter>
239        </service>
240         <activity android:name=".map.BluetoothMapSettings"
241                  android:process="@string/process"
242                  android:label="@string/bluetooth_map_settings_title"
243                  android:excludeFromRecents="true"
244                  android:configChanges="orientation|keyboardHidden"
245                  android:enabled="@bool/profile_supported_map">
246        </activity>
247        <provider android:name=".map.MmsFileProvider"
248                  android:authorities="com.android.bluetooth.map.MmsFileProvider"
249                  android:enabled="true"
250                  android:grantUriPermissions="true"
251                  android:exported="false">
252        </provider>
253        <service
254            android:process="@string/process"
255            android:name=".mapclient.MapClientService"
256            android:enabled="@bool/profile_supported_mapmce" >
257            <intent-filter>
258                <action android:name="android.bluetooth.IBluetoothMapClient" />
259            </intent-filter>
260        </service>
261        <service
262            android:process="@string/process"
263            android:name=".sap.SapService"
264            android:enabled="@bool/profile_supported_sap" >
265            <intent-filter>
266                <action android:name="android.bluetooth.IBluetoothSap" />
267            </intent-filter>
268        </service>
269        <service
270            android:process="@string/process"
271            android:name = ".gatt.GattService"
272            android:enabled="@bool/profile_supported_gatt">
273            <intent-filter>
274                <action android:name="android.bluetooth.IBluetoothGatt" />
275            </intent-filter>
276        </service>
277        <service
278            android:process="@string/process"
279            android:name = ".hfp.HeadsetService"
280            android:enabled="@bool/profile_supported_hs_hfp">
281            <intent-filter>
282                <action android:name="android.bluetooth.IBluetoothHeadset" />
283            </intent-filter>
284        </service>
285        <service
286            android:process="@string/process"
287            android:name = ".a2dp.A2dpService"
288            android:enabled="@bool/profile_supported_a2dp">
289            <intent-filter>
290                <action android:name="android.bluetooth.IBluetoothA2dp" />
291            </intent-filter>
292        </service>
293        <service
294            android:process="@string/process"
295            android:name = ".a2dpsink.A2dpSinkService"
296            android:enabled="@bool/profile_supported_a2dp_sink">
297            <intent-filter>
298                <action android:name="android.bluetooth.IBluetoothA2dpSink" />
299            </intent-filter>
300        </service>
301        <service
302            android:process="@string/process"
303            android:name=".a2dpsink.mbs.A2dpMediaBrowserService"
304            android:exported="true"
305            android:enabled="@bool/profile_supported_a2dp_sink"
306            android:label="@string/a2dp_sink_mbs_label">
307            <intent-filter>
308                <action android:name="android.media.browse.MediaBrowserService" />
309            </intent-filter>
310        </service>
311        <service
312            android:process="@string/process"
313            android:name = ".avrcpcontroller.AvrcpControllerService"
314            android:enabled="@bool/profile_supported_avrcp_controller">
315            <intent-filter>
316                <action android:name="android.bluetooth.IBluetoothAvrcpController" />
317            </intent-filter>
318        </service>
319        <service
320            android:process="@string/process"
321            android:name = ".hid.HidService"
322            android:enabled="@bool/profile_supported_hid">
323            <intent-filter>
324                <action android:name="android.bluetooth.IBluetoothInputDevice" />
325            </intent-filter>
326        </service>
327        <service
328            android:process="@string/process"
329            android:name = ".hdp.HealthService"
330            android:enabled="@bool/profile_supported_hdp">
331            <intent-filter>
332                <action android:name="android.bluetooth.IBluetoothHealth" />
333            </intent-filter>
334        </service>
335        <service
336            android:process="@string/process"
337            android:name = ".pan.PanService"
338            android:enabled="@bool/profile_supported_pan">
339            <intent-filter>
340                <action android:name="android.bluetooth.IBluetoothPan" />
341            </intent-filter>
342        </service>
343        <service
344            android:process="@string/process"
345            android:name = ".hfpclient.HeadsetClientService"
346            android:enabled="@bool/profile_supported_hfpclient">
347            <intent-filter>
348                <action android:name="android.bluetooth.IBluetoothHeadsetClient" />
349            </intent-filter>
350        </service>
351        <service
352            android:process="@string/process"
353            android:name=".hfpclient.connserv.HfpClientConnectionService"
354            android:permission="android.permission.BIND_CONNECTION_SERVICE"
355            android:enabled="@bool/hfp_client_connection_service_enabled">
356            <intent-filter>
357                <!-- Mechanism for Telecom stack to connect -->
358                <action android:name="android.telecom.ConnectionService" />
359            </intent-filter>
360        </service>
361        <service
362            android:process="@string/process"
363            android:name = ".pbapclient.PbapClientService"
364            android:enabled="@bool/profile_supported_pbapclient">
365            <intent-filter>
366                <action android:name="android.bluetooth.IBluetoothPbapClient" />
367            </intent-filter>
368        </service>
369        <!-- Authenticator for PBAP account. -->
370        <service
371            android:process="@string/process"
372            android:name=".pbapclient.AuthenticationService"
373            android:exported="true"
374            android:enabled="@bool/profile_supported_pbapclient">
375            <intent-filter>
376                <action android:name="android.accounts.AccountAuthenticator" />
377            </intent-filter>
378            <meta-data
379                android:name="android.accounts.AccountAuthenticator"
380                android:resource="@xml/authenticator" />
381        </service>
382        <service
383            android:name = ".hid.HidDevService"
384            android:enabled="@bool/profile_supported_hidd">
385            <intent-filter>
386                <action android:name="android.bluetooth.IBluetoothInputHost" />
387            </intent-filter>
388        </service>
389    </application>
390</manifest>
391