Package com.google.android.exoplayer2.ui
Class TrackSelectionDialogBuilder
- java.lang.Object
-
- com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
-
public final class TrackSelectionDialogBuilder extends Object
Builder for a dialog with aTrackSelectionView
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
TrackSelectionDialogBuilder.DialogCallback
Callback which is invoked when a track selection has been made.
-
Constructor Summary
Constructors Constructor Description TrackSelectionDialogBuilder(Context context, CharSequence title, DefaultTrackSelector trackSelector, int rendererIndex)
Creates a builder for a track selection dialog which automatically updates aDefaultTrackSelector
.TrackSelectionDialogBuilder(Context context, CharSequence title, MappingTrackSelector.MappedTrackInfo mappedTrackInfo, int rendererIndex, TrackSelectionDialogBuilder.DialogCallback callback)
Creates a builder for a track selection dialog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Dialog
build()
Builds the dialog.TrackSelectionDialogBuilder
setAllowAdaptiveSelections(boolean allowAdaptiveSelections)
Sets whether adaptive selections (consisting of more than one track) can be made.TrackSelectionDialogBuilder
setAllowMultipleOverrides(boolean allowMultipleOverrides)
Sets whether multiple overrides can be set and selected, i.e.TrackSelectionDialogBuilder
setIsDisabled(boolean isDisabled)
Sets whether the selection is initially shown as disabled.TrackSelectionDialogBuilder
setOverride(DefaultTrackSelector.SelectionOverride override)
Sets the initial selection override to show.TrackSelectionDialogBuilder
setOverrides(List<DefaultTrackSelector.SelectionOverride> overrides)
Sets the list of initial selection overrides to show.TrackSelectionDialogBuilder
setShowDisableOption(boolean showDisableOption)
Sets whether an option is available for disabling the renderer.TrackSelectionDialogBuilder
setTheme(int themeResId)
Sets the resource ID of the theme used to inflate this dialog.void
setTrackFormatComparator(Comparator<Format> trackFormatComparator)
Sets aComparator
used to determine the display order of the tracks within each track group.TrackSelectionDialogBuilder
setTrackNameProvider(TrackNameProvider trackNameProvider)
Sets theTrackNameProvider
used to generate the user visible name of each track and updates the view with track names queried from the specified provider.
-
-
-
Constructor Detail
-
TrackSelectionDialogBuilder
public TrackSelectionDialogBuilder(Context context, CharSequence title, MappingTrackSelector.MappedTrackInfo mappedTrackInfo, int rendererIndex, TrackSelectionDialogBuilder.DialogCallback callback)
Creates a builder for a track selection dialog.- Parameters:
context
- The context of the dialog.title
- The title of the dialog.mappedTrackInfo
- TheMappingTrackSelector.MappedTrackInfo
containing the track information.rendererIndex
- The renderer index in themappedTrackInfo
for which the track selection is shown.callback
- TheTrackSelectionDialogBuilder.DialogCallback
invoked when a track selection has been made.
-
TrackSelectionDialogBuilder
public TrackSelectionDialogBuilder(Context context, CharSequence title, DefaultTrackSelector trackSelector, int rendererIndex)
Creates a builder for a track selection dialog which automatically updates aDefaultTrackSelector
.- Parameters:
context
- The context of the dialog.title
- The title of the dialog.trackSelector
- ADefaultTrackSelector
whose current selection is used to set up the dialog and which is updated when new tracks are selected in the dialog.rendererIndex
- The renderer index in thetrackSelector
for which the track selection is shown.
-
-
Method Detail
-
setTheme
public TrackSelectionDialogBuilder setTheme(@StyleRes int themeResId)
Sets the resource ID of the theme used to inflate this dialog.- Parameters:
themeResId
- The resource ID of the theme.- Returns:
- This builder, for convenience.
-
setIsDisabled
public TrackSelectionDialogBuilder setIsDisabled(boolean isDisabled)
Sets whether the selection is initially shown as disabled.- Parameters:
isDisabled
- Whether the selection is initially shown as disabled.- Returns:
- This builder, for convenience.
-
setOverride
public TrackSelectionDialogBuilder setOverride(@Nullable DefaultTrackSelector.SelectionOverride override)
Sets the initial selection override to show.- Parameters:
override
- The initial override to show, or null for no override.- Returns:
- This builder, for convenience.
-
setOverrides
public TrackSelectionDialogBuilder setOverrides(List<DefaultTrackSelector.SelectionOverride> overrides)
Sets the list of initial selection overrides to show.Note that only the first override will be used unless
setAllowMultipleOverrides(boolean)
is set totrue
.- Parameters:
overrides
- The list of initial overrides to show. There must be at most one override for each track group.- Returns:
- This builder, for convenience.
-
setAllowAdaptiveSelections
public TrackSelectionDialogBuilder setAllowAdaptiveSelections(boolean allowAdaptiveSelections)
Sets whether adaptive selections (consisting of more than one track) can be made.For the selection view to enable adaptive selection it is necessary both for this feature to be enabled, and for the target renderer to support adaptation between the available tracks.
- Parameters:
allowAdaptiveSelections
- Whether adaptive selection is enabled.- Returns:
- This builder, for convenience.
-
setAllowMultipleOverrides
public TrackSelectionDialogBuilder setAllowMultipleOverrides(boolean allowMultipleOverrides)
Sets whether multiple overrides can be set and selected, i.e. tracks from multiple track groups can be selected.- Parameters:
allowMultipleOverrides
- Whether multiple track selection overrides are allowed.- Returns:
- This builder, for convenience.
-
setShowDisableOption
public TrackSelectionDialogBuilder setShowDisableOption(boolean showDisableOption)
Sets whether an option is available for disabling the renderer.- Parameters:
showDisableOption
- Whether the disable option is shown.- Returns:
- This builder, for convenience.
-
setTrackFormatComparator
public void setTrackFormatComparator(@Nullable Comparator<Format> trackFormatComparator)
Sets aComparator
used to determine the display order of the tracks within each track group.- Parameters:
trackFormatComparator
- The comparator, ornull
to use the original order.
-
setTrackNameProvider
public TrackSelectionDialogBuilder setTrackNameProvider(@Nullable TrackNameProvider trackNameProvider)
Sets theTrackNameProvider
used to generate the user visible name of each track and updates the view with track names queried from the specified provider.- Parameters:
trackNameProvider
- TheTrackNameProvider
to use, or null to use the default.
-
build
public Dialog build()
Builds the dialog.
-
-