Merge "Merge "Add device info for filtered players" into rvc-dev am: 3c336c4b64 am: dddf25ee3f" into rvc-d1-dev-plus-aosp am: ca56ffb1a9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12052991

Change-Id: I399597427f951bc13e018cc205729259911a8c24
This commit is contained in:
Automerger Merge Worker
2020-07-01 19:01:12 +00:00
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);