Merge "Create systemapis to connect/disconnect all bt profiles"

This commit is contained in:
Rahul Sabnis
2019-11-18 23:15:06 +00:00
committed by Gerrit Code Review
2 changed files with 52 additions and 0 deletions

View File

@@ -1239,7 +1239,9 @@ package android.bluetooth {
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_ADMIN) public boolean connectAllEnabledProfiles(@NonNull android.bluetooth.BluetoothDevice);
method public boolean disableBLE();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean disconnectAllEnabledProfiles(@NonNull android.bluetooth.BluetoothDevice);
method public boolean enableBLE();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean enableNoAutoConnect();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean factoryReset();

View File

@@ -1733,6 +1733,56 @@ public final class BluetoothAdapter {
return false;
}
/**
* Connects all enabled and supported bluetooth profiles between the local and remote device
*
* @param device is the remote device with which to connect these profiles
* @return true if all profiles successfully connected, false if an error occurred
*
* @hide
*/
@SystemApi
@RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
public boolean connectAllEnabledProfiles(@NonNull BluetoothDevice device) {
try {
mServiceLock.readLock().lock();
if (mService != null) {
return mService.connectAllEnabledProfiles(device);
}
} catch (RemoteException e) {
Log.e(TAG, "", e);
} finally {
mServiceLock.readLock().unlock();
}
return false;
}
/**
* Disconnects all enabled and supported bluetooth profiles between the local and remote device
*
* @param device is the remote device with which to disconnect these profiles
* @return true if all profiles successfully disconnected, false if an error occurred
*
* @hide
*/
@SystemApi
@RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
public boolean disconnectAllEnabledProfiles(@NonNull BluetoothDevice device) {
try {
mServiceLock.readLock().lock();
if (mService != null) {
return mService.disconnectAllEnabledProfiles(device);
}
} catch (RemoteException e) {
Log.e(TAG, "", e);
} finally {
mServiceLock.readLock().unlock();
}
return false;
}
/**
* Return true if the multi advertisement is supported by the chipset
*