FakeTimeline
@UnstableApi
public final class FakeTimeline extends Timeline
Fake Timeline
which can be setup to return custom TimelineWindowDefinition
s.
Summary
Nested types |
---|
public final class FakeTimeline.TimelineWindowDefinition Definition used to define a |
Constants |
|
---|---|
static final MediaItem |
The fake media item used by the fake timeline. |
Public constructors |
---|
Create a fake timeline with one seekable, non-dynamic window with one period and a duration of |
FakeTimeline( Creates a fake timeline with the given window definitions. |
FakeTimeline( Creates a fake timeline with the given window definitions. |
FakeTimeline(int windowCount, Object[] manifests) Creates a fake timeline with the given number of seekable, non-dynamic windows with one period with a duration of |
FakeTimeline( Creates a fake timeline with the given window definitions and . |
Public methods |
|
---|---|
static AdPlaybackState |
createAdPlaybackState(int adsPerAdGroup, long[] adGroupTimesUs) Returns an ad playback state with the specified number of ads in each of the specified ad groups, each ten seconds long. |
static FakeTimeline |
createMultiPeriodAdTimeline( Creates a multi-period timeline with ad and content periods specified by the flags passed as var-arg arguments. |
ImmutableMap<Object, AdPlaybackState> |
getAdPlaybackStates(int windowIndex) Returns a map of ad playback states keyed by the period UID. |
int |
getFirstWindowIndex(boolean shuffleModeEnabled) Returns the index of the first window in the playback order depending on whether shuffling is enabled. |
int |
getIndexOfPeriod(Object uid) Returns the index of the period identified by its unique |
int |
getLastWindowIndex(boolean shuffleModeEnabled) Returns the index of the last window in the playback order depending on whether shuffling is enabled. |
int |
getNextWindowIndex( Returns the index of the window after the window at index |
Timeline.Period |
getPeriod(int periodIndex, Timeline.Period period, boolean setIds) Populates a |
int |
Returns the number of periods in the timeline. |
int |
getPreviousWindowIndex( Returns the index of the window before the window at index |
Object |
getUidOfPeriod(int periodIndex) Returns the unique id of the period identified by its index in the timeline. |
Timeline.Window |
getWindow( Populates a |
int |
Returns the number of windows in the timeline. |
Inherited methods |
||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Constants
FAKE_MEDIA_ITEM
public static final MediaItem FAKE_MEDIA_ITEM
The fake media item used by the fake timeline.
Public constructors
FakeTimeline
public FakeTimeline()
Create a fake timeline with one seekable, non-dynamic window with one period and a duration of DEFAULT_WINDOW_DURATION_US
.
FakeTimeline
public FakeTimeline(
FakeTimeline.TimelineWindowDefinition[] windowDefinitions
)
Creates a fake timeline with the given window definitions.
Parameters | |
---|---|
FakeTimeline.TimelineWindowDefinition[] windowDefinitions |
A list of |
FakeTimeline
public FakeTimeline(
Object[] manifests,
FakeTimeline.TimelineWindowDefinition[] windowDefinitions
)
Creates a fake timeline with the given window definitions.
Parameters | |
---|---|
Object[] manifests |
The manifests of the windows. |
FakeTimeline.TimelineWindowDefinition[] windowDefinitions |
A list of |
FakeTimeline
public FakeTimeline(int windowCount, Object[] manifests)
Creates a fake timeline with the given number of seekable, non-dynamic windows with one period with a duration of DEFAULT_WINDOW_DURATION_US
each.
Parameters | |
---|---|
int windowCount |
The number of windows. |
Object[] manifests |
The manifests of the windows. |
FakeTimeline
public FakeTimeline(
Object[] manifests,
ShuffleOrder shuffleOrder,
FakeTimeline.TimelineWindowDefinition[] windowDefinitions
)
Creates a fake timeline with the given window definitions and .
Parameters | |
---|---|
Object[] manifests |
The manifests of the windows. |
ShuffleOrder shuffleOrder |
A shuffle ordering for the windows. |
FakeTimeline.TimelineWindowDefinition[] windowDefinitions |
A list of |
Public methods
createAdPlaybackState
public static AdPlaybackState createAdPlaybackState(int adsPerAdGroup, long[] adGroupTimesUs)
Returns an ad playback state with the specified number of ads in each of the specified ad groups, each ten seconds long.
Parameters | |
---|---|
int adsPerAdGroup |
The number of ads per ad group. |
long[] adGroupTimesUs |
The times of ad groups, in microseconds. |
Returns | |
---|---|
AdPlaybackState |
The ad playback state. |
createMultiPeriodAdTimeline
public static FakeTimeline createMultiPeriodAdTimeline(
Object windowId,
int numberOfPlayedAds,
boolean[] isAdPeriodFlags
)
Creates a multi-period timeline with ad and content periods specified by the flags passed as var-arg arguments.
Period uid end up being a new Pair<>(windowId, periodIndex)
.
Parameters | |
---|---|
Object windowId |
The window ID. |
int numberOfPlayedAds |
The number of ads that should be marked as played. |
boolean[] isAdPeriodFlags |
A value of true indicates an ad period. A value of false indicated a content period. |
Returns | |
---|---|
FakeTimeline |
A timeline with a single window with as many periods as var-arg arguments. |
getAdPlaybackStates
public ImmutableMap<Object, AdPlaybackState> getAdPlaybackStates(int windowIndex)
Returns a map of ad playback states keyed by the period UID.
Parameters | |
---|---|
int windowIndex |
The window index of the window to get the map of ad playback states from. |
Returns | |
---|---|
ImmutableMap<Object, AdPlaybackState> |
The map of |
getFirstWindowIndex
public int getFirstWindowIndex(boolean shuffleModeEnabled)
Returns the index of the first window in the playback order depending on whether shuffling is enabled.
Parameters | |
---|---|
boolean shuffleModeEnabled |
Whether shuffling is enabled. |
Returns | |
---|---|
int |
The index of the first window in the playback order, or |
getIndexOfPeriod
public int getIndexOfPeriod(Object uid)
Returns the index of the period identified by its unique uid
, or INDEX_UNSET
if the period is not in the timeline.
Parameters | |
---|---|
Object uid |
A unique identifier for a period. |
Returns | |
---|---|
int |
The index of the period, or |
getLastWindowIndex
public int getLastWindowIndex(boolean shuffleModeEnabled)
Returns the index of the last window in the playback order depending on whether shuffling is enabled.
Parameters | |
---|---|
boolean shuffleModeEnabled |
Whether shuffling is enabled. |
Returns | |
---|---|
int |
The index of the last window in the playback order, or |
getNextWindowIndex
public int getNextWindowIndex(
int windowIndex,
@Player.RepeatMode int repeatMode,
boolean shuffleModeEnabled
)
Returns the index of the window after the window at index windowIndex
depending on the repeatMode
and whether shuffling is enabled.
Parameters | |
---|---|
int windowIndex |
Index of a window in the timeline. |
@Player.RepeatMode int repeatMode |
A repeat mode. |
boolean shuffleModeEnabled |
Whether shuffling is enabled. |
Returns | |
---|---|
int |
The index of the next window, or |
getPeriod
public Timeline.Period getPeriod(int periodIndex, Timeline.Period period, boolean setIds)
Populates a Period
with data for the period at the specified index.
Parameters | |
---|---|
int periodIndex |
The index of the period. |
Timeline.Period period |
The |
boolean setIds |
Whether |
Returns | |
---|---|
Timeline.Period |
The populated |
getPreviousWindowIndex
public int getPreviousWindowIndex(
int windowIndex,
@Player.RepeatMode int repeatMode,
boolean shuffleModeEnabled
)
Returns the index of the window before the window at index windowIndex
depending on the repeatMode
and whether shuffling is enabled.
Parameters | |
---|---|
int windowIndex |
Index of a window in the timeline. |
@Player.RepeatMode int repeatMode |
A repeat mode. |
boolean shuffleModeEnabled |
Whether shuffling is enabled. |
Returns | |
---|---|
int |
The index of the previous window, or |
getUidOfPeriod
public Object getUidOfPeriod(int periodIndex)
Returns the unique id of the period identified by its index in the timeline.
Parameters | |
---|---|
int periodIndex |
The index of the period. |
Returns | |
---|---|
Object |
The unique id of the period. |
getWindow
public Timeline.Window getWindow(
int windowIndex,
Timeline.Window window,
long defaultPositionProjectionUs
)
Populates a Window
with data for the window at the specified index.
Parameters | |
---|---|
int windowIndex |
The index of the window. |
Timeline.Window window |
The |
long defaultPositionProjectionUs |
A duration into the future that the populated window's default start position should be projected. |
Returns | |
---|---|
Timeline.Window |
The populated |