Merge "Introduce public APIs to check whether a remote bluetooth headset supports voice recognition as well as echo cancellation and/or noise reduction via the AT+BRSF bitmask"
This commit is contained in:
@@ -8909,6 +8909,8 @@ package android.bluetooth {
|
||||
method public int getConnectionState(android.bluetooth.BluetoothDevice);
|
||||
method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
|
||||
method public boolean isAudioConnected(android.bluetooth.BluetoothDevice);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isNoiseReductionSupported(@NonNull android.bluetooth.BluetoothDevice);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isVoiceRecognitionSupported(@NonNull android.bluetooth.BluetoothDevice);
|
||||
method public boolean sendVendorSpecificResultCode(android.bluetooth.BluetoothDevice, String, String);
|
||||
method public boolean startVoiceRecognition(android.bluetooth.BluetoothDevice);
|
||||
method public boolean stopVoiceRecognition(android.bluetooth.BluetoothDevice);
|
||||
|
||||
@@ -681,6 +681,48 @@ public final class BluetoothHeadset implements BluetoothProfile {
|
||||
return BluetoothProfile.CONNECTION_POLICY_FORBIDDEN;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the headset supports some form of noise reduction
|
||||
*
|
||||
* @param device Bluetooth device
|
||||
* @return true if echo cancellation and/or noise reduction is supported, false otherwise
|
||||
*/
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
public boolean isNoiseReductionSupported(@NonNull BluetoothDevice device) {
|
||||
if (DBG) log("isNoiseReductionSupported()");
|
||||
final IBluetoothHeadset service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.isNoiseReductionSupported(device);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, Log.getStackTraceString(new Throwable()));
|
||||
}
|
||||
}
|
||||
if (service == null) Log.w(TAG, "Proxy not attached to service");
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the headset supports voice recognition
|
||||
*
|
||||
* @param device Bluetooth device
|
||||
* @return true if voice recognition is supported, false otherwise
|
||||
*/
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
public boolean isVoiceRecognitionSupported(@NonNull BluetoothDevice device) {
|
||||
if (DBG) log("isVoiceRecognitionSupported()");
|
||||
final IBluetoothHeadset service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.isVoiceRecognitionSupported(device);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, Log.getStackTraceString(new Throwable()));
|
||||
}
|
||||
}
|
||||
if (service == null) Log.w(TAG, "Proxy not attached to service");
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start Bluetooth voice recognition. This methods sends the voice
|
||||
* recognition AT command to the headset and establishes the
|
||||
|
||||
Reference in New Issue
Block a user