belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1
PlaybackBaseControlGlue
public
abstract
class
PlaybackBaseControlGlue
extends PlaybackGlue
implements
OnActionClickedListener,
View.OnKeyListener
java.lang.Object | ||
↳ | android.support.v17.leanback.media.PlaybackGlue | |
↳ | android.support.v17.leanback.media.PlaybackBaseControlGlue<T extends android.support.v17.leanback.media.PlayerAdapter> |
Known Direct Subclasses
PlaybackBannerControlGlue<T extends PlayerAdapter>,PlaybackTransportControlGlue<T extends PlayerAdapter>
|
A base abstract 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 that manages interaction between the
leanback UI components PlaybackControlsRow
PlaybackRowPresenter
and a functional PlayerAdapter
which represents the underlying
media player.
The app must pass a PlayerAdapter
in constructor for a specific
implementation e.g. a MediaPlayerAdapter
.
The glue has two action bars: primary action bars and secondary action bars. Apps
can provide additional actions by overriding onCreatePrimaryActions(ArrayObjectAdapter)
and / or
onCreateSecondaryActions(ArrayObjectAdapter)
and respond to actions by overriding
onActionClicked(Action)
.
The subclass is responsible for implementing the "repeat mode" in
onPlayCompleted()
.
Summary
Constants | |
---|---|
int |
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
The adapter key for the first custom control on the right side of the predefined primary controls. |
int |
ACTION_FAST_FORWARD
The adapter key for the fast forward control. |
int |
ACTION_PLAY_PAUSE
The adapter key for the play/pause control. |
int |
ACTION_REPEAT
The adapter key for the repeat control. |
int |
ACTION_REWIND
The adapter key for the rewind control. |
int |
ACTION_SHUFFLE
The adapter key for the shuffle control. |
int |
ACTION_SKIP_TO_NEXT
The adapter key for the skip to next control. |
int |
ACTION_SKIP_TO_PREVIOUS
The adapter key for the skip to previous control. |
Public constructors | |
---|---|
PlaybackBaseControlGlue(Context context, T impl)
Constructor for the glue. |
Public methods | |
---|---|
Drawable
|
getArt()
|
final
long
|
getBufferedPosition()
|
PlaybackControlsRow
|
getControlsRow()
Returns the playback controls row managed by the glue layer. |
long
|
getCurrentPosition()
|
final
long
|
getDuration()
|
PlaybackRowPresenter
|
getPlaybackRowPresenter()
Returns the playback controls row Presenter managed by the glue layer. |
final
T
|
getPlayerAdapter()
|
CharSequence
|
getSubtitle()
Return The media subtitle. |
long
|
getSupportedActions()
Returns a bitmask of actions supported by the media player. |
CharSequence
|
getTitle()
Returns the title of the media item. |
boolean
|
isControlsOverlayAutoHideEnabled()
Returns true if the controls auto hides after a timeout when media is playing. |
final
boolean
|
isPlaying()
Returns true if media is currently playing. |
final
boolean
|
isPrepared()
Returns true when the media player is prepared to start media playback. |
void
|
next()
Goes to the next media item. |
abstract
void
|
onActionClicked(Action action)
Handles action clicks. |
abstract
boolean
|
onKey(View v, int keyCode, KeyEvent event)
Handles key events and returns true if handled. |
void
|
pause()
Pauses the media player. |
void
|
play()
Starts the media player. |
void
|
previous()
Goes to the previous media item. |
final
void
|
seekTo(long position)
Seek media to a new position. |
void
|
setArt(Drawable cover)
Sets the drawable representing cover image. |
void
|
setControlsOverlayAutoHideEnabled(boolean enable)
Sets the controls to auto hide after a timeout when media is playing. |
void
|
setControlsRow(PlaybackControlsRow controlsRow)
Sets the controls row to be managed by the glue layer. |
void
|
setPlaybackRowPresenter(PlaybackRowPresenter presenter)
Sets the controls row Presenter to be managed by the glue layer. |
void
|
setSubtitle(CharSequence subtitle)
Sets the media subtitle. |
void
|
setTitle(CharSequence title)
Sets the media title. |
Protected methods | |
---|---|
static
void
|
notifyItemChanged(ArrayObjectAdapter adapter, Object object)
|
void
|
onAttachedToHost(PlaybackGlueHost host)
This method is called attached to associated |
void
|
onCreatePrimaryActions(ArrayObjectAdapter primaryActionsAdapter)
May be overridden to add primary actions to the adapter. |
abstract
PlaybackRowPresenter
|
onCreateRowPresenter()
|
void
|
onCreateSecondaryActions(ArrayObjectAdapter secondaryActionsAdapter)
May be overridden to add secondary actions to the adapter. |
void
|
onDetachedFromHost()
This method is called when current associated |
void
|
onHostStart()
This method is called when {@link PlaybackGlueHost is started. |
void
|
onHostStop()
This method is called when {@link PlaybackGlueHost is stopped. |
void
|
onMetadataChanged()
Event when metadata changed |
void
|
onPlayCompleted()
Event when play finishes, subclass may handling repeat mode here. |
void
|
onPlayStateChanged()
Event when play state changed. |
void
|
onPreparedStateChanged()
Event when ready state for play changes. |
void
|
onUpdateBufferedProgress()
|
void
|
onUpdateDuration()
|
void
|
onUpdateProgress()
|
Inherited methods | |
---|---|
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
|
Constants
ACTION_CUSTOM_LEFT_FIRST
int ACTION_CUSTOM_LEFT_FIRST
The adapter key for the first custom control on the left side of the predefined primary controls.
Constant Value: 1 (0x00000001)
ACTION_CUSTOM_RIGHT_FIRST
int ACTION_CUSTOM_RIGHT_FIRST
The adapter key for the first custom control on the right side of the predefined primary controls.
Constant Value: 4096 (0x00001000)
ACTION_FAST_FORWARD
int ACTION_FAST_FORWARD
The adapter key for the fast forward control.
Constant Value: 128 (0x00000080)
ACTION_PLAY_PAUSE
int ACTION_PLAY_PAUSE
The adapter key for the play/pause control.
Constant Value: 64 (0x00000040)
ACTION_REPEAT
int ACTION_REPEAT
The adapter key for the repeat control.
Constant Value: 512 (0x00000200)
ACTION_REWIND
int ACTION_REWIND
The adapter key for the rewind control.
Constant Value: 32 (0x00000020)
ACTION_SHUFFLE
int ACTION_SHUFFLE
The adapter key for the shuffle control.
Constant Value: 1024 (0x00000400)
ACTION_SKIP_TO_NEXT
int ACTION_SKIP_TO_NEXT
The adapter key for the skip to next control.
Constant Value: 256 (0x00000100)
ACTION_SKIP_TO_PREVIOUS
int ACTION_SKIP_TO_PREVIOUS
The adapter key for the skip to previous control.
Constant Value: 16 (0x00000010)
Public constructors
PlaybackBaseControlGlue
PlaybackBaseControlGlue (Context context, T impl)
Constructor for the glue.
Parameters | |
---|---|
impl |
T : Implementation to underlying media player.
|
Public methods
getArt
Drawable getArt ()
Returns | |
---|---|
Drawable |
The drawable representing cover image. |
getBufferedPosition
long getBufferedPosition ()
Returns | |
---|---|
long |
The current buffered position of the media item in milliseconds. |
getControlsRow
PlaybackControlsRow getControlsRow ()
Returns the playback controls row managed by the glue layer.
Returns | |
---|---|
PlaybackControlsRow |
getCurrentPosition
long getCurrentPosition ()
Returns | |
---|---|
long |
The current position of the media item in milliseconds. |
getDuration
long getDuration ()
Returns | |
---|---|
long |
The duration of the media item in milliseconds. |
getPlaybackRowPresenter
PlaybackRowPresenter getPlaybackRowPresenter ()
Returns the playback controls row Presenter managed by the glue layer.
Returns | |
---|---|
PlaybackRowPresenter |
getSubtitle
CharSequence getSubtitle ()
Return The media subtitle.
Returns | |
---|---|
CharSequence |
getSupportedActions
long getSupportedActions ()
Returns a bitmask of actions supported by the media player.
Returns | |
---|---|
long |
getTitle
CharSequence getTitle ()
Returns the title of the media item.
Returns | |
---|---|
CharSequence |
isControlsOverlayAutoHideEnabled
boolean isControlsOverlayAutoHideEnabled ()
Returns true if the controls auto hides after a timeout when media is playing.
Returns | |
---|---|
boolean |
See also:
isPlaying
boolean isPlaying ()
Returns true if media is currently playing.
Returns | |
---|---|
boolean |
isPrepared
boolean isPrepared ()
Returns true when the media player is prepared to start media playback. When returning false,
app may listen to onPreparedStateChanged(PlaybackGlue)
event.
Returns | |
---|---|
boolean |
True if prepared, false otherwise. |
onActionClicked
void onActionClicked (Action action)
Handles action clicks. A subclass may override this add support for additional actions.
Parameters | |
---|---|
action |
Action |
onKey
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 |
play
void play ()
Starts the media player. Does nothing if isPrepared()
is false. To wait
isPrepared()
to be true before playing, use playWhenPrepared()
.
previous
void previous ()
Goes to the previous media item. This method is optional.
seekTo
void seekTo (long position)
Seek media to a new position.
Parameters | |
---|---|
position |
long : New position.
|
setArt
void setArt (Drawable cover)
Sets the drawable representing cover image. The drawable will be rendered by default
description presenter in
setDescriptionPresenter(Presenter)
.
Parameters | |
---|---|
cover |
Drawable : The drawable representing cover image.
|
setControlsOverlayAutoHideEnabled
void setControlsOverlayAutoHideEnabled (boolean enable)
Sets the controls to auto hide after a timeout when media is playing.
Parameters | |
---|---|
enable |
boolean : True to enable auto hide after a timeout when media is playing. |
setControlsRow
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 |
setPlaybackRowPresenter
void setPlaybackRowPresenter (PlaybackRowPresenter presenter)
Sets the controls row Presenter to be managed by the glue layer.
Parameters | |
---|---|
presenter |
PlaybackRowPresenter |
setSubtitle
void setSubtitle (CharSequence subtitle)
Sets the media subtitle. The subtitle will be rendered by default description presenter
setDescriptionPresenter(Presenter)
.
Parameters | |
---|---|
subtitle |
CharSequence : Subtitle to set.
|
setTitle
void setTitle (CharSequence title)
Sets the media title. The title will be rendered by default description presenter
setDescriptionPresenter(Presenter)
.
Parameters | |
---|---|
title |
CharSequence |
Protected methods
notifyItemChanged
void notifyItemChanged (ArrayObjectAdapter adapter, Object object)
Parameters | |
---|---|
adapter |
ArrayObjectAdapter |
object |
Object |
onAttachedToHost
void onAttachedToHost (PlaybackGlueHost host)
This method is called attached to associated PlaybackGlueHost
. Subclass may override
and call super.onAttachedToHost().
Parameters | |
---|---|
host |
PlaybackGlueHost |
onCreatePrimaryActions
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 Action s.
|
onCreateRowPresenter
PlaybackRowPresenter onCreateRowPresenter ()
Returns | |
---|---|
PlaybackRowPresenter |
onCreateSecondaryActions
void onCreateSecondaryActions (ArrayObjectAdapter secondaryActionsAdapter)
May be overridden to add secondary actions to the adapter.
Parameters | |
---|---|
secondaryActionsAdapter |
ArrayObjectAdapter : The adapter you need to add the Action s to.
|
onDetachedFromHost
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.
onHostStart
void onHostStart ()
This method is called when {@link PlaybackGlueHost is started. Subclass may override.
onHostStop
void onHostStop ()
This method is called when {@link PlaybackGlueHost is stopped. Subclass may override.
onPlayCompleted
void onPlayCompleted ()
Event when play finishes, subclass may handling repeat mode here.
onPlayStateChanged
void onPlayStateChanged ()
Event when play state changed.
onPreparedStateChanged
void onPreparedStateChanged ()
Event when ready state for play changes.
Interfaces
Classes
- MediaControllerAdapter
- MediaControllerGlue
- MediaPlayerAdapter
- PlaybackBannerControlGlue
- PlaybackBaseControlGlue
- PlaybackControlGlue
- PlaybackGlue
- PlaybackGlue.PlayerCallback
- PlaybackGlueHost
- PlaybackGlueHost.HostCallback
- PlaybackGlueHost.PlayerCallback
- PlaybackTransportControlGlue
- PlayerAdapter
- PlayerAdapter.Callback