mirror of
https://github.com/samsonjs/media.git
synced 2026-04-09 11:55:46 +00:00
Add Commands.Builder.addAllCommands for easy init
MediaSession default command state contains all commands. To avoid having to update MediaSession when a command is added, allow to create a Commands.Builder that starts with all commands. PiperOrigin-RevId: 374183484
This commit is contained in:
parent
17209ed1ee
commit
6a30af567f
1 changed files with 38 additions and 0 deletions
|
|
@ -581,6 +581,33 @@ public interface Player {
|
|||
/** A builder for {@link Commands} instances. */
|
||||
public static final class Builder {
|
||||
|
||||
@Command
|
||||
private static final int[] SUPPORTED_COMMANDS = {
|
||||
COMMAND_PLAY_PAUSE,
|
||||
COMMAND_PREPARE_STOP,
|
||||
COMMAND_SEEK_TO_DEFAULT_POSITION,
|
||||
COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM,
|
||||
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||
COMMAND_SEEK_TO_MEDIA_ITEM,
|
||||
COMMAND_SET_SPEED_AND_PITCH,
|
||||
COMMAND_SET_SHUFFLE_MODE,
|
||||
COMMAND_SET_REPEAT_MODE,
|
||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||
COMMAND_GET_MEDIA_ITEMS,
|
||||
COMMAND_GET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_SET_MEDIA_ITEMS_METADATA,
|
||||
COMMAND_CHANGE_MEDIA_ITEMS,
|
||||
COMMAND_GET_AUDIO_ATTRIBUTES,
|
||||
COMMAND_GET_VOLUME,
|
||||
COMMAND_GET_DEVICE_VOLUME,
|
||||
COMMAND_SET_VOLUME,
|
||||
COMMAND_SET_DEVICE_VOLUME,
|
||||
COMMAND_ADJUST_DEVICE_VOLUME,
|
||||
COMMAND_SET_VIDEO_SURFACE,
|
||||
COMMAND_GET_TEXT
|
||||
};
|
||||
|
||||
private final ExoFlags.Builder flagsBuilder;
|
||||
|
||||
/** Creates a builder. */
|
||||
|
|
@ -642,6 +669,17 @@ public interface Player {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds all existing {@link Command commands}.
|
||||
*
|
||||
* @return This builder.
|
||||
* @throws IllegalStateException If {@link #build()} has already been called.
|
||||
*/
|
||||
public Builder addAllCommands() {
|
||||
flagsBuilder.addAll(SUPPORTED_COMMANDS);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a {@link Command}.
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in a new issue