Refactor Bluetooth Codec settings to dynamic ListPreference

Fetch supported codecs from native and present to user using
ListPreference.

Bug: 305779598
Bug: 311451118
Bug: 323319530
Tag: #feature
Test: atest SettingsRoboTests:com.android.settings.development.bluetooth.AbstractBluetoothListPreferenceController
Test: atest SettingsRoboTests:com.android.settings.development.bluetooth.BluetoothCodecListPreferenceControllerTest

Merged-In: Iedbfd01c0d1b59df8a073f4e9aedca3913e6d45f
Change-Id: I90ed0d83c3250c64789e27707b0b7bff30043335
This commit is contained in:
Jakub Rotkiewicz
2023-11-22 10:11:25 +00:00
parent 33722b512a
commit de27acef86
11 changed files with 1105 additions and 8 deletions

View File

@@ -62,10 +62,12 @@ import com.android.settings.development.autofill.AutofillCategoryController;
import com.android.settings.development.autofill.AutofillLoggingLevelPreferenceController;
import com.android.settings.development.autofill.AutofillResetOptionsPreferenceController;
import com.android.settings.development.bluetooth.AbstractBluetoothDialogPreferenceController;
import com.android.settings.development.bluetooth.AbstractBluetoothListPreferenceController;
import com.android.settings.development.bluetooth.AbstractBluetoothPreferenceController;
import com.android.settings.development.bluetooth.BluetoothBitPerSampleDialogPreferenceController;
import com.android.settings.development.bluetooth.BluetoothChannelModeDialogPreferenceController;
import com.android.settings.development.bluetooth.BluetoothCodecDialogPreferenceController;
import com.android.settings.development.bluetooth.BluetoothCodecListPreferenceController;
import com.android.settings.development.bluetooth.BluetoothHDAudioPreferenceController;
import com.android.settings.development.bluetooth.BluetoothQualityDialogPreferenceController;
import com.android.settings.development.bluetooth.BluetoothSampleRateDialogPreferenceController;
@@ -724,6 +726,9 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
controllers.add(new AutofillResetOptionsPreferenceController(context));
controllers.add(new BluetoothCodecDialogPreferenceController(context, lifecycle,
bluetoothA2dpConfigStore, fragment));
controllers.add(
new BluetoothCodecListPreferenceController(
context, lifecycle, bluetoothA2dpConfigStore, fragment));
controllers.add(new BluetoothSampleRateDialogPreferenceController(context, lifecycle,
bluetoothA2dpConfigStore));
controllers.add(new BluetoothBitPerSampleDialogPreferenceController(context, lifecycle,
@@ -771,6 +776,9 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
((AbstractBluetoothDialogPreferenceController) controller).onHDAudioEnabled(
enabled);
}
if (controller instanceof AbstractBluetoothListPreferenceController) {
((AbstractBluetoothListPreferenceController) controller).onHDAudioEnabled(enabled);
}
}
}