am 50ab525a: Merge "Add route description API." into jb-mr2-dev
* commit '50ab525af62ef5e1f9cf3433a161f2e874da6116':
Add route description API.
diff --git a/api/current.txt b/api/current.txt
index 3267a30..2078dae 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -12258,6 +12258,7 @@
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 @@
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 a1479af..b595d6e 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3931,9 +3931,12 @@
<!-- Name of the default audio route category. [CHAR LIMIT=50] -->
<string name="default_audio_route_category_name">System</string>
- <!-- Default name of the bluetooth a2dp audio route. [CHAR LIMIT=50] -->
+ <!-- Description of the bluetooth a2dp audio route. [CHAR LIMIT=50] -->
<string name="bluetooth_a2dp_audio_route_name">Bluetooth audio</string>
+ <!-- Description of a wireless display route. [CHAR LIMIT=50] -->
+ <string name="wireless_display_route_description">Wireless display</string>
+
<!-- "Done" button for MediaRouter chooser dialog when grouping routes. [CHAR LIMIT=NONE] -->
<string name="media_route_chooser_grouping_done">Done</string>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 6a3bdaa..adbedbb 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -884,6 +884,7 @@
<java-symbol type="string" name="error_message_title" />
<java-symbol type="string" name="action_bar_home_description_format" />
<java-symbol type="string" name="action_bar_home_subtitle_description_format" />
+ <java-symbol type="string" name="wireless_display_route_description" />
<java-symbol type="plurals" name="abbrev_in_num_days" />
<java-symbol type="plurals" name="abbrev_in_num_hours" />
diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java
index 990ce80..65e312d 100644
--- a/media/java/android/media/MediaRouter.java
+++ b/media/java/android/media/MediaRouter.java
@@ -186,6 +186,8 @@
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 @@
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 static class RouteInfo {
CharSequence mName;
int mNameResId;
+ CharSequence mDescription;
private CharSequence mStatus;
int mSupportedTypes;
RouteGroup mGroup;
@@ -1097,24 +1102,34 @@
}
/**
- * @return The user-friendly name of a media route. This is the string presented
+ * Gets the user-visible name of the route.
+ * <p>
+ * The route name identifies the destination represented by the route.
+ * It may be a user-supplied name, an alias, or device serial number.
+ * </p>
+ *
+ * @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.
+ * <p>
+ * The route name identifies the destination represented by the route.
+ * It may be a user-supplied name, an alias, or device serial number.
+ * </p>
+ *
* @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 @@
}
/**
- * @return The user-friendly status for a media route. This may include a description
+ * Gets the user-visible description of the route.
+ * <p>
+ * 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.
+ * </p>
+ *
+ * @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 String toString() {
String supportedTypes = typesToString(getSupportedTypes());
return getClass().getSimpleName() + "{ name=" + getName() +
+ ", description=" + getDescription() +
", status=" + getStatus() +
", category=" + getCategory() +
", supportedTypes=" + supportedTypes +
@@ -1442,6 +1471,11 @@
/**
* Set the user-visible name of this route.
+ * <p>
+ * The route name identifies the destination represented by the route.
+ * It may be a user-supplied name, an alias, or device serial number.
+ * </p>
+ *
* @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 @@
}
/**
+ * Set the user-visible description of this route.
+ * <p>
+ * 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.
+ * </p>
+ *
+ * @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