Interface SessionCallbackBuilder.AllowedCommandProvider
- 
- All Known Implementing Classes:
 SessionCallbackBuilder.DefaultAllowedCommandProvider
- Enclosing class:
 - SessionCallbackBuilder
 
public static interface SessionCallbackBuilder.AllowedCommandProviderProvides allowed commands forMediaController. 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanacceptConnection(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo)Called to query whether to allow connection from the controller.androidx.media2.session.SessionCommandGroupgetAllowedCommands(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommandGroup baseAllowedSessionCommands)Called to query allowed commands in following cases: AMediaControllerrequests to connect, and allowed commands is required to tell initial allowed commands.intonCommandRequest(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommand command)Called when aMediaControllerhas called an API that controlsSessionPlayerset to theMediaSession. 
 - 
 
- 
- 
Method Detail
- 
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
trueto 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.PostConnectCallbackfor any extra initialization about controller, where controller is connected and session can send commands to the controller.- Parameters:
 session- The media session.controllerInfo- TheMediaSession.ControllerInfofor the controller that is requesting connect.- Returns:
 trueto accept connection.falseotherwise.
 
- 
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 
MediaControllerrequests to connect, and allowed commands is required to tell initial allowed commands. - Underlying 
SessionPlayerstate changes, and allowed commands may be updated viaMediaSession.setAllowedCommands(androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup). 
The provided
baseAllowedSessionCommandis built automatically based on the state of theSessionPlayer,SessionCallbackBuilder.RatingCallback,SessionCallbackBuilder.MediaItemProvider,SessionCallbackBuilder.CustomCommandProvider, andSessionCallbackBuilder.SkipCallbackso may be a useful starting point for any required customizations.- Parameters:
 session- The media session.controllerInfo- TheMediaSession.ControllerInfofor 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:
 MediaSession.SessionCallback.onConnect(MediaSession, ControllerInfo)
 - A 
 
- 
onCommandRequest
int onCommandRequest(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controllerInfo, androidx.media2.session.SessionCommand command)Called when aMediaControllerhas called an API that controlsSessionPlayerset to theMediaSession.- Parameters:
 session- The media session.controllerInfo- AMediaSession.ControllerInfothat needs allowed command update.command- ASessionCommandfrom the controller.- Returns:
 - A session result code defined in 
SessionResult. - See Also:
 MediaSession.SessionCallback.onCommandRequest(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommand)
 
 - 
 
 -