# PlaybackBaseControlGlue

# PlaybackBaseControlGlue

Artifact:[androidx.leanback:leanback](https://developer.android.com/jetpack/androidx/releases/leanback)  
[View Source](https://cs.android.com/search?q=file:androidx/leanback/media/PlaybackBaseControlGlue.java+class:androidx.leanback.media.PlaybackBaseControlGlue)  
Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/leanback/media/PlaybackBaseControlGlue "View this page in Java")

<br />

```
abstract class PlaybackBaseControlGlue<T : PlayerAdapter?> : PlaybackGlue, OnActionClickedListener, View.OnKeyListener
```

<br />

|---|---|---------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)                                                                      |||
| ↳ | [androidx.leanback.media.PlaybackGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue)                          ||
|   | ↳ | [androidx.leanback.media.PlaybackBaseControlGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue) |

Known direct subclasses  
[PlaybackBannerControlGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBannerControlGlue),[PlaybackTransportControlGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackTransportControlGlue)  

|-------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PlaybackBannerControlGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBannerControlGlue)       | A helper class for managing a[PlaybackControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow)being displayed in[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost).                                                                                   |
| [PlaybackTransportControlGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackTransportControlGlue) | A helper class for managing a[PlaybackControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow)being displayed in[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost), it supports standard playback control actions play/pause, and skip next/previous. |

*** ** * ** ***

A base abstract class for managing a[PlaybackControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow)being displayed in[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost). It supports standard playback control actions play/pause and skip next/previous. This helper class is a glue layer that manages interaction between the leanback UI components[PlaybackControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow)[PlaybackRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackRowPresenter)and a functional[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)which represents the underlying media player.

The app must pass a[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)in constructor for a specific implementation e.g. a[MediaPlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/MediaPlayerAdapter).

The glue has two action bars: primary action bars and secondary action bars. Apps can provide additional actions by overriding[onCreatePrimaryActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onCreatePrimaryActions(androidx.leanback.widget.ArrayObjectAdapter))and / or[onCreateSecondaryActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onCreateSecondaryActions(androidx.leanback.widget.ArrayObjectAdapter))and respond to actions by overriding[onActionClicked](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onActionClicked(androidx.leanback.widget.Action)).

The subclass is responsible for implementing the "repeat mode" in[onPlayCompleted](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onPlayCompleted()).  

|                                                    Parameters                                                    |
|------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| `<T : `[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)`?>` | Type of[PlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlayerAdapter)passed in constructor. |

## Summary

|                                    ### Constants                                    |
|-------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_CUSTOM_LEFT_FIRST](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_CUSTOM_LEFT_FIRST())` = 1` The adapter key for the first custom control on the left side of the predefined primary controls.       |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_CUSTOM_RIGHT_FIRST](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_CUSTOM_RIGHT_FIRST())` = 4096` The adapter key for the first custom control on the right side of the predefined primary controls. |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_FAST_FORWARD](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_FAST_FORWARD())` = 128` The adapter key for the fast forward control.                                                                   |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_PLAY_PAUSE](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_PLAY_PAUSE())` = 64` The adapter key for the play/pause control.                                                                          |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_REPEAT](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_REPEAT())` = 512` The adapter key for the repeat control.                                                                                     |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_REWIND](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_REWIND())` = 32` The adapter key for the rewind control.                                                                                      |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_SHUFFLE](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_SHUFFLE())` = 1024` The adapter key for the shuffle control.                                                                                 |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_SKIP_TO_NEXT](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_SKIP_TO_NEXT())` = 256` The adapter key for the skip to next control.                                                                   |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [ACTION_SKIP_TO_PREVIOUS](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#ACTION_SKIP_TO_PREVIOUS())` = 16` The adapter key for the skip to previous control.                                                        |

|                                                                                                                                            ### Public constructors                                                                                                                                             |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PlaybackBaseControlGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#PlaybackBaseControlGlue(android.content.Context,T))`(context: `[Context](https://developer.android.com/reference/android/content/Context.html)`, impl: T!)` Constructor for the glue. |

|                                                  ### Public functions                                                   |
|-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)`?`                          | [getArt](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getArt())`()`                                                                                                                                                                                                                                                                                                                                                        |
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)                                           | [getBufferedPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getBufferedPosition())`()`                                                                                                                                                                                                                                                                                                                              |
| [PlaybackControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow)`?`   | [getControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getControlsRow())`()` Returns the playback controls row managed by the glue layer.                                                                                                                                                                                                                                                                           |
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)                                           | [getCurrentPosition](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getCurrentPosition())`()`                                                                                                                                                                                                                                                                                                                                |
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)                                           | [getDuration](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getDuration())`()`                                                                                                                                                                                                                                                                                                                                              |
| [PlaybackRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackRowPresenter)`?` | [getPlaybackRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getPlaybackRowPresenter())`()` Returns the playback controls row Presenter managed by the glue layer.                                                                                                                                                                                                                                               |
| `T!`                                                                                                                    | [getPlayerAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getPlayerAdapter())`()`                                                                                                                                                                                                                                                                                                                                    |
| [CharSequence](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html)`?`                       | [getSubtitle](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getSubtitle())`()` Return The media subtitle.                                                                                                                                                                                                                                                                                                                   |
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)                                           | [getSupportedActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getSupportedActions())`()` Returns a bitmask of actions supported by the media player.                                                                                                                                                                                                                                                                  |
| [CharSequence](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html)`?`                       | [getTitle](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#getTitle())`()` Returns the title of the media item.                                                                                                                                                                                                                                                                                                               |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                     | [isControlsOverlayAutoHideEnabled](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#isControlsOverlayAutoHideEnabled())`()` Returns true if the controls auto hides after a timeout when media is playing.                                                                                                                                                                                                                     |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                     | [isPlaying](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#isPlaying())`()` Returns true if media is currently playing.                                                                                                                                                                                                                                                                                                      |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                     | [isPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#isPrepared())`()` Returns true when the media player is prepared to start media playback.                                                                                                                                                                                                                                                                        |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [next](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#next())`()` Goes to the next media item.                                                                                                                                                                                                                                                                                                                               |
| `abstract `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                | [onActionClicked](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onActionClicked(androidx.leanback.widget.Action))`(action: `[Action](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Action)`)` Handles action clicks.                                                                                                                                                                              |
| `abstract `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                          | [onKey](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onKey(android.view.View,int,android.view.KeyEvent))`(v: `[View](https://developer.android.com/reference/android/view/View.html)`!, keyCode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, event: `[KeyEvent](https://developer.android.com/reference/android/view/KeyEvent.html)`!)` Handles key events and returns true if handled. |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [pause](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#pause())`()` Pauses the media player.                                                                                                                                                                                                                                                                                                                                 |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [play](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#play())`()` Starts the media player.                                                                                                                                                                                                                                                                                                                                   |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [previous](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#previous())`()` Goes to the previous media item.                                                                                                                                                                                                                                                                                                                   |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [seekTo](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#seekTo(long))`(position: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Seek media to a new position.                                                                                                                                                                                                                             |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [setArt](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#setArt(android.graphics.drawable.Drawable))`(cover: `[Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)`?)` Sets the drawable representing cover image.                                                                                                                                                                     |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [setControlsOverlayAutoHideEnabled](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#setControlsOverlayAutoHideEnabled(boolean))`(enable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Sets the controls to auto hide after a timeout when media is playing.                                                                                                                        |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [setControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#setControlsRow(androidx.leanback.widget.PlaybackControlsRow))`(controlsRow: `[PlaybackControlsRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow)`)` Sets the controls row to be managed by the glue layer.                                                                                                    |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [setPlaybackRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#setPlaybackRowPresenter(androidx.leanback.widget.PlaybackRowPresenter))`(presenter: `[PlaybackRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackRowPresenter)`?)` Sets the controls row Presenter to be managed by the glue layer.                                                                      |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [setSubtitle](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#setSubtitle(java.lang.CharSequence))`(subtitle: `[CharSequence](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html)`?)` Sets the media subtitle.                                                                                                                                                                                    |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                           | [setTitle](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#setTitle(java.lang.CharSequence))`(title: `[CharSequence](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html)`?)` Sets the media title.                                                                                                                                                                                                |

|                                                     ### Protected functions                                                     |
|---------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `java-static `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                     | [notifyItemChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#notifyItemChanged(androidx.leanback.widget.ArrayObjectAdapter,java.lang.Object))`(adapter: `[ArrayObjectAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ArrayObjectAdapter)`, object: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`)`                                                                                                                                      |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | [onAttachedToHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onAttachedToHost(androidx.leanback.media.PlaybackGlueHost))`(host: `[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)`)` This method is called attached to associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost).                                                                                                  |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | [onCreatePrimaryActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onCreatePrimaryActions(androidx.leanback.widget.ArrayObjectAdapter))`(primaryActionsAdapter: `[ArrayObjectAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ArrayObjectAdapter)`)` May be overridden to add primary actions to the adapter.                                                                                                                                                             |
| `abstract `[PlaybackRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackRowPresenter) | [onCreateRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onCreateRowPresenter())`()`                                                                                                                                                                                                                                                                                                                                                                                                              |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | [onCreateSecondaryActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onCreateSecondaryActions(androidx.leanback.widget.ArrayObjectAdapter))`(secondaryActionsAdapter: `[ArrayObjectAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ArrayObjectAdapter)`)` May be overridden to add secondary actions to the adapter.                                                                                                                                                     |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | [onDetachedFromHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onDetachedFromHost())`()` This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is destroyed . |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | [onHostStart](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onHostStart())`()` This method is called when[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is started.                                                                                                                                                                                                                                                                               |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | [onHostStop](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onHostStop())`()` This method is called when[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is stopped.                                                                                                                                                                                                                                                                                 |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | [onMetadataChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onMetadataChanged())`()` Event when metadata changed                                                                                                                                                                                                                                                                                                                                                                                        |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | `@`[CallSuper](https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper) [onPlayCompleted](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onPlayCompleted())`()` Event when play finishes, subclass may handling repeat mode here.                                                                                                                                                                                                                                                         |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | `@`[CallSuper](https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper) [onPlayStateChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onPlayStateChanged())`()` Event when play state changed.                                                                                                                                                                                                                                                                                      |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | `@`[CallSuper](https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper) [onPreparedStateChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onPreparedStateChanged())`()` Event when ready state for play changes.                                                                                                                                                                                                                                                                    |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | `@`[CallSuper](https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper) [onUpdateBufferedProgress](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onUpdateBufferedProgress())`()`                                                                                                                                                                                                                                                                                                         |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | `@`[CallSuper](https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper) [onUpdateDuration](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onUpdateDuration())`()`                                                                                                                                                                                                                                                                                                                         |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                   | `@`[CallSuper](https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper) [onUpdateProgress](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onUpdateProgress())`()`                                                                                                                                                                                                                                                                                                                         |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ### Inherited functions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From[androidx.leanback.media.PlaybackGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue) |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                                                                                                                                                                                                                | [addPlayerCallback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#addPlayerCallback(androidx.leanback.media.PlaybackGlue.PlayerCallback))`(playerCallback: `[PlaybackGlue.PlayerCallback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue.PlayerCallback)`)` Add a PlayerCallback.                                                                                                                                                                                                                                     | | [Context](https://developer.android.com/reference/android/content/Context.html)                                                                                                                                                                                                                                                              | [getContext](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#getContext())`()` Returns the context.                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | [PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)`?`                                                                                                                                                                                                                               | [getHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#getHost())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | `(`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[PlaybackGlue.PlayerCallback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue.PlayerCallback)`!>?` | [getPlayerCallbacks](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#getPlayerCallbacks())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                               | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                                                                                                                                                                                                                | [onHostPause](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#onHostPause())`()` This method is called when[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is paused.                                                                                                                                                                                                                                                                                                                             | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                                                                                                                                                                                                                | [onHostResume](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#onHostResume())`()` This method is called when[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is resumed.                                                                                                                                                                                                                                                                                                                          | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                                                                                                                                                                                                                | [playWhenPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#playWhenPrepared())`()` Starts play when[isPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#isPrepared())becomes true.                                                                                                                                                                                                                                                                                                                       | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                                                                                                                                                                                                                | [removePlayerCallback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#removePlayerCallback(androidx.leanback.media.PlaybackGlue.PlayerCallback))`(callback: `[PlaybackGlue.PlayerCallback](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue.PlayerCallback)`)` Remove a PlayerCallback.                                                                                                                                                                                                                                  | | [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                                                                                                                                                                                                                | [setHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#setHost(androidx.leanback.media.PlaybackGlueHost))`(host: `[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)`?)` This method is used to associate a PlaybackGlue with the[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)which provides UI and optional[SurfaceHolderGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/SurfaceHolderGlueHost). | |

## Constants

### ACTION_CUSTOM_LEFT_FIRST

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_CUSTOM_LEFT_FIRST = 1: Int
```

The adapter key for the first custom control on the left side of the predefined primary controls.  

### ACTION_CUSTOM_RIGHT_FIRST

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_CUSTOM_RIGHT_FIRST = 4096: Int
```

The adapter key for the first custom control on the right side of the predefined primary controls.  

### ACTION_FAST_FORWARD

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_FAST_FORWARD = 128: Int
```

The adapter key for the fast forward control.  

### ACTION_PLAY_PAUSE

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_PLAY_PAUSE = 64: Int
```

The adapter key for the play/pause control.  

### ACTION_REPEAT

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_REPEAT = 512: Int
```

The adapter key for the repeat control.  

### ACTION_REWIND

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_REWIND = 32: Int
```

The adapter key for the rewind control.  

### ACTION_SHUFFLE

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_SHUFFLE = 1024: Int
```

The adapter key for the shuffle control.  

### ACTION_SKIP_TO_NEXT

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_SKIP_TO_NEXT = 256: Int
```

The adapter key for the skip to next control.  

### ACTION_SKIP_TO_PREVIOUS

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
const val ACTION_SKIP_TO_PREVIOUS = 16: Int
```

The adapter key for the skip to previous control.  

## Public constructors

### PlaybackBaseControlGlue

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
PlaybackBaseControlGlue(context: Context, impl: T!)
```

Constructor for the glue.  

|                                         Parameters                                         |
|--------------------------------------------------------------------------------------------|--------------------------------------------|
| `context: `[Context](https://developer.android.com/reference/android/content/Context.html) |                                            |
| `impl: T!`                                                                                 | Implementation to underlying media player. |

## Public functions

### getArt

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getArt(): Drawable?
```  

|                                            Returns                                             |
|------------------------------------------------------------------------------------------------|----------------------------------------|
| [Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)`?` | The drawable representing cover image. |

### getBufferedPosition

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getBufferedPosition(): Long
```  

|                                    Returns                                    |
|-------------------------------------------------------------------------------|------------------------------------------------------------------|
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | The current buffered position of the media item in milliseconds. |

### getControlsRow

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getControlsRow(): PlaybackControlsRow?
```

Returns the playback controls row managed by the glue layer.  

### getCurrentPosition

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getCurrentPosition(): Long
```  

|                                    Returns                                    |
|-------------------------------------------------------------------------------|---------------------------------------------------------|
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | The current position of the media item in milliseconds. |

### getDuration

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getDuration(): Long
```  

|                                    Returns                                    |
|-------------------------------------------------------------------------------|-------------------------------------------------|
| [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | The duration of the media item in milliseconds. |

### getPlaybackRowPresenter

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getPlaybackRowPresenter(): PlaybackRowPresenter?
```

Returns the playback controls row Presenter managed by the glue layer.  

### getPlayerAdapter

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getPlayerAdapter(): T!
```  

### getSubtitle

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getSubtitle(): CharSequence?
```

Return The media subtitle.  

### getSupportedActions

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getSupportedActions(): Long
```

Returns a bitmask of actions supported by the media player.  

### getTitle

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun getTitle(): CharSequence?
```

Returns the title of the media item.  

### isControlsOverlayAutoHideEnabled

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun isControlsOverlayAutoHideEnabled(): Boolean
```

Returns true if the controls auto hides after a timeout when media is playing.  

|                                                                            See also                                                                            |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [isControlsOverlayAutoHideEnabled](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost#isControlsOverlayAutoHideEnabled()) |   |

### isPlaying

```
fun isPlaying(): Boolean
```

Returns true if media is currently playing.  

### isPrepared

```
fun isPrepared(): Boolean
```

Returns true when the media player is prepared to start media playback. When returning false, app may listen to[onPreparedStateChanged](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue.PlayerCallback#onPreparedStateChanged(androidx.leanback.media.PlaybackGlue))event.  

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | True if prepared, false otherwise. |

### next

```
fun next(): Unit
```

Goes to the next media item. This method is optional.  

### onActionClicked

```
abstract fun onActionClicked(action: Action): Unit
```

Handles action clicks. A subclass may override this add support for additional actions.  

### onKey

```
abstract fun onKey(v: View!, keyCode: Int, event: KeyEvent!): Boolean
```

Handles key events and returns true if handled. A subclass may override this to provide additional support.  

### pause

```
fun pause(): Unit
```

Pauses the media player.  

### play

```
fun play(): Unit
```

Starts the media player. Does nothing if[isPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#isPrepared())is false. To wait[isPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#isPrepared())to be true before playing, use[playWhenPrepared](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue#playWhenPrepared()).  

### previous

```
fun previous(): Unit
```

Goes to the previous media item. This method is optional.  

### seekTo

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun seekTo(position: Long): Unit
```

Seek media to a new position.  

|                                        Parameters                                         |
|-------------------------------------------------------------------------------------------|---------------|
| `position: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | New position. |

### setArt

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun setArt(cover: Drawable?): Unit
```

Sets the drawable representing cover image. The drawable will be rendered by default description presenter in[setDescriptionPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackTransportRowPresenter#setDescriptionPresenter(androidx.leanback.widget.Presenter)).  

|                                               Parameters                                                |
|---------------------------------------------------------------------------------------------------------|----------------------------------------|
| `cover: `[Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)`?` | The drawable representing cover image. |

### setControlsOverlayAutoHideEnabled

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun setControlsOverlayAutoHideEnabled(enable: Boolean): Unit
```

Sets the controls to auto hide after a timeout when media is playing.  

|                                          Parameters                                           |
|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
| `enable: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | True to enable auto hide after a timeout when media is playing. |

|                                                                                See also                                                                                 |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [setControlsOverlayAutoHideEnabled](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost#setControlsOverlayAutoHideEnabled(boolean)) |   |

### setControlsRow

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun setControlsRow(controlsRow: PlaybackControlsRow): Unit
```

Sets the controls row to be managed by the glue layer. If[getPrimaryActionsAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow#getPrimaryActionsAdapter())is not provided, a default[ArrayObjectAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ArrayObjectAdapter)will be created and initialized in[onCreatePrimaryActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onCreatePrimaryActions(androidx.leanback.widget.ArrayObjectAdapter)). If[getSecondaryActionsAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow#getSecondaryActionsAdapter())is not provided, a default[ArrayObjectAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ArrayObjectAdapter)will be created and initialized in[onCreateSecondaryActions](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackBaseControlGlue#onCreateSecondaryActions(androidx.leanback.widget.ArrayObjectAdapter)). The primary actions and playback state related aspects of the row are updated by the glue.  

### setPlaybackRowPresenter

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun setPlaybackRowPresenter(presenter: PlaybackRowPresenter?): Unit
```

Sets the controls row Presenter to be managed by the glue layer.  

### setSubtitle

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun setSubtitle(subtitle: CharSequence?): Unit
```

Sets the media subtitle. The subtitle will be rendered by default description presenter[setDescriptionPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackTransportRowPresenter#setDescriptionPresenter(androidx.leanback.widget.Presenter)).  

|                                                  Parameters                                                   |
|---------------------------------------------------------------------------------------------------------------|------------------|
| `subtitle: `[CharSequence](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html)`?` | Subtitle to set. |

### setTitle

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
fun setTitle(title: CharSequence?): Unit
```

Sets the media title. The title will be rendered by default description presenter[setDescriptionPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackTransportRowPresenter#setDescriptionPresenter(androidx.leanback.widget.Presenter)).  

## Protected functions

### notifyItemChanged

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected java-static fun notifyItemChanged(adapter: ArrayObjectAdapter, object: Any): Unit
```  

### onAttachedToHost

```
protected fun onAttachedToHost(host: PlaybackGlueHost): Unit
```

This method is called attached to associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost). Subclass may override and call super.onAttachedToHost().  

### onCreatePrimaryActions

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected fun onCreatePrimaryActions(primaryActionsAdapter: ArrayObjectAdapter): Unit
```

May be overridden to add primary actions to the adapter. Default implementation add[PlaybackControlsRow.PlayPauseAction](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackControlsRow.PlayPauseAction).  

|                                                                Parameters                                                                 |
|-------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| `primaryActionsAdapter: `[ArrayObjectAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ArrayObjectAdapter) | The adapter to add primary[Action](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Action)s. |

### onCreateRowPresenter

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected abstract fun onCreateRowPresenter(): PlaybackRowPresenter
```  

### onCreateSecondaryActions

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected fun onCreateSecondaryActions(secondaryActionsAdapter: ArrayObjectAdapter): Unit
```

May be overridden to add secondary actions to the adapter.  

|                                                                 Parameters                                                                  |
|---------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| `secondaryActionsAdapter: `[ArrayObjectAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ArrayObjectAdapter) | The adapter you need to add the[Action](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Action)s to. |

### onDetachedFromHost

```
protected fun onDetachedFromHost(): Unit
```

This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is destroyed . Subclass may override and call super.onDetachedFromHost() at last. A typical PlaybackGlue will release resources (e.g. MediaPlayer or connection to playback service) in this method.  

### onHostStart

```
protected fun onHostStart(): Unit
```

This method is called when[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is started. Subclass may override.  

### onHostStop

```
protected fun onHostStop(): Unit
```

This method is called when[PlaybackGlueHost](https://developer.android.com/reference/kotlin/androidx/leanback/media/PlaybackGlueHost)is stopped. Subclass may override.  

### onMetadataChanged

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
protected fun onMetadataChanged(): Unit
```

Event when metadata changed  

### onPlayCompleted

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
@CallSuper
protected fun onPlayCompleted(): Unit
```

Event when play finishes, subclass may handling repeat mode here.  

### onPlayStateChanged

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
@CallSuper
protected fun onPlayStateChanged(): Unit
```

Event when play state changed.  

### onPreparedStateChanged

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
@CallSuper
protected fun onPreparedStateChanged(): Unit
```

Event when ready state for play changes.  

### onUpdateBufferedProgress

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
@CallSuper
protected fun onUpdateBufferedProgress(): Unit
```  

### onUpdateDuration

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
@CallSuper
protected fun onUpdateDuration(): Unit
```  

### onUpdateProgress

Added in[1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)  

```
@CallSuper
protected fun onUpdateProgress(): Unit
```