Home | History | Annotate | Download | only in Bluetooth
      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/x-vcalendar" />
    151                 <data android:mimeType="text/calendar" />
    152                 <data android:mimeType="text/plain" />
    153                 <data android:mimeType="text/html" />
    154                 <data android:mimeType="text/xml" />
    155                 <data android:mimeType="application/zip" />
    156                 <data android:mimeType="application/vnd.ms-excel" />
    157                 <data android:mimeType="application/msword" />
    158                 <data android:mimeType="application/vnd.ms-powerpoint" />
    159                 <data android:mimeType="application/pdf" />
    160                 <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
    161                 <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
    162                 <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
    163                 <data android:mimeType="application/x-hwp" />
    164             </intent-filter>
    165             <intent-filter>
    166                 <action android:name="android.intent.action.SEND_MULTIPLE" />
    167                 <category android:name="android.intent.category.DEFAULT" />
    168                 <data android:mimeType="image/*" />
    169                 <data android:mimeType="video/*" />
    170                 <data android:mimeType="x-mixmedia/*" />
    171                 <data android:mimeType="text/x-vcard" />
    172             </intent-filter>
    173             <intent-filter>
    174                 <action android:name="android.btopp.intent.action.OPEN" />
    175                 <category android:name="android.intent.category.DEFAULT" />
    176                 <data android:mimeType="vnd.android.cursor.item/vnd.android.btopp" />
    177             </intent-filter>
    178         </activity>
    179         <activity android:name=".opp.BluetoothOppBtEnableActivity"
    180                   android:process="@string/process"
    181                   android:excludeFromRecents="true"
    182                   android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
    183                   android:enabled="@bool/profile_supported_opp">
    184         </activity>
    185         <activity android:name=".opp.BluetoothOppBtErrorActivity"
    186                   android:process="@string/process"
    187                   android:excludeFromRecents="true"
    188                   android:theme="@android:style/Theme.Material.Light.Dialog.Alert">
    189         </activity>
    190         <activity android:name=".opp.BluetoothOppBtEnablingActivity"
    191                   android:process="@string/process"
    192                   android:excludeFromRecents="true"
    193                   android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
    194                   android:enabled="@bool/profile_supported_opp">
    195         </activity>
    196         <activity android:name=".opp.BluetoothOppIncomingFileConfirmActivity"
    197                   android:process="@string/process"
    198                   android:excludeFromRecents="true"
    199                   android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
    200                   android:enabled="@bool/profile_supported_opp">
    201         </activity>
    202         <activity android:name=".opp.BluetoothOppTransferActivity"
    203                   android:process="@string/process"
    204                   android:excludeFromRecents="true"
    205                   android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
    206                   android:enabled="@bool/profile_supported_opp">
    207         </activity>
    208         <activity android:name=".opp.BluetoothOppTransferHistory"
    209                   android:process="@string/process"
    210                   android:label=""
    211                   android:excludeFromRecents="true"
    212                   android:configChanges="orientation|keyboardHidden"
    213                   android:enabled="@bool/profile_supported_opp"
    214                   android:theme="@android:style/Theme.DeviceDefault.Settings">
    215             <intent-filter>
    216                 <action android:name="com.android.bluetooth.action.TransferHistory" />
    217                 <category android:name="android.intent.category.DEFAULT" />
    218             </intent-filter>
    219         </activity>
    220         <activity android:name=".pbap.BluetoothPbapActivity"
    221             android:process="@string/process"
    222             android:excludeFromRecents="true"
    223             android:theme="@android:style/Theme.Material.Light.Dialog.Alert"
    224             android:enabled="@bool/profile_supported_pbap">
    225             <intent-filter>
    226                 <category android:name="android.intent.category.DEFAULT" />
    227             </intent-filter>
    228         </activity>
    229         <service
    230             android:process="@string/process"
    231             android:name=".pbap.BluetoothPbapService"
    232             android:enabled="@bool/profile_supported_pbap" >
    233             <intent-filter>
    234                 <action android:name="android.bluetooth.IBluetoothPbap" />
    235             </intent-filter>
    236         </service>
    237         <service
    238             android:process="@string/process"
    239             android:name=".map.BluetoothMapService"
    240             android:enabled="@bool/profile_supported_map" >
    241             <intent-filter>
    242                 <action android:name="android.bluetooth.IBluetoothMap" />
    243                 <action android:name="android.btmap.intent.action.SHOW_MAPS_SETTINGS" />
    244                 <action android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT"/>
    245             </intent-filter>
    246         </service>
    247          <activity android:name=".map.BluetoothMapSettings"
    248                   android:process="@string/process"
    249                   android:label="@string/bluetooth_map_settings_title"
    250                   android:excludeFromRecents="true"
    251                   android:configChanges="orientation|keyboardHidden"
    252                   android:enabled="@bool/profile_supported_map">
    253         </activity>
    254         <provider android:name=".map.MmsFileProvider"
    255                   android:authorities="com.android.bluetooth.map.MmsFileProvider"
    256                   android:enabled="true"
    257                   android:grantUriPermissions="true"
    258                   android:exported="false">
    259         </provider>
    260         <service
    261             android:process="@string/process"
    262             android:name=".mapclient.MapClientService"
    263             android:enabled="@bool/profile_supported_mapmce" >
    264             <intent-filter>
    265                 <action android:name="android.bluetooth.IBluetoothMapClient" />
    266             </intent-filter>
    267         </service>
    268         <service
    269             android:process="@string/process"
    270             android:name=".sap.SapService"
    271             android:enabled="@bool/profile_supported_sap" >
    272             <intent-filter>
    273                 <action android:name="android.bluetooth.IBluetoothSap" />
    274             </intent-filter>
    275         </service>
    276         <service
    277             android:process="@string/process"
    278             android:name = ".gatt.GattService"
    279             android:enabled="@bool/profile_supported_gatt">
    280             <intent-filter>
    281                 <action android:name="android.bluetooth.IBluetoothGatt" />
    282             </intent-filter>
    283         </service>
    284         <service
    285             android:process="@string/process"
    286             android:name = ".hfp.HeadsetService"
    287             android:enabled="@bool/profile_supported_hs_hfp">
    288             <intent-filter>
    289                 <action android:name="android.bluetooth.IBluetoothHeadset" />
    290             </intent-filter>
    291         </service>
    292         <service
    293             android:process="@string/process"
    294             android:name = ".a2dp.A2dpService"
    295             android:enabled="@bool/profile_supported_a2dp">
    296             <intent-filter>
    297                 <action android:name="android.bluetooth.IBluetoothA2dp" />
    298             </intent-filter>
    299         </service>
    300         <service
    301             android:process="@string/process"
    302             android:name = ".a2dpsink.A2dpSinkService"
    303             android:enabled="@bool/profile_supported_a2dp_sink">
    304             <intent-filter>
    305                 <action android:name="android.bluetooth.IBluetoothA2dpSink" />
    306             </intent-filter>
    307         </service>
    308         <service
    309             android:process="@string/process"
    310             android:name=".a2dpsink.mbs.A2dpMediaBrowserService"
    311             android:exported="true"
    312             android:enabled="@bool/profile_supported_a2dp_sink"
    313             android:label="@string/a2dp_sink_mbs_label">
    314             <intent-filter>
    315                 <action android:name="android.media.browse.MediaBrowserService" />
    316             </intent-filter>
    317         </service>
    318         <service
    319             android:process="@string/process"
    320             android:name = ".avrcpcontroller.AvrcpControllerService"
    321             android:enabled="@bool/profile_supported_avrcp_controller">
    322             <intent-filter>
    323                 <action android:name="android.bluetooth.IBluetoothAvrcpController" />
    324             </intent-filter>
    325         </service>
    326         <service
    327             android:process="@string/process"
    328             android:name = ".hid.HidService"
    329             android:enabled="@bool/profile_supported_hid">
    330             <intent-filter>
    331                 <action android:name="android.bluetooth.IBluetoothInputDevice" />
    332             </intent-filter>
    333         </service>
    334         <service
    335             android:process="@string/process"
    336             android:name = ".hdp.HealthService"
    337             android:enabled="@bool/profile_supported_hdp">
    338             <intent-filter>
    339                 <action android:name="android.bluetooth.IBluetoothHealth" />
    340             </intent-filter>
    341         </service>
    342         <service
    343             android:process="@string/process"
    344             android:name = ".pan.PanService"
    345             android:enabled="@bool/profile_supported_pan">
    346             <intent-filter>
    347                 <action android:name="android.bluetooth.IBluetoothPan" />
    348             </intent-filter>
    349         </service>
    350         <service
    351             android:process="@string/process"
    352             android:name = ".hfpclient.HeadsetClientService"
    353             android:enabled="@bool/profile_supported_hfpclient">
    354             <intent-filter>
    355                 <action android:name="android.bluetooth.IBluetoothHeadsetClient" />
    356             </intent-filter>
    357         </service>
    358         <service
    359             android:process="@string/process"
    360             android:name=".hfpclient.connserv.HfpClientConnectionService"
    361             android:permission="android.permission.BIND_CONNECTION_SERVICE"
    362             android:enabled="@bool/hfp_client_connection_service_enabled">
    363             <intent-filter>
    364                 <!-- Mechanism for Telecom stack to connect -->
    365                 <action android:name="android.telecom.ConnectionService" />
    366             </intent-filter>
    367         </service>
    368         <service
    369             android:process="@string/process"
    370             android:name = ".pbapclient.PbapClientService"
    371             android:enabled="@bool/profile_supported_pbapclient">
    372             <intent-filter>
    373                 <action android:name="android.bluetooth.IBluetoothPbapClient" />
    374             </intent-filter>
    375         </service>
    376         <!-- Authenticator for PBAP account. -->
    377         <service
    378             android:process="@string/process"
    379             android:name=".pbapclient.AuthenticationService"
    380             android:exported="true"
    381             android:enabled="@bool/profile_supported_pbapclient">
    382             <intent-filter>
    383                 <action android:name="android.accounts.AccountAuthenticator" />
    384             </intent-filter>
    385             <meta-data
    386                 android:name="android.accounts.AccountAuthenticator"
    387                 android:resource="@xml/authenticator" />
    388         </service>
    389         <service
    390             android:name = ".hid.HidDevService"
    391             android:enabled="@bool/profile_supported_hidd">
    392             <intent-filter>
    393                 <action android:name="android.bluetooth.IBluetoothInputHost" />
    394             </intent-filter>
    395         </service>
    396     </application>
    397 </manifest>
    398