diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index 529be85dcc..44acda8293 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -905,13 +905,14 @@ public class MediaController implements Player { /** * Sends a custom command to the session. * + *

A command is not accepted if it is not a custom command or the command is not in the list of + * {@linkplain #getAvailableSessionCommands() available session commands}. + * *

Interoperability: When connected to {@link * android.support.v4.media.session.MediaSessionCompat}, {@link SessionResult#resultCode} will * return the custom result code from the {@code android.os.ResultReceiver#onReceiveResult(int, * Bundle)} instead of the standard result codes defined in the {@link SessionResult}. * - *

A command is not accepted if it is not a custom command. - * * @param command The custom command. * @param args The additional arguments. May be empty. * @return A {@link ListenableFuture} of {@link SessionResult} representing the pending diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java index 601920bbdc..3c82ec75d2 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java @@ -1042,6 +1042,10 @@ public class MediaSession { * Called when a controller sent a custom command through {@link * MediaController#sendCustomCommand(SessionCommand, Bundle)}. * + *

{@link MediaController} instances are only allowed to send a command if the command has + * been added to the {@link MediaSession.ConnectionResult#availableSessionCommands list of + * available session commands} in {@link #onConnect} or set via {@link #setAvailableCommands}. + * *

Interoperability: This will be also called by {@link * android.support.v4.media.MediaBrowserCompat#sendCustomAction}. If so, {@code extras} from * {@link android.support.v4.media.MediaBrowserCompat#sendCustomAction} will be considered as