summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaRoute2Info.java26
-rw-r--r--media/java/android/media/MediaRouter2.java12
-rw-r--r--media/java/android/media/MediaRouter2Manager.java2
3 files changed, 27 insertions, 13 deletions
diff --git a/media/java/android/media/MediaRoute2Info.java b/media/java/android/media/MediaRoute2Info.java
index 445420f130d0..7008d32fd574 100644
--- a/media/java/android/media/MediaRoute2Info.java
+++ b/media/java/android/media/MediaRoute2Info.java
@@ -249,20 +249,34 @@ public final class MediaRoute2Info implements Parcelable {
return mExtras;
}
+ /**
+ * Returns if the route supports the specified control category
+ *
+ * @param controlCategory control category to consider
+ * @return true if the route supports at the category
+ */
+ public boolean supportsControlCategory(@NonNull String controlCategory) {
+ Objects.requireNonNull(controlCategory, "control category must not be null");
+ for (String supportedCategory : getSupportedCategories()) {
+ if (TextUtils.equals(controlCategory, supportedCategory)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
//TODO: Move this if we re-define control category / selector things.
/**
- * Returns true if the route supports at least one of the specified control categories
+ * Returns if the route supports at least one of the specified control categories
*
* @param controlCategories the list of control categories to consider
* @return true if the route supports at least one category
*/
- public boolean supportsControlCategory(@NonNull Collection<String> controlCategories) {
+ public boolean supportsControlCategories(@NonNull Collection<String> controlCategories) {
Objects.requireNonNull(controlCategories, "control categories must not be null");
for (String controlCategory : controlCategories) {
- for (String supportedCategory : getSupportedCategories()) {
- if (TextUtils.equals(controlCategory, supportedCategory)) {
- return true;
- }
+ if (supportsControlCategory(controlCategory)) {
+ return true;
}
}
return false;
diff --git a/media/java/android/media/MediaRouter2.java b/media/java/android/media/MediaRouter2.java
index bad0ef4104fe..f9dabcf8c90f 100644
--- a/media/java/android/media/MediaRouter2.java
+++ b/media/java/android/media/MediaRouter2.java
@@ -271,7 +271,7 @@ public class MediaRouter2 {
List<MediaRoute2Info> filteredRoutes = new ArrayList<>();
for (MediaRoute2Info route : mRoutes.values()) {
- if (route.supportsControlCategory(mControlCategories)) {
+ if (route.supportsControlCategories(mControlCategories)) {
filteredRoutes.add(route);
}
}
@@ -399,8 +399,8 @@ public class MediaRouter2 {
mControlCategories = newControlCategories;
for (MediaRoute2Info route : mRoutes.values()) {
- boolean preSupported = route.supportsControlCategory(prevControlCategories);
- boolean postSupported = route.supportsControlCategory(newControlCategories);
+ boolean preSupported = route.supportsControlCategories(prevControlCategories);
+ boolean postSupported = route.supportsControlCategories(newControlCategories);
if (preSupported == postSupported) {
continue;
}
@@ -430,7 +430,7 @@ public class MediaRouter2 {
synchronized (sLock) {
for (MediaRoute2Info route : routes) {
mRoutes.put(route.getUniqueId(), route);
- if (route.supportsControlCategory(mControlCategories)) {
+ if (route.supportsControlCategories(mControlCategories)) {
addedRoutes.add(route);
}
}
@@ -446,7 +446,7 @@ public class MediaRouter2 {
synchronized (sLock) {
for (MediaRoute2Info route : routes) {
mRoutes.remove(route.getUniqueId());
- if (route.supportsControlCategory(mControlCategories)) {
+ if (route.supportsControlCategories(mControlCategories)) {
removedRoutes.add(route);
}
}
@@ -462,7 +462,7 @@ public class MediaRouter2 {
synchronized (sLock) {
for (MediaRoute2Info route : routes) {
mRoutes.put(route.getUniqueId(), route);
- if (route.supportsControlCategory(mControlCategories)) {
+ if (route.supportsControlCategories(mControlCategories)) {
changedRoutes.add(route);
}
}
diff --git a/media/java/android/media/MediaRouter2Manager.java b/media/java/android/media/MediaRouter2Manager.java
index 502538d375ac..8a048a10e329 100644
--- a/media/java/android/media/MediaRouter2Manager.java
+++ b/media/java/android/media/MediaRouter2Manager.java
@@ -163,7 +163,7 @@ public class MediaRouter2Manager {
List<MediaRoute2Info> routes = new ArrayList<>();
synchronized (mRoutesLock) {
for (MediaRoute2Info route : mRoutes.values()) {
- if (route.supportsControlCategory(controlCategories)) {
+ if (route.supportsControlCategories(controlCategories)) {
routes.add(route);
}
}