13625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikpackage android.media; 23625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 33625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikimport android.annotation.Nullable; 43625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikimport android.graphics.Bitmap; 53625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikimport android.net.Uri; 63625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikimport android.os.Bundle; 73625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikimport android.os.Parcel; 83625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikimport android.os.Parcelable; 93625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 103625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik/** 113625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * A simple set of metadata for a media item suitable for display. This can be 123625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * created using the Builder or retrieved from existing metadata using 133625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * {@link MediaMetadata#getDescription()}. 143625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 153625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErikpublic class MediaDescription implements Parcelable { 163625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 173625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * A unique persistent id for the content or null. 183625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 193625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private final String mMediaId; 203625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 213625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * A primary title suitable for display or null. 223625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 233625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private final CharSequence mTitle; 243625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 253625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * A subtitle suitable for display or null. 263625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 273625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private final CharSequence mSubtitle; 283625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 293625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * A description suitable for display or null. 303625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 313625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private final CharSequence mDescription; 323625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 333625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * A bitmap icon suitable for display or null. 343625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 353625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private final Bitmap mIcon; 363625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 373625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * A Uri for an icon suitable for display or null. 383625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 393625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private final Uri mIconUri; 403625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 413625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Extras for opaque use by apps/system. 423625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 433625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private final Bundle mExtras; 446fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand /** 456fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * A Uri to identify this content. 466fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand */ 476fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand private final Uri mMediaUri; 483625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 493625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private MediaDescription(String mediaId, CharSequence title, CharSequence subtitle, 506fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand CharSequence description, Bitmap icon, Uri iconUri, Bundle extras, Uri mediaUri) { 513625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mMediaId = mediaId; 523625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mTitle = title; 533625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mSubtitle = subtitle; 543625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mDescription = description; 553625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mIcon = icon; 563625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mIconUri = iconUri; 573625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mExtras = extras; 586fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand mMediaUri = mediaUri; 593625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 603625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 613625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private MediaDescription(Parcel in) { 623625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mMediaId = in.readString(); 633625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mTitle = in.readCharSequence(); 643625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mSubtitle = in.readCharSequence(); 653625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mDescription = in.readCharSequence(); 663625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mIcon = in.readParcelable(null); 673625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mIconUri = in.readParcelable(null); 683625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mExtras = in.readBundle(); 696fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand mMediaUri = in.readParcelable(null); 703625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 713625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 723625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 733625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Returns the media id or null. See 743625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * {@link MediaMetadata#METADATA_KEY_MEDIA_ID}. 753625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 763625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public @Nullable String getMediaId() { 773625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mMediaId; 783625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 793625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 803625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 813625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Returns a title suitable for display or null. 823625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 833625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return A title or null. 843625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 853625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public @Nullable CharSequence getTitle() { 863625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mTitle; 873625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 883625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 893625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 903625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Returns a subtitle suitable for display or null. 913625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 923625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return A subtitle or null. 933625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 943625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public @Nullable CharSequence getSubtitle() { 953625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mSubtitle; 963625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 973625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 983625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 993625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Returns a description suitable for display or null. 1003625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 1013625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return A description or null. 1023625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 1033625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public @Nullable CharSequence getDescription() { 1043625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mDescription; 1053625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1063625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1073625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 1083625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Returns a bitmap icon suitable for display or null. 1093625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 1103625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return An icon or null. 1113625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 1123625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public @Nullable Bitmap getIconBitmap() { 1133625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mIcon; 1143625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1153625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1163625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 1173625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Returns a Uri for an icon suitable for display or null. 1183625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 1193625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return An icon uri or null. 1203625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 1213625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public @Nullable Uri getIconUri() { 1223625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mIconUri; 1233625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1243625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1253625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 1263625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Returns any extras that were added to the description. 1273625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 1283625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return A bundle of extras or null. 1293625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 1303625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public @Nullable Bundle getExtras() { 1313625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mExtras; 1323625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1333625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1346fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand /** 1356fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * Returns a Uri representing this content or null. 1366fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * 1376fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * @return A media Uri or null. 1386fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand */ 1396fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand public @Nullable Uri getMediaUri() { 1406fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand return mMediaUri; 1416fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand } 1426fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand 1433625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik @Override 1443625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public int describeContents() { 1453625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return 0; 1463625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1473625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1483625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik @Override 1493625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public void writeToParcel(Parcel dest, int flags) { 1503625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik dest.writeString(mMediaId); 1513625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik dest.writeCharSequence(mTitle); 1523625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik dest.writeCharSequence(mSubtitle); 1533625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik dest.writeCharSequence(mDescription); 1543625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik dest.writeParcelable(mIcon, flags); 1553625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik dest.writeParcelable(mIconUri, flags); 1563625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik dest.writeBundle(mExtras); 1576fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand dest.writeParcelable(mMediaUri, flags); 1583625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1593625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1603625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik @Override 1613625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public String toString() { 1623625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return mTitle + ", " + mSubtitle + ", " + mDescription; 1633625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1643625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1653625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public static final Parcelable.Creator<MediaDescription> CREATOR = 1663625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik new Parcelable.Creator<MediaDescription>() { 1673625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik @Override 1683625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public MediaDescription createFromParcel(Parcel in) { 1693625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return new MediaDescription(in); 1703625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1713625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1723625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik @Override 1733625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public MediaDescription[] newArray(int size) { 1743625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return new MediaDescription[size]; 1753625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1763625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik }; 1773625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1783625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 1793625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Builder for {@link MediaDescription} objects. 1803625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 1813625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public static class Builder { 1823625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private String mMediaId; 1833625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private CharSequence mTitle; 1843625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private CharSequence mSubtitle; 1853625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private CharSequence mDescription; 1863625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private Bitmap mIcon; 1873625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private Uri mIconUri; 1883625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik private Bundle mExtras; 1896fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand private Uri mMediaUri; 1903625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1913625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 1923625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Creates an initially empty builder. 1933625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 1943625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder() { 1953625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 1963625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 1973625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 1983625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Sets the media id. 1993625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 2003625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @param mediaId The unique id for the item or null. 2013625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return this 2023625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 2033625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder setMediaId(@Nullable String mediaId) { 2043625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mMediaId = mediaId; 2053625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return this; 2063625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2073625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 2083625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 2093625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Sets the title. 2103625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 2113625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @param title A title suitable for display to the user or null. 2123625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return this 2133625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 2143625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder setTitle(@Nullable CharSequence title) { 2153625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mTitle = title; 2163625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return this; 2173625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2183625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 2193625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 2203625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Sets the subtitle. 2213625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 2223625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @param subtitle A subtitle suitable for display to the user or null. 2233625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return this 2243625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 2253625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder setSubtitle(@Nullable CharSequence subtitle) { 2263625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mSubtitle = subtitle; 2273625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return this; 2283625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2293625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 2303625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 2313625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Sets the description. 2323625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 2333625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @param description A description suitable for display to the user or 2343625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * null. 2353625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return this 2363625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 2373625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder setDescription(@Nullable CharSequence description) { 2383625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mDescription = description; 2393625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return this; 2403625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2413625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 2423625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 2433625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Sets the icon. 2443625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 2453625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @param icon A {@link Bitmap} icon suitable for display to the user or 2463625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * null. 2473625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return this 2483625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 2493625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder setIconBitmap(@Nullable Bitmap icon) { 2503625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mIcon = icon; 2513625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return this; 2523625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2533625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 2543625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 2553625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Sets the icon uri. 2563625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 2573625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @param iconUri A {@link Uri} for an icon suitable for display to the 2583625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * user or null. 2593625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return this 2603625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 2613625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder setIconUri(@Nullable Uri iconUri) { 2623625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mIconUri = iconUri; 2633625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return this; 2643625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2653625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 2663625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik /** 2673625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * Sets a bundle of extras. 2683625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * 2693625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @param extras The extras to include with this description or null. 2703625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik * @return this 2713625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik */ 2723625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public Builder setExtras(@Nullable Bundle extras) { 2733625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik mExtras = extras; 2743625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return this; 2753625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2763625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik 2776fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand /** 2786fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * Sets the media uri. 2796fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * 2806fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * @param mediaUri The content's {@link Uri} for the item or null. 2816fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand * @return this 2826fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand */ 2836fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand public Builder setMediaUri(@Nullable Uri mediaUri) { 2846fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand mMediaUri = mediaUri; 2856fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand return this; 2866fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand } 2876fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand 2883625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik public MediaDescription build() { 2893625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik return new MediaDescription(mMediaId, mTitle, mSubtitle, mDescription, mIcon, mIconUri, 2906fbcc2c01b604d84aeb67118962712556cdeb638P.Y. Laligand mExtras, mMediaUri); 2913625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2923625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik } 2933625bf72cb8bcf3c7f8f8cd8d708d7206824cc62RoboErik} 294