summaryrefslogtreecommitdiff
path: root/framework/java/android/bluetooth/BluetoothAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothAdapter.java')
-rw-r--r--framework/java/android/bluetooth/BluetoothAdapter.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/framework/java/android/bluetooth/BluetoothAdapter.java b/framework/java/android/bluetooth/BluetoothAdapter.java
index 385755a5e9..f420b94db7 100644
--- a/framework/java/android/bluetooth/BluetoothAdapter.java
+++ b/framework/java/android/bluetooth/BluetoothAdapter.java
@@ -2571,14 +2571,20 @@ public final class BluetoothAdapter {
* BluetoothProfile}.
* @hide
*/
- @RequiresNoPermission
+ @SystemApi
+ @RequiresBluetoothConnectPermission
+ @RequiresPermission(allOf = {
+ android.Manifest.permission.BLUETOOTH_CONNECT,
+ android.Manifest.permission.BLUETOOTH_PRIVILEGED,
+ })
public @NonNull List<Integer> getSupportedProfiles() {
final ArrayList<Integer> supportedProfiles = new ArrayList<Integer>();
try {
synchronized (mManagerCallback) {
if (mService != null) {
- final long supportedProfilesBitMask = mService.getSupportedProfiles();
+ final long supportedProfilesBitMask =
+ mService.getSupportedProfiles(mAttributionSource);
for (int i = 0; i <= BluetoothProfile.MAX_PROFILE_ID; i++) {
if ((supportedProfilesBitMask & (1 << i)) != 0) {
@@ -2594,6 +2600,7 @@ public final class BluetoothAdapter {
}
} catch (RemoteException e) {
Log.e(TAG, "getSupportedProfiles:", e);
+ e.rethrowFromSystemServer();
}
return supportedProfiles;
}