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:
parent
affc237055
commit
c5baf2388c
@ -30,6 +30,9 @@
|
||||
objects that are dispatched by the dispatcher.
|
||||
* Rename `ExoTrackSelection.blacklist` to `excludeTrack` and
|
||||
`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:
|
||||
* Fix bug where multiple identical queue items published by a legacy
|
||||
`MediaSessionCompat` result in an exception in `MediaController`
|
||||
|
8
api.txt
8
api.txt
@ -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_CURRENT_MEDIA_ITEM = 16; // 0x10
|
||||
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_TIMELINE = 17; // 0x11
|
||||
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_SET_DEVICE_VOLUME = 25; // 0x19
|
||||
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_SHUFFLE_MODE = 14; // 0xe
|
||||
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
|
||||
}
|
||||
|
||||
@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 {
|
||||
|
@ -104,8 +104,8 @@ public final class CastPlayer extends BasePlayer {
|
||||
COMMAND_SET_SPEED_AND_PITCH,
|
||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
COMMAND_GET_TIMELINE,
|
||||
COMMAND_GET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_GET_METADATA,
|
||||
COMMAND_SET_PLAYLIST_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEM,
|
||||
COMMAND_CHANGE_MEDIA_ITEMS,
|
||||
COMMAND_GET_TRACKS,
|
||||
|
@ -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_CURRENT_MEDIA_ITEM;
|
||||
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_TIMELINE;
|
||||
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_SET_DEVICE_VOLUME;
|
||||
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_SHUFFLE_MODE;
|
||||
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_GET_CURRENT_MEDIA_ITEM)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_TIMELINE)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_MEDIA_ITEMS_METADATA)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_METADATA)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_PLAYLIST_METADATA)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_CHANGE_MEDIA_ITEMS)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_MEDIA_ITEM)).isTrue();
|
||||
assertThat(castPlayer.isCommandAvailable(COMMAND_GET_AUDIO_ATTRIBUTES)).isFalse();
|
||||
|
@ -371,8 +371,8 @@ public interface Player {
|
||||
COMMAND_SET_REPEAT_MODE,
|
||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
COMMAND_GET_TIMELINE,
|
||||
COMMAND_GET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_GET_METADATA,
|
||||
COMMAND_SET_PLAYLIST_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEM,
|
||||
COMMAND_CHANGE_MEDIA_ITEMS,
|
||||
COMMAND_GET_AUDIO_ATTRIBUTES,
|
||||
@ -1428,8 +1428,8 @@ public interface Player {
|
||||
* <li>{@link #COMMAND_SET_REPEAT_MODE}
|
||||
* <li>{@link #COMMAND_GET_CURRENT_MEDIA_ITEM}
|
||||
* <li>{@link #COMMAND_GET_TIMELINE}
|
||||
* <li>{@link #COMMAND_GET_MEDIA_ITEMS_METADATA}
|
||||
* <li>{@link #COMMAND_SET_MEDIA_ITEMS_METADATA}
|
||||
* <li>{@link #COMMAND_GET_METADATA}
|
||||
* <li>{@link #COMMAND_SET_PLAYLIST_METADATA}
|
||||
* <li>{@link #COMMAND_SET_MEDIA_ITEM}
|
||||
* <li>{@link #COMMAND_CHANGE_MEDIA_ITEMS}
|
||||
* <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
|
||||
// with Kotlin usages from before TYPE_USE was added.
|
||||
@SuppressWarnings("deprecation") // Listing deprecated constants.
|
||||
@Documented
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE})
|
||||
@ -1470,7 +1471,9 @@ public interface Player {
|
||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
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_CHANGE_MEDIA_ITEMS,
|
||||
COMMAND_GET_AUDIO_ATTRIBUTES,
|
||||
@ -1682,6 +1685,11 @@ public interface Player {
|
||||
*/
|
||||
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}.
|
||||
*
|
||||
@ -1693,8 +1701,12 @@ public interface Player {
|
||||
* <li>{@link #getPlaylistMetadata()}
|
||||
* </ul>
|
||||
*/
|
||||
// TODO(b/263132691): Rename this to COMMAND_GET_METADATA
|
||||
int COMMAND_GET_MEDIA_ITEMS_METADATA = 18;
|
||||
int COMMAND_GET_METADATA = 18;
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link #COMMAND_SET_PLAYLIST_METADATA} instead.
|
||||
*/
|
||||
@Deprecated int COMMAND_SET_MEDIA_ITEMS_METADATA = 19;
|
||||
|
||||
/**
|
||||
* 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
|
||||
* is {@linkplain #isCommandAvailable(int) available}.
|
||||
*/
|
||||
// TODO(b/263132691): Rename this to COMMAND_SET_PLAYLIST_METADATA
|
||||
int COMMAND_SET_MEDIA_ITEMS_METADATA = 19;
|
||||
int COMMAND_SET_PLAYLIST_METADATA = 19;
|
||||
|
||||
/**
|
||||
* 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},
|
||||
* 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}.
|
||||
*/
|
||||
MediaMetadata getMediaMetadata();
|
||||
@ -2591,7 +2602,7 @@ public interface Player {
|
||||
* Returns the playlist {@link MediaMetadata}, as set by {@link
|
||||
* #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}.
|
||||
*/
|
||||
MediaMetadata getPlaylistMetadata();
|
||||
@ -2599,7 +2610,7 @@ public interface Player {
|
||||
/**
|
||||
* 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}.
|
||||
*/
|
||||
void setPlaylistMetadata(MediaMetadata mediaMetadata);
|
||||
|
@ -2393,7 +2393,7 @@ public abstract class SimpleBasePlayer extends BasePlayer {
|
||||
verifyApplicationThreadAndInitState();
|
||||
// Use a local copy to ensure the lambda below uses the current state value.
|
||||
State state = this.state;
|
||||
if (!shouldHandleCommand(Player.COMMAND_SET_MEDIA_ITEMS_METADATA)) {
|
||||
if (!shouldHandleCommand(Player.COMMAND_SET_PLAYLIST_METADATA)) {
|
||||
return;
|
||||
}
|
||||
updateStateForPendingOperation(
|
||||
@ -2900,7 +2900,7 @@ public abstract class SimpleBasePlayer extends BasePlayer {
|
||||
/**
|
||||
* 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}.
|
||||
* @return A {@link ListenableFuture} indicating the completion of all immediate {@link State}
|
||||
@ -2909,7 +2909,7 @@ public abstract class SimpleBasePlayer extends BasePlayer {
|
||||
@ForOverride
|
||||
protected ListenableFuture<?> handleSetPlaylistMetadata(MediaMetadata playlistMetadata) {
|
||||
throw new IllegalStateException(
|
||||
"Missing implementation to handle COMMAND_SET_MEDIA_ITEMS_METADATA");
|
||||
"Missing implementation to handle COMMAND_SET_PLAYLIST_METADATA");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3060,7 +3060,7 @@ public class SimpleBasePlayerTest {
|
||||
.setAvailableCommands(
|
||||
new Commands.Builder()
|
||||
.addAllCommands()
|
||||
.remove(Player.COMMAND_SET_MEDIA_ITEMS_METADATA)
|
||||
.remove(Player.COMMAND_SET_PLAYLIST_METADATA)
|
||||
.build())
|
||||
.build();
|
||||
AtomicBoolean callForwarded = new AtomicBoolean();
|
||||
|
@ -299,8 +299,8 @@ import java.util.concurrent.TimeoutException;
|
||||
COMMAND_SET_REPEAT_MODE,
|
||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
COMMAND_GET_TIMELINE,
|
||||
COMMAND_GET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_GET_METADATA,
|
||||
COMMAND_SET_PLAYLIST_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEM,
|
||||
COMMAND_CHANGE_MEDIA_ITEMS,
|
||||
COMMAND_GET_TRACKS,
|
||||
|
@ -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_CURRENT_MEDIA_ITEM;
|
||||
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_TIMELINE;
|
||||
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_SET_DEVICE_VOLUME;
|
||||
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_SHUFFLE_MODE;
|
||||
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_GET_CURRENT_MEDIA_ITEM)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_GET_TIMELINE)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_SET_MEDIA_ITEMS_METADATA)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_GET_METADATA)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_SET_PLAYLIST_METADATA)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_CHANGE_MEDIA_ITEMS)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_SET_MEDIA_ITEM)).isTrue();
|
||||
assertThat(player.isCommandAvailable(COMMAND_GET_AUDIO_ATTRIBUTES)).isTrue();
|
||||
@ -12416,8 +12416,8 @@ public final class ExoPlayerTest {
|
||||
COMMAND_SET_REPEAT_MODE,
|
||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
COMMAND_GET_TIMELINE,
|
||||
COMMAND_GET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_GET_METADATA,
|
||||
COMMAND_SET_PLAYLIST_METADATA,
|
||||
COMMAND_CHANGE_MEDIA_ITEMS,
|
||||
COMMAND_SET_MEDIA_ITEM,
|
||||
COMMAND_GET_AUDIO_ATTRIBUTES,
|
||||
|
@ -319,7 +319,7 @@ public class DefaultMediaNotificationProvider implements MediaNotification.Provi
|
||||
mediaStyle.setShowActionsInCompactView(compactViewIndices);
|
||||
|
||||
// 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();
|
||||
builder
|
||||
.setContentTitle(getNotificationContentTitle(metadata))
|
||||
|
@ -831,7 +831,7 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
@Override
|
||||
public void setPlaylistMetadata(MediaMetadata playlistMetadata) {
|
||||
if (!isPlayerCommandAvailable(Player.COMMAND_SET_MEDIA_ITEMS_METADATA)) {
|
||||
if (!isPlayerCommandAvailable(Player.COMMAND_SET_PLAYLIST_METADATA)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -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_SET_DEVICE_VOLUME;
|
||||
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_SHUFFLE_MODE;
|
||||
import static androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH;
|
||||
@ -1049,7 +1049,7 @@ import java.util.concurrent.ExecutionException;
|
||||
queueSessionTaskWithPlayerCommand(
|
||||
caller,
|
||||
sequenceNumber,
|
||||
COMMAND_SET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_SET_PLAYLIST_METADATA,
|
||||
sendSessionResultSuccess(player -> player.setPlaylistMetadata(playlistMetadata)));
|
||||
}
|
||||
|
||||
|
@ -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_CURRENT_MEDIA_ITEM;
|
||||
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_PLAY_PAUSE;
|
||||
import static androidx.media3.common.Player.COMMAND_PREPARE;
|
||||
@ -1148,7 +1148,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
playerCommandsBuilder.addAll(
|
||||
COMMAND_GET_DEVICE_VOLUME,
|
||||
COMMAND_GET_TIMELINE,
|
||||
COMMAND_GET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_GET_METADATA,
|
||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
COMMAND_GET_AUDIO_ATTRIBUTES,
|
||||
COMMAND_RELEASE);
|
||||
|
@ -829,7 +829,7 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue;
|
||||
timeline.toBundleWithOneWindowOnly(sessionPositionInfo.positionInfo.mediaItemIndex));
|
||||
}
|
||||
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());
|
||||
}
|
||||
if (availableCommands.contains(Player.COMMAND_GET_VOLUME)) {
|
||||
@ -851,7 +851,7 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue;
|
||||
bundle.putInt(FIELD_PLAYBACK_STATE, playbackState);
|
||||
bundle.putBoolean(FIELD_IS_PLAYING, isPlaying);
|
||||
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.putLong(FIELD_SEEK_BACK_INCREMENT_MS, seekBackIncrementMs);
|
||||
|
@ -604,7 +604,7 @@ import java.util.List;
|
||||
}
|
||||
|
||||
public MediaMetadata getPlaylistMetadataWithCommandCheck() {
|
||||
return isCommandAvailable(Player.COMMAND_GET_MEDIA_ITEMS_METADATA)
|
||||
return isCommandAvailable(Player.COMMAND_GET_METADATA)
|
||||
? getPlaylistMetadata()
|
||||
: MediaMetadata.EMPTY;
|
||||
}
|
||||
@ -811,9 +811,7 @@ import java.util.List;
|
||||
}
|
||||
|
||||
public MediaMetadata getMediaMetadataWithCommandCheck() {
|
||||
return isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)
|
||||
? getMediaMetadata()
|
||||
: MediaMetadata.EMPTY;
|
||||
return isCommandAvailable(COMMAND_GET_METADATA) ? getMediaMetadata() : MediaMetadata.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1155,7 +1153,7 @@ import java.util.List;
|
||||
case Player.COMMAND_GET_AUDIO_ATTRIBUTES:
|
||||
case Player.COMMAND_GET_CURRENT_MEDIA_ITEM:
|
||||
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_TIMELINE:
|
||||
case Player.COMMAND_GET_TRACKS:
|
||||
@ -1163,7 +1161,7 @@ import java.util.List;
|
||||
case Player.COMMAND_INVALID:
|
||||
case Player.COMMAND_SEEK_TO_DEFAULT_POSITION:
|
||||
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_VIDEO_SURFACE:
|
||||
case Player.COMMAND_SET_VOLUME:
|
||||
|
@ -824,14 +824,14 @@ public class DefaultMediaNotificationProviderTest {
|
||||
return new ForwardingPlayer(new TestExoPlayerBuilder(context).build()) {
|
||||
@Override
|
||||
public boolean isCommandAvailable(int command) {
|
||||
return isMetadataCommandAvailable || command != Player.COMMAND_GET_MEDIA_ITEMS_METADATA;
|
||||
return isMetadataCommandAvailable || command != Player.COMMAND_GET_METADATA;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Commands getAvailableCommands() {
|
||||
Commands.Builder commandsBuilder = new Commands.Builder().addAllCommands();
|
||||
if (!isMetadataCommandAvailable) {
|
||||
commandsBuilder.remove(Player.COMMAND_GET_MEDIA_ITEMS_METADATA);
|
||||
commandsBuilder.remove(Player.COMMAND_GET_METADATA);
|
||||
}
|
||||
return commandsBuilder.build();
|
||||
}
|
||||
|
@ -476,7 +476,7 @@ public class PlayerInfoTest {
|
||||
playerInfo.toBundle(
|
||||
new Player.Commands.Builder()
|
||||
.addAllCommands()
|
||||
.remove(Player.COMMAND_GET_MEDIA_ITEMS_METADATA)
|
||||
.remove(Player.COMMAND_GET_METADATA)
|
||||
.build(),
|
||||
/* excludeTimeline= */ false,
|
||||
/* excludeTracks= */ false));
|
||||
|
@ -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_SET_DEVICE_VOLUME;
|
||||
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.session.MediaUtils.createPlayerCommandsWith;
|
||||
import static androidx.media3.session.MediaUtils.createPlayerCommandsWithout;
|
||||
@ -136,7 +136,7 @@ public class MediaSessionPermissionTest {
|
||||
@Test
|
||||
public void setPlaylistMetadata() throws Exception {
|
||||
testOnCommandRequest(
|
||||
COMMAND_SET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_SET_PLAYLIST_METADATA,
|
||||
controller -> controller.setPlaylistMetadata(MediaMetadata.EMPTY));
|
||||
}
|
||||
|
||||
|
@ -497,7 +497,7 @@ public final class MediaUtilsTest {
|
||||
Player.COMMAND_GET_TIMELINE,
|
||||
Player.COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
Player.COMMAND_GET_DEVICE_VOLUME,
|
||||
Player.COMMAND_GET_MEDIA_ITEMS_METADATA,
|
||||
Player.COMMAND_GET_METADATA,
|
||||
Player.COMMAND_GET_AUDIO_ATTRIBUTES,
|
||||
Player.COMMAND_RELEASE);
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
||||
*/
|
||||
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.graphics.Bitmap;
|
||||
@ -50,7 +50,7 @@ public final class DefaultMediaDescriptionAdapter implements MediaDescriptionAda
|
||||
|
||||
@Override
|
||||
public CharSequence getCurrentContentTitle(Player player) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
|
||||
return "";
|
||||
}
|
||||
@Nullable CharSequence displayTitle = player.getMediaMetadata().displayTitle;
|
||||
@ -71,7 +71,7 @@ public final class DefaultMediaDescriptionAdapter implements MediaDescriptionAda
|
||||
@Nullable
|
||||
@Override
|
||||
public CharSequence getCurrentContentText(Player player) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
|
||||
return null;
|
||||
}
|
||||
@Nullable CharSequence artist = player.getMediaMetadata().artist;
|
||||
@ -85,7 +85,7 @@ public final class DefaultMediaDescriptionAdapter implements MediaDescriptionAda
|
||||
@Nullable
|
||||
@Override
|
||||
public Bitmap getCurrentLargeIcon(Player player, BitmapCallback callback) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
|
||||
return null;
|
||||
}
|
||||
@Nullable byte[] data = player.getMediaMetadata().artworkData;
|
||||
|
@ -16,7 +16,7 @@
|
||||
package androidx.media3.ui;
|
||||
|
||||
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_TIMELINE;
|
||||
import static androidx.media3.common.Player.COMMAND_GET_TRACKS;
|
||||
@ -1382,7 +1382,7 @@ public class PlayerView extends FrameLayout implements AdViewProvider {
|
||||
|
||||
@RequiresNonNull("artworkView")
|
||||
private boolean setArtworkFromMediaMetadata(Player player) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)) {
|
||||
if (!player.isCommandAvailable(COMMAND_GET_METADATA)) {
|
||||
return false;
|
||||
}
|
||||
MediaMetadata mediaMetadata = player.getMediaMetadata();
|
||||
|
@ -43,7 +43,7 @@ public class DefaultMediaDescriptionAdapterTest {
|
||||
PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
|
||||
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);
|
||||
|
||||
assertThat(adapter.createCurrentContentIntent(player)).isEqualTo(pendingIntent);
|
||||
@ -63,7 +63,7 @@ public class DefaultMediaDescriptionAdapterTest {
|
||||
PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE);
|
||||
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);
|
||||
|
||||
assertThat(adapter.createCurrentContentIntent(player)).isEqualTo(pendingIntent);
|
||||
|
Loading…
x
Reference in New Issue
Block a user