# PlaybackControlGlue

added in[version 25.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/PlaybackControlGlue#constants)\|[Ctors](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#pubmethods)\|[Protected Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#promethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#)  

# PlaybackControlGlue

| 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
PlaybackControlGlue
`  
`


``

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.PlaybackControlGlue |

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#)Known Direct Subclasses [MediaControllerGlue](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerGlue) |-----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [MediaControllerGlue](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerGlue) | *This class was deprecated in API level 27.1.0. Use[MediaControllerAdapter](https://developer.android.com/reference/android/support/v17/leanback/media/MediaControllerAdapter)with[PlaybackTransportControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackTransportControlGlue)or[PlaybackBannerControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackBannerControlGlue).* | |

<br />

*** ** * ** ***

A helper class for managing a[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)and[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)that implements a recommended approach to handling standard playback control actions such as play/pause, fast forward/rewind at progressive speed levels, and skip to next/previous. This helper class is a glue layer in that manages the configuration of and interaction between the leanback UI components by defining a functional interface to the media player.

You can instantiate a concrete subclass such as MediaPlayerGlue or you must subclass this abstract helper. To create a subclass you must implement all of the abstract methods and the subclass must invoke[onMetadataChanged()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onMetadataChanged())and[onStateChanged()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onStateChanged())appropriately.

To use an instance of the glue layer, first construct an instance. Constructor parameters inform the glue what speed levels are supported for fast forward/rewind.

You may override[onCreateControlsRowAndPresenter()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onCreateControlsRowAndPresenter())which will create a[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)and a[PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter). You may call[setControlsRow(PlaybackControlsRow)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#setControlsRow(android.support.v17.leanback.widget.PlaybackControlsRow))and[setPlaybackRowPresenter(PlaybackRowPresenter)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#setPlaybackRowPresenter(android.support.v17.leanback.widget.PlaybackRowPresenter))to customize your own row and presenter.

The helper sets a[SparseArrayObjectAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/SparseArrayObjectAdapter)on the controls row as the primary actions adapter, and adds actions to it. You can provide additional actions by overriding[onCreatePrimaryActions(SparseArrayObjectAdapter)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onCreatePrimaryActions(android.support.v17.leanback.widget.SparseArrayObjectAdapter)). This helper does not deal in secondary actions so those you may add separately.

Provide a click listener on your fragment and if an action is clicked, call[onActionClicked(Action)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onActionClicked(android.support.v17.leanback.widget.Action)).

This helper implements a key event handler. If you pass a[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost), it will configure its fragment to intercept all key events. Otherwise, you should set the glue object as key event handler to the ViewHolder when bound by your row presenter; see[setOnKeyListener(android.view.View.OnKeyListener)](https://developer.android.com/reference/android/support/v17/leanback/widget/RowPresenter.ViewHolder#setOnKeyListener(android.view.View.OnKeyListener)).

To update the controls row progress during playback, override[enableProgressUpdating(boolean)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#enableProgressUpdating(boolean))to manage the lifecycle of a periodic callback to[updateProgress()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#updateProgress()).[getUpdatePeriod()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getUpdatePeriod())provides a recommended update period.

<br />

## Summary

|                                                                                                                          ### Constants                                                                                                                          ||
|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [ACTION_CUSTOM_LEFT_FIRST](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#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/PlaybackControlGlue#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/PlaybackControlGlue#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/PlaybackControlGlue#ACTION_PLAY_PAUSE) The adapter key for the play/pause control.                                                                        |
| `int` | [ACTION_REWIND](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#ACTION_REWIND) The adapter key for the rewind control.                                                                                    |
| `int` | [ACTION_SKIP_TO_NEXT](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#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/PlaybackControlGlue#ACTION_SKIP_TO_PREVIOUS) The adapter key for the skip to previous control.                                                      |
| `int` | [PLAYBACK_SPEED_FAST_L0](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_FAST_L0) The initial (level 0) fast forward playback speed.                                                       |
| `int` | [PLAYBACK_SPEED_FAST_L1](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_FAST_L1) The level 1 fast forward playback speed.                                                                 |
| `int` | [PLAYBACK_SPEED_FAST_L2](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_FAST_L2) The level 2 fast forward playback speed.                                                                 |
| `int` | [PLAYBACK_SPEED_FAST_L3](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_FAST_L3) The level 3 fast forward playback speed.                                                                 |
| `int` | [PLAYBACK_SPEED_FAST_L4](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_FAST_L4) The level 4 fast forward playback speed.                                                                 |
| `int` | [PLAYBACK_SPEED_INVALID](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_INVALID) Invalid playback speed.                                                                                  |
| `int` | [PLAYBACK_SPEED_NORMAL](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_NORMAL) Speed representing playback state that is playing normally.                                                |
| `int` | [PLAYBACK_SPEED_PAUSED](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_PAUSED) Speed representing playback state that is paused.                                                          |

|                                                                                                                                                                   ### Public constructors                                                                                                                                                                   ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[PlaybackControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PlaybackControlGlue(android.content.Context, int[]))`(`[Context](https://developer.android.com/reference/android/content/Context.html)` context, int[] seekSpeeds) ` Constructor for the glue.                                   |
| ` `[PlaybackControlGlue](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PlaybackControlGlue(android.content.Context, int[], int[]))`(`[Context](https://developer.android.com/reference/android/content/Context.html)` context, int[] fastForwardSpeeds, int[] rewindSpeeds) ` Constructor for the glue. |

|                                                                                                                                                                                                                                                                                                                                                                                                                                ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                                ||
|---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void`                                                                                                                                     | ` `[enableProgressUpdating](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#enableProgressUpdating(boolean))`(boolean enable) ` Override this to start/stop a runnable to call[updateProgress()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#updateProgress())at an interval such as[getUpdatePeriod()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getUpdatePeriod()).                                                                                                                                                                                                        |
| ` `[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)                   | ` `[getControlsRow](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getControlsRow())`() ` Returns the playback controls row managed by the glue layer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ` `[PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter) | ` `[getControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getControlsRowPresenter())`() ` *This method was deprecated in API level 25.4.0. PlaybackControlGlue supports any PlaybackRowPresenter, use[getPlaybackRowPresenter()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getPlaybackRowPresenter()).*                                                                                                                                                                                                                                                                                                      |
| ` abstract int`                                                                                                                             | ` `[getCurrentPosition](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getCurrentPosition())`() ` Returns the current position of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ` abstract int`                                                                                                                             | ` `[getCurrentSpeedId](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getCurrentSpeedId())`() ` Returns the current playback speed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` int[]`                                                                                                                                    | ` `[getFastForwardSpeeds](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getFastForwardSpeeds())`() ` Returns the fast forward speeds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ` abstract `[Drawable](https://developer.android.com/reference/android/graphics/drawable/Drawable.html)                                     | ` `[getMediaArt](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getMediaArt())`() ` Returns a bitmap of the art for the media item.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` abstract int`                                                                                                                             | ` `[getMediaDuration](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getMediaDuration())`() ` Returns the duration of the media item in milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ` abstract CharSequence`                                                                                                                    | ` `[getMediaSubtitle](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getMediaSubtitle())`() ` Returns the subtitle of the media item.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ` abstract CharSequence`                                                                                                                    | ` `[getMediaTitle](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getMediaTitle())`() ` Returns the title of the media item.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ` `[PlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackRowPresenter)                 | ` `[getPlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getPlaybackRowPresenter())`() ` Returns the playback row Presenter to be passed to[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)in[onAttachedToHost(PlaybackGlueHost)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onAttachedToHost(android.support.v17.leanback.media.PlaybackGlueHost)).                                                                                                                                                                                          |
| ` int[]`                                                                                                                                    | ` `[getRewindSpeeds](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getRewindSpeeds())`() ` Returns the rewind speeds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ` abstract long`                                                                                                                            | ` `[getSupportedActions](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getSupportedActions())`() ` Returns a bitmask of actions supported by the media player.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ` int`                                                                                                                                      | ` `[getUpdatePeriod](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getUpdatePeriod())`() ` Returns the time period in milliseconds that should be used to update the progress.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ` abstract boolean`                                                                                                                         | ` `[hasValidMedia](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#hasValidMedia())`() ` Returns true if there is a valid media item.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ` boolean`                                                                                                                                  | ` `[isFadingEnabled](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#isFadingEnabled())`() ` Returns true if controls are set to fade when media is playing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ` abstract boolean`                                                                                                                         | ` `[isMediaPlaying](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#isMediaPlaying())`() ` Returns true if media is currently playing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ` boolean`                                                                                                                                  | ` `[isPlaying](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#isPlaying())`() ` Returns true if media is currently playing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ` void`                                                                                                                                     | ` `[onActionClicked](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onActionClicked(android.support.v17.leanback.widget.Action))`(`[Action](https://developer.android.com/reference/android/support/v17/leanback/widget/Action)` action) ` Handles action clicks.                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ` boolean`                                                                                                                                  | ` `[onKey](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#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`                                                                                                                                     | ` `[play](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#play(int))`(int speed) ` Start playback at the given speed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ` final void`                                                                                                                               | ` `[play](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#play())`() ` Starts the media player.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ` void`                                                                                                                                     | ` `[setControlsRow](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#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`                                                                                                                                     | ` `[setControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#setControlsRowPresenter(android.support.v17.leanback.widget.PlaybackControlsRowPresenter))`(`[PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter)` presenter) ` *This method was deprecated in API level 25.4.0. PlaybackControlGlue supports any PlaybackRowPresenter, use[setPlaybackRowPresenter(PlaybackRowPresenter)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#setPlaybackRowPresenter(android.support.v17.leanback.widget.PlaybackRowPresenter)).*      |
| ` void`                                                                                                                                     | ` `[setFadingEnabled](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#setFadingEnabled(boolean))`(boolean enable) ` Sets the controls to fade after a timeout when media is playing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` void`                                                                                                                                     | ` `[setPlaybackRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#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 passed to[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)in[onAttachedToHost(PlaybackGlueHost)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onAttachedToHost(android.support.v17.leanback.media.PlaybackGlueHost)). |
| ` void`                                                                                                                                     | ` `[updateProgress](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#updateProgress())`() ` Updates the progress bar based on the current media playback position.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

|                                                                                                                                                                                                                                                                                  ### Protected methods                                                                                                                                                                                                                                                                                  ||
|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void` | ` `[onAttachedToHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#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` | ` `[onCreateControlsRowAndPresenter](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onCreateControlsRowAndPresenter())`() ` Instantiating a[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)and corresponding[PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter).                                                                                                    |
| ` void` | ` `[onCreatePrimaryActions](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onCreatePrimaryActions(android.support.v17.leanback.widget.SparseArrayObjectAdapter))`(`[SparseArrayObjectAdapter](https://developer.android.com/reference/android/support/v17/leanback/widget/SparseArrayObjectAdapter)` primaryActionsAdapter) ` May be overridden to add primary actions to the adapter.                                                                                                                                         |
| ` void` | ` `[onCreateSecondaryActions](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#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/PlaybackControlGlue#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/PlaybackControlGlue#onHostStart())`() ` This method is called when {@link PlaybackGlueHost is started.                                                                                                                                                                                                                                                                                                                                                                             |
| ` void` | ` `[onHostStop](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onHostStop())`() ` This method is called when {@link PlaybackGlueHost is stopped.                                                                                                                                                                                                                                                                                                                                                                               |
| ` void` | ` `[onMetadataChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onMetadataChanged())`() ` Must be called appropriately by a subclass when the metadata state has changed.                                                                                                                                                                                                                                                                                                                                                |
| ` void` | ` `[onStateChanged](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onStateChanged())`() ` Must be called appropriately by a subclass when the playback state has changed.                                                                                                                                                                                                                                                                                                                                                      |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#)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/PlaybackControlGlue#)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/PlaybackControlGlue#)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/PlaybackControlGlue#)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 25.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 25.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 25.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 25.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_REWIND

added in[version 25.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_SKIP_TO_NEXT

added in[version 25.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 25.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)  

### PLAYBACK_SPEED_FAST_L0

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

```
int PLAYBACK_SPEED_FAST_L0
```

The initial (level 0) fast forward playback speed. The negative of this value is for rewind at the same speed.

<br />

Constant Value: 10 (0x0000000a)  

### PLAYBACK_SPEED_FAST_L1

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

```
int PLAYBACK_SPEED_FAST_L1
```

The level 1 fast forward playback speed. The negative of this value is for rewind at the same speed.

<br />

Constant Value: 11 (0x0000000b)  

### PLAYBACK_SPEED_FAST_L2

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

```
int PLAYBACK_SPEED_FAST_L2
```

The level 2 fast forward playback speed. The negative of this value is for rewind at the same speed.

<br />

Constant Value: 12 (0x0000000c)  

### PLAYBACK_SPEED_FAST_L3

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

```
int PLAYBACK_SPEED_FAST_L3
```

The level 3 fast forward playback speed. The negative of this value is for rewind at the same speed.

<br />

Constant Value: 13 (0x0000000d)  

### PLAYBACK_SPEED_FAST_L4

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

```
int PLAYBACK_SPEED_FAST_L4
```

The level 4 fast forward playback speed. The negative of this value is for rewind at the same speed.

<br />

Constant Value: 14 (0x0000000e)  

### PLAYBACK_SPEED_INVALID

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

```
int PLAYBACK_SPEED_INVALID
```

Invalid playback speed.

<br />

Constant Value: -1 (0xffffffff)  

### PLAYBACK_SPEED_NORMAL

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

```
int PLAYBACK_SPEED_NORMAL
```

Speed representing playback state that is playing normally.

<br />

Constant Value: 1 (0x00000001)  

### PLAYBACK_SPEED_PAUSED

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

```
int PLAYBACK_SPEED_PAUSED
```

Speed representing playback state that is paused.

<br />

Constant Value: 0 (0x00000000)

## Public constructors

### PlaybackControlGlue

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

```
PlaybackControlGlue (Context context, 
                int[] seekSpeeds)
```

Constructor for the glue.

<br />

|                                  Parameters                                   ||
|--------------|-----------------------------------------------------------------|
| `seekSpeeds` | `int`: Array of seek speeds for fast forward and rewind. <br /> |

### PlaybackControlGlue

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

```
PlaybackControlGlue (Context context, 
                int[] fastForwardSpeeds, 
                int[] rewindSpeeds)
```

Constructor for the glue.

<br />

|                                Parameters                                 ||
|---------------------|------------------------------------------------------|
| `fastForwardSpeeds` | `int`: Array of seek speeds for fast forward. <br /> |
| `rewindSpeeds`      | `int`: Array of seek speeds for rewind. <br />       |

## Public methods

### enableProgressUpdating

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

```
void enableProgressUpdating (boolean enable)
```

Override this to start/stop a runnable to call[updateProgress()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#updateProgress())at an interval such as[getUpdatePeriod()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getUpdatePeriod()).

<br />

|         Parameters         ||
|----------|------------------|
| `enable` | `boolean` <br /> |

### getControlsRow

added in[version 25.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 /> |

### getControlsRowPresenter

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

```
PlaybackControlsRowPresenter getControlsRowPresenter ()
```

<br />

**This method was deprecated in API level 25.4.0.**   
PlaybackControlGlue supports any PlaybackRowPresenter, use[getPlaybackRowPresenter()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#getPlaybackRowPresenter()).

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

<br />

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

### getCurrentPosition

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

```
int getCurrentPosition ()
```

Returns the current position of the media item in milliseconds.

<br />

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

### getCurrentSpeedId

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

```
int getCurrentSpeedId ()
```

Returns the current playback speed. When playing normally,[PLAYBACK_SPEED_NORMAL](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_NORMAL)should be returned.

<br />

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

### getFastForwardSpeeds

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

```
int[] getFastForwardSpeeds ()
```

Returns the fast forward speeds.

<br />

|     Returns     ||
|---------|--------|
| `int[]` | <br /> |

### getMediaArt

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

```
Drawable getMediaArt ()
```

Returns a bitmap of the art for the media item.

<br />

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

### getMediaDuration

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

```
int getMediaDuration ()
```

Returns the duration of the media item in milliseconds.

<br />

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

### getMediaSubtitle

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

```
CharSequence getMediaSubtitle ()
```

Returns the subtitle of the media item.

<br />

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

### getMediaTitle

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

```
CharSequence getMediaTitle ()
```

Returns the title of the media item.

<br />

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

### getPlaybackRowPresenter

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

```
PlaybackRowPresenter getPlaybackRowPresenter ()
```

Returns the playback row Presenter to be passed to[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)in[onAttachedToHost(PlaybackGlueHost)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onAttachedToHost(android.support.v17.leanback.media.PlaybackGlueHost)).

<br />

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

### getRewindSpeeds

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

```
int[] getRewindSpeeds ()
```

Returns the rewind speeds.

<br />

|     Returns     ||
|---------|--------|
| `int[]` | <br /> |

### getSupportedActions

added in[version 25.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 /> |

### getUpdatePeriod

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

```
int getUpdatePeriod ()
```

Returns the time period in milliseconds that should be used to update the progress. See[updateProgress()](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#updateProgress()).

<br />

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

### hasValidMedia

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

```
boolean hasValidMedia ()
```

Returns true if there is a valid media item.

<br />

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

### isFadingEnabled

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

```
boolean isFadingEnabled ()
```

Returns true if controls are set to fade when media is playing.

<br />

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

### isMediaPlaying

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

```
boolean isMediaPlaying ()
```

Returns true if media is currently playing.

<br />

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

### 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 /> |

### onActionClicked

added in[version 25.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 25.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 /> |

### play

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

```
void play (int speed)
```

Start playback at the given speed.

<br />

|                                                                                                                                                 Parameters                                                                                                                                                 ||
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `speed` | `int`: The desired playback speed. For normal playback this will be[PLAYBACK_SPEED_NORMAL](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#PLAYBACK_SPEED_NORMAL); higher positive values for fast forward, and negative values for rewind. <br /> |

### play

added in[version 25.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 />

### setControlsRow

added in[version 25.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. The primary actions and playback state related aspects of the row are updated by the glue.

<br />

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

### setControlsRowPresenter

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

```
void setControlsRowPresenter (PlaybackControlsRowPresenter presenter)
```

<br />

**This method was deprecated in API level 25.4.0.**   
PlaybackControlGlue supports any PlaybackRowPresenter, use[setPlaybackRowPresenter(PlaybackRowPresenter)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#setPlaybackRowPresenter(android.support.v17.leanback.widget.PlaybackRowPresenter)).

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

<br />

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

### setFadingEnabled

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

```
void setFadingEnabled (boolean enable)
```

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

<br />

|         Parameters         ||
|----------|------------------|
| `enable` | `boolean` <br /> |

### setPlaybackRowPresenter

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

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

Sets the controls row Presenter to be passed to[PlaybackGlueHost](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackGlueHost)in[onAttachedToHost(PlaybackGlueHost)](https://developer.android.com/reference/android/support/v17/leanback/media/PlaybackControlGlue#onAttachedToHost(android.support.v17.leanback.media.PlaybackGlueHost)).

<br />

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

### updateProgress

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

```
void updateProgress ()
```

Updates the progress bar based on the current media playback position.

<br />

## Protected methods

### onAttachedToHost

added in[version 25.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 /> |

### onCreateControlsRowAndPresenter

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

```
void onCreateControlsRowAndPresenter ()
```

Instantiating a[PlaybackControlsRow](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRow)and corresponding[PlaybackControlsRowPresenter](https://developer.android.com/reference/android/support/v17/leanback/widget/PlaybackControlsRowPresenter). Subclass may override.

<br />

### onCreatePrimaryActions

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

```
void onCreatePrimaryActions (SparseArrayObjectAdapter primaryActionsAdapter)
```

May be overridden to add primary actions to the adapter.

<br />

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

### onCreateSecondaryActions

added in[version 25.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 25.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 25.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 25.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 25.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void onMetadataChanged ()
```

Must be called appropriately by a subclass when the metadata state has changed.

<br />

### onStateChanged

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

```
void onStateChanged ()
```

Must be called appropriately by a subclass when the playback state has changed. It updates the playback state displayed on the media player.

<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)