From af5df6e7000a0577513c0e71c9170521208c19ed Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Tue, 20 Aug 2024 11:26:59 +0100 Subject: [PATCH] Add retryCount parameter to make it clear onLoadStarted is called for retries too --- .../java/androidx/media3/exoplayer/upstream/Loader.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java index 9a0e8e0656..96610b2ad0 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java @@ -97,8 +97,11 @@ public final class Loader implements LoaderErrorThrower { * @param elapsedRealtimeMs {@link SystemClock#elapsedRealtime} when the load attempts to start. * @param loadDurationMs The duration in milliseconds of the load since {@link #startLoading} * was called. + * @param retryCount The number of failed attempts since {@link #startLoading} was called (this + * is zero for the first load attempt). */ - default void onLoadStarted(T loadable, long elapsedRealtimeMs, long loadDurationMs) {} + default void onLoadStarted( + T loadable, long elapsedRealtimeMs, long loadDurationMs, int retryCount) {} /** * Called when a load has completed. @@ -543,7 +546,7 @@ public final class Loader implements LoaderErrorThrower { private void execute() { long nowMs = SystemClock.elapsedRealtime(); long durationMs = nowMs - startTimeMs; - Assertions.checkNotNull(this.callback).onLoadStarted(loadable, nowMs, durationMs); + Assertions.checkNotNull(this.callback).onLoadStarted(loadable, nowMs, durationMs, errorCount); currentError = null; downloadExecutor.execute(Assertions.checkNotNull(currentTask)); }