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

Commit 3c336c4b authored by Beth Thibodeau's avatar Beth Thibodeau Committed by Android (Google) Code Review
Browse files

Merge "Add device info for filtered players" into rvc-dev

parents 717f3d84 b421a49c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -62,9 +62,9 @@ class MediaDataCombineLatest @Inject constructor(
     */
    fun getData(): Map<String, MediaData> {
        return entries.filter {
            (key, pair) -> pair.first != null
            (key, pair) -> pair.first != null && pair.second != null
        }.mapValues {
            (key, pair) -> pair.first!!
            (key, pair) -> pair.first!!.copy(device = pair.second)
        }
    }

+13 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock;

import java.util.ArrayList;
import java.util.Map;

@SmallTest
@RunWith(AndroidTestingRunner.class)
@@ -159,6 +160,18 @@ public class MediaDataCombineLatestTest extends SysuiTestCase {
        verify(mListener).onMediaDataLoaded(eq("NEW_KEY"), any(), captor.capture());
    }

    @Test
    public void getDataIncludesDevice() {
        // GIVEN that device and media events have been received
        mDeviceListener.onMediaDeviceChanged(KEY, mDeviceData);
        mDataListener.onMediaDataLoaded(KEY, null, mMediaData);

        // THEN the result of getData includes device info
        Map<String, MediaData> results = mManager.getData();
        assertThat(results.get(KEY)).isNotNull();
        assertThat(results.get(KEY).getDevice()).isEqualTo(mDeviceData);
    }

    private MediaDataManager.Listener captureDataListener() {
        ArgumentCaptor<MediaDataManager.Listener> captor = ArgumentCaptor.forClass(
                MediaDataManager.Listener.class);