From c19b3cc14a9100bbe11f924375cb8e13ca5dfa96 Mon Sep 17 00:00:00 2001
From: Kyunglyul Hyun
Date: Fri, 20 Mar 2020 22:19:21 +0900
Subject: [PATCH] MediaRouter: Add features to distinguish audio routes
This CL adds more route features to give
media apps more information.
It also clarifies the values of pre defined route features.
Bug: 152024707
Test: cts test and mediaroutertest
Change-Id: Ia89b45191c4f3fe23210aaca7f336637725fe3b3
---
api/current.txt | 8 +++--
media/java/android/media/MediaRoute2Info.java | 34 +++++++++++++++++--
2 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/api/current.txt b/api/current.txt
index 0cc4013a101b7..024ba3fb01511 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -26878,9 +26878,11 @@ package android.media {
field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1
field public static final int CONNECTION_STATE_DISCONNECTED = 0; // 0x0
field @NonNull public static final android.os.Parcelable.Creator CREATOR;
- field public static final String FEATURE_LIVE_AUDIO = "android.media.intent.category.LIVE_AUDIO";
- field public static final String FEATURE_LIVE_VIDEO = "android.media.intent.category.LIVE_VIDEO";
- field public static final String FEATURE_REMOTE_PLAYBACK = "android.media.intent.category.REMOTE_PLAYBACK";
+ field public static final String FEATURE_LIVE_AUDIO = "android.media.route.feature.LIVE_AUDIO";
+ field public static final String FEATURE_LIVE_VIDEO = "android.media.route.feature.LIVE_VIDEO";
+ field public static final String FEATURE_REMOTE_AUDIO_PLAYBACK = "android.media.route.feature.REMOTE_AUDIO_PLAYBACK";
+ field public static final String FEATURE_REMOTE_PLAYBACK = "android.media.route.feature.REMOTE_PLAYBACK";
+ field public static final String FEATURE_REMOTE_VIDEO_PLAYBACK = "android.media.route.feature.REMOTE_VIDEO_PLAYBACK";
field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
}
diff --git a/media/java/android/media/MediaRoute2Info.java b/media/java/android/media/MediaRoute2Info.java
index 36ccf001bad2a..998561316dd43 100644
--- a/media/java/android/media/MediaRoute2Info.java
+++ b/media/java/android/media/MediaRoute2Info.java
@@ -238,7 +238,7 @@ public final class MediaRoute2Info implements Parcelable {
* Refer to the class documentation for details about live audio routes.
*
*/
- public static final String FEATURE_LIVE_AUDIO = "android.media.intent.category.LIVE_AUDIO";
+ public static final String FEATURE_LIVE_AUDIO = "android.media.route.feature.LIVE_AUDIO";
/**
* Media feature: Live video.
@@ -259,13 +259,15 @@ public final class MediaRoute2Info implements Parcelable {
*
* @see android.app.Presentation
*/
- public static final String FEATURE_LIVE_VIDEO = "android.media.intent.category.LIVE_VIDEO";
+ public static final String FEATURE_LIVE_VIDEO = "android.media.route.feature.LIVE_VIDEO";
/**
* Media feature: Remote playback.
*
* A route that supports remote playback routing will allow an application to send
* requests to play content remotely to supported destinations.
+ * A route may only support {@link #FEATURE_REMOTE_AUDIO_PLAYBACK audio playback} or
+ * {@link #FEATURE_REMOTE_VIDEO_PLAYBACK video playback}.
*
* Remote playback routes destinations operate independently of the local device.
* When a remote playback route is selected, the application can control the content
@@ -274,9 +276,35 @@ public final class MediaRoute2Info implements Parcelable {
*
* Refer to the class documentation for details about remote playback routes.
*
+ * @see #FEATURE_REMOTE_AUDIO_PLAYBACK
+ * @see #FEATURE_REMOTE_VIDEO_PLAYBACK
*/
public static final String FEATURE_REMOTE_PLAYBACK =
- "android.media.intent.category.REMOTE_PLAYBACK";
+ "android.media.route.feature.REMOTE_PLAYBACK";
+
+ /**
+ * Media feature: Remote audio playback.
+ *
+ * A route that supports remote audio playback routing will allow an application to send
+ * requests to play audio content remotely to supported destinations.
+ *
+ * @see #FEATURE_REMOTE_PLAYBACK
+ * @see #FEATURE_REMOTE_VIDEO_PLAYBACK
+ */
+ public static final String FEATURE_REMOTE_AUDIO_PLAYBACK =
+ "android.media.route.feature.REMOTE_AUDIO_PLAYBACK";
+
+ /**
+ * Media feature: Remote video playback.
+ *
+ * A route that supports remote video playback routing will allow an application to send
+ * requests to play video content remotely to supported destinations.
+ *
+ * @see #FEATURE_REMOTE_PLAYBACK
+ * @see #FEATURE_REMOTE_AUDIO_PLAYBACK
+ */
+ public static final String FEATURE_REMOTE_VIDEO_PLAYBACK =
+ "android.media.route.feature.REMOTE_VIDEO_PLAYBACK";
final String mId;
final CharSequence mName;