From 943e165f1f1b83155cff5e765eeb6a2a6d4415ee Mon Sep 17 00:00:00 2001 From: Colin Kho Date: Thu, 19 Sep 2024 16:50:46 -0700 Subject: [PATCH] Add variable to track playWhenReady status of a TrackSelection instance --- .../trackselection/BaseTrackSelection.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/BaseTrackSelection.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/BaseTrackSelection.java index b346fe6cb3..36adbce9dd 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/BaseTrackSelection.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/BaseTrackSelection.java @@ -54,6 +54,10 @@ public abstract class BaseTrackSelection implements ExoTrackSelection { // Lazily initialized hashcode. private int hashCode; + /** + * The last playWhenReady value when {@link #onPlayWhenReadyChanged(boolean)} was triggered */ + private boolean lastPlayWhenReady; + /** * @param group The {@link TrackGroup}. Must not be null. * @param tracks The indices of the selected tracks within the {@link TrackGroup}. Must not be @@ -87,6 +91,7 @@ public abstract class BaseTrackSelection implements ExoTrackSelection { this.tracks[i] = group.indexOf(formats[i]); } excludeUntilTimes = new long[length]; + lastPlayWhenReady = false; } // TrackSelection implementation. @@ -191,6 +196,15 @@ public abstract class BaseTrackSelection implements ExoTrackSelection { return excludeUntilTimes[index] > nowMs; } + @Override + public void onPlayWhenReadyChanged(boolean playWhenReady) { + lastPlayWhenReady = playWhenReady; + } + + protected final boolean getPlayWhenReady() { + return lastPlayWhenReady; + } + // Object overrides. @Override