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

Commit 7326a8dd authored by Yiyi Shen's avatar Yiyi Shen
Browse files

[Audiosharing] Update content description for clear a11y

Bug: 409992634
Test: atest
Flag: EXEMPT small fix
Change-Id: I749abcb4262308a595e802c8846889da80b28006
parent 722a5ea0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -14280,6 +14280,8 @@ Data usage charges may apply.</string>
    <string name="audio_sharing_turn_off_button_label">Turn off</string>
    <!-- Title for audio sharing notification to share audio with headset [CHAR LIMIT=none]-->
    <string name="share_audio_notification_title">Share audio with <xliff:g example="My buds" id="device_name">%1$s</xliff:g></string>
    <!-- Content description for accessibility: audio sharing device volume sliders [CHAR LIMIT=NONE] -->
    <string name="audio_sharing_device_volume_description"><xliff:g example="My buds" id="device_name">%1$s</xliff:g> volume</string>
    <!-- Title for audio streams preference category [CHAR LIMIT=none]-->
    <string name="audio_streams_category_title">Connect to a LE audio stream</string>
+0 −1
Original line number Diff line number Diff line
@@ -87,7 +87,6 @@ public class AudioSharingDeviceVolumeControlUpdater extends BluetoothDeviceUpdat
            vPreference.initialize();
            vPreference.setKey(getPreferenceKeyPrefix() + cachedDevice.hashCode());
            vPreference.setIcon(com.android.settingslib.R.drawable.ic_bt_untethered_earbuds);
            vPreference.setTitle(cachedDevice.getName());
            mPreferenceMap.put(device, vPreference);
            mDevicePreferenceCallback.onDeviceAdded(vPreference);
        }
+10 −1
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ public class AudioSharingDeviceVolumePreference extends SeekBarPreference {
    public void initialize() {
        setMax(MAX_VOLUME);
        setMin(MIN_VOLUME);
        refreshPreference();
    }

    @Override
@@ -131,9 +132,17 @@ public class AudioSharingDeviceVolumePreference extends SeekBarPreference {
    }

    void onPreferenceAttributesChanged() {
        refreshPreference();
    }

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

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

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

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

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

    @Test
+11 −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;
@@ -123,9 +124,16 @@ public class AudioSharingDeviceVolumePreferenceTest {

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

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

    @Test
@@ -347,10 +355,13 @@ public class AudioSharingDeviceVolumePreferenceTest {

    @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).setSeekBarContentDescription(
                mContext.getString(R.string.audio_sharing_device_volume_description, "new"));
    }
}