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

This commit is contained in:
Beth Thibodeau
2020-07-01 18:21:47 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 2 deletions

View File

@@ -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)
}
}

View File

@@ -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);