diff options
| author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-01-07 19:24:06 +0000 |
|---|---|---|
| committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-01-07 19:24:06 +0000 |
| commit | b36ee910578a3097cd3ffde89407424ab648cb15 (patch) | |
| tree | c08186ee22ddc1d40fd20c63d36e57bdacc500f4 /framework/java/android/bluetooth/BluetoothHeadset.java | |
| parent | 321f1ccb514abdf06ae4d653f458380aef9fd51e (diff) | |
| parent | 66e719c16fa38e6e7587423784e1432afa0b77a6 (diff) | |
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" am: 1fb7770381 am: 39eaa2858f am: 66e719c16f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527769
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ie4fafafa85b429baeb79ecd69a345f599a2d6b01
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothHeadset.java')
| -rw-r--r-- | framework/java/android/bluetooth/BluetoothHeadset.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/framework/java/android/bluetooth/BluetoothHeadset.java b/framework/java/android/bluetooth/BluetoothHeadset.java index 57d1411aa6..41610963c0 100644 --- a/framework/java/android/bluetooth/BluetoothHeadset.java +++ b/framework/java/android/bluetooth/BluetoothHeadset.java @@ -682,6 +682,48 @@ public final class BluetoothHeadset implements BluetoothProfile { } /** + * 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 * audio connection. |
