Add Nullable annotations to CastPlayer
PiperOrigin-RevId: 256680382
This commit is contained in:
parent
d66f0c51a4
commit
e852ff1dfa
@ -83,8 +83,6 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
private final CastTimelineTracker timelineTracker;
|
private final CastTimelineTracker timelineTracker;
|
||||||
private final Timeline.Period period;
|
private final Timeline.Period period;
|
||||||
|
|
||||||
private RemoteMediaClient remoteMediaClient;
|
|
||||||
|
|
||||||
// Result callbacks.
|
// Result callbacks.
|
||||||
private final StatusListener statusListener;
|
private final StatusListener statusListener;
|
||||||
private final SeekResultCallback seekResultCallback;
|
private final SeekResultCallback seekResultCallback;
|
||||||
@ -93,9 +91,10 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
private final CopyOnWriteArrayList<ListenerHolder> listeners;
|
private final CopyOnWriteArrayList<ListenerHolder> listeners;
|
||||||
private final ArrayList<ListenerNotificationTask> notificationsBatch;
|
private final ArrayList<ListenerNotificationTask> notificationsBatch;
|
||||||
private final ArrayDeque<ListenerNotificationTask> ongoingNotificationsTasks;
|
private final ArrayDeque<ListenerNotificationTask> ongoingNotificationsTasks;
|
||||||
private SessionAvailabilityListener sessionAvailabilityListener;
|
@Nullable private SessionAvailabilityListener sessionAvailabilityListener;
|
||||||
|
|
||||||
// Internal state.
|
// Internal state.
|
||||||
|
@Nullable private RemoteMediaClient remoteMediaClient;
|
||||||
private CastTimeline currentTimeline;
|
private CastTimeline currentTimeline;
|
||||||
private TrackGroupArray currentTrackGroups;
|
private TrackGroupArray currentTrackGroups;
|
||||||
private TrackSelectionArray currentTrackSelection;
|
private TrackSelectionArray currentTrackSelection;
|
||||||
@ -148,6 +147,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
* starts at position 0.
|
* starts at position 0.
|
||||||
* @return The Cast {@code PendingResult}, or null if no session is available.
|
* @return The Cast {@code PendingResult}, or null if no session is available.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
public PendingResult<MediaChannelResult> loadItem(MediaQueueItem item, long positionMs) {
|
public PendingResult<MediaChannelResult> loadItem(MediaQueueItem item, long positionMs) {
|
||||||
return loadItems(new MediaQueueItem[] {item}, 0, positionMs, REPEAT_MODE_OFF);
|
return loadItems(new MediaQueueItem[] {item}, 0, positionMs, REPEAT_MODE_OFF);
|
||||||
}
|
}
|
||||||
@ -163,8 +163,9 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
* @param repeatMode The repeat mode for the created media queue.
|
* @param repeatMode The repeat mode for the created media queue.
|
||||||
* @return The Cast {@code PendingResult}, or null if no session is available.
|
* @return The Cast {@code PendingResult}, or null if no session is available.
|
||||||
*/
|
*/
|
||||||
public PendingResult<MediaChannelResult> loadItems(MediaQueueItem[] items, int startIndex,
|
@Nullable
|
||||||
long positionMs, @RepeatMode int repeatMode) {
|
public PendingResult<MediaChannelResult> loadItems(
|
||||||
|
MediaQueueItem[] items, int startIndex, long positionMs, @RepeatMode int repeatMode) {
|
||||||
if (remoteMediaClient != null) {
|
if (remoteMediaClient != null) {
|
||||||
positionMs = positionMs != C.TIME_UNSET ? positionMs : 0;
|
positionMs = positionMs != C.TIME_UNSET ? positionMs : 0;
|
||||||
waitingForInitialTimeline = true;
|
waitingForInitialTimeline = true;
|
||||||
@ -180,6 +181,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
* @param items The items to append.
|
* @param items The items to append.
|
||||||
* @return The Cast {@code PendingResult}, or null if no media queue exists.
|
* @return The Cast {@code PendingResult}, or null if no media queue exists.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
public PendingResult<MediaChannelResult> addItems(MediaQueueItem... items) {
|
public PendingResult<MediaChannelResult> addItems(MediaQueueItem... items) {
|
||||||
return addItems(MediaQueueItem.INVALID_ITEM_ID, items);
|
return addItems(MediaQueueItem.INVALID_ITEM_ID, items);
|
||||||
}
|
}
|
||||||
@ -194,6 +196,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
* @return The Cast {@code PendingResult}, or null if no media queue or no period with id {@code
|
* @return The Cast {@code PendingResult}, or null if no media queue or no period with id {@code
|
||||||
* periodId} exist.
|
* periodId} exist.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
public PendingResult<MediaChannelResult> addItems(int periodId, MediaQueueItem... items) {
|
public PendingResult<MediaChannelResult> addItems(int periodId, MediaQueueItem... items) {
|
||||||
if (getMediaStatus() != null && (periodId == MediaQueueItem.INVALID_ITEM_ID
|
if (getMediaStatus() != null && (periodId == MediaQueueItem.INVALID_ITEM_ID
|
||||||
|| currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET)) {
|
|| currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET)) {
|
||||||
@ -211,6 +214,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
* @return The Cast {@code PendingResult}, or null if no media queue or no period with id {@code
|
* @return The Cast {@code PendingResult}, or null if no media queue or no period with id {@code
|
||||||
* periodId} exist.
|
* periodId} exist.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
public PendingResult<MediaChannelResult> removeItem(int periodId) {
|
public PendingResult<MediaChannelResult> removeItem(int periodId) {
|
||||||
if (getMediaStatus() != null && currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET) {
|
if (getMediaStatus() != null && currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET) {
|
||||||
return remoteMediaClient.queueRemoveItem(periodId, null);
|
return remoteMediaClient.queueRemoveItem(periodId, null);
|
||||||
@ -229,6 +233,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
* @return The Cast {@code PendingResult}, or null if no media queue or no period with id {@code
|
* @return The Cast {@code PendingResult}, or null if no media queue or no period with id {@code
|
||||||
* periodId} exist.
|
* periodId} exist.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
public PendingResult<MediaChannelResult> moveItem(int periodId, int newIndex) {
|
public PendingResult<MediaChannelResult> moveItem(int periodId, int newIndex) {
|
||||||
Assertions.checkArgument(newIndex >= 0 && newIndex < currentTimeline.getPeriodCount());
|
Assertions.checkArgument(newIndex >= 0 && newIndex < currentTimeline.getPeriodCount());
|
||||||
if (getMediaStatus() != null && currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET) {
|
if (getMediaStatus() != null && currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET) {
|
||||||
@ -246,6 +251,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
* @return The item that corresponds to the period with the given id, or null if no media queue or
|
* @return The item that corresponds to the period with the given id, or null if no media queue or
|
||||||
* period with id {@code periodId} exist.
|
* period with id {@code periodId} exist.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
public MediaQueueItem getItem(int periodId) {
|
public MediaQueueItem getItem(int periodId) {
|
||||||
MediaStatus mediaStatus = getMediaStatus();
|
MediaStatus mediaStatus = getMediaStatus();
|
||||||
return mediaStatus != null && currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET
|
return mediaStatus != null && currentTimeline.getIndexOfPeriod(periodId) != C.INDEX_UNSET
|
||||||
@ -264,9 +270,9 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
/**
|
/**
|
||||||
* Sets a listener for updates on the cast session availability.
|
* Sets a listener for updates on the cast session availability.
|
||||||
*
|
*
|
||||||
* @param listener The {@link SessionAvailabilityListener}.
|
* @param listener The {@link SessionAvailabilityListener}, or null to clear the listener.
|
||||||
*/
|
*/
|
||||||
public void setSessionAvailabilityListener(SessionAvailabilityListener listener) {
|
public void setSessionAvailabilityListener(@Nullable SessionAvailabilityListener listener) {
|
||||||
sessionAvailabilityListener = listener;
|
sessionAvailabilityListener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -323,6 +329,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public ExoPlaybackException getPlaybackError() {
|
public ExoPlaybackException getPlaybackError() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -530,7 +537,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
|
|
||||||
// Internal methods.
|
// Internal methods.
|
||||||
|
|
||||||
public void updateInternalState() {
|
private void updateInternalState() {
|
||||||
if (remoteMediaClient == null) {
|
if (remoteMediaClient == null) {
|
||||||
// There is no session. We leave the state of the player as it is now.
|
// There is no session. We leave the state of the player as it is now.
|
||||||
return;
|
return;
|
||||||
@ -676,7 +683,8 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private @Nullable MediaStatus getMediaStatus() {
|
@Nullable
|
||||||
|
private MediaStatus getMediaStatus() {
|
||||||
return remoteMediaClient != null ? remoteMediaClient.getMediaStatus() : null;
|
return remoteMediaClient != null ? remoteMediaClient.getMediaStatus() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user