Rename misleading COMMAND_GET/SET_MEDIA_ITEMS_METADATA

The setter command is only used for setPlaylistMetadata and can
be named COMMAND_SET_PLAYLIST_METADATA. The getter commnad is
used to access getMediaMetadata and getPlaylistMetadata and can
be better named COMMAND_GET_METADATA to reflect this usage.

PiperOrigin-RevId: 523673286
This commit is contained in:
tonihei 2023-04-12 13:29:39 +01:00 committed by Rohit Singh
parent affc237055
commit c5baf2388c
22 changed files with 74 additions and 60 deletions

View File

@ -30,6 +30,9 @@
objects that are dispatched by the dispatcher. objects that are dispatched by the dispatcher.
* Rename `ExoTrackSelection.blacklist` to `excludeTrack` and * Rename `ExoTrackSelection.blacklist` to `excludeTrack` and
`isBlacklisted` to `isTrackExcluded`. `isBlacklisted` to `isTrackExcluded`.
* Deprecate `Player.COMMAND_GET_MEDIA_ITEMS_METADATA` and
`COMMAND_SET_MEDIA_ITEMS_METADATA`. Use `COMMAND_GET_METADATA` and
`COMMAND_SET_PLAYLIST_METADATA` instead.
* Session: * Session:
* Fix bug where multiple identical queue items published by a legacy * Fix bug where multiple identical queue items published by a legacy
`MediaSessionCompat` result in an exception in `MediaController` `MediaSessionCompat` result in an exception in `MediaController`

View File

@ -764,7 +764,8 @@ package androidx.media3.common {
field public static final int COMMAND_GET_AUDIO_ATTRIBUTES = 21; // 0x15 field public static final int COMMAND_GET_AUDIO_ATTRIBUTES = 21; // 0x15
field public static final int COMMAND_GET_CURRENT_MEDIA_ITEM = 16; // 0x10 field public static final int COMMAND_GET_CURRENT_MEDIA_ITEM = 16; // 0x10
field public static final int COMMAND_GET_DEVICE_VOLUME = 23; // 0x17 field public static final int COMMAND_GET_DEVICE_VOLUME = 23; // 0x17
field public static final int COMMAND_GET_MEDIA_ITEMS_METADATA = 18; // 0x12 field @Deprecated public static final int COMMAND_GET_MEDIA_ITEMS_METADATA = 18; // 0x12
field public static final int COMMAND_GET_METADATA = 18; // 0x12
field public static final int COMMAND_GET_TEXT = 28; // 0x1c field public static final int COMMAND_GET_TEXT = 28; // 0x1c
field public static final int COMMAND_GET_TIMELINE = 17; // 0x11 field public static final int COMMAND_GET_TIMELINE = 17; // 0x11
field public static final int COMMAND_GET_TRACKS = 30; // 0x1e field public static final int COMMAND_GET_TRACKS = 30; // 0x1e
@ -784,7 +785,8 @@ package androidx.media3.common {
field public static final int COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM = 6; // 0x6 field public static final int COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM = 6; // 0x6
field public static final int COMMAND_SET_DEVICE_VOLUME = 25; // 0x19 field public static final int COMMAND_SET_DEVICE_VOLUME = 25; // 0x19
field public static final int COMMAND_SET_MEDIA_ITEM = 31; // 0x1f field public static final int COMMAND_SET_MEDIA_ITEM = 31; // 0x1f
field public static final int COMMAND_SET_MEDIA_ITEMS_METADATA = 19; // 0x13 field @Deprecated public static final int COMMAND_SET_MEDIA_ITEMS_METADATA = 19; // 0x13
field public static final int COMMAND_SET_PLAYLIST_METADATA = 19; // 0x13
field public static final int COMMAND_SET_REPEAT_MODE = 15; // 0xf field public static final int COMMAND_SET_REPEAT_MODE = 15; // 0xf
field public static final int COMMAND_SET_SHUFFLE_MODE = 14; // 0xe field public static final int COMMAND_SET_SHUFFLE_MODE = 14; // 0xe
field public static final int COMMAND_SET_SPEED_AND_PITCH = 13; // 0xd field public static final int COMMAND_SET_SPEED_AND_PITCH = 13; // 0xd
@ -853,7 +855,7 @@ package androidx.media3.common {
field public static final int TIMELINE_CHANGE_REASON_SOURCE_UPDATE = 1; // 0x1 field public static final int TIMELINE_CHANGE_REASON_SOURCE_UPDATE = 1; // 0x1
} }
@IntDef({androidx.media3.common.Player.COMMAND_INVALID, androidx.media3.common.Player.COMMAND_PLAY_PAUSE, androidx.media3.common.Player.COMMAND_PREPARE, androidx.media3.common.Player.COMMAND_STOP, androidx.media3.common.Player.COMMAND_SEEK_TO_DEFAULT_POSITION, androidx.media3.common.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS, androidx.media3.common.Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_TO_NEXT, androidx.media3.common.Player.COMMAND_SEEK_TO_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_BACK, androidx.media3.common.Player.COMMAND_SEEK_FORWARD, androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH, androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE, androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE, androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_GET_TIMELINE, androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA, androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEMS_METADATA, androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_CHANGE_MEDIA_ITEMS, androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES, androidx.media3.common.Player.COMMAND_GET_VOLUME, androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME, androidx.media3.common.Player.COMMAND_SET_VOLUME, androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME, androidx.media3.common.Player.COMMAND_ADJUST_DEVICE_VOLUME, androidx.media3.common.Player.COMMAND_SET_VIDEO_SURFACE, androidx.media3.common.Player.COMMAND_GET_TEXT, androidx.media3.common.Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS, androidx.media3.common.Player.COMMAND_GET_TRACKS, androidx.media3.common.Player.COMMAND_RELEASE}) @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.LOCAL_VARIABLE, java.lang.annotation.ElementType.TYPE_USE}) public static @interface Player.Command { @IntDef({androidx.media3.common.Player.COMMAND_INVALID, androidx.media3.common.Player.COMMAND_PLAY_PAUSE, androidx.media3.common.Player.COMMAND_PREPARE, androidx.media3.common.Player.COMMAND_STOP, androidx.media3.common.Player.COMMAND_SEEK_TO_DEFAULT_POSITION, androidx.media3.common.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS, androidx.media3.common.Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_TO_NEXT, androidx.media3.common.Player.COMMAND_SEEK_TO_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_SEEK_BACK, androidx.media3.common.Player.COMMAND_SEEK_FORWARD, androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH, androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE, androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE, androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_GET_TIMELINE, androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA, androidx.media3.common.Player.COMMAND_GET_METADATA, androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEMS_METADATA, androidx.media3.common.Player.COMMAND_SET_PLAYLIST_METADATA, androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM, androidx.media3.common.Player.COMMAND_CHANGE_MEDIA_ITEMS, androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES, androidx.media3.common.Player.COMMAND_GET_VOLUME, androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME, androidx.media3.common.Player.COMMAND_SET_VOLUME, androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME, androidx.media3.common.Player.COMMAND_ADJUST_DEVICE_VOLUME, androidx.media3.common.Player.COMMAND_SET_VIDEO_SURFACE, androidx.media3.common.Player.COMMAND_GET_TEXT, androidx.media3.common.Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS, androidx.media3.common.Player.COMMAND_GET_TRACKS, androidx.media3.common.Player.COMMAND_RELEASE}) @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.LOCAL_VARIABLE, java.lang.annotation.ElementType.TYPE_USE}) public static @interface Player.Command {
} }
public static final class Player.Commands { public static final class Player.Commands {

View File

@ -104,8 +104,8 @@ public final class CastPlayer extends BasePlayer {
COMMAND_SET_SPEED_AND_PITCH, COMMAND_SET_SPEED_AND_PITCH,
COMMAND_GET_CURRENT_MEDIA_ITEM, COMMAND_GET_CURRENT_MEDIA_ITEM,
COMMAND_GET_TIMELINE, COMMAND_GET_TIMELINE,
COMMAND_GET_MEDIA_ITEMS_METADATA, COMMAND_GET_METADATA,
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_PLAYLIST_METADATA,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
COMMAND_GET_TRACKS, COMMAND_GET_TRACKS,

View File

@ -20,7 +20,7 @@ import static androidx.media3.common.Player.COMMAND_CHANGE_MEDIA_ITEMS;
import static androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES; import static androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES;
import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME; import static androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME;
import static androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_GET_METADATA;
import static androidx.media3.common.Player.COMMAND_GET_TEXT; import static androidx.media3.common.Player.COMMAND_GET_TEXT;
import static androidx.media3.common.Player.COMMAND_GET_TIMELINE; import static androidx.media3.common.Player.COMMAND_GET_TIMELINE;
import static androidx.media3.common.Player.COMMAND_GET_VOLUME; import static androidx.media3.common.Player.COMMAND_GET_VOLUME;
@ -37,7 +37,7 @@ import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS;
import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME; import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_SET_PLAYLIST_METADATA;
import static androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE; import static androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE;
import static androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE; import static androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE;
import static androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH; import static androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH;
@ -1360,8 +1360,8 @@ public class CastPlayerTest {
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_REPEAT_MODE)).isTrue(); assertThat(castPlayer.isCommandAvailable(COMMAND_SET_REPEAT_MODE)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_CURRENT_MEDIA_ITEM)).isTrue(); assertThat(castPlayer.isCommandAvailable(COMMAND_GET_CURRENT_MEDIA_ITEM)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_TIMELINE)).isTrue(); assertThat(castPlayer.isCommandAvailable(COMMAND_GET_TIMELINE)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)).isTrue(); assertThat(castPlayer.isCommandAvailable(COMMAND_GET_METADATA)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_MEDIA_ITEMS_METADATA)).isTrue(); assertThat(castPlayer.isCommandAvailable(COMMAND_SET_PLAYLIST_METADATA)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_CHANGE_MEDIA_ITEMS)).isTrue(); assertThat(castPlayer.isCommandAvailable(COMMAND_CHANGE_MEDIA_ITEMS)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_MEDIA_ITEM)).isTrue(); assertThat(castPlayer.isCommandAvailable(COMMAND_SET_MEDIA_ITEM)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_AUDIO_ATTRIBUTES)).isFalse(); assertThat(castPlayer.isCommandAvailable(COMMAND_GET_AUDIO_ATTRIBUTES)).isFalse();

View File

@ -371,8 +371,8 @@ public interface Player {
COMMAND_SET_REPEAT_MODE, COMMAND_SET_REPEAT_MODE,
COMMAND_GET_CURRENT_MEDIA_ITEM, COMMAND_GET_CURRENT_MEDIA_ITEM,
COMMAND_GET_TIMELINE, COMMAND_GET_TIMELINE,
COMMAND_GET_MEDIA_ITEMS_METADATA, COMMAND_GET_METADATA,
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_PLAYLIST_METADATA,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
COMMAND_GET_AUDIO_ATTRIBUTES, COMMAND_GET_AUDIO_ATTRIBUTES,
@ -1428,8 +1428,8 @@ public interface Player {
* <li>{@link #COMMAND_SET_REPEAT_MODE} * <li>{@link #COMMAND_SET_REPEAT_MODE}
* <li>{@link #COMMAND_GET_CURRENT_MEDIA_ITEM} * <li>{@link #COMMAND_GET_CURRENT_MEDIA_ITEM}
* <li>{@link #COMMAND_GET_TIMELINE} * <li>{@link #COMMAND_GET_TIMELINE}
* <li>{@link #COMMAND_GET_MEDIA_ITEMS_METADATA} * <li>{@link #COMMAND_GET_METADATA}
* <li>{@link #COMMAND_SET_MEDIA_ITEMS_METADATA} * <li>{@link #COMMAND_SET_PLAYLIST_METADATA}
* <li>{@link #COMMAND_SET_MEDIA_ITEM} * <li>{@link #COMMAND_SET_MEDIA_ITEM}
* <li>{@link #COMMAND_CHANGE_MEDIA_ITEMS} * <li>{@link #COMMAND_CHANGE_MEDIA_ITEMS}
* <li>{@link #COMMAND_GET_AUDIO_ATTRIBUTES} * <li>{@link #COMMAND_GET_AUDIO_ATTRIBUTES}
@ -1447,6 +1447,7 @@ public interface Player {
*/ */
// @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility
// with Kotlin usages from before TYPE_USE was added. // with Kotlin usages from before TYPE_USE was added.
@SuppressWarnings("deprecation") // Listing deprecated constants.
@Documented @Documented
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
@Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE})
@ -1470,7 +1471,9 @@ public interface Player {
COMMAND_GET_CURRENT_MEDIA_ITEM, COMMAND_GET_CURRENT_MEDIA_ITEM,
COMMAND_GET_TIMELINE, COMMAND_GET_TIMELINE,
COMMAND_GET_MEDIA_ITEMS_METADATA, COMMAND_GET_MEDIA_ITEMS_METADATA,
COMMAND_GET_METADATA,
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_MEDIA_ITEMS_METADATA,
COMMAND_SET_PLAYLIST_METADATA,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
COMMAND_GET_AUDIO_ATTRIBUTES, COMMAND_GET_AUDIO_ATTRIBUTES,
@ -1682,6 +1685,11 @@ public interface Player {
*/ */
int COMMAND_GET_TIMELINE = 17; int COMMAND_GET_TIMELINE = 17;
/**
* @deprecated Use {@link #COMMAND_GET_METADATA} instead.
*/
@Deprecated int COMMAND_GET_MEDIA_ITEMS_METADATA = 18;
/** /**
* Command to get metadata related to the playlist and current {@link MediaItem}. * Command to get metadata related to the playlist and current {@link MediaItem}.
* *
@ -1693,8 +1701,12 @@ public interface Player {
* <li>{@link #getPlaylistMetadata()} * <li>{@link #getPlaylistMetadata()}
* </ul> * </ul>
*/ */
// TODO(b/263132691): Rename this to COMMAND_GET_METADATA int COMMAND_GET_METADATA = 18;
int COMMAND_GET_MEDIA_ITEMS_METADATA = 18;
/**
* @deprecated Use {@link #COMMAND_SET_PLAYLIST_METADATA} instead.
*/
@Deprecated int COMMAND_SET_MEDIA_ITEMS_METADATA = 19;
/** /**
* Command to set the playlist metadata. * Command to set the playlist metadata.
@ -1702,8 +1714,7 @@ public interface Player {
* <p>The {@link #setPlaylistMetadata(MediaMetadata)} method must only be called if this command * <p>The {@link #setPlaylistMetadata(MediaMetadata)} method must only be called if this command
* is {@linkplain #isCommandAvailable(int) available}. * is {@linkplain #isCommandAvailable(int) available}.
*/ */
// TODO(b/263132691): Rename this to COMMAND_SET_PLAYLIST_METADATA int COMMAND_SET_PLAYLIST_METADATA = 19;
int COMMAND_SET_MEDIA_ITEMS_METADATA = 19;
/** /**
* Command to set a {@link MediaItem}. * Command to set a {@link MediaItem}.
@ -2582,7 +2593,7 @@ public interface Player {
* Listener#onMetadata(Metadata)}. If a field is populated in the {@link MediaItem#mediaMetadata}, * Listener#onMetadata(Metadata)}. If a field is populated in the {@link MediaItem#mediaMetadata},
* it will be prioritised above the same field coming from static or timed metadata. * it will be prioritised above the same field coming from static or timed metadata.
* *
* <p>This method must only be called if {@link #COMMAND_GET_MEDIA_ITEMS_METADATA} is {@linkplain * <p>This method must only be called if {@link #COMMAND_GET_METADATA} is {@linkplain
* #getAvailableCommands() available}. * #getAvailableCommands() available}.
*/ */
MediaMetadata getMediaMetadata(); MediaMetadata getMediaMetadata();
@ -2591,7 +2602,7 @@ public interface Player {
* Returns the playlist {@link MediaMetadata}, as set by {@link * Returns the playlist {@link MediaMetadata}, as set by {@link
* #setPlaylistMetadata(MediaMetadata)}, or {@link MediaMetadata#EMPTY} if not supported. * #setPlaylistMetadata(MediaMetadata)}, or {@link MediaMetadata#EMPTY} if not supported.
* *
* <p>This method must only be called if {@link #COMMAND_GET_MEDIA_ITEMS_METADATA} is {@linkplain * <p>This method must only be called if {@link #COMMAND_GET_METADATA} is {@linkplain
* #getAvailableCommands() available}. * #getAvailableCommands() available}.
*/ */
MediaMetadata getPlaylistMetadata(); MediaMetadata getPlaylistMetadata();
@ -2599,7 +2610,7 @@ public interface Player {
/** /**
* Sets the playlist {@link MediaMetadata}. * Sets the playlist {@link MediaMetadata}.
* *
* <p>This method must only be called if {@link #COMMAND_SET_MEDIA_ITEMS_METADATA} is {@linkplain * <p>This method must only be called if {@link #COMMAND_SET_PLAYLIST_METADATA} is {@linkplain
* #getAvailableCommands() available}. * #getAvailableCommands() available}.
*/ */
void setPlaylistMetadata(MediaMetadata mediaMetadata); void setPlaylistMetadata(MediaMetadata mediaMetadata);

View File

@ -2393,7 +2393,7 @@ public abstract class SimpleBasePlayer extends BasePlayer {
verifyApplicationThreadAndInitState(); verifyApplicationThreadAndInitState();
// Use a local copy to ensure the lambda below uses the current state value. // Use a local copy to ensure the lambda below uses the current state value.
State state = this.state; State state = this.state;
if (!shouldHandleCommand(Player.COMMAND_SET_MEDIA_ITEMS_METADATA)) { if (!shouldHandleCommand(Player.COMMAND_SET_PLAYLIST_METADATA)) {
return; return;
} }
updateStateForPendingOperation( updateStateForPendingOperation(
@ -2900,7 +2900,7 @@ public abstract class SimpleBasePlayer extends BasePlayer {
/** /**
* Handles calls to {@link Player#setPlaylistMetadata}. * Handles calls to {@link Player#setPlaylistMetadata}.
* *
* <p>Will only be called if {@link Player#COMMAND_SET_MEDIA_ITEMS_METADATA} is available. * <p>Will only be called if {@link Player#COMMAND_SET_PLAYLIST_METADATA} is available.
* *
* @param playlistMetadata The requested {@linkplain MediaMetadata playlist metadata}. * @param playlistMetadata The requested {@linkplain MediaMetadata playlist metadata}.
* @return A {@link ListenableFuture} indicating the completion of all immediate {@link State} * @return A {@link ListenableFuture} indicating the completion of all immediate {@link State}
@ -2909,7 +2909,7 @@ public abstract class SimpleBasePlayer extends BasePlayer {
@ForOverride @ForOverride
protected ListenableFuture<?> handleSetPlaylistMetadata(MediaMetadata playlistMetadata) { protected ListenableFuture<?> handleSetPlaylistMetadata(MediaMetadata playlistMetadata) {
throw new IllegalStateException( throw new IllegalStateException(
"Missing implementation to handle COMMAND_SET_MEDIA_ITEMS_METADATA"); "Missing implementation to handle COMMAND_SET_PLAYLIST_METADATA");
} }
/** /**

View File

@ -3060,7 +3060,7 @@ public class SimpleBasePlayerTest {
.setAvailableCommands( .setAvailableCommands(
new Commands.Builder() new Commands.Builder()
.addAllCommands() .addAllCommands()
.remove(Player.COMMAND_SET_MEDIA_ITEMS_METADATA) .remove(Player.COMMAND_SET_PLAYLIST_METADATA)
.build()) .build())
.build(); .build();
AtomicBoolean callForwarded = new AtomicBoolean(); AtomicBoolean callForwarded = new AtomicBoolean();

View File

@ -299,8 +299,8 @@ import java.util.concurrent.TimeoutException;
COMMAND_SET_REPEAT_MODE, COMMAND_SET_REPEAT_MODE,
COMMAND_GET_CURRENT_MEDIA_ITEM, COMMAND_GET_CURRENT_MEDIA_ITEM,
COMMAND_GET_TIMELINE, COMMAND_GET_TIMELINE,
COMMAND_GET_MEDIA_ITEMS_METADATA, COMMAND_GET_METADATA,
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_PLAYLIST_METADATA,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
COMMAND_GET_TRACKS, COMMAND_GET_TRACKS,

View File

@ -20,7 +20,7 @@ import static androidx.media3.common.Player.COMMAND_CHANGE_MEDIA_ITEMS;
import static androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES; import static androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES;
import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME; import static androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME;
import static androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_GET_METADATA;
import static androidx.media3.common.Player.COMMAND_GET_TEXT; import static androidx.media3.common.Player.COMMAND_GET_TEXT;
import static androidx.media3.common.Player.COMMAND_GET_TIMELINE; import static androidx.media3.common.Player.COMMAND_GET_TIMELINE;
import static androidx.media3.common.Player.COMMAND_GET_TRACKS; import static androidx.media3.common.Player.COMMAND_GET_TRACKS;
@ -39,7 +39,7 @@ import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS;
import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME; import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_SET_PLAYLIST_METADATA;
import static androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE; import static androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE;
import static androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE; import static androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE;
import static androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH; import static androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH;
@ -9100,8 +9100,8 @@ public final class ExoPlayerTest {
assertThat(player.isCommandAvailable(COMMAND_SET_REPEAT_MODE)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_SET_REPEAT_MODE)).isTrue();
assertThat(player.isCommandAvailable(COMMAND_GET_CURRENT_MEDIA_ITEM)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_GET_CURRENT_MEDIA_ITEM)).isTrue();
assertThat(player.isCommandAvailable(COMMAND_GET_TIMELINE)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_GET_TIMELINE)).isTrue();
assertThat(player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_GET_METADATA)).isTrue();
assertThat(player.isCommandAvailable(COMMAND_SET_MEDIA_ITEMS_METADATA)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_SET_PLAYLIST_METADATA)).isTrue();
assertThat(player.isCommandAvailable(COMMAND_CHANGE_MEDIA_ITEMS)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_CHANGE_MEDIA_ITEMS)).isTrue();
assertThat(player.isCommandAvailable(COMMAND_SET_MEDIA_ITEM)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_SET_MEDIA_ITEM)).isTrue();
assertThat(player.isCommandAvailable(COMMAND_GET_AUDIO_ATTRIBUTES)).isTrue(); assertThat(player.isCommandAvailable(COMMAND_GET_AUDIO_ATTRIBUTES)).isTrue();
@ -12416,8 +12416,8 @@ public final class ExoPlayerTest {
COMMAND_SET_REPEAT_MODE, COMMAND_SET_REPEAT_MODE,
COMMAND_GET_CURRENT_MEDIA_ITEM, COMMAND_GET_CURRENT_MEDIA_ITEM,
COMMAND_GET_TIMELINE, COMMAND_GET_TIMELINE,
COMMAND_GET_MEDIA_ITEMS_METADATA, COMMAND_GET_METADATA,
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_PLAYLIST_METADATA,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
COMMAND_GET_AUDIO_ATTRIBUTES, COMMAND_GET_AUDIO_ATTRIBUTES,

View File

@ -319,7 +319,7 @@ public class DefaultMediaNotificationProvider implements MediaNotification.Provi
mediaStyle.setShowActionsInCompactView(compactViewIndices); mediaStyle.setShowActionsInCompactView(compactViewIndices);
// Set metadata info in the notification. // Set metadata info in the notification.
if (player.isCommandAvailable(Player.COMMAND_GET_MEDIA_ITEMS_METADATA)) { if (player.isCommandAvailable(Player.COMMAND_GET_METADATA)) {
MediaMetadata metadata = player.getMediaMetadata(); MediaMetadata metadata = player.getMediaMetadata();
builder builder
.setContentTitle(getNotificationContentTitle(metadata)) .setContentTitle(getNotificationContentTitle(metadata))

View File

@ -831,7 +831,7 @@ import org.checkerframework.checker.nullness.qual.NonNull;
@Override @Override
public void setPlaylistMetadata(MediaMetadata playlistMetadata) { public void setPlaylistMetadata(MediaMetadata playlistMetadata) {
if (!isPlayerCommandAvailable(Player.COMMAND_SET_MEDIA_ITEMS_METADATA)) { if (!isPlayerCommandAvailable(Player.COMMAND_SET_PLAYLIST_METADATA)) {
return; return;
} }

View File

@ -30,7 +30,7 @@ import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS;
import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME; import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_SET_PLAYLIST_METADATA;
import static androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE; import static androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE;
import static androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE; import static androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE;
import static androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH; import static androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH;
@ -1049,7 +1049,7 @@ import java.util.concurrent.ExecutionException;
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
sequenceNumber, sequenceNumber,
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_PLAYLIST_METADATA,
sendSessionResultSuccess(player -> player.setPlaylistMetadata(playlistMetadata))); sendSessionResultSuccess(player -> player.setPlaylistMetadata(playlistMetadata)));
} }

View File

@ -22,7 +22,7 @@ import static androidx.media3.common.Player.COMMAND_CHANGE_MEDIA_ITEMS;
import static androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES; import static androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES;
import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME; import static androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME;
import static androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_GET_METADATA;
import static androidx.media3.common.Player.COMMAND_GET_TIMELINE; import static androidx.media3.common.Player.COMMAND_GET_TIMELINE;
import static androidx.media3.common.Player.COMMAND_PLAY_PAUSE; import static androidx.media3.common.Player.COMMAND_PLAY_PAUSE;
import static androidx.media3.common.Player.COMMAND_PREPARE; import static androidx.media3.common.Player.COMMAND_PREPARE;
@ -1148,7 +1148,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
playerCommandsBuilder.addAll( playerCommandsBuilder.addAll(
COMMAND_GET_DEVICE_VOLUME, COMMAND_GET_DEVICE_VOLUME,
COMMAND_GET_TIMELINE, COMMAND_GET_TIMELINE,
COMMAND_GET_MEDIA_ITEMS_METADATA, COMMAND_GET_METADATA,
COMMAND_GET_CURRENT_MEDIA_ITEM, COMMAND_GET_CURRENT_MEDIA_ITEM,
COMMAND_GET_AUDIO_ATTRIBUTES, COMMAND_GET_AUDIO_ATTRIBUTES,
COMMAND_RELEASE); COMMAND_RELEASE);

View File

@ -829,7 +829,7 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue;
timeline.toBundleWithOneWindowOnly(sessionPositionInfo.positionInfo.mediaItemIndex)); timeline.toBundleWithOneWindowOnly(sessionPositionInfo.positionInfo.mediaItemIndex));
} }
bundle.putBundle(FIELD_VIDEO_SIZE, videoSize.toBundle()); bundle.putBundle(FIELD_VIDEO_SIZE, videoSize.toBundle());
if (availableCommands.contains(Player.COMMAND_GET_MEDIA_ITEMS_METADATA)) { if (availableCommands.contains(Player.COMMAND_GET_METADATA)) {
bundle.putBundle(FIELD_PLAYLIST_METADATA, playlistMetadata.toBundle()); bundle.putBundle(FIELD_PLAYLIST_METADATA, playlistMetadata.toBundle());
} }
if (availableCommands.contains(Player.COMMAND_GET_VOLUME)) { if (availableCommands.contains(Player.COMMAND_GET_VOLUME)) {
@ -851,7 +851,7 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue;
bundle.putInt(FIELD_PLAYBACK_STATE, playbackState); bundle.putInt(FIELD_PLAYBACK_STATE, playbackState);
bundle.putBoolean(FIELD_IS_PLAYING, isPlaying); bundle.putBoolean(FIELD_IS_PLAYING, isPlaying);
bundle.putBoolean(FIELD_IS_LOADING, isLoading); bundle.putBoolean(FIELD_IS_LOADING, isLoading);
if (availableCommands.contains(Player.COMMAND_GET_MEDIA_ITEMS_METADATA)) { if (availableCommands.contains(Player.COMMAND_GET_METADATA)) {
bundle.putBundle(FIELD_MEDIA_METADATA, mediaMetadata.toBundle()); bundle.putBundle(FIELD_MEDIA_METADATA, mediaMetadata.toBundle());
} }
bundle.putLong(FIELD_SEEK_BACK_INCREMENT_MS, seekBackIncrementMs); bundle.putLong(FIELD_SEEK_BACK_INCREMENT_MS, seekBackIncrementMs);

View File

@ -604,7 +604,7 @@ import java.util.List;
} }
public MediaMetadata getPlaylistMetadataWithCommandCheck() { public MediaMetadata getPlaylistMetadataWithCommandCheck() {
return isCommandAvailable(Player.COMMAND_GET_MEDIA_ITEMS_METADATA) return isCommandAvailable(Player.COMMAND_GET_METADATA)
? getPlaylistMetadata() ? getPlaylistMetadata()
: MediaMetadata.EMPTY; : MediaMetadata.EMPTY;
} }
@ -811,9 +811,7 @@ import java.util.List;
} }
public MediaMetadata getMediaMetadataWithCommandCheck() { public MediaMetadata getMediaMetadataWithCommandCheck() {
return isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA) return isCommandAvailable(COMMAND_GET_METADATA) ? getMediaMetadata() : MediaMetadata.EMPTY;
? getMediaMetadata()
: MediaMetadata.EMPTY;
} }
@Override @Override
@ -1155,7 +1153,7 @@ import java.util.List;
case Player.COMMAND_GET_AUDIO_ATTRIBUTES: case Player.COMMAND_GET_AUDIO_ATTRIBUTES:
case Player.COMMAND_GET_CURRENT_MEDIA_ITEM: case Player.COMMAND_GET_CURRENT_MEDIA_ITEM:
case Player.COMMAND_GET_DEVICE_VOLUME: case Player.COMMAND_GET_DEVICE_VOLUME:
case Player.COMMAND_GET_MEDIA_ITEMS_METADATA: case Player.COMMAND_GET_METADATA:
case Player.COMMAND_GET_TEXT: case Player.COMMAND_GET_TEXT:
case Player.COMMAND_GET_TIMELINE: case Player.COMMAND_GET_TIMELINE:
case Player.COMMAND_GET_TRACKS: case Player.COMMAND_GET_TRACKS:
@ -1163,7 +1161,7 @@ import java.util.List;
case Player.COMMAND_INVALID: case Player.COMMAND_INVALID:
case Player.COMMAND_SEEK_TO_DEFAULT_POSITION: case Player.COMMAND_SEEK_TO_DEFAULT_POSITION:
case Player.COMMAND_SET_DEVICE_VOLUME: case Player.COMMAND_SET_DEVICE_VOLUME:
case Player.COMMAND_SET_MEDIA_ITEMS_METADATA: case Player.COMMAND_SET_PLAYLIST_METADATA:
case Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS: case Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS:
case Player.COMMAND_SET_VIDEO_SURFACE: case Player.COMMAND_SET_VIDEO_SURFACE:
case Player.COMMAND_SET_VOLUME: case Player.COMMAND_SET_VOLUME:

View File

@ -824,14 +824,14 @@ public class DefaultMediaNotificationProviderTest {
return new ForwardingPlayer(new TestExoPlayerBuilder(context).build()) { return new ForwardingPlayer(new TestExoPlayerBuilder(context).build()) {
@Override @Override
public boolean isCommandAvailable(int command) { public boolean isCommandAvailable(int command) {
return isMetadataCommandAvailable || command != Player.COMMAND_GET_MEDIA_ITEMS_METADATA; return isMetadataCommandAvailable || command != Player.COMMAND_GET_METADATA;
} }
@Override @Override
public Commands getAvailableCommands() { public Commands getAvailableCommands() {
Commands.Builder commandsBuilder = new Commands.Builder().addAllCommands(); Commands.Builder commandsBuilder = new Commands.Builder().addAllCommands();
if (!isMetadataCommandAvailable) { if (!isMetadataCommandAvailable) {
commandsBuilder.remove(Player.COMMAND_GET_MEDIA_ITEMS_METADATA); commandsBuilder.remove(Player.COMMAND_GET_METADATA);
} }
return commandsBuilder.build(); return commandsBuilder.build();
} }

View File

@ -476,7 +476,7 @@ public class PlayerInfoTest {
playerInfo.toBundle( playerInfo.toBundle(
new Player.Commands.Builder() new Player.Commands.Builder()
.addAllCommands() .addAllCommands()
.remove(Player.COMMAND_GET_MEDIA_ITEMS_METADATA) .remove(Player.COMMAND_GET_METADATA)
.build(), .build(),
/* excludeTimeline= */ false, /* excludeTimeline= */ false,
/* excludeTracks= */ false)); /* excludeTracks= */ false));

View File

@ -23,7 +23,7 @@ import static androidx.media3.common.Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME; import static androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_SET_PLAYLIST_METADATA;
import static androidx.media3.common.Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS; import static androidx.media3.common.Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS;
import static androidx.media3.session.MediaUtils.createPlayerCommandsWith; import static androidx.media3.session.MediaUtils.createPlayerCommandsWith;
import static androidx.media3.session.MediaUtils.createPlayerCommandsWithout; import static androidx.media3.session.MediaUtils.createPlayerCommandsWithout;
@ -136,7 +136,7 @@ public class MediaSessionPermissionTest {
@Test @Test
public void setPlaylistMetadata() throws Exception { public void setPlaylistMetadata() throws Exception {
testOnCommandRequest( testOnCommandRequest(
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_PLAYLIST_METADATA,
controller -> controller.setPlaylistMetadata(MediaMetadata.EMPTY)); controller -> controller.setPlaylistMetadata(MediaMetadata.EMPTY));
} }

View File

@ -497,7 +497,7 @@ public final class MediaUtilsTest {
Player.COMMAND_GET_TIMELINE, Player.COMMAND_GET_TIMELINE,
Player.COMMAND_GET_CURRENT_MEDIA_ITEM, Player.COMMAND_GET_CURRENT_MEDIA_ITEM,
Player.COMMAND_GET_DEVICE_VOLUME, Player.COMMAND_GET_DEVICE_VOLUME,
Player.COMMAND_GET_MEDIA_ITEMS_METADATA, Player.COMMAND_GET_METADATA,
Player.COMMAND_GET_AUDIO_ATTRIBUTES, Player.COMMAND_GET_AUDIO_ATTRIBUTES,
Player.COMMAND_RELEASE); Player.COMMAND_RELEASE);
} }

View File

@ -15,7 +15,7 @@
*/ */
package androidx.media3.ui; package androidx.media3.ui;
import static androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_GET_METADATA;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -50,7 +50,7 @@ public final class DefaultMediaDescriptionAdapter implements MediaDescriptionAda
@Override @Override
public CharSequence getCurrentContentTitle(Player player) { public CharSequence getCurrentContentTitle(Player player) {
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) { if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
return ""; return "";
} }
@Nullable CharSequence displayTitle = player.getMediaMetadata().displayTitle; @Nullable CharSequence displayTitle = player.getMediaMetadata().displayTitle;
@ -71,7 +71,7 @@ public final class DefaultMediaDescriptionAdapter implements MediaDescriptionAda
@Nullable @Nullable
@Override @Override
public CharSequence getCurrentContentText(Player player) { public CharSequence getCurrentContentText(Player player) {
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) { if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
return null; return null;
} }
@Nullable CharSequence artist = player.getMediaMetadata().artist; @Nullable CharSequence artist = player.getMediaMetadata().artist;
@ -85,7 +85,7 @@ public final class DefaultMediaDescriptionAdapter implements MediaDescriptionAda
@Nullable @Nullable
@Override @Override
public Bitmap getCurrentLargeIcon(Player player, BitmapCallback callback) { public Bitmap getCurrentLargeIcon(Player player, BitmapCallback callback) {
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) { if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
return null; return null;
} }
@Nullable byte[] data = player.getMediaMetadata().artworkData; @Nullable byte[] data = player.getMediaMetadata().artworkData;

View File

@ -16,7 +16,7 @@
package androidx.media3.ui; package androidx.media3.ui;
import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM;
import static androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA; import static androidx.media3.common.Player.COMMAND_GET_METADATA;
import static androidx.media3.common.Player.COMMAND_GET_TEXT; import static androidx.media3.common.Player.COMMAND_GET_TEXT;
import static androidx.media3.common.Player.COMMAND_GET_TIMELINE; import static androidx.media3.common.Player.COMMAND_GET_TIMELINE;
import static androidx.media3.common.Player.COMMAND_GET_TRACKS; import static androidx.media3.common.Player.COMMAND_GET_TRACKS;
@ -1382,7 +1382,7 @@ public class PlayerView extends FrameLayout implements AdViewProvider {
@RequiresNonNull("artworkView") @RequiresNonNull("artworkView")
private boolean setArtworkFromMediaMetadata(Player player) { private boolean setArtworkFromMediaMetadata(Player player) {
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) { if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
return false; return false;
} }
MediaMetadata mediaMetadata = player.getMediaMetadata(); MediaMetadata mediaMetadata = player.getMediaMetadata();

View File

@ -43,7 +43,7 @@ public class DefaultMediaDescriptionAdapterTest {
PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE); PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
DefaultMediaDescriptionAdapter adapter = new DefaultMediaDescriptionAdapter(pendingIntent); DefaultMediaDescriptionAdapter adapter = new DefaultMediaDescriptionAdapter(pendingIntent);
when(player.isCommandAvailable(Player.COMMAND_GET_MEDIA_ITEMS_METADATA)).thenReturn(true); when(player.isCommandAvailable(Player.COMMAND_GET_METADATA)).thenReturn(true);
when(player.getMediaMetadata()).thenReturn(mediaMetadata); when(player.getMediaMetadata()).thenReturn(mediaMetadata);
assertThat(adapter.createCurrentContentIntent(player)).isEqualTo(pendingIntent); assertThat(adapter.createCurrentContentIntent(player)).isEqualTo(pendingIntent);
@ -63,7 +63,7 @@ public class DefaultMediaDescriptionAdapterTest {
PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE); PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
DefaultMediaDescriptionAdapter adapter = new DefaultMediaDescriptionAdapter(pendingIntent); DefaultMediaDescriptionAdapter adapter = new DefaultMediaDescriptionAdapter(pendingIntent);
when(player.isCommandAvailable(Player.COMMAND_GET_MEDIA_ITEMS_METADATA)).thenReturn(false); when(player.isCommandAvailable(Player.COMMAND_GET_METADATA)).thenReturn(false);
when(player.getMediaMetadata()).thenReturn(mediaMetadata); when(player.getMediaMetadata()).thenReturn(mediaMetadata);
assertThat(adapter.createCurrentContentIntent(player)).isEqualTo(pendingIntent); assertThat(adapter.createCurrentContentIntent(player)).isEqualTo(pendingIntent);