diff options
author | timhypeng <timhypeng@google.com> | 2020-01-13 16:56:51 +0800 |
---|---|---|
committer | timhypeng <timhypeng@google.com> | 2020-01-16 14:37:28 +0800 |
commit | 9a8ec96e48c30d003d10327c1ed5345ffaed0493 (patch) | |
tree | 5a95380029ebeb64ba4f3b045108fdcf9f1096a2 /src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java | |
parent | fd17fcbf115cb638ad2eb796504257e5ff325f66 (diff) |
Unable to set Bluetooth configuration at the first time
- initial configuration value
- add test case
Bug: 147634692
Test: make -j50 RunSettingsRoboTests
Change-Id: If55036d358d664bcbcb816a38f18019c62976d38
Diffstat (limited to 'src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java')
-rw-r--r-- | src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java index 99f25d85d6..71907b6f9f 100644 --- a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java +++ b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java @@ -53,9 +53,12 @@ public abstract class AbstractBluetoothDialogPreferenceController extends protected static final int[] CHANNEL_MODES = {BluetoothCodecConfig.CHANNEL_MODE_STEREO, BluetoothCodecConfig.CHANNEL_MODE_MONO}; + protected final BluetoothA2dpConfigStore mBluetoothA2dpConfigStore; + public AbstractBluetoothDialogPreferenceController(Context context, Lifecycle lifecycle, BluetoothA2dpConfigStore store) { super(context, lifecycle, store); + mBluetoothA2dpConfigStore = store; } @Override @@ -92,6 +95,25 @@ public abstract class AbstractBluetoothDialogPreferenceController extends return getCurrentIndexByConfig(codecConfig); } + @Override + public void onBluetoothServiceConnected(BluetoothA2dp bluetoothA2dp) { + super.onBluetoothServiceConnected(bluetoothA2dp); + initConfigStore(); + } + + private void initConfigStore() { + final BluetoothCodecConfig config = getCurrentCodecConfig(); + if (config == null) { + return; + } + mBluetoothA2dpConfigStore.setCodecType(config.getCodecType()); + mBluetoothA2dpConfigStore.setSampleRate(config.getSampleRate()); + mBluetoothA2dpConfigStore.setBitsPerSample(config.getBitsPerSample()); + mBluetoothA2dpConfigStore.setChannelMode(config.getChannelMode()); + mBluetoothA2dpConfigStore.setCodecPriority(config.getCodecPriority()); + mBluetoothA2dpConfigStore.setCodecSpecific1Value(config.getCodecSpecific1()); + } + /** * Updates the new value to the {@link BluetoothA2dpConfigStore}. * @@ -174,7 +196,7 @@ public abstract class AbstractBluetoothDialogPreferenceController extends * * @param enabled Is {@code true} when the setting is enabled. */ - public void onHDAudioEnabled(boolean enabled) {}; + public void onHDAudioEnabled(boolean enabled) {} static int getHighestCodec(BluetoothCodecConfig[] configs) { if (configs == null) { |