Ban FileMediaItem and CallbackMediaItem

PiperOrigin-RevId: 327268964
This commit is contained in:
jaewan 2020-08-18 19:23:48 +01:00 committed by Oliver Woodman
parent 2299c4e609
commit bddb29c431

View File

@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
import androidx.core.util.ObjectsCompat; import androidx.core.util.ObjectsCompat;
import androidx.core.util.Pair; import androidx.core.util.Pair;
import androidx.media.AudioAttributesCompat; import androidx.media.AudioAttributesCompat;
import androidx.media2.common.CallbackMediaItem;
import androidx.media2.common.FileMediaItem; import androidx.media2.common.FileMediaItem;
import androidx.media2.common.MediaItem; import androidx.media2.common.MediaItem;
import androidx.media2.common.MediaMetadata; import androidx.media2.common.MediaMetadata;
@ -225,16 +226,27 @@ public final class SessionPlayerConnector extends SessionPlayer {
return runPlayerCallableBlockingWithNullOnException(/* callable= */ player::getAudioAttributes); return runPlayerCallableBlockingWithNullOnException(/* callable= */ player::getAudioAttributes);
} }
/**
* {@inheritDoc}
*
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
*/
@Override @Override
public ListenableFuture<PlayerResult> setMediaItem(MediaItem item) { public ListenableFuture<PlayerResult> setMediaItem(MediaItem item) {
Assertions.checkNotNull(item); Assertions.checkNotNull(item);
Assertions.checkArgument(!(item instanceof FileMediaItem)); Assertions.checkArgument(!(item instanceof FileMediaItem));
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
ListenableFuture<PlayerResult> result = ListenableFuture<PlayerResult> result =
playerCommandQueue.addCommand( playerCommandQueue.addCommand(
PlayerCommandQueue.COMMAND_CODE_PLAYER_SET_MEDIA_ITEM, () -> player.setMediaItem(item)); PlayerCommandQueue.COMMAND_CODE_PLAYER_SET_MEDIA_ITEM, () -> player.setMediaItem(item));
return result; return result;
} }
/**
* {@inheritDoc}
*
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
*/
@Override @Override
public ListenableFuture<PlayerResult> setPlaylist( public ListenableFuture<PlayerResult> setPlaylist(
final List<MediaItem> playlist, @Nullable MediaMetadata metadata) { final List<MediaItem> playlist, @Nullable MediaMetadata metadata) {
@ -244,6 +256,7 @@ public final class SessionPlayerConnector extends SessionPlayer {
MediaItem item = playlist.get(i); MediaItem item = playlist.get(i);
Assertions.checkNotNull(item); Assertions.checkNotNull(item);
Assertions.checkArgument(!(item instanceof FileMediaItem)); Assertions.checkArgument(!(item instanceof FileMediaItem));
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
for (int j = 0; j < i; j++) { for (int j = 0; j < i; j++) {
Assertions.checkArgument( Assertions.checkArgument(
item != playlist.get(j), item != playlist.get(j),
@ -257,11 +270,17 @@ public final class SessionPlayerConnector extends SessionPlayer {
return result; return result;
} }
/**
* {@inheritDoc}
*
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
*/
@Override @Override
public ListenableFuture<PlayerResult> addPlaylistItem(int index, MediaItem item) { public ListenableFuture<PlayerResult> addPlaylistItem(int index, MediaItem item) {
Assertions.checkArgument(index >= 0); Assertions.checkArgument(index >= 0);
Assertions.checkNotNull(item); Assertions.checkNotNull(item);
Assertions.checkArgument(!(item instanceof FileMediaItem)); Assertions.checkArgument(!(item instanceof FileMediaItem));
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
ListenableFuture<PlayerResult> result = ListenableFuture<PlayerResult> result =
playerCommandQueue.addCommand( playerCommandQueue.addCommand(
PlayerCommandQueue.COMMAND_CODE_PLAYER_ADD_PLAYLIST_ITEM, PlayerCommandQueue.COMMAND_CODE_PLAYER_ADD_PLAYLIST_ITEM,
@ -279,11 +298,17 @@ public final class SessionPlayerConnector extends SessionPlayer {
return result; return result;
} }
/**
* {@inheritDoc}
*
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
*/
@Override @Override
public ListenableFuture<PlayerResult> replacePlaylistItem(int index, MediaItem item) { public ListenableFuture<PlayerResult> replacePlaylistItem(int index, MediaItem item) {
Assertions.checkArgument(index >= 0); Assertions.checkArgument(index >= 0);
Assertions.checkNotNull(item); Assertions.checkNotNull(item);
Assertions.checkArgument(!(item instanceof FileMediaItem)); Assertions.checkArgument(!(item instanceof FileMediaItem));
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
ListenableFuture<PlayerResult> result = ListenableFuture<PlayerResult> result =
playerCommandQueue.addCommand( playerCommandQueue.addCommand(
PlayerCommandQueue.COMMAND_CODE_PLAYER_REPLACE_PLAYLIST_ITEM, PlayerCommandQueue.COMMAND_CODE_PLAYER_REPLACE_PLAYLIST_ITEM,