MediaNotification.Provider

@UnstableApi
interface MediaNotification.Provider


Provides media notifications to be posted as notifications that reflect the state of a MediaController and to send media commands to a .

The provider is required to create a notification channel, which is required to show notification for SDK_INT >= 26.

All methods will be called on the application thread of the Player associated with the MediaSession the notification is provided for.

Summary

Nested types

Receives updates for a notification.

Public functions

MediaNotification!
createNotification(
    mediaSession: MediaSession!,
    customLayout: ImmutableList<CommandButton!>!,
    actionFactory: MediaNotification.ActionFactory!,
    onNotificationChangedCallback: MediaNotification.Provider.Callback!
)

Creates a new MediaNotification.

Boolean
handleCustomCommand(session: MediaSession!, action: String!, extras: Bundle!)

Handles a notification's custom command.

Public functions

createNotification

fun createNotification(
    mediaSession: MediaSession!,
    customLayout: ImmutableList<CommandButton!>!,
    actionFactory: MediaNotification.ActionFactory!,
    onNotificationChangedCallback: MediaNotification.Provider.Callback!
): MediaNotification!

Creates a new MediaNotification.

Parameters
mediaSession: MediaSession!

The media session.

customLayout: ImmutableList<CommandButton!>!

The custom layout set by the session.

actionFactory: MediaNotification.ActionFactory!

The ActionFactory for creating notification actions.

onNotificationChangedCallback: MediaNotification.Provider.Callback!

A callback that the provider needs to notify when the notification has changed and needs to be posted again, for example after a bitmap has been loaded asynchronously.

handleCustomCommand

fun handleCustomCommand(session: MediaSession!, action: String!, extras: Bundle!): Boolean

Handles a notification's custom command.

Parameters
session: MediaSession!

The media session.

action: String!

The custom command action.

extras: Bundle!

A bundle set in the custom command, otherwise EMPTY.

Returns
Boolean

false if the action should be delivered to the session as a custom command or true if the action has been handled completely by the provider.