Merge "Make BluetoothCodecConfig and BluetoothCodecStatus public" am: 0e1a4d3bdf am: 328169a11c am: 76560b4e5b

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1849631

Change-Id: I50c12636bb26250d58a6bd69dc1887e304fb876a
This commit is contained in:
Etienne Ruffieux
2021-12-06 16:18:10 +00:00
committed by Automerger Merge Worker
9 changed files with 139 additions and 103 deletions

View File

@@ -71,10 +71,16 @@ public class BluetoothA2dpConfigStore {
}
public BluetoothCodecConfig createCodecConfig() {
return new BluetoothCodecConfig(mCodecType, mCodecPriority,
mSampleRate, mBitsPerSample,
mChannelMode, mCodecSpecific1Value,
mCodecSpecific2Value, mCodecSpecific3Value,
mCodecSpecific4Value);
return new BluetoothCodecConfig.Builder()
.setCodecType(mCodecType)
.setCodecPriority(mCodecPriority)
.setSampleRate(mSampleRate)
.setBitsPerSample(mBitsPerSample)
.setChannelMode(mChannelMode)
.setCodecSpecific1(mCodecSpecific1Value)
.setCodecSpecific2(mCodecSpecific2Value)
.setCodecSpecific3(mCodecSpecific3Value)
.setCodecSpecific4(mCodecSpecific4Value)
.build();
}
}

View File

@@ -30,6 +30,8 @@ import androidx.preference.Preference;
import com.android.settings.development.BluetoothA2dpConfigStore;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.List;
/**
* Abstract class for Bluetooth A2DP config dialog controller in developer option.
*/
@@ -170,7 +172,7 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
*
* @return Array of {@link BluetoothCodecConfig}.
*/
protected BluetoothCodecConfig[] getSelectableConfigs(BluetoothDevice device) {
protected List<BluetoothCodecConfig> getSelectableConfigs(BluetoothDevice device) {
final BluetoothA2dp bluetoothA2dp = mBluetoothA2dp;
if (bluetoothA2dp == null) {
return null;
@@ -198,11 +200,7 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
Log.d(TAG, "Unable to get selectable config. No active device.");
return null;
}
final BluetoothCodecConfig[] configs = getSelectableConfigs(activeDevice);
if (configs == null) {
Log.d(TAG, "Unable to get selectable config. Selectable configs is empty.");
return null;
}
final List<BluetoothCodecConfig> configs = getSelectableConfigs(activeDevice);
for (BluetoothCodecConfig config : configs) {
if (config.getCodecType() == codecTypeValue) {
return config;
@@ -220,7 +218,7 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
public void onHDAudioEnabled(boolean enabled) {}
static int getHighestCodec(BluetoothA2dp bluetoothA2dp, BluetoothDevice activeDevice,
BluetoothCodecConfig[] configs) {
List<BluetoothCodecConfig> configs) {
if (configs == null) {
Log.d(TAG, "Unable to get highest codec. Configs are empty");
return BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID;
@@ -231,8 +229,8 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
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])) {
for (BluetoothCodecConfig config : configs) {
if (config.getCodecType() == CODEC_TYPES[i]) {
return CODEC_TYPES[i];
}
}

View File

@@ -77,7 +77,7 @@ public class BluetoothCodecDialogPreferenceController extends
// Check HD audio is enabled, display the available list.
if (bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
== BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED) {
BluetoothCodecConfig[] configs = getSelectableConfigs(activeDevice);
List<BluetoothCodecConfig> configs = getSelectableConfigs(activeDevice);
if (configs != null) {
return getIndexFromConfig(configs);
}
@@ -153,10 +153,10 @@ public class BluetoothCodecDialogPreferenceController extends
writeConfigurationValues(/* index= */ 0);
}
private List<Integer> getIndexFromConfig(BluetoothCodecConfig[] configs) {
private List<Integer> getIndexFromConfig(List<BluetoothCodecConfig> configs) {
List<Integer> indexArray = new ArrayList<>();
for (int i = 0; i < configs.length; i++) {
indexArray.add(convertCfgToBtnIndex(configs[i].getCodecType()));
for (BluetoothCodecConfig config : configs) {
indexArray.add(convertCfgToBtnIndex(config.getCodecType()));
}
return indexArray;
}