| <?xml version="1.0" encoding="utf-8"?> |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| package="com.android.bluetooth" |
| android:sharedUserId="android.uid.bluetooth"> |
| |
| <original-package android:name="com.android.bluetooth" /> |
| |
| <!-- Allows access to the Bluetooth Share Manager --> |
| <permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE" |
| android:label="@string/permlab_bluetoothShareManager" |
| android:description="@string/permdesc_bluetoothShareManager" |
| android:protectionLevel="signature" /> |
| |
| <!-- Allows temporarily whitelisting Bluetooth addresses for sharing --> |
| <permission android:name="com.android.permission.WHITELIST_BLUETOOTH_DEVICE" |
| android:label="@string/permlab_bluetoothWhitelist" |
| android:description="@string/permdesc_bluetoothWhitelist" |
| android:protectionLevel="signature" /> |
| |
| <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
| <uses-permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE" /> |
| <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> |
| <uses-permission android:name="android.permission.INTERNET" /> |
| <uses-permission android:name="android.permission.BLUETOOTH" /> |
| <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> |
| <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" /> |
| <uses-permission android:name="android.permission.BLUETOOTH_MAP" /> |
| <uses-permission android:name="android.permission.DUMP" /> |
| <uses-permission android:name="android.permission.WAKE_LOCK" /> |
| <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.READ_CONTACTS" /> |
| <!-- WRITE_CONTACTS is used for test cases only --> |
| <uses-permission android:name="android.permission.WRITE_CONTACTS" /> |
| <uses-permission android:name="android.permission.READ_CALL_LOG" /> |
| <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> |
| <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| <uses-permission android:name="android.permission.NFC_HANDOVER_STATUS" /> |
| <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> |
| <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" /> |
| <uses-permission android:name="android.permission.NET_ADMIN" /> |
| <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> |
| <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> |
| <uses-permission android:name="android.permission.NET_TUNNELING" /> |
| <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> |
| <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> |
| <uses-permission android:name="android.permission.TETHER_PRIVILEGED" /> |
| <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> |
| <uses-permission android:name="android.permission.BLUETOOTH_STACK" /> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/> |
| <uses-permission android:name="android.permission.MANAGE_USERS"/> |
| <uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/> |
| <uses-permission android:name="com.android.gallery3d.permission.GALLERY_PROVIDER"/> |
| <uses-permission android:name="android.permission.RECEIVE_SMS" /> |
| <uses-permission android:name="android.permission.SEND_SMS" /> |
| <uses-permission android:name="android.permission.READ_SMS" /> |
| <uses-permission android:name="android.permission.WRITE_SMS" /> |
| <uses-permission android:name="android.permission.READ_CONTACTS" /> |
| <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" /> |
| <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" /> |
| <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> |
| <uses-permission android:name="android.permission.VIBRATE" /> |
| <uses-permission android:name="android.permission.DEVICE_POWER" /> |
| <uses-permission android:name="android.permission.REAL_GET_TASKS" /> |
| <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" /> |
| <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> |
| |
| <!-- For PBAP Owner Vcard Info --> |
| <uses-permission android:name="android.permission.READ_PROFILE"/> |
| <application |
| android:name=".btservice.AdapterApp" |
| android:icon="@mipmap/bt_share" |
| android:persistent="false" |
| android:label="@string/app_name" |
| android:supportsRtl="true" |
| android:usesCleartextTraffic="false"> |
| <uses-library android:name="javax.obex" /> |
| <provider android:name=".opp.BluetoothOppProvider" |
| android:authorities="com.android.bluetooth.opp" |
| android:exported="true" |
| android:process="@string/process"> |
| <path-permission |
| android:pathPrefix="/btopp" |
| android:permission="android.permission.ACCESS_BLUETOOTH_SHARE" /> |
| </provider> |
| <provider android:name="android.support.v4.content.FileProvider" |
| android:authorities="com.google.android.bluetooth.fileprovider" |
| android:grantUriPermissions="true" |
| android:exported="false"> |
| <meta-data |
| android:name="android.support.FILE_PROVIDER_PATHS" |
| android:resource="@xml/file_paths" /> |
| </provider> |
| <service |
| android:process="@string/process" |
| android:name = ".btservice.AdapterService"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetooth" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name=".opp.BluetoothOppService" |
| android:permission="android.permission.ACCESS_BLUETOOTH_SHARE" |
| android:enabled="@bool/profile_supported_opp"/> |
| <receiver |
| android:process="@string/process" |
| android:exported="true" |
| android:name=".opp.BluetoothOppReceiver" |
| android:enabled="@bool/profile_supported_opp"> |
| <intent-filter> |
| <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /> |
| <!--action android:name="android.intent.action.BOOT_COMPLETED" /--> |
| <action android:name="android.btopp.intent.action.OPEN_RECEIVED_FILES" /> |
| </intent-filter> |
| </receiver> |
| <receiver |
| android:process="@string/process" |
| android:name=".opp.BluetoothOppHandoverReceiver" |
| android:permission="com.android.permission.WHITELIST_BLUETOOTH_DEVICE"> |
| <intent-filter> |
| <action android:name="android.btopp.intent.action.WHITELIST_DEVICE" /> |
| <action android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="*/*" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="*/*" /> |
| </intent-filter> |
| </receiver> |
| <activity android:name=".opp.BluetoothOppLauncherActivity" |
| android:process="@string/process" |
| android:theme="@*android:style/Theme.Material.DayNight.Dialog" |
| android:label="@string/bt_share_picker_label" |
| android:enabled="@bool/profile_supported_opp"> |
| <intent-filter> |
| <action android:name="android.intent.action.SEND" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="image/*" /> |
| <data android:mimeType="video/*" /> |
| <data android:mimeType="audio/*" /> |
| <data android:mimeType="text/x-vcard" /> |
| <data android:mimeType="text/plain" /> |
| <data android:mimeType="text/html" /> |
| <data android:mimeType="text/xml" /> |
| <data android:mimeType="application/zip" /> |
| <data android:mimeType="application/vnd.ms-excel" /> |
| <data android:mimeType="application/msword" /> |
| <data android:mimeType="application/vnd.ms-powerpoint" /> |
| <data android:mimeType="application/pdf" /> |
| <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> |
| <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
| <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> |
| <data android:mimeType="application/x-hwp" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.SEND_MULTIPLE" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="image/*" /> |
| <data android:mimeType="video/*" /> |
| <data android:mimeType="x-mixmedia/*" /> |
| <data android:mimeType="text/x-vcard" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.btopp.intent.action.OPEN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <data android:mimeType="vnd.android.cursor.item/vnd.android.btopp" /> |
| </intent-filter> |
| </activity> |
| <activity android:name=".opp.BluetoothOppBtEnableActivity" |
| android:process="@string/process" |
| android:excludeFromRecents="true" |
| android:theme="@*android:style/Theme.Material.DayNight.Dialog.Alert" |
| android:enabled="@bool/profile_supported_opp"> |
| </activity> |
| <activity android:name=".opp.BluetoothOppBtErrorActivity" |
| android:process="@string/process" |
| android:excludeFromRecents="true" |
| android:theme="@*android:style/Theme.Material.DayNight.Dialog.Alert"> |
| </activity> |
| <activity android:name=".opp.BluetoothOppBtEnablingActivity" |
| android:process="@string/process" |
| android:excludeFromRecents="true" |
| android:theme="@*android:style/Theme.Material.DayNight.Dialog.Alert" |
| android:enabled="@bool/profile_supported_opp"> |
| </activity> |
| <activity android:name=".opp.BluetoothOppIncomingFileConfirmActivity" |
| android:process="@string/process" |
| android:excludeFromRecents="true" |
| android:theme="@*android:style/Theme.Material.DayNight.Dialog.Alert" |
| android:enabled="@bool/profile_supported_opp"> |
| </activity> |
| <activity android:name=".opp.BluetoothOppTransferActivity" |
| android:process="@string/process" |
| android:excludeFromRecents="true" |
| android:theme="@*android:style/Theme.Material.DayNight.Dialog.Alert" |
| android:enabled="@bool/profile_supported_opp"> |
| </activity> |
| <activity android:name=".opp.BluetoothOppTransferHistory" |
| android:process="@string/process" |
| android:label="" |
| android:excludeFromRecents="true" |
| android:configChanges="orientation|keyboardHidden" |
| android:enabled="@bool/profile_supported_opp"> |
| </activity> |
| <activity android:name=".pbap.BluetoothPbapActivity" |
| android:process="@string/process" |
| android:excludeFromRecents="true" |
| android:theme="@*android:style/Theme.Material.DayNight.Dialog.Alert" |
| android:enabled="@bool/profile_supported_pbap"> |
| <intent-filter> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| <service |
| android:process="@string/process" |
| android:name=".pbap.BluetoothPbapService" |
| android:enabled="@bool/profile_supported_pbap" > |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothPbap" /> |
| </intent-filter> |
| </service> |
| <receiver |
| android:process="@string/process" |
| android:exported="true" |
| android:name=".pbap.BluetoothPbapReceiver" |
| android:enabled="@bool/profile_supported_pbap"> |
| <intent-filter> |
| <action android:name="android.bluetooth.adapter.action.STATE_CHANGED"/> |
| <action android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" /> |
| <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </receiver> |
| <service |
| android:process="@string/process" |
| android:name=".map.BluetoothMapService" |
| android:enabled="@bool/profile_supported_map" > |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothMap" /> |
| <action android:name="android.btmap.intent.action.SHOW_MAPS_SETTINGS" /> |
| <action android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT"/> |
| </intent-filter> |
| </service> |
| <activity android:name=".map.BluetoothMapSettings" |
| android:process="@string/process" |
| android:label="@string/bluetooth_map_settings_title" |
| android:excludeFromRecents="true" |
| android:configChanges="orientation|keyboardHidden" |
| android:enabled="@bool/profile_supported_map"> |
| </activity> |
| <provider android:name=".map.MmsFileProvider" |
| android:authorities="com.android.bluetooth.map.MmsFileProvider" |
| android:enabled="true" |
| android:grantUriPermissions="true" |
| android:exported="false"> |
| </provider> |
| <service |
| android:process="@string/process" |
| android:name=".sap.SapService" |
| android:enabled="@bool/profile_supported_sap" > |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothSap" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".gatt.GattService" |
| android:enabled="@bool/profile_supported_gatt"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothGatt" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".hfp.HeadsetService" |
| android:enabled="@bool/profile_supported_hs_hfp"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothHeadset" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".a2dp.A2dpService" |
| android:enabled="@bool/profile_supported_a2dp"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothA2dp" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".a2dp.A2dpSinkService" |
| android:enabled="@bool/profile_supported_a2dp_sink"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothA2dpSink" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".avrcp.AvrcpControllerService" |
| android:enabled="@bool/profile_supported_avrcp_controller"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothAvrcpController" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".hid.HidService" |
| android:enabled="@bool/profile_supported_hid"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothInputDevice" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".hdp.HealthService" |
| android:enabled="@bool/profile_supported_hdp"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothHealth" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".pan.PanService" |
| android:enabled="@bool/profile_supported_pan"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothPan" /> |
| </intent-filter> |
| </service> |
| <service |
| android:process="@string/process" |
| android:name = ".hfpclient.HeadsetClientService" |
| android:enabled="@bool/profile_supported_hfpclient"> |
| <intent-filter> |
| <action android:name="android.bluetooth.IBluetoothHeadsetClient" /> |
| </intent-filter> |
| </service> |
| </application> |
| </manifest> |