Package com.castlabs.sdk.playerui.dialogs

## Class VideoQualitySelectionDialogFragment

- java.lang.Object
- - android.app.Fragment
  - - android.app.DialogFragment
    - - com.castlabs.sdk.playerui.dialogs.AbstractSelectionDialog<VideoTrackQuality>
      - - com.castlabs.sdk.playerui.dialogs.VideoQualitySelectionDialogFragment

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

      public class VideoQualitySelectionDialogFragment
      extends AbstractSelectionDialog<VideoTrackQuality>

  This is a utility class that allows you to create a DialogFragment that can be used to switch video 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
    --- | ---
    `VideoQualitySelectionDialogFragment()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static VideoQualitySelectionDialogFragment` | `newInstance​(IPlayerView playerView, String title)` | Creates a new dialog fragment that shows the available tracks and allows selecting the new track.
    `static VideoQualitySelectionDialogFragment` | `newInstance​(IPlayerView playerView, String title, boolean allowDisable)` | Creates a new dialog fragment that shows the available tracks and allows selecting the new track.
    `static VideoQualitySelectionDialogFragment` | `newInstance​(IPlayerView playerView, String title, boolean allowDisable, Converter<VideoTrackQuality,​String> converter)` | Creates a new dialog fragment that shows the available tracks and allows selecting the new track.

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

      `getPlayerView, onClick, onCreateDialog, 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 Detail

    - #### VideoQualitySelectionDialogFragment

          public VideoQualitySelectionDialogFragment()

  - ### Method Detail

    - #### newInstance

          public static VideoQualitySelectionDialogFragment newInstance​(IPlayerView playerView,
                                                                        String title)

      Creates a new dialog fragment that shows the available tracks and allows selecting the new track.

      By default, this dialog will allow to disable the manual selection and turn on adaptive bitrate switching.

      The default string representation of the track is its label (see `VideoTrackQuality.getLabel()`).
      Parameters:
        `playerView` - The player view
        `title` - The dialog title
      Returns:
        The dialog fragment

    - #### newInstance

          public static VideoQualitySelectionDialogFragment newInstance​(IPlayerView playerView,
                                                                        String title,
                                                                        boolean allowDisable)

      Creates a new dialog fragment that shows the available tracks and allows selecting the new track.

      The default string representation of the track is its label (see `VideoTrackQuality.getLabel()`).
      Parameters:
        `playerView` - The player view
        `title` - The dialog title
        `allowDisable` - If true, the dialog will allow to switch to automatic bitrate switching and disable the manual selection. The default label for the "disable" item will be "Auto". You can use a custom converter to specify a different label.
      Returns:
        The dialog fragment

    - #### newInstance

          public static VideoQualitySelectionDialogFragment newInstance​(IPlayerView playerView,
                                                                        String title,
                                                                        boolean allowDisable,
                                                                        Converter<VideoTrackQuality,​String> converter)

      Creates a new dialog fragment that shows the available tracks and allows selecting the new track.

      The default string representation of the track is its label (see `VideoTrackQuality.getLabel()`).
      Parameters:
        `playerView` - The playerView
        `title` - The dialog title
        `allowDisable` - If true, the dialog will allow to switch to automatic bitrate switching and disable the manual selection.
        `converter` - The converter that is used to translate `VideoTrackQuality` 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