diff --git a/res/layout/bluetooth_audio_codec_dialog.xml b/res/layout/bluetooth_audio_codec_dialog.xml
index 9a6b768bb8f..96364270558 100644
--- a/res/layout/bluetooth_audio_codec_dialog.xml
+++ b/res/layout/bluetooth_audio_codec_dialog.xml
@@ -54,17 +54,8 @@
-
-
-
-
-
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index ece9822a80f..2607c09126a 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -288,40 +288,49 @@
android:entries="@array/bluetooth_avrcp_versions"
android:entryValues="@array/bluetooth_avrcp_version_values" />
-
+
+
+ android:dialogLayout="@layout/bluetooth_audio_codec_dialog"
+ android:positiveButtonText=""
+ android:negativeButtonText="@string/dlg_ok"/>
-
+ android:dialogLayout="@layout/bluetooth_audio_sample_rate_dialog"
+ android:positiveButtonText=""
+ android:negativeButtonText="@string/dlg_ok"/>
-
+ android:dialogLayout="@layout/bluetooth_audio_bit_per_sample_dialog"
+ android:positiveButtonText=""
+ android:negativeButtonText="@string/dlg_ok"/>
-
+ android:dialogLayout="@layout/bluetooth_audio_channel_mode_dialog"
+ android:positiveButtonText=""
+ android:negativeButtonText="@string/dlg_ok"/>
-
+ android:dialogLayout="@layout/bluetooth_audio_quality_dialog"
+ android:positiveButtonText=""
+ android:negativeButtonText="@string/dlg_ok"/>
0) {
- index %= 10;
- } else {
- index = DEFAULT_INDEX;
- }
- switch (index) {
- case 0:
- case 1:
- case 2:
- case 3:
- break;
- default:
- index = DEFAULT_INDEX;
- break;
- }
- return index;
- }
-}
diff --git a/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceController.java b/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceController.java
deleted file mode 100644
index 35b449e6b2b..00000000000
--- a/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceController.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class BluetoothAudioSampleRatePreferenceController extends
- AbstractBluetoothA2dpPreferenceController {
-
- private static final int DEFAULT_INDEX = 0;
- private static final String BLUETOOTH_SELECT_A2DP_SAMPLE_RATE_KEY =
- "bluetooth_select_a2dp_sample_rate";
-
- public BluetoothAudioSampleRatePreferenceController(Context context, Lifecycle lifecycle,
- BluetoothA2dpConfigStore store) {
- super(context, lifecycle, store);
- }
-
- @Override
- public String getPreferenceKey() {
- return BLUETOOTH_SELECT_A2DP_SAMPLE_RATE_KEY;
- }
-
- @Override
- protected String[] getListValues() {
- return mContext.getResources().getStringArray(
- R.array.bluetooth_a2dp_codec_sample_rate_values);
- }
-
- @Override
- protected String[] getListSummaries() {
- return mContext.getResources().getStringArray(
- R.array.bluetooth_a2dp_codec_sample_rate_summaries);
- }
-
- @Override
- protected int getDefaultIndex() {
- return DEFAULT_INDEX;
- }
-
- @Override
- protected void writeConfigurationValues(Object newValue) {
- final int index = mPreference.findIndexOfValue(newValue.toString());
- int sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_NONE; // default
- switch (index) {
- case 0:
- sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_NONE;
- break;
- case 1:
- sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_44100;
- break;
- case 2:
- sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_48000;
- break;
- case 3:
- sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_88200;
- break;
- case 4:
- sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_96000;
- break;
- default:
- break;
- }
- mBluetoothA2dpConfigStore.setSampleRate(sampleRateValue);
- }
-
- @Override
- protected int getCurrentA2dpSettingIndex(BluetoothCodecConfig config) {
- final int sampleRate = config.getSampleRate();
- int index = DEFAULT_INDEX;
- switch (sampleRate) {
- case BluetoothCodecConfig.SAMPLE_RATE_44100:
- index = 1;
- break;
- case BluetoothCodecConfig.SAMPLE_RATE_48000:
- index = 2;
- break;
- case BluetoothCodecConfig.SAMPLE_RATE_88200:
- index = 3;
- break;
- case BluetoothCodecConfig.SAMPLE_RATE_96000:
- index = 4;
- break;
- case BluetoothCodecConfig.SAMPLE_RATE_176400:
- case BluetoothCodecConfig.SAMPLE_RATE_192000:
- case BluetoothCodecConfig.SAMPLE_RATE_NONE:
- default:
- break;
- }
- return index;
- }
-}
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index 7fc898bf452..8f1db0f97c2 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -44,6 +44,14 @@ import com.android.settings.Utils;
import com.android.settings.dashboard.RestrictedDashboardFragment;
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.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.BluetoothHDAudioPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothQualityDialogPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothSampleRateDialogPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -62,7 +70,8 @@ import java.util.List;
public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFragment
implements SwitchBar.OnSwitchChangeListener, OemUnlockDialogHost, AdbDialogHost,
AdbClearKeysDialogHost, LogPersistDialogHost,
- BluetoothA2dpHwOffloadRebootDialog.OnA2dpHwDialogConfirmedListener {
+ BluetoothA2dpHwOffloadRebootDialog.OnA2dpHwDialogConfirmedListener,
+ AbstractBluetoothPreferenceController.Callback {
private static final String TAG = "DevSettingsDashboard";
@@ -455,16 +464,6 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
controllers.add(new BluetoothAbsoluteVolumePreferenceController(context));
controllers.add(new BluetoothAvrcpVersionPreferenceController(context));
controllers.add(new BluetoothA2dpHwOffloadPreferenceController(context, fragment));
- controllers.add(new BluetoothAudioCodecPreferenceController(context, lifecycle,
- bluetoothA2dpConfigStore));
- controllers.add(new BluetoothAudioSampleRatePreferenceController(context, lifecycle,
- bluetoothA2dpConfigStore));
- controllers.add(new BluetoothAudioBitsPerSamplePreferenceController(context, lifecycle,
- bluetoothA2dpConfigStore));
- controllers.add(new BluetoothAudioChannelModePreferenceController(context, lifecycle,
- bluetoothA2dpConfigStore));
- controllers.add(new BluetoothAudioQualityPreferenceController(context, lifecycle,
- bluetoothA2dpConfigStore));
controllers.add(new BluetoothMaxConnectedAudioDevicesPreferenceController(context));
controllers.add(new ShowTapsPreferenceController(context));
controllers.add(new PointerLocationPreferenceController(context));
@@ -511,6 +510,19 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
controllers.add(new DefaultLaunchPreferenceController(context, "inactive_apps"));
controllers.add(new AutofillLoggingLevelPreferenceController(context, lifecycle));
controllers.add(new AutofillResetOptionsPreferenceController(context));
+ controllers.add(new BluetoothCodecDialogPreferenceController(context, lifecycle,
+ bluetoothA2dpConfigStore, fragment));
+ controllers.add(new BluetoothSampleRateDialogPreferenceController(context, lifecycle,
+ bluetoothA2dpConfigStore));
+ controllers.add(new BluetoothBitPerSampleDialogPreferenceController(context, lifecycle,
+ bluetoothA2dpConfigStore));
+ controllers.add(new BluetoothQualityDialogPreferenceController(context, lifecycle,
+ bluetoothA2dpConfigStore));
+ controllers.add(new BluetoothChannelModeDialogPreferenceController(context, lifecycle,
+ bluetoothA2dpConfigStore));
+ controllers.add(new BluetoothHDAudioPreferenceController(context, lifecycle,
+ bluetoothA2dpConfigStore, fragment));
+
return controllers;
}
@@ -519,6 +531,27 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
return use(clazz);
}
+ @Override
+ public void onBluetoothCodecChanged() {
+ for (AbstractPreferenceController controller : mPreferenceControllers) {
+ if (controller instanceof AbstractBluetoothDialogPreferenceController
+ && !(controller instanceof BluetoothCodecDialogPreferenceController)) {
+ ((AbstractBluetoothDialogPreferenceController) controller)
+ .onBluetoothCodecUpdated();
+ }
+ }
+ }
+
+ @Override
+ public void onBluetoothHDAudioEnabled(boolean enabled) {
+ for (AbstractPreferenceController controller : mPreferenceControllers) {
+ if (controller instanceof AbstractBluetoothDialogPreferenceController) {
+ ((AbstractBluetoothDialogPreferenceController) controller).onHDAudioEnabled(
+ enabled);
+ }
+ }
+ }
+
/**
* For Search.
*/
diff --git a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceController.java
index b97ca442164..4ac389bf6ce 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceController.java
@@ -106,7 +106,7 @@ public class BluetoothQualityDialogPreferenceController extends
@Override
public void onHDAudioEnabled(boolean enabled) {
mPreference.setEnabled(false);
- };
+ }
@VisibleForTesting
int convertCfgToBtnIndex(int config) {
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceControllerTest.java
deleted file mode 100644
index 8c5cfd04fda..00000000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceControllerTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioBitsPerSamplePreferenceControllerTest {
-
- @Mock
- private BluetoothCodecConfig mBluetoothCodecConfig;
- @Mock
- private ListPreference mPreference;
- @Mock
- private PreferenceScreen mScreen;
- @Mock
- private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
- /**
- * 0: Use System Selection (Default)
- * 1: 16 bits/sample
- * 2: 24 bits/sample
- * 3: 32 bits/sample
- */
- private String[] mListValues;
- private Context mContext;
- private BluetoothAudioBitsPerSamplePreferenceController mController;
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- mController = spy(new BluetoothAudioBitsPerSamplePreferenceController(mContext,
- mLifecycle, mBluetoothA2dpConfigStore));
- mListValues = mController.getListValues();
- when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- mController.displayPreference(mScreen);
- }
-
- @Test
- public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
- when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
- mController.writeConfigurationValues(mListValues[2]);
-
- verify(mBluetoothA2dpConfigStore).setBitsPerSample(BluetoothCodecConfig.BITS_PER_SAMPLE_24);
- }
-
- @Test
- public void writeConfigurationValues_default_shouldSetDefault() {
- when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
- mController.writeConfigurationValues(mListValues[0]);
-
- verify(mBluetoothA2dpConfigStore).setBitsPerSample(
- BluetoothCodecConfig.BITS_PER_SAMPLE_NONE);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
- when(mBluetoothCodecConfig.getBitsPerSample()).thenReturn(
- BluetoothCodecConfig.BITS_PER_SAMPLE_24);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(2);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
- when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(0);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioChannelModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioChannelModePreferenceControllerTest.java
deleted file mode 100644
index d9a26711115..00000000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioChannelModePreferenceControllerTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioChannelModePreferenceControllerTest {
-
- @Mock
- private BluetoothCodecConfig mBluetoothCodecConfig;
- @Mock
- private ListPreference mPreference;
- @Mock
- private PreferenceScreen mScreen;
- @Mock
- private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
- /**
- * 0: Use System Selection (Default)
- * 1: Mono
- * 2: Stereo
- */
- private String[] mListValues;
- private Context mContext;
- private BluetoothAudioChannelModePreferenceController mController;
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- mController = spy(new BluetoothAudioChannelModePreferenceController(mContext,
- mLifecycle, mBluetoothA2dpConfigStore));
- mListValues = mController.getListValues();
- when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- mController.displayPreference(mScreen);
- }
-
- @Test
- public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
- when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
- mController.writeConfigurationValues(mListValues[2]);
-
- verify(mBluetoothA2dpConfigStore).setChannelMode(BluetoothCodecConfig.CHANNEL_MODE_STEREO);
- }
-
- @Test
- public void writeConfigurationValues_default_shouldSetDefault() {
- when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
- mController.writeConfigurationValues(mListValues[0]);
-
- verify(mBluetoothA2dpConfigStore).setChannelMode(BluetoothCodecConfig.CHANNEL_MODE_NONE);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
- when(mBluetoothCodecConfig.getChannelMode())
- .thenReturn(BluetoothCodecConfig.CHANNEL_MODE_STEREO);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(2);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
- when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(0);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioCodecPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioCodecPreferenceControllerTest.java
deleted file mode 100644
index 7be8a8879e7..00000000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioCodecPreferenceControllerTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioCodecPreferenceControllerTest {
-
- @Mock
- private BluetoothCodecConfig mBluetoothCodecConfig;
- @Mock
- private ListPreference mPreference;
- @Mock
- private PreferenceScreen mScreen;
- @Mock
- private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
- /**
- * 0: Use System Selection (Default)
- * 1: SBC
- * 2: AAC
- * 3: Qualcomm aptX audio
- * 4: Qualcomm aptX HD audio
- * 5: LDAC
- * 6: Enable Optional Codecs
- * 7: Disable Optional Codecs
- */
- private String[] mListValues;
- private Context mContext;
- private BluetoothAudioCodecPreferenceController mController;
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- mController = spy(new BluetoothAudioCodecPreferenceController(mContext, mLifecycle,
- mBluetoothA2dpConfigStore));
- mListValues = mController.getListValues();
- when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- mController.displayPreference(mScreen);
- }
-
- @Test
- public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
- when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
- mController.writeConfigurationValues(mListValues[2]);
-
- verify(mBluetoothA2dpConfigStore).setCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC);
- verify(mBluetoothA2dpConfigStore).setCodecPriority(
- BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST);
- }
-
- @Test
- public void writeConfigurationValues_default_shouldSetDefaultPriority() {
- when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
- mController.writeConfigurationValues(mListValues[0]);
-
- verify(mBluetoothA2dpConfigStore).setCodecPriority(
- BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
- when(mBluetoothCodecConfig.getCodecType()).thenReturn(
- BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(2);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
- when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(0);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioQualityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioQualityPreferenceControllerTest.java
deleted file mode 100644
index 93d92fdc508..00000000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioQualityPreferenceControllerTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioQualityPreferenceControllerTest {
-
- @Mock
- private BluetoothCodecConfig mBluetoothCodecConfig;
- @Mock
- private ListPreference mPreference;
- @Mock
- private PreferenceScreen mScreen;
- @Mock
- private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
- /**
- * 0: Optimized for Audio Quality (990kbps/909kbps)
- * 1: Balanced Audio And Connection Quality (660kbps/606kbps)
- * 2: Stereo
- */
- private String[] mListValues;
- private Context mContext;
- private BluetoothAudioQualityPreferenceController mController;
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- mController = spy(new BluetoothAudioQualityPreferenceController(mContext,
- mLifecycle, mBluetoothA2dpConfigStore));
- mListValues = mController.getListValues();
- when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- mController.displayPreference(mScreen);
- }
-
- @Test
- public void writeConfigurationValues_option3_shouldWrite1003ToSharedStore() {
- when(mPreference.findIndexOfValue(mListValues[3])).thenReturn(3);
- mController.writeConfigurationValues(mListValues[3]);
-
- verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1003);
- }
-
- @Test
- public void writeConfigurationValues_default_shouldSetDefault() {
- when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
- mController.writeConfigurationValues(mListValues[0]);
-
- verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1000);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
- when(mBluetoothCodecConfig.getCodecSpecific1()).thenReturn(Long.valueOf(2));
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(2);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
- when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(3);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceControllerTest.java
deleted file mode 100644
index 3b469c5fdb1..00000000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceControllerTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioSampleRatePreferenceControllerTest {
-
- @Mock
- private BluetoothCodecConfig mBluetoothCodecConfig;
- @Mock
- private ListPreference mPreference;
- @Mock
- private PreferenceScreen mScreen;
- @Mock
- private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
- /**
- * 0: Use System Selection (Default)
- * 1: 44.1 kHz
- * 2: 48.0 kHz
- * 3: 88.2 kHz
- * 4: 96.0 kHz
- */
- private String[] mListValues;
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
- private Context mContext;
- private BluetoothAudioSampleRatePreferenceController mController;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- mController = spy(new BluetoothAudioSampleRatePreferenceController(mContext, mLifecycle,
- mBluetoothA2dpConfigStore));
- mListValues = mController.getListValues();
- when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- mController.displayPreference(mScreen);
- }
-
- @Test
- public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
- when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
- mController.writeConfigurationValues(mListValues[2]);
-
- verify(mBluetoothA2dpConfigStore).setSampleRate(BluetoothCodecConfig.SAMPLE_RATE_48000);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
- when(mBluetoothCodecConfig.getSampleRate()).thenReturn(
- BluetoothCodecConfig.SAMPLE_RATE_48000);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(2);
- }
-
- @Test
- public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
- when(mBluetoothCodecConfig.getSampleRate()).thenReturn(1381391835);
-
- final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
- assertThat(index).isEqualTo(0);
- }
-}