Package com.castlabs.sdk.playerui.dialogs

# Class VideoTrackSelectionDialogFragment

java.lang.Object
android.app.Fragment
android.app.DialogFragment
com.castlabs.sdk.playerui.dialogs.AbstractSelectionDialog<VideoTrackAndQuality>
com.castlabs.sdk.playerui.dialogs.VideoTrackSelectionDialogFragment

All Implemented Interfaces:
  `ComponentCallbacks`, `ComponentCallbacks2`, `DialogInterface.OnCancelListener`, `DialogInterface.OnClickListener`, `DialogInterface.OnDismissListener`, `View.OnCreateContextMenuListener`

public class VideoTrackSelectionDialogFragment extends AbstractSelectionDialog<VideoTrackAndQuality>
This is a utility class that allows you to create a DialogFragment that can be used to switch video tracks and qualities. See the various `newInstance` methods on how to customize the dialog.

Note that the hosting activity that starts the dialog should implement the `PlayerViewProvider` interface as the dialog needs to be able to access the underlying `IPlayerView` to retrieve its data and apply the selection even when the system disposes and recreates the dialog.

Since:
  3.0.0

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class android.app.Fragment

  `Fragment.InstantiationException, Fragment.SavedState`

- ## Field Summary

  ### Fields inherited from class com.castlabs.sdk.playerui.dialogs.AbstractSelectionDialog

  `ARG_ALLOW_DISABLE, ARG_ITEMS, ARG_SELECTED, ARG_TITLE`

  ### Fields inherited from class android.app.DialogFragment

  `STYLE_NO_FRAME, STYLE_NO_INPUT, STYLE_NO_TITLE, STYLE_NORMAL`

  ### Fields inherited from interface android.content.ComponentCallbacks2

  `TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VideoTrackSelectionDialogFragment()`
  Default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static VideoTrackSelectionDialogFragment`
  `newInstance(IPlayerView playerView, String title)`
  Creates a new dialog fragment that shows the available tracks and qualities and allows selecting a new track and quality.
  `static VideoTrackSelectionDialogFragment`
  `newInstance(IPlayerView playerView, String title, boolean allowDisable)`
  Creates a new dialog fragment that shows the available tracks and qualities and allows selecting a new track and quality.
  `static VideoTrackSelectionDialogFragment`
  `newInstance(IPlayerView playerView, String title, boolean allowDisable, Converter<VideoTrackAndQuality,String> converter)`
  Creates a new dialog fragment that shows the available tracks and qualities and allows selecting a new track and quality.
  `Dialog`
  `onCreateDialog(Bundle savedInstanceState)`

  ### Methods inherited from class com.castlabs.sdk.playerui.dialogs.AbstractSelectionDialog

  `getPlayerView, onClick, setPlayerView`

  ### Methods inherited from class android.app.DialogFragment

  `dismiss, dismissAllowingStateLoss, dump, getDialog, getShowsDialog, getTheme, isCancelable, onActivityCreated, onAttach, onCancel, onCreate, onDestroyView, onDetach, onDismiss, onGetLayoutInflater, onSaveInstanceState, onStart, onStop, setCancelable, setShowsDialog, setStyle, show, show`

  ### Methods inherited from class android.app.Fragment

  `equals, getActivity, getAllowEnterTransitionOverlap, getAllowReturnTransitionOverlap, getArguments, getChildFragmentManager, getContext, getEnterTransition, getExitTransition, getFragmentManager, getHost, getId, getLayoutInflater, getLoaderManager, getParentFragment, getReenterTransition, getResources, getRetainInstance, getReturnTransition, getSharedElementEnterTransition, getSharedElementReturnTransition, getString, getString, getTag, getTargetFragment, getTargetRequestCode, getText, getUserVisibleHint, getView, hashCode, instantiate, instantiate, isAdded, isDetached, isHidden, isInLayout, isRemoving, isResumed, isStateSaved, isVisible, onActivityResult, onAttach, onAttachFragment, onConfigurationChanged, onContextItemSelected, onCreateAnimator, onCreateContextMenu, onCreateOptionsMenu, onCreateView, onDestroy, onDestroyOptionsMenu, onHiddenChanged, onInflate, onInflate, onInflate, onLowMemory, onMultiWindowModeChanged, onMultiWindowModeChanged, onOptionsItemSelected, onOptionsMenuClosed, onPause, onPictureInPictureModeChanged, onPictureInPictureModeChanged, onPrepareOptionsMenu, onRequestPermissionsResult, onResume, onTrimMemory, onViewCreated, onViewStateRestored, postponeEnterTransition, registerForContextMenu, requestPermissions, setAllowEnterTransitionOverlap, setAllowReturnTransitionOverlap, setArguments, setEnterSharedElementCallback, setEnterTransition, setExitSharedElementCallback, setExitTransition, setHasOptionsMenu, setInitialSavedState, setMenuVisibility, setReenterTransition, setRetainInstance, setReturnTransition, setSharedElementEnterTransition, setSharedElementReturnTransition, setTargetFragment, setUserVisibleHint, shouldShowRequestPermissionRationale, startActivity, startActivity, startActivityForResult, startActivityForResult, startIntentSenderForResult, startPostponedEnterTransition, toString, unregisterForContextMenu`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### VideoTrackSelectionDialogFragment

    public VideoTrackSelectionDialogFragment()
    Default constructor.

- ## Method Details

  - ### newInstance

    public static VideoTrackSelectionDialogFragment newInstance(IPlayerView playerView, String title)
    Creates a new dialog fragment that shows the available tracks and qualities and allows selecting a new track and quality.

    By default, this dialog will allow to disable the video track.

    Parameters:
      `playerView` - The player view
      `title` - The dialog title
    Returns:
      The dialog fragment

  - ### newInstance

    public static VideoTrackSelectionDialogFragment newInstance(IPlayerView playerView, String title, boolean allowDisable)
    Creates a new dialog fragment that shows the available tracks and qualities and allows selecting a new track and quality.

    Parameters:
      `playerView` - The player view
      `title` - The dialog title
      `allowDisable` - If true, the dialog will allow to disable the video track.
    Returns:
      The dialog fragment

  - ### newInstance

    public static VideoTrackSelectionDialogFragment newInstance(IPlayerView playerView, String title, boolean allowDisable, Converter<VideoTrackAndQuality,String> converter)
    Creates a new dialog fragment that shows the available tracks and qualities and allows selecting a new track and quality.

    Parameters:
      `playerView` - The playerView
      `title` - The dialog title
      `allowDisable` - If true, the dialog will allow to disable the video track.
      `converter` - The converter that is used to translate `VideoTrackAndQuality` instanced to Strings that are used as labels in the dialog. Note that the converter should translate `null` to the string representation of the "disable" item if `allowDisable` is set to true.
    Returns:
      The dialog fragment

  - ### onCreateDialog

    @NonNull public Dialog onCreateDialog(Bundle savedInstanceState)
    Overrides:
      `onCreateDialog` in class `AbstractSelectionDialog<VideoTrackAndQuality>`