com.brightcove.ssai.tracking.ui

## Class UiTimedTracker<T extends TickerObserver & Tracker>

- java.lang.Object
- - com.brightcove.player.event.AbstractComponent
  - - com.brightcove.ssai.tracking.ui.UiTimedTracker<T>

- All Implemented Interfaces:
    Component, Tracker

      @ListensFor(events={"adPaused","adResumed","didSeekTo","didEnterFullScreen","didExitFullScreen","clickLinearCreative","renderedCompanion","adProgress"})
       @Emits(events={})
      public class UiTimedTracker<T extends TickerObserver & Tracker>
      extends AbstractComponent
      implements Tracker

  Decorator of a `Tracker` which adds functionality to handle UI based events.

- - ### Field Summary

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

      `eventEmitter, listenerTokens`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T extends TickerObserver & Tracker> UiTimedTracker` | `create(EventEmitter eventEmitter, T tracker)` Instantiates a UiTimedTracker that decorates a TimedTracker.
    `T` | `getTimedTracker()`
    `Timeline` | `getTimeline()` Returns the `Timeline`.
    `void` | `track(java.util.List<TrackingEvent> trackingEvents)` Tracks the given `TrackingEvent`.

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

      `addListener, addOnceListener, getEventEmitter, removeListener, removeListeners`

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

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

- - ### Method Detail

    - #### create

          public static <T extends TickerObserver & Tracker> UiTimedTracker create(@NonNull
                                                                                   EventEmitter eventEmitter,
                                                                                   @NonNull
                                                                                   T tracker)

      Instantiates a UiTimedTracker that decorates a TimedTracker.
      Parameters:
        `eventEmitter` - EventEmitter to listen for the UiEvents.
        `tracker` - TimedTracker to decorate.
      Returns:
        a new instance of a UiTimedTracker.

    - #### getTimedTracker

          public T getTimedTracker()

    - #### getTimeline

          @NonNull
          public Timeline getTimeline()

      Description copied from interface: `Tracker`
      Returns the `Timeline`.
      Specified by:
        `getTimeline` in interface `Tracker`

    - #### track

          public void track(@NonNull
                            java.util.List<TrackingEvent> trackingEvents)

      Description copied from interface: `Tracker`
      Tracks the given `TrackingEvent`.
      Specified by:
        `track` in interface `Tracker`
      Parameters:
        `trackingEvents` - List of events to be tracked.