diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 631f0e8bdb..1748539bef 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -22,6 +22,8 @@ * Session: * Fix issue where `MediaItem.RequestMetadata` with just non-null extras is not sent transmitted between media controllers and sessions. + * Add constructor to `MediaLibrarySession.Builder` that only takes a + `Context` instead of a `MediaLibraryService`. * UI: * Downloads: * OkHttp Extension: diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java index b9bff77d88..2968be8f87 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java @@ -413,6 +413,19 @@ public abstract class MediaLibraryService extends MediaSessionService { super(service, player, callback); } + /** + * Creates a builder for {@link MediaLibrarySession}. + * + * @param context The {@link Context}. + * @param player The underlying player to perform playback and handle transport controls. + * @param callback The callback to handle requests from {@link MediaBrowser}. + * @throws IllegalArgumentException if {@link Player#canAdvertiseSession()} returns false. + */ + @UnstableApi + public Builder(Context context, Player player, Callback callback) { + super(context, player, callback); + } + /** * Sets a {@link PendingIntent} to launch an {@link android.app.Activity} for the {@link * MediaLibrarySession}. This can be used as a quick link to an ongoing media screen.