com.brightcove.player.mediacontroller.buttons

## Class VRButtonController

- java.lang.Object
- - com.brightcove.player.event.AbstractComponent
  - - com.brightcove.player.mediacontroller.buttons.AbstractButtonController
    - - com.brightcove.player.mediacontroller.buttons.VRButtonController

- All Implemented Interfaces:
    AccessibilityListener, Component, ButtonController, RemoteControlKeyState

      public class VRButtonController
      extends AbstractButtonController

  The default Brightcove VR mode button controller. This class is responsible for toggling the video between Video 360 view and VR view.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.brightcove.player.mediacontroller.buttons.AbstractButtonController

      `AbstractButtonController.Visibility`

  - ### Field Summary

    - ### Fields inherited from class com.brightcove.player.mediacontroller.buttons.AbstractButtonController

      `DEFAULT_AUDIO_TRACKS_BUTTON_ID, DEFAULT_CAPTIONS_BUTTON_ID, DEFAULT_FAST_FORWARD_BUTTON_ID, DEFAULT_FULL_SCREEN_BUTTON_ID, DEFAULT_LIVE_BUTTON_ID, DEFAULT_PLAY_BUTTON_ID, DEFAULT_REWIND_BUTTON_ID, DEFAULT_SEEK_BUTTON_ID, properties, stateList, videoView`

    - ### Fields inherited from class com.brightcove.player.event.AbstractComponent

      `eventEmitter, listenerTokens`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `VRButtonController(android.content.Context context, BaseVideoView videoView, BrightcoveControlBar controlBar, android.graphics.Typeface font)` Builds a VR button controller object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getManagedState()` Implements a getter for the managed video state.
    `int` | `getVisibilityState()` Gets the maintained visibility state for a button.

    - ### Methods inherited from class com.brightcove.player.mediacontroller.buttons.AbstractButtonController

      `getButton, getEventEmitter, getFont, getId, getProperties, getStateList, onAccessibilityStateChanged, onBack, onDpadCenter, onDpadDown, onDpadLeft, onDpadRight, onDpadUp, onFastForward, onHome, onMenu, onPause, onPlay, onPlayPause, onRewind, onSkipBackward, onSkipForward, setVisibility, syncStates`

    - ### Methods inherited from class com.brightcove.player.event.AbstractComponent

      `addListener, addOnceListener, removeListener, removeListeners`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.brightcove.player.mediacontroller.buttons.ButtonController

      `removeListeners`

- - ### Constructor Detail

    - #### VRButtonController

          public VRButtonController(android.content.Context context,
                                    BaseVideoView videoView,
                                    BrightcoveControlBar controlBar,
                                    android.graphics.Typeface font)

      Builds a VR button controller object.
      Parameters:
        `context` - The Android application context.
        `videoView` - the SDK video view object.
        `controlBar` - The button widget parent view.
        `font` - The, possibly null, typeface for the button.

  - ### Method Detail

    - #### getManagedState

          public int getManagedState()

      Implements a getter for the managed video state.
      See Also:
        `ButtonController.getManagedState()`

    - #### getVisibilityState

          public int getVisibilityState()

      Description copied from class: `AbstractButtonController`
      Gets the maintained visibility state for a button. Defaults to View.VISIBLE but can be overridden based on events. An example is the caption button.
      Specified by:
        `getVisibilityState` in interface `ButtonController`
      Overrides:
        `getVisibilityState` in class `AbstractButtonController`
      Returns:
        The expected visibility state, one of View.GONE, View.INVISIBLE or View.VISIBLE.
      See Also:
        `ButtonController.getVisibilityState()`