# PlaybackBaseControlGlue

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1  
Summary:[Constants](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#constants)\|[Ctors](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#pubmethods)\|[Protected Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#promethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#)  

# PlaybackBaseControlGlue

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public


abstract
class
PlaybackBaseControlGlue
`  
`


``

extends `[PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)`


``


implements

`[OnActionClickedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnActionClickedListener)`,

`[View.OnKeyListener](https://developer.android.com/reference/android/view/View.OnKeyListener.html)`


`

|---|---|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| java.lang.Object                                                                                                                                                                                                          |||
| ↳ | [android.support.v17.leanback.media.PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)                                                                             ||
|   | ↳ | android.support.v17.leanback.media.PlaybackBaseControlGlue\<T extends[android.support.v17.leanback.media.PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)\> |

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#)Known Direct Subclasses [PlaybackBannerControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBannerControlGlue)\<T extends[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)\>,[PlaybackTransportControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackTransportControlGlue)\<T extends[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)\> |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [PlaybackBannerControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBannerControlGlue)\<T extends[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)\>       | A helper class for managing a[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)being displayed in[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost).                                                                                   | | [PlaybackTransportControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackTransportControlGlue)\<T extends[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)\> | A helper class for managing a[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)being displayed in[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost), it supports standard playback control actions play/pause, and skip next/previous. | |

<br />

*** ** * ** ***

A base abstract class for managing a[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)being displayed in[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/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/android/support/v17/leanback/widget/PlaybackControlsRow)[PlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter)and a functional[PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)which represents the underlying media player.

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

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

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

<br />

## Summary

|                                                                                                                            ### Constants                                                                                                                            ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [ACTION_CUSTOM_LEFT_FIRST](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_CUSTOM_LEFT_FIRST) The adapter key for the first custom control on the left side of the predefined primary controls.    |
| `int` | [ACTION_CUSTOM_RIGHT_FIRST](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_CUSTOM_RIGHT_FIRST) The adapter key for the first custom control on the right side of the predefined primary controls. |
| `int` | [ACTION_FAST_FORWARD](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_FAST_FORWARD) The adapter key for the fast forward control.                                                                  |
| `int` | [ACTION_PLAY_PAUSE](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_PLAY_PAUSE) The adapter key for the play/pause control.                                                                        |
| `int` | [ACTION_REPEAT](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_REPEAT) The adapter key for the repeat control.                                                                                    |
| `int` | [ACTION_REWIND](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_REWIND) The adapter key for the rewind control.                                                                                    |
| `int` | [ACTION_SHUFFLE](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_SHUFFLE) The adapter key for the shuffle control.                                                                                 |
| `int` | [ACTION_SKIP_TO_NEXT](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_SKIP_TO_NEXT) The adapter key for the skip to next control.                                                                  |
| `int` | [ACTION_SKIP_TO_PREVIOUS](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#ACTION_SKIP_TO_PREVIOUS) The adapter key for the skip to previous control.                                                      |

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

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

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

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#)From class` `[android.support.v17.leanback.media.PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)` ` |--------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` void`                                                                                                                                          | ` `[addPlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#addPlayerCallback(android.support.v17.leanback.media.PlaybackGlue.PlayerCallback))`(`[PlaybackGlue.PlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue.PlayerCallback)` playerCallback) ` Add a PlayerCallback.                                                                                                                                                                                                                                            | | ` `[Context](https://developer.android.com/reference/android/content/Context.html)                                                               | ` `[getContext](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#getContext())`() ` Returns the context.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | | ` `[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)                               | ` `[getHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#getHost())`() `                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | ` List<`[PlaybackGlue.PlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue.PlayerCallback)`>` | ` `[getPlayerCallbacks](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#getPlayerCallbacks())`() `                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | | ` boolean`                                                                                                                                       | ` `[isPlaying](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#isPlaying())`() ` Returns true if media is currently playing.                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | ` boolean`                                                                                                                                       | ` `[isPrepared](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#isPrepared())`() ` Returns true when the media player is prepared to start media playback.                                                                                                                                                                                                                                                                                                                                                                                                                            | | ` void`                                                                                                                                          | ` `[next](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#next())`() ` Goes to the next media item.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | | ` void`                                                                                                                                          | ` `[onAttachedToHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#onAttachedToHost(android.support.v17.leanback.media.PlaybackGlueHost))`(`[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)` host) ` This method is called attached to associated[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost).                                                                                                                                                  | | ` void`                                                                                                                                          | ` `[onDetachedFromHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#onDetachedFromHost())`() ` This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)is destroyed .                                                       | | ` void`                                                                                                                                          | ` `[onHostPause](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#onHostPause())`() ` This method is called when {@link PlaybackGlueHost is paused.                                                                                                                                                                                                                                                                                                                                                                                                                                    | | ` void`                                                                                                                                          | ` `[onHostResume](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#onHostResume())`() ` This method is called when {@link PlaybackGlueHost is resumed.                                                                                                                                                                                                                                                                                                                                                                                                                                 | | ` void`                                                                                                                                          | ` `[onHostStart](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#onHostStart())`() ` This method is called when {@link PlaybackGlueHost is started.                                                                                                                                                                                                                                                                                                                                                                                                                                   | | ` void`                                                                                                                                          | ` `[onHostStop](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#onHostStop())`() ` This method is called when {@link PlaybackGlueHost is stopped.                                                                                                                                                                                                                                                                                                                                                                                                                                     | | ` void`                                                                                                                                          | ` `[pause](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#pause())`() ` Pauses the media player.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | ` void`                                                                                                                                          | ` `[play](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#play())`() ` Starts the media player.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | | ` void`                                                                                                                                          | ` `[playWhenPrepared](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#playWhenPrepared())`() ` Starts play when[isPrepared()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#isPrepared())becomes true.                                                                                                                                                                                                                                                                                                                                      | | ` void`                                                                                                                                          | ` `[previous](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#previous())`() ` Goes to the previous media item.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | | ` void`                                                                                                                                          | ` `[removePlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#removePlayerCallback(android.support.v17.leanback.media.PlaybackGlue.PlayerCallback))`(`[PlaybackGlue.PlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue.PlayerCallback)` callback) ` Remove a PlayerCallback.                                                                                                                                                                                                                                         | | ` final void`                                                                                                                                    | ` `[setHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue#setHost(android.support.v17.leanback.media.PlaybackGlueHost))`(`[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)` host) ` This method is used to associate a PlaybackGlue with the[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)which provides UI and optional[SurfaceHolderGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/SurfaceHolderGlueHost). | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#)From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#)From interface` `[android.support.v17.leanback.widget.OnActionClickedListener](https://developer.android.com/reference/android/support/v17/leanback/widget/OnActionClickedListener)` ` |------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract void` | ` `[onActionClicked](https://developer.android.com/reference/android/support/v17/leanback/widget/OnActionClickedListener#onActionClicked(android.support.v17.leanback.widget.Action))`(`[Action](https://developer.android.com/reference/android/support/v17/leanback/widget/Action)` action) ` Callback fired when the host fragment receives an action. | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue#)From interface` `[android.view.View.OnKeyListener](https://developer.android.com/reference/android/view/View.OnKeyListener.html)` ` |---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract boolean` | ` onKey(`[View](https://developer.android.com/reference/android/view/View.html)` arg0, int arg1, `[KeyEvent](https://developer.android.com/reference/android/view/KeyEvent.html)` arg2) ` | ||

## Constants

### ACTION_CUSTOM_LEFT_FIRST

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_CUSTOM_LEFT_FIRST
```

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

<br />

Constant Value: 1 (0x00000001)  

### ACTION_CUSTOM_RIGHT_FIRST

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_CUSTOM_RIGHT_FIRST
```

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

<br />

Constant Value: 4096 (0x00001000)  

### ACTION_FAST_FORWARD

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_FAST_FORWARD
```

The adapter key for the fast forward control.

<br />

Constant Value: 128 (0x00000080)  

### ACTION_PLAY_PAUSE

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_PLAY_PAUSE
```

The adapter key for the play/pause control.

<br />

Constant Value: 64 (0x00000040)  

### ACTION_REPEAT

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_REPEAT
```

The adapter key for the repeat control.

<br />

Constant Value: 512 (0x00000200)  

### ACTION_REWIND

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_REWIND
```

The adapter key for the rewind control.

<br />

Constant Value: 32 (0x00000020)  

### ACTION_SHUFFLE

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_SHUFFLE
```

The adapter key for the shuffle control.

<br />

Constant Value: 1024 (0x00000400)  

### ACTION_SKIP_TO_NEXT

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_SKIP_TO_NEXT
```

The adapter key for the skip to next control.

<br />

Constant Value: 256 (0x00000100)  

### ACTION_SKIP_TO_PREVIOUS

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
int ACTION_SKIP_TO_PREVIOUS
```

The adapter key for the skip to previous control.

<br />

Constant Value: 16 (0x00000010)

## Public constructors

### PlaybackBaseControlGlue

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

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

Constructor for the glue.

<br />

|                           Parameters                           ||
|--------|--------------------------------------------------------|
| `impl` | `T`: Implementation to underlying media player. <br /> |

## Public methods

### getArt

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Drawable getArt ()
```

<br />

<br />

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

### getBufferedPosition

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
long getBufferedPosition ()
```

<br />

<br />

|                                     Returns                                     ||
|--------|-------------------------------------------------------------------------|
| `long` | The current buffered position of the media item in milliseconds. <br /> |

### getControlsRow

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
PlaybackControlsRow getControlsRow ()
```

Returns the playback controls row managed by the glue layer.

<br />

|                                                            Returns                                                             ||
|------------------------------------------------------------------------------------------------------------------------|--------|
| [PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow) | <br /> |

### getCurrentPosition

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
long getCurrentPosition ()
```

<br />

<br />

|                                Returns                                 ||
|--------|----------------------------------------------------------------|
| `long` | The current position of the media item in milliseconds. <br /> |

### getDuration

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
long getDuration ()
```

<br />

<br />

|                            Returns                             ||
|--------|--------------------------------------------------------|
| `long` | The duration of the media item in milliseconds. <br /> |

### getPlaybackRowPresenter

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
PlaybackRowPresenter getPlaybackRowPresenter ()
```

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

<br />

|                                                             Returns                                                              ||
|--------------------------------------------------------------------------------------------------------------------------|--------|
| [PlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter) | <br /> |

### getPlayerAdapter

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
T getPlayerAdapter ()
```

<br />

<br />

|   Returns   ||
|-----|--------|
| `T` | <br /> |

### getSubtitle

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
CharSequence getSubtitle ()
```

Return The media subtitle.

<br />

|        Returns         ||
|----------------|--------|
| `CharSequence` | <br /> |

### getSupportedActions

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
long getSupportedActions ()
```

Returns a bitmask of actions supported by the media player.

<br />

|    Returns     ||
|--------|--------|
| `long` | <br /> |

### getTitle

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
CharSequence getTitle ()
```

Returns the title of the media item.

<br />

|        Returns         ||
|----------------|--------|
| `CharSequence` | <br /> |

### isControlsOverlayAutoHideEnabled

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean isControlsOverlayAutoHideEnabled ()
```

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

<br />

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

**See also:**

- [isControlsOverlayAutoHideEnabled()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost#isControlsOverlayAutoHideEnabled())  

### isPlaying

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean isPlaying ()
```

Returns true if media is currently playing.

<br />

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### isPrepared

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean isPrepared ()
```

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

<br />

|                       Returns                        ||
|-----------|-------------------------------------------|
| `boolean` | True if prepared, false otherwise. <br /> |

### next

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void next ()
```

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

<br />

### onActionClicked

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onActionClicked (Action action)
```

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

<br />

|        Parameters         ||
|----------|-----------------|
| `action` | `Action` <br /> |

### onKey

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
boolean onKey (View v, 
                int keyCode, 
                KeyEvent event)
```

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

<br />

|          Parameters          ||
|-----------|-------------------|
| `v`       | `View` <br />     |
| `keyCode` | `int` <br />      |
| `event`   | `KeyEvent` <br /> |

|      Returns      ||
|-----------|--------|
| `boolean` | <br /> |

### pause

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void pause ()
```

Pauses the media player.

<br />

### play

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void play ()
```

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

<br />

### previous

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void previous ()
```

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

<br />

### seekTo

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void seekTo (long position)
```

Seek media to a new position.

<br />

|                Parameters                ||
|------------|------------------------------|
| `position` | `long`: New position. <br /> |

### setArt

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void setArt (Drawable cover)
```

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

<br />

|                             Parameters                             ||
|---------|-----------------------------------------------------------|
| `cover` | `Drawable`: The drawable representing cover image. <br /> |

### setControlsOverlayAutoHideEnabled

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void setControlsOverlayAutoHideEnabled (boolean enable)
```

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

<br />

|                                         Parameters                                          ||
|----------|-----------------------------------------------------------------------------------|
| `enable` | `boolean`: True to enable auto hide after a timeout when media is playing. <br /> |

**See also:**

- [setControlsOverlayAutoHideEnabled(boolean)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost#setControlsOverlayAutoHideEnabled(boolean))  

### setControlsRow

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void setControlsRow (PlaybackControlsRow controlsRow)
```

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

<br />

|                 Parameters                  ||
|---------------|------------------------------|
| `controlsRow` | `PlaybackControlsRow` <br /> |

### setPlaybackRowPresenter

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void setPlaybackRowPresenter (PlaybackRowPresenter presenter)
```

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

<br />

|                 Parameters                 ||
|-------------|-------------------------------|
| `presenter` | `PlaybackRowPresenter` <br /> |

### setSubtitle

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void setSubtitle (CharSequence subtitle)
```

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

<br />

|                     Parameters                      ||
|------------|-----------------------------------------|
| `subtitle` | `CharSequence`: Subtitle to set. <br /> |

### setTitle

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void setTitle (CharSequence title)
```

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

<br />

|           Parameters           ||
|---------|-----------------------|
| `title` | `CharSequence` <br /> |

## Protected methods

### notifyItemChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void notifyItemChanged (ArrayObjectAdapter adapter, 
                Object object)
```

<br />

<br />

|               Parameters               ||
|-----------|-----------------------------|
| `adapter` | `ArrayObjectAdapter` <br /> |
| `object`  | `Object` <br />             |

### onAttachedToHost

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onAttachedToHost (PlaybackGlueHost host)
```

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

<br />

|            Parameters             ||
|--------|---------------------------|
| `host` | `PlaybackGlueHost` <br /> |

### onCreatePrimaryActions

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onCreatePrimaryActions (ArrayObjectAdapter primaryActionsAdapter)
```

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

<br />

|                                                                                   Parameters                                                                                   ||
|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
| `primaryActionsAdapter` | `ArrayObjectAdapter`: The adapter to add primary[Action](https://developer.android.com/reference/android/support/v17/leanback/widget/Action)s. <br /> |

### onCreateRowPresenter

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
PlaybackRowPresenter onCreateRowPresenter ()
```

<br />

<br />

|                                                             Returns                                                              ||
|--------------------------------------------------------------------------------------------------------------------------|--------|
| [PlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter) | <br /> |

### onCreateSecondaryActions

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onCreateSecondaryActions (ArrayObjectAdapter secondaryActionsAdapter)
```

May be overridden to add secondary actions to the adapter.

<br />

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

### onDetachedFromHost

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onDetachedFromHost ()
```

This method is called when current associated[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)is attached to a different[PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)or[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/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.

<br />

### onHostStart

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onHostStart ()
```

This method is called when {@link PlaybackGlueHost is started. Subclass may override.

<br />

### onHostStop

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onHostStop ()
```

This method is called when {@link PlaybackGlueHost is stopped. Subclass may override.

<br />

### onMetadataChanged

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onMetadataChanged ()
```

Event when metadata changed

<br />

### onPlayCompleted

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onPlayCompleted ()
```

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

<br />

### onPlayStateChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onPlayStateChanged ()
```

Event when play state changed.

<br />

### onPreparedStateChanged

added in[version 26.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onPreparedStateChanged ()
```

Event when ready state for play changes.

<br />

### onUpdateBufferedProgress

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onUpdateBufferedProgress ()
```

<br />

<br />

### onUpdateDuration

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onUpdateDuration ()
```

<br />

<br />

### onUpdateProgress

added in[version 27.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onUpdateProgress ()
```

<br />

<br />

-

  ## Interfaces

  - [SurfaceHolderGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/SurfaceHolderGlueHost)
-

  ## Classes

  - [MediaControllerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerAdapter)
  - [MediaControllerGlue](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerGlue)
  - [MediaPlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaPlayerAdapter)
  - [PlaybackBannerControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBannerControlGlue)
  - [PlaybackBaseControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBaseControlGlue)
  - [PlaybackControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue)
  - [PlaybackGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue)
  - [PlaybackGlue.PlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlue.PlayerCallback)
  - [PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)
  - [PlaybackGlueHost.HostCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost.HostCallback)
  - [PlaybackGlueHost.PlayerCallback](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost.PlayerCallback)
  - [PlaybackTransportControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackTransportControlGlue)
  - [PlayerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter)
  - [PlayerAdapter.Callback](https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.Callback)