SessionCallbackBuilder.DefaultAllowedCommandProvider
public static interface SessionCallbackBuilder.AllowedCommandProvider
MediaController
.Modifier and Type | Method | Description |
---|---|---|
boolean |
acceptConnection(androidx.media2.session.MediaSession session,
androidx.media2.session.MediaSession.ControllerInfo controllerInfo) |
Called to query whether to allow connection from the controller.
|
androidx.media2.session.SessionCommandGroup |
getAllowedCommands(androidx.media2.session.MediaSession session,
androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
androidx.media2.session.SessionCommandGroup baseAllowedSessionCommand) |
Called to query allowed commands in following cases:
A
MediaController requests to connect, and allowed commands is required to tell
initial allowed commands. |
int |
onCommandRequest(androidx.media2.session.MediaSession session,
androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
androidx.media2.session.SessionCommand command) |
Called when a
MediaController has called an API that controls SessionPlayer
set to the MediaSession . |
boolean acceptConnection(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo)
If it returns true
to accept connection, then getAllowedCommands(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup)
will be
immediately followed to return initial allowed command.
Prefer use SessionCallbackBuilder.PostConnectCallback
for any extra initialization about controller,
where controller is connected and session can send commands to the controller.
session
- The media session.controllerInfo
- The MediaSession.ControllerInfo
for the controller that is requesting
connect.true
to accept connection. false
otherwise.androidx.media2.session.SessionCommandGroup getAllowedCommands(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommandGroup baseAllowedSessionCommand)
MediaController
requests to connect, and allowed commands is required to tell
initial allowed commands.
SessionPlayer
state changes, and allowed commands may be updated via
MediaSession.setAllowedCommands(androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup)
.
The provided baseAllowedSessionCommand
is built automatically based on the state
of the SessionPlayer
, SessionCallbackBuilder.RatingCallback
, SessionCallbackBuilder.MediaItemProvider
, SessionCallbackBuilder.CustomCommandProvider
, and SessionCallbackBuilder.SkipCallback
so may be a useful starting point for any
required customizations.
session
- The media session.controllerInfo
- The MediaSession.ControllerInfo
for the controller for which allowed
commands are being queried.baseAllowedSessionCommand
- Base allowed session commands for customization.MediaSession.SessionCallback.onConnect(MediaSession, ControllerInfo)
int onCommandRequest(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommand command)
MediaController
has called an API that controls SessionPlayer
set to the MediaSession
.session
- The media session.controllerInfo
- A MediaSession.ControllerInfo
that needs allowed command update.command
- A SessionCommand
from the controller.SessionResult
.MediaSession.SessionCallback.onCommandRequest(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommand)