From bddb29c431e9175250652441a942f1fe700466a7 Mon Sep 17 00:00:00 2001 From: jaewan Date: Tue, 18 Aug 2020 19:23:48 +0100 Subject: [PATCH] Ban FileMediaItem and CallbackMediaItem PiperOrigin-RevId: 327268964 --- .../ext/media2/SessionPlayerConnector.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.java b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.java index ae517240fe..3e19c99946 100644 --- a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.java +++ b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.java @@ -23,6 +23,7 @@ import androidx.annotation.Nullable; import androidx.core.util.ObjectsCompat; import androidx.core.util.Pair; import androidx.media.AudioAttributesCompat; +import androidx.media2.common.CallbackMediaItem; import androidx.media2.common.FileMediaItem; import androidx.media2.common.MediaItem; import androidx.media2.common.MediaMetadata; @@ -225,16 +226,27 @@ public final class SessionPlayerConnector extends SessionPlayer { return runPlayerCallableBlockingWithNullOnException(/* callable= */ player::getAudioAttributes); } + /** + * {@inheritDoc} + * + *

{@link FileMediaItem} and {@link CallbackMediaItem} are not supported. + */ @Override public ListenableFuture setMediaItem(MediaItem item) { Assertions.checkNotNull(item); Assertions.checkArgument(!(item instanceof FileMediaItem)); + Assertions.checkArgument(!(item instanceof CallbackMediaItem)); ListenableFuture result = playerCommandQueue.addCommand( PlayerCommandQueue.COMMAND_CODE_PLAYER_SET_MEDIA_ITEM, () -> player.setMediaItem(item)); return result; } + /** + * {@inheritDoc} + * + *

{@link FileMediaItem} and {@link CallbackMediaItem} are not supported. + */ @Override public ListenableFuture setPlaylist( final List playlist, @Nullable MediaMetadata metadata) { @@ -244,6 +256,7 @@ public final class SessionPlayerConnector extends SessionPlayer { MediaItem item = playlist.get(i); Assertions.checkNotNull(item); Assertions.checkArgument(!(item instanceof FileMediaItem)); + Assertions.checkArgument(!(item instanceof CallbackMediaItem)); for (int j = 0; j < i; j++) { Assertions.checkArgument( item != playlist.get(j), @@ -257,11 +270,17 @@ public final class SessionPlayerConnector extends SessionPlayer { return result; } + /** + * {@inheritDoc} + * + *

{@link FileMediaItem} and {@link CallbackMediaItem} are not supported. + */ @Override public ListenableFuture addPlaylistItem(int index, MediaItem item) { Assertions.checkArgument(index >= 0); Assertions.checkNotNull(item); Assertions.checkArgument(!(item instanceof FileMediaItem)); + Assertions.checkArgument(!(item instanceof CallbackMediaItem)); ListenableFuture result = playerCommandQueue.addCommand( PlayerCommandQueue.COMMAND_CODE_PLAYER_ADD_PLAYLIST_ITEM, @@ -279,11 +298,17 @@ public final class SessionPlayerConnector extends SessionPlayer { return result; } + /** + * {@inheritDoc} + * + *

{@link FileMediaItem} and {@link CallbackMediaItem} are not supported. + */ @Override public ListenableFuture replacePlaylistItem(int index, MediaItem item) { Assertions.checkArgument(index >= 0); Assertions.checkNotNull(item); Assertions.checkArgument(!(item instanceof FileMediaItem)); + Assertions.checkArgument(!(item instanceof CallbackMediaItem)); ListenableFuture result = playerCommandQueue.addCommand( PlayerCommandQueue.COMMAND_CODE_PLAYER_REPLACE_PLAYLIST_ITEM,