Merge "BluetoothAdapter#connectAllEnabledProfiles and BluetoothAdapter#disconnectAllEnabledProfiles updated to require BLUETOOTH_PRIVILEGED permission and update documentation to indicate connection and disconnection is asynchronous" am: 750ab04052

Change-Id: Ie1a3555e3ca5d6a137142d3693850d72184cd3b6
This commit is contained in:
Automerger Merge Worker
2020-02-06 04:46:01 +00:00
2 changed files with 16 additions and 8 deletions

View File

@@ -1293,9 +1293,9 @@ package android.bluetooth {
public final class BluetoothAdapter { public final class BluetoothAdapter {
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean addOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean addOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean connectAllEnabledProfiles(@NonNull android.bluetooth.BluetoothDevice); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean connectAllEnabledProfiles(@NonNull android.bluetooth.BluetoothDevice);
method public boolean disableBLE(); method public boolean disableBLE();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean disconnectAllEnabledProfiles(@NonNull android.bluetooth.BluetoothDevice); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean disconnectAllEnabledProfiles(@NonNull android.bluetooth.BluetoothDevice);
method public boolean enableBLE(); method public boolean enableBLE();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean enableNoAutoConnect(); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean enableNoAutoConnect();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean factoryReset(); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean factoryReset();

View File

@@ -1861,15 +1861,19 @@ public final class BluetoothAdapter {
} }
/** /**
* Connects all enabled and supported bluetooth profiles between the local and remote device * Connects all enabled and supported bluetooth profiles between the local and remote device.
* Connection is asynchronous and you should listen to each profile's broadcast intent
* ACTION_CONNECTION_STATE_CHANGED to verify whether connection was successful. For example,
* to verify a2dp is connected, you would listen for
* {@link BluetoothA2dp#ACTION_CONNECTION_STATE_CHANGED}
* *
* @param device is the remote device with which to connect these profiles * @param device is the remote device with which to connect these profiles
* @return true if all profiles successfully connected, false if an error occurred * @return true if message sent to try to connect all profiles, false if an error occurred
* *
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN) @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
public boolean connectAllEnabledProfiles(@NonNull BluetoothDevice device) { public boolean connectAllEnabledProfiles(@NonNull BluetoothDevice device) {
try { try {
mServiceLock.readLock().lock(); mServiceLock.readLock().lock();
@@ -1886,15 +1890,19 @@ public final class BluetoothAdapter {
} }
/** /**
* Disconnects all enabled and supported bluetooth profiles between the local and remote device * Disconnects all enabled and supported bluetooth profiles between the local and remote device.
* Disconnection is asynchronous and you should listen to each profile's broadcast intent
* ACTION_CONNECTION_STATE_CHANGED to verify whether disconnection was successful. For example,
* to verify a2dp is disconnected, you would listen for
* {@link BluetoothA2dp#ACTION_CONNECTION_STATE_CHANGED}
* *
* @param device is the remote device with which to disconnect these profiles * @param device is the remote device with which to disconnect these profiles
* @return true if all profiles successfully disconnected, false if an error occurred * @return true if message sent to try to disconnect all profiles, false if an error occurred
* *
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN) @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
public boolean disconnectAllEnabledProfiles(@NonNull BluetoothDevice device) { public boolean disconnectAllEnabledProfiles(@NonNull BluetoothDevice device) {
try { try {
mServiceLock.readLock().lock(); mServiceLock.readLock().lock();