com.brightcove.player.mediacontroller.buttons

## Class LiveButtonController

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

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

      public class LiveButtonController
      extends AbstractButtonController

  The default Brightcove live controller.

- - ### Nested Class Summary

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

      `AbstractButtonController.Visibility`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `LIVE_EDGE_STATE`

    - ### 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
    `LiveButtonController(android.content.Context context, BaseVideoView videoView, android.view.View controlBar, android.graphics.Typeface font, android.os.Bundle bundle)` Builds a button controller to handle the live button, handling things like setting the foreground color to provide the user with an indication that the video is showing either live video or recorded video, returning to showing live video, handling initial play, etc.

  - ### Method Summary

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

    - ### 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`

- - ### Field Detail

    - #### LIVE_EDGE_STATE

          public static final java.lang.String LIVE_EDGE_STATE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### LiveButtonController

          public LiveButtonController(android.content.Context context,
                                      BaseVideoView videoView,
                                      android.view.View controlBar,
                                      android.graphics.Typeface font,
                                      android.os.Bundle bundle)

      Builds a button controller to handle the live button, handling things like setting the foreground color to provide the user with an indication that the video is showing either live video or recorded video, returning to showing live video, handling initial play, etc.
      Parameters:
        `context` - The Android application context.
        `videoView` - The SDK video view object parenting the control bar.
        `controlBar` - The button widget parent view.
        `font` - The, possibly null, typeface for the button.

  - ### Method Detail

    - #### isLiveEdgeState

          public boolean isLiveEdgeState()

    - #### getManagedState

          public int getManagedState()

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

    - #### getVisibilityState

          public int getVisibilityState()

      Gets the current visibility state. For the LIVE button, it is visible whenever a the video view has detected a live video.
      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()`