diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index 5c48e2a15a..b88e48d5ea 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -1397,7 +1397,11 @@ public final class Format { private static final String FIELD_TILE_COUNT_VERTICAL = Util.intToStringMaxRadix(31); private static final String FIELD_LABELS = Util.intToStringMaxRadix(32); + /** + * @deprecated Use {@link #toBundle(boolean)} instead. + */ @UnstableApi + @Deprecated public Bundle toBundle() { return toBundle(/* excludeMetadata= */ false); } diff --git a/libraries/common/src/main/java/androidx/media3/common/Player.java b/libraries/common/src/main/java/androidx/media3/common/Player.java index b01bac4ad9..54463c2b77 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Player.java +++ b/libraries/common/src/main/java/androidx/media3/common/Player.java @@ -461,13 +461,10 @@ public interface Player { } /** - * Returns a {@link Bundle} representing the information stored in this object. - * - *

It omits the {@link #windowUid} and {@link #periodUid} fields. The {@link #windowUid} and - * {@link #periodUid} of an instance restored by {@link #fromBundle} will always be {@code - * null}. + * @deprecated Use {@link #toBundle(int)} instead. */ @UnstableApi + @Deprecated public Bundle toBundle() { return toBundle(Integer.MAX_VALUE); } diff --git a/libraries/common/src/test/java/androidx/media3/common/FormatTest.java b/libraries/common/src/test/java/androidx/media3/common/FormatTest.java index 1710b232ed..e95ee68631 100644 --- a/libraries/common/src/test/java/androidx/media3/common/FormatTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/FormatTest.java @@ -44,7 +44,8 @@ public final class FormatTest { @Test public void roundTripViaBundle_ofParameters_yieldsEqualInstance() { Format formatToBundle = createTestFormat(); - Format formatFromBundle = Format.fromBundle(formatToBundle.toBundle()); + Format formatFromBundle = + Format.fromBundle(formatToBundle.toBundle(/* excludeMetadata= */ false)); assertThat(formatFromBundle).isEqualTo(formatToBundle); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java index 2ad58ec208..7adfd5dd52 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java @@ -432,7 +432,8 @@ public final class ExoPlaybackException extends PlaybackException { bundle.putString(FIELD_RENDERER_NAME, rendererName); bundle.putInt(FIELD_RENDERER_INDEX, rendererIndex); if (rendererFormat != null) { - bundle.putBundle(FIELD_RENDERER_FORMAT, rendererFormat.toBundle()); + bundle.putBundle( + FIELD_RENDERER_FORMAT, rendererFormat.toBundle(/* excludeMetadata= */ false)); } bundle.putInt(FIELD_RENDERER_FORMAT_SUPPORT, rendererFormatSupport); bundle.putBoolean(FIELD_IS_RECOVERABLE, isRecoverable); diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java index d7786ac6c5..d34abaa0a2 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java @@ -97,10 +97,6 @@ import java.util.List; // Next field key = 12 - public Bundle toBundle() { - return toBundleForRemoteProcess(Integer.MAX_VALUE); - } - public Bundle toBundleForRemoteProcess(int controllerInterfaceVersion) { Bundle bundle = new Bundle(); bundle.putInt(FIELD_LIBRARY_VERSION, libraryVersion); diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java index 4554169f1d..d1c15f7a3a 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java @@ -891,10 +891,6 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue; return bundle; } - public Bundle toBundle() { - return toBundleForRemoteProcess(Integer.MAX_VALUE); - } - public Bundle toBundleForRemoteProcess(int controllerInterfaceVersion) { Bundle bundle = new Bundle(); if (playerError != null) { diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java b/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java index a0defd05bf..c6c42af93b 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java @@ -199,10 +199,6 @@ import com.google.common.base.Objects; canAccessCurrentMediaItem ? contentBufferedPositionMs : 0); } - public Bundle toBundle() { - return toBundle(Integer.MAX_VALUE); - } - public Bundle toBundle(int controllerInterfaceVersion) { Bundle bundle = new Bundle(); if (controllerInterfaceVersion < 3 || !DEFAULT_POSITION_INFO.equalsForBundling(positionInfo)) { diff --git a/libraries/session/src/test/java/androidx/media3/session/MediaControllerStubTest.java b/libraries/session/src/test/java/androidx/media3/session/MediaControllerStubTest.java index 33d0969607..d5d57e9a19 100644 --- a/libraries/session/src/test/java/androidx/media3/session/MediaControllerStubTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/MediaControllerStubTest.java @@ -63,7 +63,7 @@ public class MediaControllerStubTest { .toBundle()); binder.onPlayerInfoChangedWithExclusions( /* seq= */ 0, - /* playerInfoBundle= */ PlayerInfo.DEFAULT.toBundle(), + /* playerInfoBundle= */ PlayerInfo.DEFAULT.toBundleInProcess(), /* playerInfoExclusions= */ null); binder.onPeriodicSessionPositionInfoChanged(/* seq= */ 0, /* sessionPositionInfo= */ null); binder.onAvailableCommandsChangedFromPlayer(/* seq= */ 0, /* commandsBundle= */ null); @@ -114,7 +114,7 @@ public class MediaControllerStubTest { .toBundle()); binder.onPlayerInfoChangedWithExclusions( /* seq= */ 0, - /* playerInfoBundle= */ PlayerInfo.DEFAULT.toBundle(), + /* playerInfoBundle= */ PlayerInfo.DEFAULT.toBundleInProcess(), /* playerInfoExclusions= */ getThrowingBundle()); binder.onPeriodicSessionPositionInfoChanged( /* seq= */ 0, /* sessionPositionInfo= */ getThrowingBundle()); diff --git a/libraries/session/src/test/java/androidx/media3/session/PlayerInfoTest.java b/libraries/session/src/test/java/androidx/media3/session/PlayerInfoTest.java index 9566770939..fd0520e1c0 100644 --- a/libraries/session/src/test/java/androidx/media3/session/PlayerInfoTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/PlayerInfoTest.java @@ -163,7 +163,7 @@ public class PlayerInfoTest { .setVideoSize(new VideoSize(/* width= */ 1024, /* height= */ 768)) .build(); - PlayerInfo infoAfterBundling = PlayerInfo.fromBundle(playerInfo.toBundle()); + PlayerInfo infoAfterBundling = PlayerInfo.fromBundle(playerInfo.toBundleInProcess()); assertThat(infoAfterBundling.oldPositionInfo.mediaItemIndex).isEqualTo(5); assertThat(infoAfterBundling.oldPositionInfo.periodIndex).isEqualTo(4); @@ -292,7 +292,7 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ false, /* excludeTracks= */ false) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.oldPositionInfo.mediaItemIndex).isEqualTo(5); assertThat(infoAfterBundling.oldPositionInfo.periodIndex).isEqualTo(4); @@ -413,7 +413,7 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ true, /* excludeTracks= */ false) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.oldPositionInfo.mediaItemIndex).isEqualTo(0); assertThat(infoAfterBundling.oldPositionInfo.periodIndex).isEqualTo(0); @@ -482,7 +482,7 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ false, /* excludeTracks= */ false) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.mediaMetadata).isEqualTo(MediaMetadata.EMPTY); assertThat(infoAfterBundling.playlistMetadata).isEqualTo(MediaMetadata.EMPTY); @@ -502,7 +502,7 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ false, /* excludeTracks= */ false) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.volume).isEqualTo(1f); } @@ -522,7 +522,7 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ false, /* excludeTracks= */ false) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.deviceVolume).isEqualTo(0); assertThat(infoAfterBundling.deviceMuted).isFalse(); @@ -546,7 +546,7 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ false, /* excludeTracks= */ false) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.audioAttributes).isEqualTo(AudioAttributes.DEFAULT); } @@ -568,7 +568,7 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ false, /* excludeTracks= */ false) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.cueGroup).isEqualTo(CueGroup.EMPTY_TIME_ZERO); } @@ -598,14 +598,14 @@ public class PlayerInfoTest { .build(), /* excludeTimeline= */ false, /* excludeTracks= */ true) - .toBundle()); + .toBundleInProcess()); assertThat(infoAfterBundling.currentTracks).isEqualTo(Tracks.EMPTY); } @Test public void toBundleFromBundle_withDefaultValues_restoresAllData() { - PlayerInfo roundTripValue = PlayerInfo.fromBundle(PlayerInfo.DEFAULT.toBundle()); + PlayerInfo roundTripValue = PlayerInfo.fromBundle(PlayerInfo.DEFAULT.toBundleInProcess()); assertThat(roundTripValue.oldPositionInfo).isEqualTo(PlayerInfo.DEFAULT.oldPositionInfo); assertThat(roundTripValue.newPositionInfo).isEqualTo(PlayerInfo.DEFAULT.newPositionInfo); diff --git a/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java b/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java index 975ac1429d..df17bee007 100644 --- a/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java @@ -53,7 +53,8 @@ public class SessionPositionInfoTest { /* currentLiveOffsetMs= */ 20L, /* contentDurationMs= */ 400L, /* contentBufferedPositionMs= */ 223L); - Bundle sessionPositionInfoBundle = testSessionPositionInfo.toBundle(); + Bundle sessionPositionInfoBundle = + testSessionPositionInfo.toBundle(MediaControllerStub.VERSION_INT); SessionPositionInfo sessionPositionInfo = SessionPositionInfo.fromBundle(sessionPositionInfoBundle); assertThat(sessionPositionInfo).isEqualTo(testSessionPositionInfo); @@ -89,7 +90,8 @@ public class SessionPositionInfoTest { @Test public void roundTripViaBundle_withDefaultValues_yieldsEqualInstance() { SessionPositionInfo roundTripValue = - SessionPositionInfo.fromBundle(SessionPositionInfo.DEFAULT.toBundle()); + SessionPositionInfo.fromBundle( + SessionPositionInfo.DEFAULT.toBundle(MediaControllerStub.VERSION_INT)); assertThat(roundTripValue).isEqualTo(SessionPositionInfo.DEFAULT); }