public class PlaybackTransportControlGlue
extends PlaybackBaseControlGlue<T extends PlayerAdapter>

     ↳<T extends>
       ↳<T extends>

A helper class for managing a PlaybackControlsRow being displayed in PlaybackGlueHost, it supports standard playback control actions play/pause, and skip next/previous. This helper class is a glue layer in that manages interaction between the leanback UI components PlaybackControlsRow PlaybackTransportRowPresenter and a functional PlayerAdapter which represents the underlying media player.

App must pass a PlayerAdapter in constructor for a specific implementation e.g. a MediaPlayerAdapter.

The glue has two actions bar: primary actions bar and secondary actions bar. App can provide additional actions by overriding onCreatePrimaryActions(ArrayObjectAdapter) and / or PlaybackBaseControlGlue.onCreateSecondaryActions(ArrayObjectAdapter) and respond to actions by override onActionClicked(Action).

It's also subclass's responsibility to implement the "repeat mode" in PlaybackBaseControlGlue.onPlayCompleted().

Apps calls setSeekProvider(PlaybackSeekDataProvider) to provide seek data. If the PlaybackGlueHost is instance of PlaybackSeekUi, the provider will be passed to PlaybackGlueHost to render thumb bitmaps.

Sample Code:

 public class MyVideoFragment extends VideoFragment {
     public void onCreate(Bundle savedInstanceState) {
         PlaybackTransportControlGlue playerGlue =
                 new PlaybackTransportControlGlue(getActivity(),
                         new MediaPlayerAdapter(getActivity()));
         playerGlue.setHost(new VideoFragmentGlueHost(this));
         playerGlue.setSubtitle("Leanback artist");
         playerGlue.setTitle("Leanback team at work");
         String uriPath = "android.resource://";


Inherited constants

Public constructors

PlaybackTransportControlGlue(Context context, T impl)

Constructor for the glue.

Public methods

final PlaybackSeekDataProvider getSeekProvider()

Get seek data provider used during user seeking.

final boolean isSeekEnabled()
void onActionClicked(Action action)

Handles action clicks.

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

Handles key events and returns true if handled.

void setControlsRow(PlaybackControlsRow controlsRow)

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

final void setSeekEnabled(boolean seekEnabled)

Enable or disable seek when getSeekProvider() is null.

final void setSeekProvider(PlaybackSeekDataProvider seekProvider)

Set seek data provider used during user seeking.

Protected methods

void onAttachedToHost(PlaybackGlueHost host)

This method is called attached to associated PlaybackGlueHost.

void onCreatePrimaryActions(ArrayObjectAdapter primaryActionsAdapter)

May be overridden to add primary actions to the adapter.

PlaybackRowPresenter onCreateRowPresenter()
void onDetachedFromHost()

This method is called when current associated PlaybackGlueHost is attached to a different PlaybackGlue or PlaybackGlueHost is destroyed .

void onPlayStateChanged()

Event when play state changed.

void onUpdateProgress()

Inherited methods

Public constructors


public PlaybackTransportControlGlue (Context context, 
                T impl)

Constructor for the glue.

impl T: Implementation to underlying media player.

Public methods


public final PlaybackSeekDataProvider getSeekProvider ()

Get seek data provider used during user seeking.

PlaybackSeekDataProvider Seek data provider used during user seeking.


public final boolean isSeekEnabled ()

boolean True if seek is enabled without PlaybackSeekDataProvider, false otherwise.


public void onActionClicked (Action action)

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

action Action


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

v View

keyCode int

event KeyEvent