From dd5905a9fba3e5f0005560581e53c0384e42e192 Mon Sep 17 00:00:00 2001 From: olly Date: Fri, 27 Oct 2017 07:33:34 -0700 Subject: [PATCH] Don't query empty timeline for next/previous windows ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=173668909 --- .../java/com/google/android/exoplayer2/ExoPlayerImpl.java | 8 ++++---- .../main/java/com/google/android/exoplayer2/Timeline.java | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java index 57fc421bc6..7f9b25b606 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java @@ -331,14 +331,14 @@ import java.util.concurrent.CopyOnWriteArraySet; @Override public int getNextWindowIndex() { - return timeline.getNextWindowIndex(getCurrentWindowIndex(), getRepeatMode(), - getShuffleModeEnabled()); + return timeline.isEmpty() ? C.INDEX_UNSET + : timeline.getNextWindowIndex(getCurrentWindowIndex(), repeatMode, shuffleModeEnabled); } @Override public int getPreviousWindowIndex() { - return timeline.getPreviousWindowIndex(getCurrentWindowIndex(), getRepeatMode(), - getShuffleModeEnabled()); + return timeline.isEmpty() ? C.INDEX_UNSET + : timeline.getPreviousWindowIndex(getCurrentWindowIndex(), repeatMode, shuffleModeEnabled); } @Override diff --git a/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java b/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java index b83a99295a..783278a121 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java @@ -564,7 +564,7 @@ public abstract class Timeline { boolean shuffleModeEnabled) { switch (repeatMode) { case Player.REPEAT_MODE_OFF: - return windowIndex == getLastWindowIndex(shuffleModeEnabled) ? C.INDEX_UNSET + return windowIndex == getLastWindowIndex(shuffleModeEnabled) ? C.INDEX_UNSET : windowIndex + 1; case Player.REPEAT_MODE_ONE: return windowIndex;