diff options
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothAdapter.java')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothAdapter.java | 11 |
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; } |