summaryrefslogtreecommitdiff
path: root/media/tests
diff options
context:
space:
mode:
authorKyunglyul Hyun <klhyun@google.com>2020-05-08 10:39:12 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-05-08 10:39:12 +0000
commit65600663fad50fae02e62fb91032d679a7e57c59 (patch)
tree8baeea7da93fff87f0ee1a683795669dcd29d6d4 /media/tests
parentaef6672fe91fe859ba60ae6285a49816ee3c3202 (diff)
parent2eec783e52b7a4d481329e586f6dce60726afa6b (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.java37
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);