Interface SessionCallbackBuilder.AllowedCommandProvider
- All Known Implementing Classes:
SessionCallbackBuilder.DefaultAllowedCommandProvider
- Enclosing class:
SessionCallbackBuilder
MediaController
.-
Method Summary
Modifier and TypeMethodDescriptionboolean
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 baseAllowedSessionCommands) Called to query allowed commands in following cases: AMediaController
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 aMediaController
has called an API that controlsSessionPlayer
set to theMediaSession
.
-
Method Details
-
acceptConnection
boolean acceptConnection(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo) Called to query whether to allow connection from the controller.If it returns
true
to accept connection, thengetAllowedCommands(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.- Parameters:
session
- The media session.controllerInfo
- TheMediaSession.ControllerInfo
for the controller that is requesting connect.- Returns:
true
to accept connection.false
otherwise.
-
getAllowedCommands
androidx.media2.session.SessionCommandGroup getAllowedCommands(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommandGroup baseAllowedSessionCommands) Called to query allowed commands in following cases:- A
MediaController
requests to connect, and allowed commands is required to tell initial allowed commands. - Underlying
SessionPlayer
state changes, and allowed commands may be updated viaMediaSession.setAllowedCommands(androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup)
.
The provided
baseAllowedSessionCommand
is built automatically based on the state of theSessionPlayer
,SessionCallbackBuilder.RatingCallback
,SessionCallbackBuilder.MediaItemProvider
,SessionCallbackBuilder.CustomCommandProvider
, andSessionCallbackBuilder.SkipCallback
so may be a useful starting point for any required customizations.- Parameters:
session
- The media session.controllerInfo
- TheMediaSession.ControllerInfo
for the controller for which allowed commands are being queried.baseAllowedSessionCommands
- Base allowed session commands for customization.- Returns:
- The allowed commands for the controller.
- See Also:
- A
-
onCommandRequest
int onCommandRequest(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommand command) Called when aMediaController
has called an API that controlsSessionPlayer
set to theMediaSession
.- Parameters:
session
- The media session.controllerInfo
- AMediaSession.ControllerInfo
that needs allowed command update.command
- ASessionCommand
from the controller.- Returns:
- A session result code defined in
SessionResult
. - See Also:
-