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

Commit 2b78c17e authored by Angela Wang's avatar Angela Wang
Browse files

Remove unavailable preset info option

Bug: 347134589
Test: atest BluetoothDetailsHearingAidsPresetsControllerTest
Flag: EXEMPT bugfix
Change-Id: Iabdbe675a08fcd172617ef31dd0b8fbe8dccbb89
parent 9a8b50ba
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -276,7 +276,8 @@ public class BluetoothDetailsHearingAidsPresetsController extends
            return;
        }
        List<BluetoothHapPresetInfo> infoList = mHapClientProfile.getAllPresetInfo(
                mCachedDevice.getDevice());
                mCachedDevice.getDevice()).stream().filter(
                BluetoothHapPresetInfo::isAvailable).toList();
        CharSequence[] presetNames = new CharSequence[infoList.size()];
        CharSequence[] presetIndexes = new CharSequence[infoList.size()];
        for (int i = 0; i < infoList.size(); i++) {
+24 −4
Original line number Diff line number Diff line
@@ -222,7 +222,7 @@ public class BluetoothDetailsHearingAidsPresetsControllerTest extends

    @Test
    public void refresh_validPresetInfo_preferenceEnabled() {
        BluetoothHapPresetInfo info = getTestPresetInfo();
        BluetoothHapPresetInfo info = getTestPresetInfo(true);
        when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));

        mController.refresh();
@@ -233,7 +233,7 @@ public class BluetoothDetailsHearingAidsPresetsControllerTest extends

    @Test
    public void refresh_invalidActivePresetIndex_summaryIsNull() {
        BluetoothHapPresetInfo info = getTestPresetInfo();
        BluetoothHapPresetInfo info = getTestPresetInfo(true);
        when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
        when(mHapClientProfile.getActivePresetIndex(mDevice)).thenReturn(PRESET_INDEX_UNAVAILABLE);

@@ -245,7 +245,7 @@ public class BluetoothDetailsHearingAidsPresetsControllerTest extends

    @Test
    public void refresh_validActivePresetIndex_summaryIsNotNull() {
        BluetoothHapPresetInfo info = getTestPresetInfo();
        BluetoothHapPresetInfo info = getTestPresetInfo(true);
        when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
        when(mHapClientProfile.getActivePresetIndex(mDevice)).thenReturn(TEST_PRESET_INDEX);

@@ -265,10 +265,30 @@ public class BluetoothDetailsHearingAidsPresetsControllerTest extends
        verify(mHapClientProfile).selectPreset(mDevice, TEST_PRESET_INDEX);
    }

    private BluetoothHapPresetInfo getTestPresetInfo() {
    @Test
    public void loadAllPresetInfo_unavailablePreset_notAddedToEntries() {
        BluetoothHapPresetInfo info = getTestPresetInfo(false);
        when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));

        mController.refresh();

        assertThat(mController.getPreference().getEntries().length).isEqualTo(0);
    }

    @Test
    public void loadAllPresetInfo_availablePreset_addedToEntries() {
        BluetoothHapPresetInfo info = getTestPresetInfo(true);
        when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));

        mController.refresh();

        assertThat(mController.getPreference().getEntries().length).isEqualTo(1);
    }
    private BluetoothHapPresetInfo getTestPresetInfo(boolean available) {
        BluetoothHapPresetInfo info = mock(BluetoothHapPresetInfo.class);
        when(info.getName()).thenReturn(TEST_PRESET_NAME);
        when(info.getIndex()).thenReturn(TEST_PRESET_INDEX);
        when(info.isAvailable()).thenReturn(available);
        return info;
    }