1<?xml version="1.0" encoding="utf-8"?> 2 3<manifest xmlns:android="http://schemas.android.com/apk/res/android" 4 package="com.android.bluetooth" 5 android:sharedUserId="android.uid.bluetooth"> 6 7 <!-- Allows access to the Bluetooth Share Manager --> 8 <permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE" 9 android:label="@string/permlab_bluetoothShareManager" 10 android:description="@string/permdesc_bluetoothShareManager" 11 android:protectionLevel="signature|privileged"/> 12 13 <!-- Allows temporarily acceptlisting Bluetooth addresses for sharing --> 14 <permission android:name="com.android.permission.ALLOWLIST_BLUETOOTH_DEVICE" 15 android:label="@string/permlab_bluetoothAcceptlist" 16 android:description="@string/permdesc_bluetoothAcceptlist" 17 android:protectionLevel="signature|privileged"/> 18 19 <uses-permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE"/> 20 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 21 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 22 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 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_ADVERTISE"/> 26 <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/> 27 <uses-permission android:name="android.permission.BLUETOOTH_MAP"/> 28 <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"/> 29 <uses-permission android:name="android.permission.BLUETOOTH_SCAN"/> 30 <uses-permission android:name="android.permission.BLUETOOTH_STACK"/> 31 <uses-permission android:name="android.permission.CALL_PRIVILEGED"/> 32 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 33 <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL"/> 34 <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE" /> 35 <uses-permission android:name="android.permission.DEVICE_POWER"/> 36 <uses-permission android:name="android.permission.GET_ACCOUNTS"/> 37 <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"/> 38 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/> 39 <uses-permission android:name="android.permission.INTERNET"/> 40 <uses-permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"/> 41 <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE" /> 42 <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES"/> 43 <uses-permission android:name="android.permission.MANAGE_COMPANION_DEVICES"/> 44 <uses-permission android:name="android.permission.MANAGE_USERS"/> 45 <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/> 46 <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING"/> 47 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 48 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/> 49 <uses-permission android:name="android.permission.NET_ADMIN"/> 50 <uses-permission android:name="android.permission.NET_TUNNELING"/> 51 <uses-permission android:name="android.permission.NETWORK_FACTORY"/> 52 <uses-permission android:name="android.permission.NFC_HANDOVER_STATUS"/> 53 <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/> 54 <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> 55 <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG" /> 56 <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/> 57 <uses-permission android:name="android.permission.QUERY_AUDIO_STATE"/> 58 <uses-permission android:name="android.permission.READ_CALL_LOG"/> 59 <uses-permission android:name="android.permission.READ_CONTACTS"/> 60 <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/> 61 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 62 <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/> 63 <uses-permission android:name="android.permission.READ_SMS"/> 64 <uses-permission android:name="android.permission.REAL_GET_TASKS"/> 65 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 66 <uses-permission android:name="android.permission.RECEIVE_SMS"/> 67 <uses-permission android:name="android.permission.SEND_SMS"/> 68 <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/> 69 <uses-permission android:name="android.permission.TETHER_PRIVILEGED"/> 70 <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS"/> 71 <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"/> 72 <uses-permission android:name="android.permission.VIBRATE"/> 73 <uses-permission android:name="android.permission.WAKE_LOCK"/> 74 <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/> 75 <uses-permission android:name="android.permission.WRITE_CALL_LOG"/> 76 <uses-permission android:name="android.permission.WRITE_CONTACTS"/> 77 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 78 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/> 79 <uses-permission android:name="android.permission.WRITE_SECURITY_LOG"/> 80 <uses-permission android:name="android.permission.WRITE_SETTINGS"/> 81 <uses-permission android:name="android.permission.WRITE_SMS"/> 82 83 <uses-sdk android:minSdkVersion="14"/> 84 85 <!-- For PBAP Owner Vcard Info --> 86 <uses-permission android:name="android.permission.READ_PROFILE"/> 87 <application android:name="com.android.bluetooth.btservice.AdapterApp" 88 android:icon="@mipmap/bt_share" 89 android:persistent="false" 90 android:label="@string/app_name" 91 android:supportsRtl="true" 92 android:usesCleartextTraffic="false" 93 android:directBootAware="true" 94 android:defaultToDeviceProtectedStorage="true" 95 android:memtagMode="async"> 96 97 <service android:process="@string/process" 98 android:name="com.android.bluetooth.btservice.AdapterService" 99 android:exported="true" 100 android:permission="android.permission.ACCESS_BLUETOOTH_SHARE"> 101 <intent-filter> 102 <action android:name="android.bluetooth.IBluetooth"/> 103 </intent-filter> 104 </service> 105 106 <service android:process="@string/process" 107 android:name="com.android.bluetooth.notification.NotificationHelperService" 108 android:label="Notification Helper" 109 android:exported="true" 110 android:permission="android.permission.BLUETOOTH_PRIVILEGED"> 111 <intent-filter> 112 <action android:name="android.bluetooth.notification.action.SEND_TOGGLE_NOTIFICATION"/> 113 </intent-filter> 114 </service> 115 116 <service android:process="@string/process" 117 android:name="com.android.bluetooth.avrcpcontroller.BluetoothMediaBrowserService" 118 android:enabled="true" 119 android:exported="true" 120 android:label="@string/a2dp_sink_mbs_label"> 121 <intent-filter> 122 <action android:name="android.media.browse.MediaBrowserService"/> 123 </intent-filter> 124 <meta-data android:name="androidx.car.app.launchable" android:value="true" /> 125 </service> 126 <provider android:process="@string/process" 127 android:name="com.android.bluetooth.avrcpcontroller.AvrcpCoverArtProvider" 128 android:authorities="com.android.bluetooth.avrcpcontroller.AvrcpCoverArtProvider" 129 android:enabled="false" 130 android:grantUriPermissions="true" 131 android:exported="true"> 132 </provider> 133 <activity android:name="com.android.bluetooth.BluetoothPrefs" 134 android:exported="true" 135 android:enabled="false"> 136 <intent-filter> 137 <action android:name="android.intent.action.APPLICATION_PREFERENCES"/> 138 </intent-filter> 139 <meta-data android:name="distractionOptimized" android:value="true"/> 140 </activity> 141 142 <service 143 android:name="com.android.bluetooth.telephony.BluetoothInCallService" 144 android:permission="android.permission.BIND_INCALL_SERVICE" 145 android:process="@string/process" 146 android:enabled="false" 147 android:exported="true"> 148 <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS" 149 android:value="true" /> 150 <intent-filter> 151 <action android:name="android.telecom.InCallService"/> 152 </intent-filter> 153 </service> 154 <service android:process="@string/process" 155 android:name="com.android.bluetooth.hfpclient.HfpClientConnectionService" 156 android:permission="android.permission.BIND_CONNECTION_SERVICE" 157 android:enabled="true" 158 android:exported="true"> 159 <intent-filter> 160 <action android:name="android.telecom.ConnectionService"/> 161 </intent-filter> 162 </service> 163 164 <activity android:name="com.android.bluetooth.map.BluetoothMapSettings" 165 android:process="@string/process" 166 android:label="@string/bluetooth_map_settings_title" 167 android:excludeFromRecents="true" 168 android:configChanges="orientation|keyboardHidden" 169 android:enabled="false"> 170 </activity> 171 <provider android:name="com.android.bluetooth.map.MmsFileProvider" 172 android:authorities="com.android.bluetooth.map.MmsFileProvider" 173 android:enabled="false" 174 android:grantUriPermissions="true" 175 android:exported="false"> 176 </provider> 177 178 <provider android:name="com.android.bluetooth.opp.BluetoothOppProvider" 179 android:authorities="com.android.bluetooth.opp" 180 android:enabled="false" 181 android:exported="true" 182 android:process="@string/process"> 183 <path-permission android:pathPrefix="/btopp" 184 android:permission="android.permission.ACCESS_BLUETOOTH_SHARE"/> 185 </provider> 186 <receiver android:process="@string/process" 187 android:name="com.android.bluetooth.opp.BluetoothOppReceiver" 188 android:exported="true" 189 android:enabled="false"> 190 </receiver> 191 <receiver android:process="@string/process" 192 android:name="com.android.bluetooth.opp.BluetoothOppHandoverReceiver" 193 android:permission="com.android.permission.ALLOWLIST_BLUETOOTH_DEVICE" 194 android:exported="true" 195 android:enabled="false"> 196 <intent-filter> 197 <action android:name="android.btopp.intent.action.ACCEPTLIST_DEVICE"/> 198 <action android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER"/> 199 </intent-filter> 200 <intent-filter> 201 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND"/> 202 <category android:name="android.intent.category.DEFAULT"/> 203 <data android:mimeType="*/*"/> 204 </intent-filter> 205 <intent-filter> 206 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE"/> 207 <category android:name="android.intent.category.DEFAULT"/> 208 <data android:mimeType="*/*"/> 209 </intent-filter> 210 </receiver> 211 <activity android:name="com.android.bluetooth.opp.BluetoothOppLauncherActivity" 212 android:process="@string/process" 213 android:theme="@android:style/Theme.Material.Light.Dialog" 214 android:label="@string/bt_share_picker_label" 215 android:enabled="false" 216 android:exported="true"> 217 <intent-filter> 218 <action android:name="android.intent.action.SEND"/> 219 <category android:name="android.intent.category.DEFAULT"/> 220 <data android:mimeType="image/*"/> 221 <data android:mimeType="video/*"/> 222 <data android:mimeType="audio/*"/> 223 <data android:mimeType="text/x-vcard"/> 224 <data android:mimeType="text/x-vcalendar"/> 225 <data android:mimeType="text/calendar"/> 226 <data android:mimeType="text/plain"/> 227 <data android:mimeType="text/html"/> 228 <data android:mimeType="text/xml"/> 229 <data android:mimeType="application/zip"/> 230 <data android:mimeType="application/vnd.ms-excel"/> 231 <data android:mimeType="application/msword"/> 232 <data android:mimeType="application/vnd.ms-powerpoint"/> 233 <data android:mimeType="application/pdf"/> 234 <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/> 235 <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/> 236 <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation"/> 237 <data android:mimeType="application/x-hwp"/> 238 </intent-filter> 239 <intent-filter> 240 <action android:name="android.intent.action.SEND_MULTIPLE"/> 241 <category android:name="android.intent.category.DEFAULT"/> 242 <data android:mimeType="image/*"/> 243 <data android:mimeType="video/*"/> 244 <data android:mimeType="x-mixmedia/*"/> 245 <data android:mimeType="text/x-vcard"/> 246 </intent-filter> 247 <intent-filter> 248 <action android:name="android.btopp.intent.action.OPEN"/> 249 <category android:name="android.intent.category.DEFAULT"/> 250 <data android:mimeType="vnd.android.cursor.item/vnd.android.btopp"/> 251 </intent-filter> 252 </activity> 253 <activity android:name="com.android.bluetooth.opp.BluetoothOppBtEnableActivity" 254 android:process="@string/process" 255 android:excludeFromRecents="true" 256 android:theme="@style/dialog" 257 android:enabled="false"> 258 </activity> 259 <activity android:name="com.android.bluetooth.opp.BluetoothOppBtErrorActivity" 260 android:process="@string/process" 261 android:excludeFromRecents="true" 262 android:theme="@style/dialog" 263 android:enabled="false"> 264 </activity> 265 <activity android:name="com.android.bluetooth.opp.BluetoothOppBtEnablingActivity" 266 android:process="@string/process" 267 android:excludeFromRecents="true" 268 android:theme="@style/dialog" 269 android:enabled="false"> 270 </activity> 271 <activity android:name="com.android.bluetooth.opp.BluetoothOppIncomingFileConfirmActivity" 272 android:process="@string/process" 273 android:excludeFromRecents="true" 274 android:theme="@style/dialog" 275 android:enabled="false"> 276 </activity> 277 <activity android:name="com.android.bluetooth.opp.BluetoothOppTransferActivity" 278 android:process="@string/process" 279 android:excludeFromRecents="true" 280 android:theme="@style/dialog" 281 android:enabled="false"> 282 </activity> 283 <activity android:name="com.android.bluetooth.opp.BluetoothOppTransferHistory" 284 android:process="@string/process" 285 android:label="" 286 android:excludeFromRecents="true" 287 android:configChanges="orientation|keyboardHidden" 288 android:enabled="false" 289 android:theme="@android:style/Theme.DeviceDefault.Settings" 290 android:exported="true"> 291 <intent-filter> 292 <action android:name="com.android.bluetooth.action.TransferHistory"/> 293 <category android:name="android.intent.category.DEFAULT"/> 294 </intent-filter> 295 </activity> 296 297 <activity android:name="com.android.bluetooth.pbap.BluetoothPbapActivity" 298 android:process="@string/process" 299 android:excludeFromRecents="true" 300 android:theme="@style/dialog" 301 android:enabled="false"> 302 </activity> 303 304 <service android:process="@string/process" 305 android:name="com.android.bluetooth.pbapclient.AuthenticationService" 306 android:enabled="false" 307 android:exported="true"> 308 <intent-filter> 309 <action android:name="android.accounts.AccountAuthenticator"/> 310 </intent-filter> 311 <meta-data android:name="android.accounts.AccountAuthenticator" 312 android:resource="@xml/authenticator"/> 313 </service> 314 </application> 315</manifest> 316