Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc4981d2 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Pass in active device to all BluetoothA2dp APIs in...

Merge "Pass in active device to all BluetoothA2dp APIs in packages/apps/Settings as null input is no longer supported"
parents 9368270f dcedd7d6
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ public abstract class AbstractBluetoothA2dpPreferenceController extends
        final BluetoothCodecConfig codecConfig = mBluetoothA2dpConfigStore.createCodecConfig();
        synchronized (mBluetoothA2dpConfigStore) {
            if (mBluetoothA2dp != null) {
                setCodecConfigPreference(null, codecConfig);    // Use current active device
                setCodecConfigPreference(mBluetoothA2dp.getActiveDevice(), codecConfig);
            }
        }
        // Because the setting is not persisted into permanent storage, we cannot call update state
@@ -102,13 +102,14 @@ public abstract class AbstractBluetoothA2dpPreferenceController extends

    @Override
    public void updateState(Preference preference) {
        if (getCodecConfig(null) == null || mPreference == null) { // Use current active device
        BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
        if (getCodecConfig(activeDevice) == null || mPreference == null) {
            return;
        }

        BluetoothCodecConfig codecConfig;
        synchronized (mBluetoothA2dpConfigStore) {
            codecConfig = getCodecConfig(null);         // Use current active device
            codecConfig = getCodecConfig(activeDevice);
        }

        final int index = getCurrentA2dpSettingIndex(codecConfig);
+5 −3
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
        }
        writeConfigurationValues(index);
        final BluetoothCodecConfig codecConfig = mBluetoothA2dpConfigStore.createCodecConfig();
        bluetoothA2dp.setCodecConfigPreference(null, codecConfig);
        bluetoothA2dp.setCodecConfigPreference(bluetoothA2dp.getActiveDevice(), codecConfig);
        mPreference.setSummary(((BaseBluetoothDialogPreference) mPreference).generateSummary(
                index));
    }
@@ -146,7 +146,8 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
        if (bluetoothA2dp == null) {
            return null;
        }
        final BluetoothCodecStatus codecStatus = bluetoothA2dp.getCodecStatus(null);
        final BluetoothCodecStatus codecStatus =
                bluetoothA2dp.getCodecStatus(bluetoothA2dp.getActiveDevice());
        if (codecStatus == null) {
            Log.d(TAG, "Unable to get current codec config. Codec status is null");
            return null;
@@ -177,7 +178,8 @@ public abstract class AbstractBluetoothDialogPreferenceController extends
     * @return {@link BluetoothCodecConfig}.
     */
    protected BluetoothCodecConfig getSelectableByCodecType(int codecTypeValue) {
        final BluetoothCodecConfig[] configs = getSelectableConfigs(null);
        final BluetoothCodecConfig[] configs = getSelectableConfigs(
            mBluetoothA2dp.getActiveDevice());
        if (configs == null) {
            Log.d(TAG, "Unable to get selectable config. Selectable configs is empty.");
            return null;
+4 −3
Original line number Diff line number Diff line
@@ -83,9 +83,9 @@ public class BluetoothCodecDialogPreferenceController extends
            return index;
        }
        // Check HD audio is enabled, display the available list.
        if (bluetoothA2dp.getOptionalCodecsEnabled(activeDevice)
        if (bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
                == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED) {
            BluetoothCodecConfig[] configs = getSelectableConfigs(null);
            BluetoothCodecConfig[] configs = getSelectableConfigs(bluetoothA2dp.getActiveDevice());
            if (configs != null) {
                return getIndexFromConfig(configs);
            }
@@ -101,7 +101,8 @@ public class BluetoothCodecDialogPreferenceController extends
        int codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT;
        switch (index) {
            case 0:
                codecTypeValue = getHighestCodec(getSelectableConfigs(null));
                codecTypeValue = getHighestCodec(getSelectableConfigs(
                    mBluetoothA2dp.getActiveDevice()));
                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
                break;
            case 1:
+2 −2
Original line number Diff line number Diff line
@@ -58,11 +58,11 @@ public class BluetoothHDAudioPreferenceController extends AbstractBluetoothPrefe
            mPreference.setEnabled(false);
            return;
        }
        final boolean supported = (bluetoothA2dp.supportsOptionalCodecs(activeDevice)
        final boolean supported = (bluetoothA2dp.isOptionalCodecsSupported(activeDevice)
                == BluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
        mPreference.setEnabled(supported);
        if (supported) {
            final boolean isEnabled = bluetoothA2dp.getOptionalCodecsEnabled(activeDevice)
            final boolean isEnabled = bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
                    == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED;
            ((SwitchPreference) mPreference).setChecked(isEnabled);
        }
+15 −8
Original line number Diff line number Diff line
@@ -103,13 +103,15 @@ public class AbstractBluetoothDialogPreferenceControllerTest {
    @Test
    public void onIndexUpdated_checkFlow() {
        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, null);
        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
        when(mBluetoothA2dp.getCodecStatus(
            mBluetoothA2dp.getActiveDevice())).thenReturn(mCodecStatus);
        when(mBluetoothA2dpConfigStore.createCodecConfig()).thenReturn(mCodecConfigAAC);
        mController.onBluetoothServiceConnected(mBluetoothA2dp);
        mController.onIndexUpdated(mCurrentConfig);

        verify(mController).writeConfigurationValues(mCurrentConfig);
        verify(mBluetoothA2dp).setCodecConfigPreference(null, mCodecConfigAAC);
        verify(mBluetoothA2dp).setCodecConfigPreference(
                mBluetoothA2dp.getActiveDevice(), mCodecConfigAAC);
        assertThat(mPreference.getSummary()).isEqualTo(SUMMARY);
    }

@@ -134,14 +136,15 @@ public class AbstractBluetoothDialogPreferenceControllerTest {
        assertThat(mController.getCurrentCodecConfig()).isNull();

        mController.onBluetoothServiceConnected(mBluetoothA2dp);
        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(null);
        when(mBluetoothA2dp.getCodecStatus(mBluetoothA2dp.getActiveDevice())).thenReturn(null);
        assertThat(mController.getCurrentCodecConfig()).isNull();
    }

    @Test
    public void getCurrentCodecConfig_verifyConfig() {
        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, null);
        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
        when(mBluetoothA2dp.getCodecStatus(
            mBluetoothA2dp.getActiveDevice())).thenReturn(mCodecStatus);
        mController.onBluetoothServiceConnected(mBluetoothA2dp);

        assertThat(mController.getCurrentCodecConfig()).isEqualTo(mCodecConfigAAC);
@@ -150,7 +153,8 @@ public class AbstractBluetoothDialogPreferenceControllerTest {
    @Test
    public void getSelectableConfigs_verifyConfig() {
        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
        when(mBluetoothA2dp.getCodecStatus(
            mBluetoothA2dp.getActiveDevice())).thenReturn(mCodecStatus);
        mController.onBluetoothServiceConnected(mBluetoothA2dp);

        assertThat(mController.getSelectableConfigs(null)).isEqualTo(mCodecConfigs);
@@ -159,7 +163,8 @@ public class AbstractBluetoothDialogPreferenceControllerTest {
    @Test
    public void getSelectableByCodecType_verifyConfig() {
        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
        when(mBluetoothA2dp.getCodecStatus(
            mBluetoothA2dp.getActiveDevice())).thenReturn(mCodecStatus);
        mController.onBluetoothServiceConnected(mBluetoothA2dp);

        assertThat(mController.getSelectableByCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC))
@@ -169,7 +174,8 @@ public class AbstractBluetoothDialogPreferenceControllerTest {
    @Test
    public void getSelectableByCodecType_unavailable() {
        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
        when(mBluetoothA2dp.getCodecStatus(
            mBluetoothA2dp.getActiveDevice())).thenReturn(mCodecStatus);
        mController.onBluetoothServiceConnected(mBluetoothA2dp);

        assertThat(mController.getSelectableByCodecType(
@@ -179,7 +185,8 @@ public class AbstractBluetoothDialogPreferenceControllerTest {
    @Test
    public void onBluetoothServiceConnected_verifyBluetoothA2dpConfigStore() {
        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
        when(mBluetoothA2dp.getCodecStatus(
            mBluetoothA2dp.getActiveDevice())).thenReturn(mCodecStatus);
        mController.onBluetoothServiceConnected(mBluetoothA2dp);

        verify(mBluetoothA2dpConfigStore).setCodecType(mCodecConfigAAC.getCodecType());
Loading