Skip to content

Most visited

Recently visited

navigation
added in version 26.1.0
belongs to Maven artifact com.android.support:leanback-v17:27.0.0

PlaybackTransportControlGlue

public class PlaybackTransportControlGlue
extends PlaybackBaseControlGlue<T extends PlayerAdapter>

java.lang.Object
   ↳ android.support.v17.leanback.media.PlaybackGlue
     ↳ android.support.v17.leanback.media.PlaybackBaseControlGlue<T extends android.support.v17.leanback.media.PlayerAdapter>
       ↳ android.support.v17.leanback.media.PlaybackTransportControlGlue<T extends android.support.v17.leanback.media.PlayerAdapter>


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 onCreateSecondaryActions(ArrayObjectAdapter) and respond to actions by override onActionClicked(Action).

It's also subclass's responsibility to implement the "repeat mode" in 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 {
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(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://com.example.android.leanback/raw/video";
         playerGlue.getPlayerAdapter().setDataSource(Uri.parse(uriPath));
         playerGlue.playWhenPrepared();
     }
 }
 

Summary

Inherited constants

From class android.support.v17.leanback.media.PlaybackBaseControlGlue

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

From class android.support.v17.leanback.media.PlaybackBaseControlGlue
From class android.support.v17.leanback.media.PlaybackGlue
From class java.lang.Object
From interface android.support.v17.leanback.widget.OnActionClickedListener
From interface android.view.View.OnKeyListener

Public constructors

PlaybackTransportControlGlue

added in version 26.1.0
PlaybackTransportControlGlue (Context context, 
                T impl)

Constructor for the glue.

Parameters
impl T: Implementation to underlying media player.

Public methods

getSeekProvider

added in version 26.1.0
PlaybackSeekDataProvider getSeekProvider ()

Get seek data provider used during user seeking.

Returns
PlaybackSeekDataProvider Seek data provider used during user seeking.

isSeekEnabled

added in version 26.1.0
boolean isSeekEnabled ()

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

onActionClicked

added in version 26.1.0
void onActionClicked (Action action)

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

Parameters
action Action

onKey

added in version 26.1.0
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.

Parameters
v View

keyCode int

event KeyEvent

Returns
boolean

setControlsRow

added in version 26.1.0
void setControlsRow (PlaybackControlsRow controlsRow)

Sets the controls row to be managed by the glue layer. If getPrimaryActionsAdapter() is not provided, a default ArrayObjectAdapter will be created and initialized in onCreatePrimaryActions(ArrayObjectAdapter). If getSecondaryActionsAdapter() is not provided, a default ArrayObjectAdapter will be created and initialized in onCreateSecondaryActions(ArrayObjectAdapter). The primary actions and playback state related aspects of the row are updated by the glue.

Parameters
controlsRow PlaybackControlsRow

setSeekEnabled

added in version 26.1.0
void setSeekEnabled (boolean seekEnabled)

Enable or disable seek when getSeekProvider() is null. When true, seekTo(long) will be called during user seeking.

Parameters
seekEnabled boolean: True to enable seek, false otherwise

setSeekProvider

added in version 26.1.0
void setSeekProvider (PlaybackSeekDataProvider seekProvider)

Set seek data provider used during user seeking.

Parameters
seekProvider PlaybackSeekDataProvider: Seek data provider used during user seeking.

Protected methods

onAttachedToHost

added in version 26.1.0
void onAttachedToHost (PlaybackGlueHost host)

This method is called attached to associated PlaybackGlueHost. Subclass may override and call super.onAttachedToHost().

Parameters
host PlaybackGlueHost

onCreatePrimaryActions

added in version 26.1.0
void onCreatePrimaryActions (ArrayObjectAdapter primaryActionsAdapter)

May be overridden to add primary actions to the adapter. Default implementation add PlaybackControlsRow.PlayPauseAction.

Parameters
primaryActionsAdapter ArrayObjectAdapter: The adapter to add primary Actions.

onCreateRowPresenter

added in version 26.1.0
PlaybackRowPresenter onCreateRowPresenter ()

Returns
PlaybackRowPresenter

onDetachedFromHost

added in version 26.1.0
void onDetachedFromHost ()

This method is called when current associated PlaybackGlueHost is attached to a different PlaybackGlue or 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.

onPlayStateChanged

added in version 26.1.0
void onPlayStateChanged ()

Event when play state changed.

onUpdateProgress

added in version 27.0.0
void onUpdateProgress ()

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)