summaryrefslogtreecommitdiff
path: root/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java')
-rw-r--r--src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
index 6429cb9c2a..0367fcca22 100644
--- a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
@@ -226,12 +226,18 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
*/
public void onHDAudioEnabled(boolean enabled) {}
- static int getHighestCodec(BluetoothCodecConfig[] configs) {
+ static int getHighestCodec(BluetoothA2dp bluetoothA2dp, BluetoothDevice activeDevice,
+ BluetoothCodecConfig[] configs) {
if (configs == null) {
Log.d(TAG, "Unable to get highest codec. Configs are empty");
return BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID;
}
Log.d(TAG, "CODEC_TYPES len: " + CODEC_TYPES.length + " codec_config len: " + configs.length);
+ // If HD audio is not enabled, SBC is the only one available codec.
+ if (bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
+ != BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED) {
+ return BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC;
+ }
for (int i = 0; i < CODEC_TYPES.length; i++) {
for (int j = 0; j < configs.length; j++) {
if ((configs[j].getCodecType() == CODEC_TYPES[i])) {