PlaybackTransportControlGlue

public class PlaybackTransportControlGlue
extends PlaybackBaseControlGlue<T extends PlayerAdapter>

java.lang.Object
   ↳ androidx.leanback.media.PlaybackGlue
     ↳ androidx.leanback.media.PlaybackBaseControlGlue<T extends androidx.leanback.media.PlayerAdapter>
       ↳ androidx.leanback.media.PlaybackTransportControlGlue<T extends androidx.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 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 {
     @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

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