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

Commit 1cc0d5f8 authored by Haijie Hong's avatar Haijie Hong Committed by Android (Google) Code Review
Browse files

Merge "Set title for SliderPreference" into main

parents 9a7259d7 70b783c2
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.android.settings.R;
import com.android.settings.bluetooth.Utils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.bluetooth.BluetoothUtils;
@@ -76,6 +77,7 @@ public class AudioSharingDeviceVolumeSliderPreference extends SliderPreference {
                    return true;
                }
        );
        refreshPreference();
    }

    @Override
@@ -105,9 +107,17 @@ public class AudioSharingDeviceVolumeSliderPreference extends SliderPreference {
    }

    void onPreferenceAttributesChanged() {
        refreshPreference();
    }

    private void refreshPreference() {
        var unused = ThreadUtils.postOnBackgroundThread(() -> {
            String name = mCachedDevice.getName();
            AudioSharingUtils.postOnMainThread(mContext, () -> setTitle(name));
            AudioSharingUtils.postOnMainThread(mContext, () -> {
                setTitle(name);
                setSliderContentDescription(
                        mContext.getString(R.string.audio_sharing_device_volume_description, name));
            });
        });
    }

+8 −5
Original line number Diff line number Diff line
@@ -373,8 +373,10 @@ public class AudioSharingDeviceVolumeControlUpdaterTest {

        verify(mDevicePreferenceCallback).onDeviceAdded(captor.capture());
        assertThat(captor.getValue() instanceof AudioSharingDeviceVolumeSliderPreference).isTrue();
        assertThat(((AudioSharingDeviceVolumeSliderPreference) captor.getValue()).getCachedDevice())
                .isEqualTo(mCachedDevice);
        AudioSharingDeviceVolumeSliderPreference preference =
                (AudioSharingDeviceVolumeSliderPreference) captor.getValue();
        assertThat(preference.getCachedDevice()).isEqualTo(mCachedDevice);
        assertThat(preference.getTitle().toString()).isEqualTo(TEST_DEVICE_NAME);
    }

    @Test
@@ -407,9 +409,10 @@ public class AudioSharingDeviceVolumeControlUpdaterTest {
        shadowOf(Looper.getMainLooper()).idle();

        verify(mDevicePreferenceCallback).onDeviceAdded(captor.capture());
        assertThat(captor.getValue() instanceof AudioSharingDeviceVolumeSliderPreference).isTrue();
        assertThat(((AudioSharingDeviceVolumeSliderPreference) captor.getValue()).getCachedDevice())
                .isEqualTo(mCachedDevice);
        AudioSharingDeviceVolumeSliderPreference preference =
                (AudioSharingDeviceVolumeSliderPreference) captor.getValue();
        assertThat(preference.getCachedDevice()).isEqualTo(mCachedDevice);
        assertThat(preference.getTitle().toString()).isEqualTo(TEST_DEVICE_NAME);
    }

    @Test
+12 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import android.widget.SeekBar;

import androidx.test.core.app.ApplicationProvider;

import com.android.settings.R;
import com.android.settings.bluetooth.Utils;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
@@ -124,10 +125,18 @@ public class AudioSharingDeviceVolumeSliderPreferenceTest {

    @Test
    public void initialize_setupMaxMin() {
        mPreference = spy(mPreference);
        mPreference.initialize();
        shadowOf(Looper.getMainLooper()).idle();

        assertThat(mPreference.getMax())
                .isEqualTo(AudioSharingDeviceVolumeSliderPreference.MAX_VOLUME);
        assertThat(mPreference.getMin())
                .isEqualTo(AudioSharingDeviceVolumeSliderPreference.MIN_VOLUME);
        assertThat(mPreference.getTitle().toString()).isEqualTo(TEST_DEVICE_NAME);
        verify(mPreference).setSliderContentDescription(
                mContext.getString(R.string.audio_sharing_device_volume_description,
                        TEST_DEVICE_NAME));
    }

    @Test
@@ -252,10 +261,13 @@ public class AudioSharingDeviceVolumeSliderPreferenceTest {

    @Test
    public void onPreferenceAttributesChanged_nameChanged_updatePreference() {
        mPreference = spy(mPreference);
        when(mCachedDevice.getName()).thenReturn("new");
        mPreference.onPreferenceAttributesChanged();
        shadowOf(Looper.getMainLooper()).idle();

        assertThat(mPreference.getTitle().toString()).isEqualTo("new");
        verify(mPreference).setSliderContentDescription(
                mContext.getString(R.string.audio_sharing_device_volume_description, "new"));
    }
}