Loading api/current.txt +8 −6 Original line number Diff line number Diff line Loading @@ -16202,7 +16202,7 @@ package android.media.browse { method public int describeContents(); method public android.os.Bundle getExtras(); method public int getFlags(); method public int getIconResId(); method public int getIconResourceId(); method public android.net.Uri getIconUri(); method public java.lang.CharSequence getSummary(); method public java.lang.CharSequence getTitle(); Loading @@ -16219,7 +16219,7 @@ package android.media.browse { ctor public MediaBrowserItem.Builder(android.net.Uri, int, java.lang.CharSequence); method public android.media.browse.MediaBrowserItem build(); method public android.media.browse.MediaBrowserItem.Builder setExtras(android.os.Bundle); method public android.media.browse.MediaBrowserItem.Builder setIconResId(int); method public android.media.browse.MediaBrowserItem.Builder setIconResourceId(int); method public android.media.browse.MediaBrowserItem.Builder setIconUri(android.net.Uri); method public android.media.browse.MediaBrowserItem.Builder setSummary(java.lang.CharSequence); } Loading @@ -16230,15 +16230,17 @@ package android.media.browse { method public android.media.session.MediaSession.Token getSessionToken(); method public void notifyChildrenChanged(android.net.Uri); method public android.os.IBinder onBind(android.content.Intent); method protected abstract android.media.browse.MediaBrowserService.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle); method protected abstract android.graphics.Bitmap onGetThumbnail(android.net.Uri, int, int); method protected abstract java.util.List<android.media.browse.MediaBrowserItem> onLoadChildren(android.net.Uri); method public abstract android.media.browse.MediaBrowserService.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle); method public abstract android.graphics.Bitmap onGetThumbnail(android.net.Uri, int, int); method public abstract java.util.List<android.media.browse.MediaBrowserItem> onLoadChildren(android.net.Uri); method public void setSessionToken(android.media.session.MediaSession.Token); field public static final java.lang.String SERVICE_ACTION = "android.media.browse.MediaBrowserService"; } public static class MediaBrowserService.BrowserRoot { public static final class MediaBrowserService.BrowserRoot { ctor public MediaBrowserService.BrowserRoot(android.net.Uri, android.os.Bundle); method public android.os.Bundle getExtras(); method public android.net.Uri getRootUri(); } } media/java/android/media/browse/MediaBrowserItem.java +67 −53 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.media.browse; import android.annotation.DrawableRes; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading @@ -32,11 +33,11 @@ import java.lang.annotation.RetentionPolicy; */ public final class MediaBrowserItem implements Parcelable { private final Uri mUri; private final Uri mIconUri; private final int mIconResId; private final int mFlags; private final CharSequence mTitle; private final CharSequence mSummary; private final Uri mIconUri; private final int mIconResourceId; private final Bundle mExtras; /** @hide */ Loading @@ -61,8 +62,8 @@ public final class MediaBrowserItem implements Parcelable { /** * Initialize a MediaBrowserItem object. */ private MediaBrowserItem(@NonNull Uri uri, @Nullable Uri iconUri, int iconResId, int flags, @NonNull CharSequence title, CharSequence summary, Bundle extras) { private MediaBrowserItem(@NonNull Uri uri, int flags, @NonNull CharSequence title, CharSequence summary, @Nullable Uri iconUri, int iconResourceId, Bundle extras) { if (uri == null) { throw new IllegalArgumentException("uri can not be null"); } Loading @@ -70,11 +71,11 @@ public final class MediaBrowserItem implements Parcelable { throw new IllegalArgumentException("title can not be null"); } mUri = uri; mIconUri = iconUri; mIconResId = iconResId; mFlags = flags; mTitle = title; mSummary = summary; mIconUri = iconUri; mIconResourceId = iconResourceId; mExtras = extras; } Loading @@ -83,8 +84,6 @@ public final class MediaBrowserItem implements Parcelable { */ private MediaBrowserItem(Parcel in) { mUri = Uri.CREATOR.createFromParcel(in); mIconUri = Uri.CREATOR.createFromParcel(in); mIconResId = in.readInt(); mFlags = in.readInt(); mTitle = in.readCharSequence(); if (in.readInt() != 0) { Loading @@ -92,6 +91,12 @@ public final class MediaBrowserItem implements Parcelable { } else { mSummary = null; } if (in.readInt() != 0) { mIconUri = Uri.CREATOR.createFromParcel(in); } else { mIconUri = null; } mIconResourceId = in.readInt(); if (in.readInt() != 0) { mExtras = Bundle.CREATOR.createFromParcel(in); } else { Loading @@ -107,8 +112,6 @@ public final class MediaBrowserItem implements Parcelable { @Override public void writeToParcel(Parcel out, int flags) { mUri.writeToParcel(out, flags); mIconUri.writeToParcel(out, flags); out.writeInt(mIconResId); out.writeInt(mFlags); out.writeCharSequence(mTitle); if (mSummary != null) { Loading @@ -117,6 +120,13 @@ public final class MediaBrowserItem implements Parcelable { } else { out.writeInt(0); } if (mIconUri != null) { out.writeInt(1); mIconUri.writeToParcel(out, flags); } else { out.writeInt(0); } out.writeInt(mIconResourceId); if (mExtras != null) { out.writeInt(1); mExtras.writeToParcel(out, flags); Loading Loading @@ -145,20 +155,6 @@ public final class MediaBrowserItem implements Parcelable { return mUri; } /** * Gets the Uri of the icon. */ public @Nullable Uri getIconUri() { return mIconUri; } /** * Gets the resource id of the icon. */ public int getIconResId() { return mIconResId; } /** * Gets the flags of the item. */ Loading Loading @@ -202,6 +198,20 @@ public final class MediaBrowserItem implements Parcelable { return mSummary; } /** * Gets the Uri of the icon. */ public @Nullable Uri getIconUri() { return mIconUri; } /** * Gets the resource id of the icon. */ public @DrawableRes int getIconResourceId() { return mIconResourceId; } /** * Gets additional service-specified extras about the * item or its content, or null if none. Loading @@ -217,9 +227,9 @@ public final class MediaBrowserItem implements Parcelable { private final Uri mUri; private final int mFlags; private final CharSequence mTitle; private Uri mIconUri; private int mIconResId; private CharSequence mSummary; private Uri mIconUri; private int mIconResourceId; private Bundle mExtras; /** Loading @@ -237,11 +247,19 @@ public final class MediaBrowserItem implements Parcelable { mTitle = title; } /** * Sets summary of the item, or null if none. */ public @NonNull Builder setSummary(@Nullable CharSequence summary) { mSummary = summary; return this; } /** * Sets the uri of the icon. * <p> * If both {@link #setIconUri(Uri)} and {@link #setIconResId(int)} are called, * the resource id will be used to load the icon. * Either {@link #setIconUri(Uri)} or {@link #setIconResourceId(int)} should be called. * If both are specified, the resource id will be used to load the icon. * </p> */ public @NonNull Builder setIconUri(@Nullable Uri iconUri) { Loading @@ -251,23 +269,19 @@ public final class MediaBrowserItem implements Parcelable { /** * Sets the resource id of the icon. * <p> * Either {@link #setIconUri(Uri)} or {@link #setIconResourceId(int)} should be specified. * If both are specified, the resource id will be used to load the icon. * </p> */ public @NonNull Builder setIconResId(int resId) { mIconResId = resId; return this; } /** * Sets summary of the item, or null if none. */ public @NonNull Builder setSummary(@Nullable CharSequence summary) { mSummary = summary; public @NonNull Builder setIconResourceId(@DrawableRes int ResourceId) { mIconResourceId = ResourceId; return this; } /** * Sets additional service-specified extras about the * item or its content, or null if none. * item or its content. */ public @NonNull Builder setExtras(@Nullable Bundle extras) { mExtras = extras; Loading @@ -278,8 +292,8 @@ public final class MediaBrowserItem implements Parcelable { * Builds the item. */ public @NonNull MediaBrowserItem build() { return new MediaBrowserItem(mUri, mIconUri, mIconResId, mFlags, mTitle, mSummary, mExtras); return new MediaBrowserItem(mUri, mFlags, mTitle, mSummary, mIconUri, mIconResourceId, mExtras); } } } Loading media/java/android/media/browse/MediaBrowserService.java +32 −15 Original line number Diff line number Diff line Loading @@ -256,7 +256,7 @@ public abstract class MediaBrowserService extends Service { * for browsing, or null if none. The contents of this bundle may affect * the information returned when browsing. */ protected abstract @Nullable BrowserRoot onGetRoot(@NonNull String clientPackageName, public abstract @Nullable BrowserRoot onGetRoot(@NonNull String clientPackageName, int clientUid, @Nullable Bundle rootHints); /** Loading @@ -266,7 +266,7 @@ public abstract class MediaBrowserService extends Service { * children are to be queried. * @return The list of children, or null if the uri is invalid. */ protected abstract @Nullable List<MediaBrowserItem> onLoadChildren(@NonNull Uri parentUri); public abstract @Nullable List<MediaBrowserItem> onLoadChildren(@NonNull Uri parentUri); /** * Called to get the thumbnail of a particular media item. Loading @@ -278,7 +278,7 @@ public abstract class MediaBrowserService extends Service { * @return The file descriptor of the thumbnail, which may then be loaded * using a bitmap factory, or null if the item does not have a thumbnail. */ protected abstract @Nullable Bitmap onGetThumbnail(@NonNull Uri uri, int width, int height); public abstract @Nullable Bitmap onGetThumbnail(@NonNull Uri uri, int width, int height); /** * Call to set the media session. Loading Loading @@ -311,20 +311,21 @@ public abstract class MediaBrowserService extends Service { * @param parentUri The uri of the parent media item whose * children changed. */ public void notifyChildrenChanged(@NonNull Uri parentUri) { public void notifyChildrenChanged(@NonNull final Uri parentUri) { if (parentUri == null) { throw new IllegalArgumentException("parentUri cannot be null in notifyChildrenChanged"); } mHandler.post(new Runnable() { @Override public void run() { for (IBinder binder : mConnections.keySet()) { ConnectionRecord connection = mConnections.get(binder); Set<Uri> uris = connection.subscriptions; for (Uri uri : uris) { if (uri.equals(parentUri)) { performLoadChildren(uri, connection); break; if (connection.subscriptions.contains(parentUri)) { performLoadChildren(parentUri, connection); } } } }); } /** Loading Loading @@ -380,9 +381,19 @@ public abstract class MediaBrowserService extends Service { } } public static class BrowserRoot { /** * Contains information that the browser service needs to send to the client * when first connected. */ public static final class BrowserRoot { final private Uri mUri; final private Bundle mExtras; /** * Constructs a browser root. * @param uri The root Uri for browsing. * @param extras Any extras about the browser service. */ public BrowserRoot(@NonNull Uri uri, @Nullable Bundle extras) { if (uri == null) { throw new IllegalArgumentException("The root uri in BrowserRoot cannot be null. " + Loading @@ -392,11 +403,17 @@ public abstract class MediaBrowserService extends Service { mExtras = extras; } Uri getRootUri() { /** * Gets the root uri for browsing. */ public Uri getRootUri() { return mUri; } Bundle getExtras() { /** * Gets any extras about the brwoser service. */ public Bundle getExtras() { return mExtras; } } Loading Loading
api/current.txt +8 −6 Original line number Diff line number Diff line Loading @@ -16202,7 +16202,7 @@ package android.media.browse { method public int describeContents(); method public android.os.Bundle getExtras(); method public int getFlags(); method public int getIconResId(); method public int getIconResourceId(); method public android.net.Uri getIconUri(); method public java.lang.CharSequence getSummary(); method public java.lang.CharSequence getTitle(); Loading @@ -16219,7 +16219,7 @@ package android.media.browse { ctor public MediaBrowserItem.Builder(android.net.Uri, int, java.lang.CharSequence); method public android.media.browse.MediaBrowserItem build(); method public android.media.browse.MediaBrowserItem.Builder setExtras(android.os.Bundle); method public android.media.browse.MediaBrowserItem.Builder setIconResId(int); method public android.media.browse.MediaBrowserItem.Builder setIconResourceId(int); method public android.media.browse.MediaBrowserItem.Builder setIconUri(android.net.Uri); method public android.media.browse.MediaBrowserItem.Builder setSummary(java.lang.CharSequence); } Loading @@ -16230,15 +16230,17 @@ package android.media.browse { method public android.media.session.MediaSession.Token getSessionToken(); method public void notifyChildrenChanged(android.net.Uri); method public android.os.IBinder onBind(android.content.Intent); method protected abstract android.media.browse.MediaBrowserService.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle); method protected abstract android.graphics.Bitmap onGetThumbnail(android.net.Uri, int, int); method protected abstract java.util.List<android.media.browse.MediaBrowserItem> onLoadChildren(android.net.Uri); method public abstract android.media.browse.MediaBrowserService.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle); method public abstract android.graphics.Bitmap onGetThumbnail(android.net.Uri, int, int); method public abstract java.util.List<android.media.browse.MediaBrowserItem> onLoadChildren(android.net.Uri); method public void setSessionToken(android.media.session.MediaSession.Token); field public static final java.lang.String SERVICE_ACTION = "android.media.browse.MediaBrowserService"; } public static class MediaBrowserService.BrowserRoot { public static final class MediaBrowserService.BrowserRoot { ctor public MediaBrowserService.BrowserRoot(android.net.Uri, android.os.Bundle); method public android.os.Bundle getExtras(); method public android.net.Uri getRootUri(); } }
media/java/android/media/browse/MediaBrowserItem.java +67 −53 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.media.browse; import android.annotation.DrawableRes; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading @@ -32,11 +33,11 @@ import java.lang.annotation.RetentionPolicy; */ public final class MediaBrowserItem implements Parcelable { private final Uri mUri; private final Uri mIconUri; private final int mIconResId; private final int mFlags; private final CharSequence mTitle; private final CharSequence mSummary; private final Uri mIconUri; private final int mIconResourceId; private final Bundle mExtras; /** @hide */ Loading @@ -61,8 +62,8 @@ public final class MediaBrowserItem implements Parcelable { /** * Initialize a MediaBrowserItem object. */ private MediaBrowserItem(@NonNull Uri uri, @Nullable Uri iconUri, int iconResId, int flags, @NonNull CharSequence title, CharSequence summary, Bundle extras) { private MediaBrowserItem(@NonNull Uri uri, int flags, @NonNull CharSequence title, CharSequence summary, @Nullable Uri iconUri, int iconResourceId, Bundle extras) { if (uri == null) { throw new IllegalArgumentException("uri can not be null"); } Loading @@ -70,11 +71,11 @@ public final class MediaBrowserItem implements Parcelable { throw new IllegalArgumentException("title can not be null"); } mUri = uri; mIconUri = iconUri; mIconResId = iconResId; mFlags = flags; mTitle = title; mSummary = summary; mIconUri = iconUri; mIconResourceId = iconResourceId; mExtras = extras; } Loading @@ -83,8 +84,6 @@ public final class MediaBrowserItem implements Parcelable { */ private MediaBrowserItem(Parcel in) { mUri = Uri.CREATOR.createFromParcel(in); mIconUri = Uri.CREATOR.createFromParcel(in); mIconResId = in.readInt(); mFlags = in.readInt(); mTitle = in.readCharSequence(); if (in.readInt() != 0) { Loading @@ -92,6 +91,12 @@ public final class MediaBrowserItem implements Parcelable { } else { mSummary = null; } if (in.readInt() != 0) { mIconUri = Uri.CREATOR.createFromParcel(in); } else { mIconUri = null; } mIconResourceId = in.readInt(); if (in.readInt() != 0) { mExtras = Bundle.CREATOR.createFromParcel(in); } else { Loading @@ -107,8 +112,6 @@ public final class MediaBrowserItem implements Parcelable { @Override public void writeToParcel(Parcel out, int flags) { mUri.writeToParcel(out, flags); mIconUri.writeToParcel(out, flags); out.writeInt(mIconResId); out.writeInt(mFlags); out.writeCharSequence(mTitle); if (mSummary != null) { Loading @@ -117,6 +120,13 @@ public final class MediaBrowserItem implements Parcelable { } else { out.writeInt(0); } if (mIconUri != null) { out.writeInt(1); mIconUri.writeToParcel(out, flags); } else { out.writeInt(0); } out.writeInt(mIconResourceId); if (mExtras != null) { out.writeInt(1); mExtras.writeToParcel(out, flags); Loading Loading @@ -145,20 +155,6 @@ public final class MediaBrowserItem implements Parcelable { return mUri; } /** * Gets the Uri of the icon. */ public @Nullable Uri getIconUri() { return mIconUri; } /** * Gets the resource id of the icon. */ public int getIconResId() { return mIconResId; } /** * Gets the flags of the item. */ Loading Loading @@ -202,6 +198,20 @@ public final class MediaBrowserItem implements Parcelable { return mSummary; } /** * Gets the Uri of the icon. */ public @Nullable Uri getIconUri() { return mIconUri; } /** * Gets the resource id of the icon. */ public @DrawableRes int getIconResourceId() { return mIconResourceId; } /** * Gets additional service-specified extras about the * item or its content, or null if none. Loading @@ -217,9 +227,9 @@ public final class MediaBrowserItem implements Parcelable { private final Uri mUri; private final int mFlags; private final CharSequence mTitle; private Uri mIconUri; private int mIconResId; private CharSequence mSummary; private Uri mIconUri; private int mIconResourceId; private Bundle mExtras; /** Loading @@ -237,11 +247,19 @@ public final class MediaBrowserItem implements Parcelable { mTitle = title; } /** * Sets summary of the item, or null if none. */ public @NonNull Builder setSummary(@Nullable CharSequence summary) { mSummary = summary; return this; } /** * Sets the uri of the icon. * <p> * If both {@link #setIconUri(Uri)} and {@link #setIconResId(int)} are called, * the resource id will be used to load the icon. * Either {@link #setIconUri(Uri)} or {@link #setIconResourceId(int)} should be called. * If both are specified, the resource id will be used to load the icon. * </p> */ public @NonNull Builder setIconUri(@Nullable Uri iconUri) { Loading @@ -251,23 +269,19 @@ public final class MediaBrowserItem implements Parcelable { /** * Sets the resource id of the icon. * <p> * Either {@link #setIconUri(Uri)} or {@link #setIconResourceId(int)} should be specified. * If both are specified, the resource id will be used to load the icon. * </p> */ public @NonNull Builder setIconResId(int resId) { mIconResId = resId; return this; } /** * Sets summary of the item, or null if none. */ public @NonNull Builder setSummary(@Nullable CharSequence summary) { mSummary = summary; public @NonNull Builder setIconResourceId(@DrawableRes int ResourceId) { mIconResourceId = ResourceId; return this; } /** * Sets additional service-specified extras about the * item or its content, or null if none. * item or its content. */ public @NonNull Builder setExtras(@Nullable Bundle extras) { mExtras = extras; Loading @@ -278,8 +292,8 @@ public final class MediaBrowserItem implements Parcelable { * Builds the item. */ public @NonNull MediaBrowserItem build() { return new MediaBrowserItem(mUri, mIconUri, mIconResId, mFlags, mTitle, mSummary, mExtras); return new MediaBrowserItem(mUri, mFlags, mTitle, mSummary, mIconUri, mIconResourceId, mExtras); } } } Loading
media/java/android/media/browse/MediaBrowserService.java +32 −15 Original line number Diff line number Diff line Loading @@ -256,7 +256,7 @@ public abstract class MediaBrowserService extends Service { * for browsing, or null if none. The contents of this bundle may affect * the information returned when browsing. */ protected abstract @Nullable BrowserRoot onGetRoot(@NonNull String clientPackageName, public abstract @Nullable BrowserRoot onGetRoot(@NonNull String clientPackageName, int clientUid, @Nullable Bundle rootHints); /** Loading @@ -266,7 +266,7 @@ public abstract class MediaBrowserService extends Service { * children are to be queried. * @return The list of children, or null if the uri is invalid. */ protected abstract @Nullable List<MediaBrowserItem> onLoadChildren(@NonNull Uri parentUri); public abstract @Nullable List<MediaBrowserItem> onLoadChildren(@NonNull Uri parentUri); /** * Called to get the thumbnail of a particular media item. Loading @@ -278,7 +278,7 @@ public abstract class MediaBrowserService extends Service { * @return The file descriptor of the thumbnail, which may then be loaded * using a bitmap factory, or null if the item does not have a thumbnail. */ protected abstract @Nullable Bitmap onGetThumbnail(@NonNull Uri uri, int width, int height); public abstract @Nullable Bitmap onGetThumbnail(@NonNull Uri uri, int width, int height); /** * Call to set the media session. Loading Loading @@ -311,20 +311,21 @@ public abstract class MediaBrowserService extends Service { * @param parentUri The uri of the parent media item whose * children changed. */ public void notifyChildrenChanged(@NonNull Uri parentUri) { public void notifyChildrenChanged(@NonNull final Uri parentUri) { if (parentUri == null) { throw new IllegalArgumentException("parentUri cannot be null in notifyChildrenChanged"); } mHandler.post(new Runnable() { @Override public void run() { for (IBinder binder : mConnections.keySet()) { ConnectionRecord connection = mConnections.get(binder); Set<Uri> uris = connection.subscriptions; for (Uri uri : uris) { if (uri.equals(parentUri)) { performLoadChildren(uri, connection); break; if (connection.subscriptions.contains(parentUri)) { performLoadChildren(parentUri, connection); } } } }); } /** Loading Loading @@ -380,9 +381,19 @@ public abstract class MediaBrowserService extends Service { } } public static class BrowserRoot { /** * Contains information that the browser service needs to send to the client * when first connected. */ public static final class BrowserRoot { final private Uri mUri; final private Bundle mExtras; /** * Constructs a browser root. * @param uri The root Uri for browsing. * @param extras Any extras about the browser service. */ public BrowserRoot(@NonNull Uri uri, @Nullable Bundle extras) { if (uri == null) { throw new IllegalArgumentException("The root uri in BrowserRoot cannot be null. " + Loading @@ -392,11 +403,17 @@ public abstract class MediaBrowserService extends Service { mExtras = extras; } Uri getRootUri() { /** * Gets the root uri for browsing. */ public Uri getRootUri() { return mUri; } Bundle getExtras() { /** * Gets any extras about the brwoser service. */ public Bundle getExtras() { return mExtras; } } Loading