From 56d4b744b374af11f540567d2b43d66d8d7c301e Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Wed, 15 May 2013 19:00:29 -0700 Subject: [PATCH] Add route description API. Bug: 8175766 Change-Id: I65dbc10fc04f9ff8f6abc1bda23fbf5baa227737 --- api/current.txt | 2 + core/res/res/values/strings.xml | 5 ++- core/res/res/values/symbols.xml | 1 + media/java/android/media/MediaRouter.java | 62 +++++++++++++++++++++++++++---- 4 files changed, 62 insertions(+), 8 deletions(-) diff --git a/api/current.txt b/api/current.txt index 9b9fe6a0f6d0..a9d0f5720863 100644 --- a/api/current.txt +++ b/api/current.txt @@ -12258,6 +12258,7 @@ package android.media { public static class MediaRouter.RouteInfo { method public android.media.MediaRouter.RouteCategory getCategory(); + method public java.lang.CharSequence getDescription(); method public android.media.MediaRouter.RouteGroup getGroup(); method public android.graphics.drawable.Drawable getIconDrawable(); method public java.lang.CharSequence getName(); @@ -12296,6 +12297,7 @@ package android.media { public static class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo { method public android.media.RemoteControlClient getRemoteControlClient(); + method public void setDescription(java.lang.CharSequence); method public void setIconDrawable(android.graphics.drawable.Drawable); method public void setIconResource(int); method public void setName(java.lang.CharSequence); diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index a1479af9f0ca..b595d6ed9e5c 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -3931,9 +3931,12 @@ System - + Bluetooth audio + + Wireless display + Done diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 6a3bdaa3282f..adbedbb189dc 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -884,6 +884,7 @@ + diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java index 990ce80a21b9..65e312d65cf9 100644 --- a/media/java/android/media/MediaRouter.java +++ b/media/java/android/media/MediaRouter.java @@ -186,6 +186,8 @@ public class MediaRouter { if (sStatic.mBluetoothA2dpRoute == null) { final RouteInfo info = new RouteInfo(sStatic.mSystemCategory); info.mName = mCurAudioRoutesInfo.mBluetoothName; + info.mDescription = sStatic.mResources.getText( + com.android.internal.R.string.bluetooth_a2dp_audio_route_name); info.mSupportedTypes = ROUTE_TYPE_LIVE_AUDIO; sStatic.mBluetoothA2dpRoute = info; addRouteStatic(sStatic.mBluetoothA2dpRoute); @@ -933,6 +935,8 @@ public class MediaRouter { newRoute.mEnabled = available; newRoute.mName = display.getFriendlyDisplayName(); + newRoute.mDescription = sStatic.mResources.getText( + com.android.internal.R.string.wireless_display_route_description); newRoute.mPresentationDisplay = choosePresentationDisplayForRoute(newRoute, sStatic.getAllPresentationDisplays()); @@ -1038,6 +1042,7 @@ public class MediaRouter { public static class RouteInfo { CharSequence mName; int mNameResId; + CharSequence mDescription; private CharSequence mStatus; int mSupportedTypes; RouteGroup mGroup; @@ -1097,24 +1102,34 @@ public class MediaRouter { } /** - * @return The user-friendly name of a media route. This is the string presented + * Gets the user-visible name of the route. + *

+ * The route name identifies the destination represented by the route. + * It may be a user-supplied name, an alias, or device serial number. + *

+ * + * @return The user-visible name of a media route. This is the string presented * to users who may select this as the active route. */ public CharSequence getName() { return getName(sStatic.mResources); } - + /** - * Return the properly localized/resource selected name of this route. - * + * Return the properly localized/resource user-visible name of this route. + *

+ * The route name identifies the destination represented by the route. + * It may be a user-supplied name, an alias, or device serial number. + *

+ * * @param context Context used to resolve the correct configuration to load - * @return The user-friendly name of the media route. This is the string presented + * @return The user-visible name of a media route. This is the string presented * to users who may select this as the active route. */ public CharSequence getName(Context context) { return getName(context.getResources()); } - + CharSequence getName(Resources res) { if (mNameResId != 0) { return mName = res.getText(mNameResId); @@ -1123,7 +1138,20 @@ public class MediaRouter { } /** - * @return The user-friendly status for a media route. This may include a description + * Gets the user-visible description of the route. + *

+ * The route description describes the kind of destination represented by the route. + * It may be a user-supplied string, a model number or brand of device. + *

+ * + * @return The description of the route, or null if none. + */ + public CharSequence getDescription() { + return mDescription; + } + + /** + * @return The user-visible status for a media route. This may include a description * of the currently playing media, if available. */ public CharSequence getStatus() { @@ -1407,6 +1435,7 @@ public class MediaRouter { public String toString() { String supportedTypes = typesToString(getSupportedTypes()); return getClass().getSimpleName() + "{ name=" + getName() + + ", description=" + getDescription() + ", status=" + getStatus() + ", category=" + getCategory() + ", supportedTypes=" + supportedTypes + @@ -1442,6 +1471,11 @@ public class MediaRouter { /** * Set the user-visible name of this route. + *

+ * The route name identifies the destination represented by the route. + * It may be a user-supplied name, an alias, or device serial number. + *

+ * * @param resId Resource ID of the name to display to the user to describe this route */ public void setName(int resId) { @@ -1451,6 +1485,20 @@ public class MediaRouter { } /** + * Set the user-visible description of this route. + *

+ * The route description describes the kind of destination represented by the route. + * It may be a user-supplied string, a model number or brand of device. + *

+ * + * @param description The description of the route, or null if none. + */ + public void setDescription(CharSequence description) { + mDescription = description; + routeUpdated(); + } + + /** * Set the current user-visible status for this route. * @param status Status to display to the user to describe what the endpoint * of this route is currently doing -- 2.11.0