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 <provider android:name="com.android.bluetooth.map.MmsFileProvider" 165 android:authorities="com.android.bluetooth.map.MmsFileProvider" 166 android:enabled="false" 167 android:grantUriPermissions="true" 168 android:exported="false"> 169 </provider> 170 171 <provider android:name="com.android.bluetooth.opp.BluetoothOppProvider" 172 android:authorities="com.android.bluetooth.opp" 173 android:enabled="false" 174 android:exported="true" 175 android:process="@string/process"> 176 <path-permission android:pathPrefix="/btopp" 177 android:permission="android.permission.ACCESS_BLUETOOTH_SHARE"/> 178 </provider> 179 <receiver android:process="@string/process" 180 android:name="com.android.bluetooth.opp.BluetoothOppReceiver" 181 android:exported="true" 182 android:enabled="false"> 183 </receiver> 184 <receiver android:process="@string/process" 185 android:name="com.android.bluetooth.opp.BluetoothOppHandoverReceiver" 186 android:permission="com.android.permission.ALLOWLIST_BLUETOOTH_DEVICE" 187 android:exported="true" 188 android:enabled="false"> 189 <intent-filter> 190 <action android:name="android.btopp.intent.action.ACCEPTLIST_DEVICE"/> 191 <action android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER"/> 192 </intent-filter> 193 <intent-filter> 194 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND"/> 195 <category android:name="android.intent.category.DEFAULT"/> 196 <data android:mimeType="*/*"/> 197 </intent-filter> 198 <intent-filter> 199 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE"/> 200 <category android:name="android.intent.category.DEFAULT"/> 201 <data android:mimeType="*/*"/> 202 </intent-filter> 203 </receiver> 204 <activity android:name="com.android.bluetooth.opp.BluetoothOppLauncherActivity" 205 android:process="@string/process" 206 android:theme="@android:style/Theme.Translucent.NoTitleBar" 207 android:label="@string/bt_share_picker_label" 208 android:enabled="false" 209 android:exported="true"> 210 <intent-filter> 211 <action android:name="android.intent.action.SEND"/> 212 <category android:name="android.intent.category.DEFAULT"/> 213 <data android:mimeType="image/*"/> 214 <data android:mimeType="video/*"/> 215 <data android:mimeType="audio/*"/> 216 <data android:mimeType="text/x-vcard"/> 217 <data android:mimeType="text/x-vcalendar"/> 218 <data android:mimeType="text/calendar"/> 219 <data android:mimeType="text/plain"/> 220 <data android:mimeType="text/html"/> 221 <data android:mimeType="text/xml"/> 222 <data android:mimeType="application/zip"/> 223 <data android:mimeType="application/vnd.ms-excel"/> 224 <data android:mimeType="application/msword"/> 225 <data android:mimeType="application/vnd.ms-powerpoint"/> 226 <data android:mimeType="application/pdf"/> 227 <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/> 228 <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/> 229 <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation"/> 230 <data android:mimeType="application/x-hwp"/> 231 </intent-filter> 232 <intent-filter> 233 <action android:name="android.intent.action.SEND_MULTIPLE"/> 234 <category android:name="android.intent.category.DEFAULT"/> 235 <data android:mimeType="image/*"/> 236 <data android:mimeType="video/*"/> 237 <data android:mimeType="x-mixmedia/*"/> 238 <data android:mimeType="text/x-vcard"/> 239 </intent-filter> 240 <intent-filter> 241 <action android:name="android.btopp.intent.action.OPEN"/> 242 <category android:name="android.intent.category.DEFAULT"/> 243 <data android:mimeType="vnd.android.cursor.item/vnd.android.btopp"/> 244 </intent-filter> 245 </activity> 246 <activity android:name="com.android.bluetooth.opp.BluetoothOppBtEnableActivity" 247 android:process="@string/process" 248 android:excludeFromRecents="true" 249 android:theme="@style/dialog" 250 android:enabled="false"> 251 </activity> 252 <activity android:name="com.android.bluetooth.opp.BluetoothOppBtErrorActivity" 253 android:process="@string/process" 254 android:excludeFromRecents="true" 255 android:theme="@style/dialog" 256 android:enabled="false"> 257 </activity> 258 <activity android:name="com.android.bluetooth.opp.BluetoothOppBtEnablingActivity" 259 android:process="@string/process" 260 android:excludeFromRecents="true" 261 android:theme="@style/dialog" 262 android:enabled="false"> 263 </activity> 264 <activity android:name="com.android.bluetooth.opp.BluetoothOppIncomingFileConfirmActivity" 265 android:process="@string/process" 266 android:excludeFromRecents="true" 267 android:theme="@style/dialog" 268 android:enabled="false"> 269 </activity> 270 <activity android:name="com.android.bluetooth.opp.BluetoothOppTransferActivity" 271 android:process="@string/process" 272 android:excludeFromRecents="true" 273 android:theme="@style/dialog" 274 android:enabled="false"> 275 </activity> 276 <activity android:name="com.android.bluetooth.opp.BluetoothOppTransferHistory" 277 android:process="@string/process" 278 android:label="" 279 android:excludeFromRecents="true" 280 android:configChanges="orientation|keyboardHidden" 281 android:enabled="false" 282 android:theme="@android:style/Theme.DeviceDefault.Settings" 283 android:exported="true"> 284 <intent-filter> 285 <action android:name="com.android.bluetooth.action.TransferHistory"/> 286 <category android:name="android.intent.category.DEFAULT"/> 287 </intent-filter> 288 </activity> 289 290 <activity android:name="com.android.bluetooth.pbap.BluetoothPbapActivity" 291 android:process="@string/process" 292 android:excludeFromRecents="true" 293 android:theme="@style/dialog" 294 android:enabled="false"> 295 </activity> 296 297 <service android:process="@string/process" 298 android:name="com.android.bluetooth.pbapclient.PbapClientAccountAuthenticatorService" 299 android:enabled="false" 300 android:exported="true"> 301 <intent-filter> 302 <action android:name="android.accounts.AccountAuthenticator"/> 303 </intent-filter> 304 <meta-data android:name="android.accounts.AccountAuthenticator" 305 android:resource="@xml/authenticator"/> 306 </service> 307 </application> 308</manifest> 309