Package com.google.android.exoplayer2.ui

## Class PlayerNotificationManager.Builder

- java.lang.Object
- - com.google.android.exoplayer2.ui.PlayerNotificationManager.Builder

- Enclosing class:
    PlayerNotificationManager

      public static class PlayerNotificationManager.Builder
      extends Object

  A builder for `PlayerNotificationManager` instances.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected int` | `channelDescriptionResourceId` |
    `protected String` | `channelId` |
    `protected int` | `channelImportance` |
    `protected int` | `channelNameResourceId` |
    `protected Context` | `context` |
    `protected PlayerNotificationManager.CustomActionReceiver` | `customActionReceiver` |
    `protected int` | `fastForwardActionIconResourceId` |
    `protected String` | `groupKey` |
    `protected PlayerNotificationManager.MediaDescriptionAdapter` | `mediaDescriptionAdapter` |
    `protected int` | `nextActionIconResourceId` |
    `protected int` | `notificationId` |
    `protected PlayerNotificationManager.NotificationListener` | `notificationListener` |
    `protected int` | `pauseActionIconResourceId` |
    `protected int` | `playActionIconResourceId` |
    `protected int` | `previousActionIconResourceId` |
    `protected int` | `rewindActionIconResourceId` |
    `protected int` | `smallIconResourceId` |
    `protected int` | `stopActionIconResourceId` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Builder​(Context context, int notificationId, String channelId)` | Creates an instance.
    `Builder​(Context context, int notificationId, String channelId, PlayerNotificationManager.MediaDescriptionAdapter mediaDescriptionAdapter)` | Deprecated. Use `Builder(Context, int, String)` instead, then call `setMediaDescriptionAdapter(MediaDescriptionAdapter)`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PlayerNotificationManager` | `build()` | Builds the `PlayerNotificationManager`.
    `PlayerNotificationManager.Builder` | `setChannelDescriptionResourceId​(int channelDescriptionResourceId)` | The description of the channel.
    `PlayerNotificationManager.Builder` | `setChannelImportance​(int channelImportance)` | The importance of the channel.
    `PlayerNotificationManager.Builder` | `setChannelNameResourceId​(int channelNameResourceId)` | The name of the channel.
    `PlayerNotificationManager.Builder` | `setCustomActionReceiver​(PlayerNotificationManager.CustomActionReceiver customActionReceiver)` | The `PlayerNotificationManager.CustomActionReceiver` to be used.
    `PlayerNotificationManager.Builder` | `setFastForwardActionIconResourceId​(int fastForwardActionIconResourceId)` | The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_FAST_FORWARD`.
    `PlayerNotificationManager.Builder` | `setGroup​(String groupKey)` | The key of the group the media notification should belong to.
    `PlayerNotificationManager.Builder` | `setMediaDescriptionAdapter​(PlayerNotificationManager.MediaDescriptionAdapter mediaDescriptionAdapter)` | The `PlayerNotificationManager.MediaDescriptionAdapter` to be queried for the notification contents.
    `PlayerNotificationManager.Builder` | `setNextActionIconResourceId​(int nextActionIconResourceId)` | The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_NEXT`.
    `PlayerNotificationManager.Builder` | `setNotificationListener​(PlayerNotificationManager.NotificationListener notificationListener)` | The `PlayerNotificationManager.NotificationListener` to be used.
    `PlayerNotificationManager.Builder` | `setPauseActionIconResourceId​(int pauseActionIconResourceId)` | The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_PAUSE`.
    `PlayerNotificationManager.Builder` | `setPlayActionIconResourceId​(int playActionIconResourceId)` | The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_PLAY`.
    `PlayerNotificationManager.Builder` | `setPreviousActionIconResourceId​(int previousActionIconResourceId)` | The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_PREVIOUS`.
    `PlayerNotificationManager.Builder` | `setRewindActionIconResourceId​(int rewindActionIconResourceId)` | The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_REWIND`.
    `PlayerNotificationManager.Builder` | `setSmallIconResourceId​(int smallIconResourceId)` | The resource id of the small icon of the notification shown in the status bar.
    `PlayerNotificationManager.Builder` | `setStopActionIconResourceId​(int stopActionIconResourceId)` | The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_STOP`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### context

          protected final Context context

    - #### notificationId

          protected final int notificationId

    - #### channelId

          protected final String channelId

    - #### notificationListener

          @Nullable
          protected PlayerNotificationManager.NotificationListener notificationListener

    - #### customActionReceiver

          @Nullable
          protected PlayerNotificationManager.CustomActionReceiver customActionReceiver

    - #### mediaDescriptionAdapter

          protected PlayerNotificationManager.MediaDescriptionAdapter mediaDescriptionAdapter

    - #### channelNameResourceId

          protected int channelNameResourceId

    - #### channelDescriptionResourceId

          protected int channelDescriptionResourceId

    - #### channelImportance

          protected int channelImportance

    - #### smallIconResourceId

          protected int smallIconResourceId

    - #### rewindActionIconResourceId

          protected int rewindActionIconResourceId

    - #### playActionIconResourceId

          protected int playActionIconResourceId

    - #### pauseActionIconResourceId

          protected int pauseActionIconResourceId

    - #### stopActionIconResourceId

          protected int stopActionIconResourceId

    - #### fastForwardActionIconResourceId

          protected int fastForwardActionIconResourceId

    - #### previousActionIconResourceId

          protected int previousActionIconResourceId

    - #### nextActionIconResourceId

          protected int nextActionIconResourceId

    - #### groupKey

          @Nullable
          protected String groupKey

  - ### Constructor Detail

    - #### Builder

          @Deprecated
          public Builder​(Context context,
                         int notificationId,
                         String channelId,
                         PlayerNotificationManager.MediaDescriptionAdapter mediaDescriptionAdapter)

      Deprecated.
      Use `Builder(Context, int, String)` instead, then call `setMediaDescriptionAdapter(MediaDescriptionAdapter)`.

    - #### Builder

          public Builder​(Context context,
                         int notificationId,
                         String channelId)

      Creates an instance.
      Parameters:
        `context` - The `Context`.
        `notificationId` - The id of the notification to be posted. Must be greater than 0.
        `channelId` - The id of the notification channel.

  - ### Method Detail

    - #### setChannelNameResourceId

          public PlayerNotificationManager.Builder setChannelNameResourceId​(int channelNameResourceId)

      The name of the channel. If set to a value other than `0`, the channel is automatically created when `build()` is called. If the application has already created the notification channel, then this method should not be called.

      The default is `0`.

      Returns:
        This builder.

    - #### setChannelDescriptionResourceId

          public PlayerNotificationManager.Builder setChannelDescriptionResourceId​(int channelDescriptionResourceId)

      The description of the channel. Ignored if `setChannelNameResourceId(int)` is not called with a value other than `0`. If the application has already created the notification channel, then this method should not be called.

      The default is `0`.

      Returns:
        This builder.

    - #### setChannelImportance

          public PlayerNotificationManager.Builder setChannelImportance​(@Importance
                                                                        int channelImportance)

      The importance of the channel. Ignored if `setChannelNameResourceId(int)` is not called with a value other than `0`. If the application has already created the notification channel, then this method should not be called.

      The default is `NotificationUtil.IMPORTANCE_LOW`.

      Returns:
        This builder.

    - #### setNotificationListener

          public PlayerNotificationManager.Builder setNotificationListener​(PlayerNotificationManager.NotificationListener notificationListener)

      The `PlayerNotificationManager.NotificationListener` to be used.

      The default is `null`.

      Returns:
        This builder.

    - #### setCustomActionReceiver

          public PlayerNotificationManager.Builder setCustomActionReceiver​(PlayerNotificationManager.CustomActionReceiver customActionReceiver)

      The `PlayerNotificationManager.CustomActionReceiver` to be used.

      The default is `null`.

      Returns:
        This builder.

    - #### setSmallIconResourceId

          public PlayerNotificationManager.Builder setSmallIconResourceId​(int smallIconResourceId)

      The resource id of the small icon of the notification shown in the status bar. See `NotificationCompat.Builder.setSmallIcon(int)`.

      The default is `R.drawable#exo_notification_small_icon`.

      Returns:
        This builder.

    - #### setPlayActionIconResourceId

          public PlayerNotificationManager.Builder setPlayActionIconResourceId​(int playActionIconResourceId)

      The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_PLAY`.

      The default is `R.drawable#exo_notification_play`.

      Returns:
        This builder.

    - #### setPauseActionIconResourceId

          public PlayerNotificationManager.Builder setPauseActionIconResourceId​(int pauseActionIconResourceId)

      The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_PAUSE`.

      The default is `R.drawable#exo_notification_pause`.

      Returns:
        This builder.

    - #### setStopActionIconResourceId

          public PlayerNotificationManager.Builder setStopActionIconResourceId​(int stopActionIconResourceId)

      The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_STOP`.

      The default is `R.drawable#exo_notification_stop`.

      Returns:
        This builder.

    - #### setRewindActionIconResourceId

          public PlayerNotificationManager.Builder setRewindActionIconResourceId​(int rewindActionIconResourceId)

      The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_REWIND`.

      The default is `R.drawable#exo_notification_rewind`.

      Returns:
        This builder.

    - #### setFastForwardActionIconResourceId

          public PlayerNotificationManager.Builder setFastForwardActionIconResourceId​(int fastForwardActionIconResourceId)

      The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_FAST_FORWARD`.

      The default is `R.drawable#exo_notification_fastforward`.

      Returns:
        This builder.

    - #### setPreviousActionIconResourceId

          public PlayerNotificationManager.Builder setPreviousActionIconResourceId​(int previousActionIconResourceId)

      The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_PREVIOUS`.

      The default is `R.drawable#exo_notification_previous`.

      Returns:
        This builder.

    - #### setNextActionIconResourceId

          public PlayerNotificationManager.Builder setNextActionIconResourceId​(int nextActionIconResourceId)

      The resource id of the drawable to be used as the icon of action `PlayerNotificationManager.ACTION_NEXT`.

      The default is `R.drawable#exo_notification_next`.

      Returns:
        This builder.

    - #### setGroup

          public PlayerNotificationManager.Builder setGroup​(String groupKey)

      The key of the group the media notification should belong to.

      The default is `null`

      Returns:
        This builder.

    - #### setMediaDescriptionAdapter

          public PlayerNotificationManager.Builder setMediaDescriptionAdapter​(PlayerNotificationManager.MediaDescriptionAdapter mediaDescriptionAdapter)

      The `PlayerNotificationManager.MediaDescriptionAdapter` to be queried for the notification contents.

      The default is `DefaultMediaDescriptionAdapter` with no `PendingIntent`

      Returns:
        This builder.

    - #### build

          public PlayerNotificationManager build()

      Builds the `PlayerNotificationManager`.