diff options
author | Kyunglyul Hyun <klhyun@google.com> | 2020-05-08 10:39:12 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-05-08 10:39:12 +0000 |
commit | 65600663fad50fae02e62fb91032d679a7e57c59 (patch) | |
tree | 8baeea7da93fff87f0ee1a683795669dcd29d6d4 /media/tests | |
parent | aef6672fe91fe859ba60ae6285a49816ee3c3202 (diff) | |
parent | 2eec783e52b7a4d481329e586f6dce60726afa6b (diff) |
Merge "Filter selectable/deselectable routes" into rvc-dev am: 2eec783e52
Change-Id: I896b45883d8e470cf5e0f510b94b0786c056e013
Diffstat (limited to 'media/tests')
-rw-r--r-- | media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java index 6a1e9656cf2c..eee797af40d7 100644 --- a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java +++ b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java @@ -26,6 +26,7 @@ import static com.android.mediaroutertest.StubMediaRoute2ProviderService.FEATURE import static com.android.mediaroutertest.StubMediaRoute2ProviderService.FEATURE_SPECIAL; import static com.android.mediaroutertest.StubMediaRoute2ProviderService.ROUTE_ID1; import static com.android.mediaroutertest.StubMediaRoute2ProviderService.ROUTE_ID2; +import static com.android.mediaroutertest.StubMediaRoute2ProviderService.ROUTE_ID4_TO_SELECT_AND_DESELECT; import static com.android.mediaroutertest.StubMediaRoute2ProviderService.ROUTE_ID5_TO_TRANSFER_TO; import static com.android.mediaroutertest.StubMediaRoute2ProviderService.ROUTE_ID_FIXED_VOLUME; import static com.android.mediaroutertest.StubMediaRoute2ProviderService.ROUTE_ID_SPECIAL_FEATURE; @@ -68,6 +69,7 @@ import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; +import java.util.stream.Collectors; @RunWith(AndroidJUnit4.class) @SmallTest @@ -566,6 +568,41 @@ public class MediaRouter2ManagerTest { assertFalse(failureLatch.await(WAIT_TIME_MS, TimeUnit.MILLISECONDS)); } + /** + * Tests if getSelectableRoutes and getDeselectableRoutes filter routes based on + * selected routes + */ + @Test + public void testGetSelectableRoutes_notReturnsSelectedRoutes() throws Exception { + Map<String, MediaRoute2Info> routes = waitAndGetRoutesWithManager(FEATURES_ALL); + addRouterCallback(new RouteCallback() {}); + + CountDownLatch onSessionCreatedLatch = new CountDownLatch(1); + + addManagerCallback(new MediaRouter2Manager.Callback() { + @Override + public void onTransferred(RoutingSessionInfo oldSessionInfo, + RoutingSessionInfo newSessionInfo) { + assertNotNull(newSessionInfo); + List<String> selectedRoutes = mManager.getSelectedRoutes(newSessionInfo).stream() + .map(MediaRoute2Info::getId) + .collect(Collectors.toList()); + for (MediaRoute2Info selectableRoute : + mManager.getSelectableRoutes(newSessionInfo)) { + assertFalse(selectedRoutes.contains(selectableRoute.getId())); + } + for (MediaRoute2Info deselectableRoute : + mManager.getDeselectableRoutes(newSessionInfo)) { + assertTrue(selectedRoutes.contains(deselectableRoute.getId())); + } + onSessionCreatedLatch.countDown(); + } + }); + + mManager.selectRoute(mPackageName, routes.get(ROUTE_ID4_TO_SELECT_AND_DESELECT)); + assertTrue(onSessionCreatedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)); + } + Map<String, MediaRoute2Info> waitAndGetRoutesWithManager(List<String> routeFeatures) throws Exception { CountDownLatch addedLatch = new CountDownLatch(1); |