Package com.google.android.exoplayer2.ui

## Interface PlayerNotificationManager.CustomActionReceiver

- Enclosing class:
    PlayerNotificationManager

      public static interface PlayerNotificationManager.CustomActionReceiver

  Defines and handles custom actions.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Map<String,​androidx.core.app.NotificationCompat.Action>` | `createCustomActions​(Context context, int instanceId)` | Gets the actions handled by this receiver.
    `List<String>` | `getCustomActions​(Player player)` | Gets the actions to be included in the notification given the current player state.
    `void` | `onCustomAction​(Player player, String action, Intent intent)` | Called when a custom action has been received.

- - ### Method Detail

    - #### createCustomActions

          Map<String,​androidx.core.app.NotificationCompat.Action> createCustomActions​(Context context,
                                                                                            int instanceId)

      Gets the actions handled by this receiver.

      If multiple `PlayerNotificationManager` instances are in use at the same time, the `instanceId` must be set as an intent extra with key `PlayerNotificationManager.EXTRA_INSTANCE_ID` to avoid sending the action to every custom action receiver. It's also necessary to ensure something is different about the actions. This may be any of the `Intent` attributes considered by `Intent.filterEquals(android.content.Intent)`, or different request code integers when creating the `PendingIntent`s with `PendingIntent.getBroadcast(android.content.Context, int, android.content.Intent, int)`. The easiest approach is to use the `instanceId` as the request code.

      Parameters:
        `context` - The `Context`.
        `instanceId` - The instance id of the `PlayerNotificationManager`.
      Returns:
        A map of custom actions.

    - #### getCustomActions

          List<String> getCustomActions​(Player player)

      Gets the actions to be included in the notification given the current player state.
      Parameters:
        `player` - The `Player` for which a notification is being built.
      Returns:
        The actions to be included in the notification.

    - #### onCustomAction

          void onCustomAction​(Player player,
                              String action,
                              Intent intent)

      Called when a custom action has been received.
      Parameters:
        `player` - The player.
        `action` - The action from `Intent.getAction()`.
        `intent` - The received `Intent`.