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.INTERNET" /> 23 <uses-permission android:name="android.permission.BLUETOOTH" /> 24 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 25 <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" /> 26 <uses-permission android:name="android.permission.BLUETOOTH_MAP" /> 27 <uses-permission android:name="android.permission.WAKE_LOCK" /> 28 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 29 <uses-permission android:name="android.permission.READ_CONTACTS" /> 30 <uses-permission android:name="android.permission.READ_CALL_LOG" /> 31 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 32 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 33 <uses-permission android:name="android.permission.NFC_HANDOVER_STATUS" /> 34 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> 35 <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" /> 36 <uses-permission android:name="android.permission.NET_ADMIN" /> 37 <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> 38 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 39 <uses-permission android:name="android.permission.NET_TUNNELING" /> 40 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 41 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 42 <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> 43 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 44 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> 45 <uses-permission android:name="android.permission.BLUETOOTH_STACK" /> 46 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/> 47 <uses-permission android:name="android.permission.MANAGE_USERS"/> 48 <uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/> 49 <uses-permission android:name="com.android.gallery3d.permission.GALLERY_PROVIDER"/> 50 <uses-permission android:name="android.permission.MMS_SEND_OUTBOX_MSG"/> 51 <uses-permission android:name="android.permission.RECEIVE_SMS" /> 52 <uses-permission android:name="android.permission.SEND_SMS" /> 53 <uses-permission android:name="android.permission.READ_SMS" /> 54 <uses-permission android:name="android.permission.WRITE_SMS" /> 55 <uses-permission android:name="android.permission.READ_CONTACTS" /> 56 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 57 <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" /> 58 <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" /> 59 60 <!-- For PBAP Owner Vcard Info --> 61 <uses-permission android:name="android.permission.READ_PROFILE"/> 62 <application 63 android:name=".btservice.AdapterApp" 64 android:icon="@drawable/bt_share" 65 android:persistent="false" 66 android:label="@string/app_name"> 67 <uses-library android:name="javax.obex" /> 68 <provider android:name=".opp.BluetoothOppProvider" 69 android:authorities="com.android.bluetooth.opp" 70 android:exported="true" 71 android:process="@string/process"> 72 <path-permission 73 android:pathPrefix="/btopp" 74 android:permission="android.permission.ACCESS_BLUETOOTH_SHARE" /> 75 </provider> 76 <service 77 android:process="@string/process" 78 android:name = ".btservice.AdapterService"> 79 <intent-filter> 80 <action android:name="android.bluetooth.IBluetooth" /> 81 </intent-filter> 82 </service> 83 <service 84 android:process="@string/process" 85 android:name=".opp.BluetoothOppService" 86 android:permission="android.permission.ACCESS_BLUETOOTH_SHARE" 87 android:enabled="@bool/profile_supported_opp"/> 88 <receiver 89 android:process="@string/process" 90 android:exported="true" 91 android:name=".opp.BluetoothOppReceiver" 92 android:enabled="@bool/profile_supported_opp"> 93 <intent-filter> 94 <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /> 95 <!--action android:name="android.intent.action.BOOT_COMPLETED" /--> 96 <action android:name="android.btopp.intent.action.OPEN_RECEIVED_FILES" /> 97 </intent-filter> 98 </receiver> 99 <receiver 100 android:process="@string/process" 101 android:name=".opp.BluetoothOppHandoverReceiver" 102 android:permission="com.android.permission.WHITELIST_BLUETOOTH_DEVICE"> 103 <intent-filter> 104 <action android:name="android.btopp.intent.action.WHITELIST_DEVICE" /> 105 <action android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" /> 106 </intent-filter> 107 <intent-filter> 108 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND" /> 109 <category android:name="android.intent.category.DEFAULT" /> 110 <data android:mimeType="*/*" /> 111 </intent-filter> 112 <intent-filter> 113 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" /> 114 <category android:name="android.intent.category.DEFAULT" /> 115 <data android:mimeType="*/*" /> 116 </intent-filter> 117 </receiver> 118 <activity android:name=".opp.BluetoothOppLauncherActivity" 119 android:process="@string/process" 120 android:theme="@android:style/Theme.Holo.Dialog" 121 android:label="@string/bt_share_picker_label" 122 android:enabled="@bool/profile_supported_opp"> 123 <intent-filter> 124 <action android:name="android.intent.action.SEND" /> 125 <category android:name="android.intent.category.DEFAULT" /> 126 <data android:mimeType="image/*" /> 127 <data android:mimeType="video/*" /> 128 <data android:mimeType="audio/*" /> 129 <data android:mimeType="text/x-vcard" /> 130 <data android:mimeType="text/plain" /> 131 <data android:mimeType="text/html" /> 132 <data android:mimeType="text/xml" /> 133 <data android:mimeType="application/zip" /> 134 <data android:mimeType="application/vnd.ms-excel" /> 135 <data android:mimeType="application/msword" /> 136 <data android:mimeType="application/vnd.ms-powerpoint" /> 137 <data android:mimeType="application/pdf" /> 138 <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> 139 <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> 140 <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> 141 </intent-filter> 142 <intent-filter> 143 <action android:name="android.intent.action.SEND_MULTIPLE" /> 144 <category android:name="android.intent.category.DEFAULT" /> 145 <data android:mimeType="image/*" /> 146 <data android:mimeType="video/*" /> 147 <data android:mimeType="x-mixmedia/*" /> 148 <data android:mimeType="text/x-vcard" /> 149 </intent-filter> 150 <intent-filter> 151 <action android:name="android.btopp.intent.action.OPEN" /> 152 <category android:name="android.intent.category.DEFAULT" /> 153 <data android:mimeType="vnd.android.cursor.item/vnd.android.btopp" /> 154 </intent-filter> 155 </activity> 156 <activity android:name=".opp.BluetoothOppBtEnableActivity" 157 android:process="@string/process" 158 android:excludeFromRecents="true" 159 android:theme="@*android:style/Theme.Holo.Dialog.Alert" 160 android:enabled="@bool/profile_supported_opp"> 161 </activity> 162 <activity android:name=".opp.BluetoothOppBtErrorActivity" 163 android:process="@string/process" 164 android:excludeFromRecents="true" 165 android:theme="@*android:style/Theme.Holo.Dialog.Alert"> 166 </activity> 167 <activity android:name=".opp.BluetoothOppBtEnablingActivity" 168 android:process="@string/process" 169 android:excludeFromRecents="true" 170 android:theme="@*android:style/Theme.Holo.Dialog.Alert" 171 android:enabled="@bool/profile_supported_opp"> 172 </activity> 173 <activity android:name=".opp.BluetoothOppIncomingFileConfirmActivity" 174 android:process="@string/process" 175 android:excludeFromRecents="true" 176 android:theme="@*android:style/Theme.Holo.Dialog.Alert" 177 android:enabled="@bool/profile_supported_opp"> 178 </activity> 179 <activity android:name=".opp.BluetoothOppTransferActivity" 180 android:process="@string/process" 181 android:excludeFromRecents="true" 182 android:theme="@*android:style/Theme.Holo.Dialog.Alert" 183 android:enabled="@bool/profile_supported_opp"> 184 </activity> 185 <activity android:name=".opp.BluetoothOppLiveFolder" 186 android:process="@string/process" 187 android:icon="@drawable/ic_launcher_folder_bluetooth" 188 android:label="@string/btopp_live_folder" 189 android:enabled="@bool/profile_supported_opp"> 190 <intent-filter> 191 <action android:name="android.intent.action.CREATE_LIVE_FOLDER" /> 192 <category android:name="android.intent.category.DEFAULT" /> 193 </intent-filter> 194 </activity> 195 <activity android:name=".opp.BluetoothOppTransferHistory" 196 android:process="@string/process" 197 android:label="" 198 android:excludeFromRecents="true" 199 android:configChanges="orientation|keyboardHidden" 200 android:enabled="@bool/profile_supported_opp"> 201 </activity> 202 <activity android:name=".pbap.BluetoothPbapActivity" 203 android:process="@string/process" 204 android:excludeFromRecents="true" 205 android:theme="@*android:style/Theme.Holo.Dialog.Alert" 206 android:enabled="@bool/profile_supported_pbap"> 207 <intent-filter> 208 <category android:name="android.intent.category.DEFAULT" /> 209 </intent-filter> 210 </activity> 211 <service 212 android:process="@string/process" 213 android:name=".pbap.BluetoothPbapService" 214 android:enabled="@bool/profile_supported_pbap" > 215 <intent-filter> 216 <action android:name="android.bluetooth.IBluetoothPbap" /> 217 </intent-filter> 218 </service> 219 <receiver 220 android:process="@string/process" 221 android:exported="true" 222 android:name=".pbap.BluetoothPbapReceiver" 223 android:enabled="@bool/profile_supported_pbap"> 224 <intent-filter> 225 <action android:name="android.bluetooth.adapter.action.STATE_CHANGED"/> 226 <action android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" /> 227 <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" /> 228 <category android:name="android.intent.category.DEFAULT" /> 229 </intent-filter> 230 </receiver> 231 <service 232 android:process="@string/process" 233 android:name=".map.BluetoothMapService" 234 android:enabled="@bool/profile_supported_map" > 235 <intent-filter> 236 <action android:name="android.bluetooth.IBluetoothMap" /> 237 <action android:name="android.btmap.intent.action.SHOW_MAPS_EMAIL_SETTINGS" /> 238 <action android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT"/> 239 </intent-filter> 240 </service> 241 <activity android:name=".map.BluetoothMapEmailSettings" 242 android:process="@string/process" 243 android:label="@string/bluetooth_map_email_settings_title" 244 android:excludeFromRecents="true" 245 android:configChanges="orientation|keyboardHidden" 246 android:enabled="@bool/profile_supported_map"> 247 </activity> 248 <service 249 android:process="@string/process" 250 android:name = ".gatt.GattService" 251 android:enabled="@bool/profile_supported_gatt"> 252 <intent-filter> 253 <action android:name="android.bluetooth.IBluetoothGatt" /> 254 </intent-filter> 255 </service> 256 <service 257 android:process="@string/process" 258 android:name = ".hfp.HeadsetService" 259 android:enabled="@bool/profile_supported_hs_hfp"> 260 <intent-filter> 261 <action android:name="android.bluetooth.IBluetoothHeadset" /> 262 </intent-filter> 263 </service> 264 <service 265 android:process="@string/process" 266 android:name = ".a2dp.A2dpService" 267 android:enabled="@bool/profile_supported_a2dp"> 268 <intent-filter> 269 <action android:name="android.bluetooth.IBluetoothA2dp" /> 270 </intent-filter> 271 </service> 272 <service 273 android:process="@string/process" 274 android:name = ".a2dp.A2dpSinkService" 275 android:enabled="@bool/profile_supported_a2dp_sink"> 276 <intent-filter> 277 <action android:name="android.bluetooth.IBluetoothA2dpSink" /> 278 </intent-filter> 279 </service> 280 <service 281 android:process="@string/process" 282 android:name = ".avrcp.AvrcpControllerService" 283 android:enabled="@bool/profile_supported_avrcp_controller"> 284 <intent-filter> 285 <action android:name="android.bluetooth.IBluetoothAvrcpController" /> 286 </intent-filter> 287 </service> 288 <service 289 android:process="@string/process" 290 android:name = ".hid.HidService" 291 android:enabled="@bool/profile_supported_hid"> 292 <intent-filter> 293 <action android:name="android.bluetooth.IBluetoothInputDevice" /> 294 </intent-filter> 295 </service> 296 <service 297 android:process="@string/process" 298 android:name = ".hdp.HealthService" 299 android:enabled="@bool/profile_supported_hdp"> 300 <intent-filter> 301 <action android:name="android.bluetooth.IBluetoothHealth" /> 302 </intent-filter> 303 </service> 304 <service 305 android:process="@string/process" 306 android:name = ".pan.PanService" 307 android:enabled="@bool/profile_supported_pan"> 308 <intent-filter> 309 <action android:name="android.bluetooth.IBluetoothPan" /> 310 </intent-filter> 311 </service> 312 <service 313 android:process="@string/process" 314 android:name = ".hfpclient.HeadsetClientService" 315 android:enabled="@bool/profile_supported_hfpclient"> 316 <intent-filter> 317 <action android:name="android.bluetooth.IBluetoothHeadsetClient" /> 318 </intent-filter> 319 </service> 320 </application> 321 </manifest> 322