Package com.castlabs.android.player

# Interface PlayerViewPlugin.PlayerViewComponent

All Known Implementing Classes:
  `PlayerViewPlugin.SingleViewPlayerViewComponent`, `SubtitlesViewComponent`

Enclosing interface:
  `PlayerViewPlugin`

public static interface PlayerViewPlugin.PlayerViewComponent
Implementations of this view component can be used to gain controlled access to a `IPlayerView` and its `PlayerController`.

The component can use the `IPlayerView` or its `PlayerController` to add event listeners and get callbacks during the playback lifecycle.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `POSITION_DEBUG`
  Position of the debug information.
  `static final int`
  `POSITION_SUBTITLES`
  Position of the subtitles.
  `static final int`
  `POSITION_THUMBNAILS`
  Position of the thumbnails.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<? extends View>`
  `attachToPlayerView(PlayerView playerView)`
  Create any necessary Views, attach them to the given PlayerView and return them.
  `int`
  `getViewElevation()`
  Will be used by the `IPlayerView` to decide in which order the different Components will `attach` their Views.
  `Class`
  `id()`
  Returns the class that is used to identify this component when it is registered with the player view.

- ## Field Details

  - ### POSITION_SUBTITLES

    static final int POSITION_SUBTITLES
    Position of the subtitles.
    See Also:
      - Constant Field Values

  - ### POSITION_THUMBNAILS

    static final int POSITION_THUMBNAILS
    Position of the thumbnails.
    See Also:
      - Constant Field Values

  - ### POSITION_DEBUG

    static final int POSITION_DEBUG
    Position of the debug information.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getViewElevation

    int getViewElevation()
    Will be used by the `IPlayerView` to decide in which order the different Components will `attach` their Views. Higher values will be called later, and thus being "higher" in terms of z-ordering.
    Returns:
      the elevation required by this PlayerViewComponent

  - ### id

    @Nullable Class id()
    Returns the class that is used to identify this component when it is registered with the player view. This is what you need to pass to `PlayerView.getComponent(Class)` to get the registered instance of this component.
    Returns:
      The class that identifies this component.

  - ### attachToPlayerView

    @NonNull Collection<? extends View> attachToPlayerView(@NonNull PlayerView playerView)
    Create any necessary Views, attach them to the given PlayerView and return them.
    Parameters:
      `playerView` - the PlayerView to which attach the views
    Returns:
      The created Views.