From c24317d85ed96878f42be245e1d83e7c9a43b286 Mon Sep 17 00:00:00 2001 From: Kyunglyul Hyun Date: Mon, 17 Feb 2020 16:58:24 +0900 Subject: [PATCH] MediaRouter: fix manager test bug There was a bug that waitAndGetRoutesWithManager returnes a wrong list of routes that doesn't match the given features. Test: atest mediaroutertest Change-Id: Ibd01ba9d20fd5fa922d268998e10b497a88a3b45 --- .../mediaroutertest/MediaRouter2ManagerTest.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java index cbaf527e7cd83..ca7c36cacfb9c 100644 --- a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java +++ b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2ManagerTest.java @@ -413,7 +413,8 @@ public class MediaRouter2ManagerTest { Map waitAndGetRoutesWithManager(List routeFeatures) throws Exception { - CountDownLatch latch = new CountDownLatch(2); + CountDownLatch addedLatch = new CountDownLatch(1); + CountDownLatch featuresLatch = new CountDownLatch(1); // A dummy callback is required to send route feature info. RouteCallback routeCallback = new RouteCallback(); @@ -422,7 +423,7 @@ public class MediaRouter2ManagerTest { public void onRoutesAdded(List routes) { for (int i = 0; i < routes.size(); i++) { if (!routes.get(i).isSystemRoute()) { - latch.countDown(); + addedLatch.countDown(); break; } } @@ -432,8 +433,8 @@ public class MediaRouter2ManagerTest { public void onControlCategoriesChanged(String packageName, List preferredFeatures) { if (TextUtils.equals(mPackageName, packageName) - && preferredFeatures.equals(preferredFeatures)) { - latch.countDown(); + && preferredFeatures.equals(routeFeatures)) { + featuresLatch.countDown(); } } }; @@ -441,7 +442,8 @@ public class MediaRouter2ManagerTest { mRouter2.registerRouteCallback(mExecutor, routeCallback, new RouteDiscoveryPreference.Builder(routeFeatures, true).build()); try { - latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS); + addedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS); + featuresLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS); return createRouteMap(mManager.getAvailableRoutes(mPackageName)); } finally { mRouter2.unregisterRouteCallback(routeCallback);