Add 'session extras' and MediaMetadata.durationMs to the stable API

PiperOrigin-RevId: 693279664
This commit is contained in:
ibaker 2024-11-05 03:13:54 -08:00 committed by Copybara-Service
parent 212bd943f5
commit 6f81b5792b
4 changed files with 6 additions and 5 deletions

View file

@ -464,6 +464,7 @@ package androidx.media3.common {
field @Nullable public final CharSequence description; field @Nullable public final CharSequence description;
field @Nullable public final Integer discNumber; field @Nullable public final Integer discNumber;
field @Nullable public final CharSequence displayTitle; field @Nullable public final CharSequence displayTitle;
field @Nullable public final Long durationMs;
field @Nullable public final android.os.Bundle extras; field @Nullable public final android.os.Bundle extras;
field @Deprecated @Nullable @androidx.media3.common.MediaMetadata.FolderType public final Integer folderType; field @Deprecated @Nullable @androidx.media3.common.MediaMetadata.FolderType public final Integer folderType;
field @Nullable public final CharSequence genre; field @Nullable public final CharSequence genre;
@ -502,6 +503,7 @@ package androidx.media3.common {
method public androidx.media3.common.MediaMetadata.Builder setDescription(@Nullable CharSequence); method public androidx.media3.common.MediaMetadata.Builder setDescription(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder setDiscNumber(@Nullable Integer); method public androidx.media3.common.MediaMetadata.Builder setDiscNumber(@Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder setDisplayTitle(@Nullable CharSequence); method public androidx.media3.common.MediaMetadata.Builder setDisplayTitle(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder setDurationMs(@Nullable Long);
method public androidx.media3.common.MediaMetadata.Builder setExtras(@Nullable android.os.Bundle); method public androidx.media3.common.MediaMetadata.Builder setExtras(@Nullable android.os.Bundle);
method @Deprecated public androidx.media3.common.MediaMetadata.Builder setFolderType(@Nullable @androidx.media3.common.MediaMetadata.FolderType Integer); method @Deprecated public androidx.media3.common.MediaMetadata.Builder setFolderType(@Nullable @androidx.media3.common.MediaMetadata.FolderType Integer);
method public androidx.media3.common.MediaMetadata.Builder setGenre(@Nullable CharSequence); method public androidx.media3.common.MediaMetadata.Builder setGenre(@Nullable CharSequence);
@ -1616,6 +1618,7 @@ package androidx.media3.session {
method public final long getSeekBackIncrement(); method public final long getSeekBackIncrement();
method public final long getSeekForwardIncrement(); method public final long getSeekForwardIncrement();
method @Nullable public final android.app.PendingIntent getSessionActivity(); method @Nullable public final android.app.PendingIntent getSessionActivity();
method public final android.os.Bundle getSessionExtras();
method public final boolean getShuffleModeEnabled(); method public final boolean getShuffleModeEnabled();
method public final long getTotalBufferedDuration(); method public final long getTotalBufferedDuration();
method public final androidx.media3.common.TrackSelectionParameters getTrackSelectionParameters(); method public final androidx.media3.common.TrackSelectionParameters getTrackSelectionParameters();
@ -1760,6 +1763,7 @@ package androidx.media3.session {
method public final String getId(); method public final String getId();
method public final androidx.media3.common.Player getPlayer(); method public final androidx.media3.common.Player getPlayer();
method @Nullable public final android.app.PendingIntent getSessionActivity(); method @Nullable public final android.app.PendingIntent getSessionActivity();
method public android.os.Bundle getSessionExtras();
method public final androidx.media3.session.SessionToken getToken(); method public final androidx.media3.session.SessionToken getToken();
method public final void release(); method public final void release();
method public final com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> sendCustomCommand(androidx.media3.session.MediaSession.ControllerInfo, androidx.media3.session.SessionCommand, android.os.Bundle); method public final com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> sendCustomCommand(androidx.media3.session.MediaSession.ControllerInfo, androidx.media3.session.SessionCommand, android.os.Bundle);
@ -1778,6 +1782,7 @@ package androidx.media3.session {
method public androidx.media3.session.MediaSession.Builder setExtras(android.os.Bundle); method public androidx.media3.session.MediaSession.Builder setExtras(android.os.Bundle);
method public androidx.media3.session.MediaSession.Builder setId(String); method public androidx.media3.session.MediaSession.Builder setId(String);
method public androidx.media3.session.MediaSession.Builder setSessionActivity(android.app.PendingIntent); method public androidx.media3.session.MediaSession.Builder setSessionActivity(android.app.PendingIntent);
method public androidx.media3.session.MediaSession.Builder setSessionExtras(android.os.Bundle);
} }
public static interface MediaSession.Callback { public static interface MediaSession.Callback {

View file

@ -193,7 +193,6 @@ public final class MediaMetadata {
* *
* @throws IllegalArgumentException if the duration is negative. * @throws IllegalArgumentException if the duration is negative.
*/ */
@UnstableApi
@CanIgnoreReturnValue @CanIgnoreReturnValue
public Builder setDurationMs(@Nullable Long durationMs) { public Builder setDurationMs(@Nullable Long durationMs) {
checkArgument(durationMs == null || durationMs >= 0); checkArgument(durationMs == null || durationMs >= 0);
@ -1024,7 +1023,7 @@ public final class MediaMetadata {
* informational purpose only. For retrieving the duration of the media item currently being * informational purpose only. For retrieving the duration of the media item currently being
* played, use {@link Player#getDuration()} instead. * played, use {@link Player#getDuration()} instead.
*/ */
@UnstableApi @Nullable public final Long durationMs; @Nullable public final Long durationMs;
/** Optional user {@link Rating}. */ /** Optional user {@link Rating}. */
@Nullable public final Rating userRating; @Nullable public final Rating userRating;

View file

@ -1155,7 +1155,6 @@ public class MediaController implements Player {
* *
* @return The session extras. * @return The session extras.
*/ */
@UnstableApi
public final Bundle getSessionExtras() { public final Bundle getSessionExtras() {
verifyApplicationThread(); verifyApplicationThread();
return isConnected() ? impl.getSessionExtras() : Bundle.EMPTY; return isConnected() ? impl.getSessionExtras() : Bundle.EMPTY;

View file

@ -338,7 +338,6 @@ public class MediaSession {
* @param sessionExtras The session extras {@link Bundle}. * @param sessionExtras The session extras {@link Bundle}.
* @return The builder to allow chaining. * @return The builder to allow chaining.
*/ */
@UnstableApi
@Override @Override
public Builder setSessionExtras(Bundle sessionExtras) { public Builder setSessionExtras(Bundle sessionExtras) {
return super.setSessionExtras(sessionExtras); return super.setSessionExtras(sessionExtras);
@ -1196,7 +1195,6 @@ public class MediaSession {
* effect. To change the session extras use {@link #setSessionExtras(Bundle)} or {@link * effect. To change the session extras use {@link #setSessionExtras(Bundle)} or {@link
* #setSessionExtras(ControllerInfo, Bundle)}. * #setSessionExtras(ControllerInfo, Bundle)}.
*/ */
@UnstableApi
public Bundle getSessionExtras() { public Bundle getSessionExtras() {
return impl.getSessionExtras(); return impl.getSessionExtras();
} }