Commit 78076035 by aquilescanta Committed by Oliver Woodman

Make LeanbackPlayerAdapter work with a PlaybackException

In preparation for the onPlayerError callback to take a PlaybackException.

PiperOrigin-RevId: 379939108
parent d4ca29d7
...@@ -30,6 +30,7 @@ import com.google.android.exoplayer2.ControlDispatcher; ...@@ -30,6 +30,7 @@ import com.google.android.exoplayer2.ControlDispatcher;
import com.google.android.exoplayer2.DefaultControlDispatcher; import com.google.android.exoplayer2.DefaultControlDispatcher;
import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayerLibraryInfo; import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
import com.google.android.exoplayer2.PlaybackException;
import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.Player.DiscontinuityReason; import com.google.android.exoplayer2.Player.DiscontinuityReason;
import com.google.android.exoplayer2.Player.TimelineChangeReason; import com.google.android.exoplayer2.Player.TimelineChangeReason;
...@@ -51,7 +52,7 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab ...@@ -51,7 +52,7 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab
private final int updatePeriodMs; private final int updatePeriodMs;
private ControlDispatcher controlDispatcher; private ControlDispatcher controlDispatcher;
@Nullable private ErrorMessageProvider<? super ExoPlaybackException> errorMessageProvider; @Nullable private ErrorMessageProvider<? super PlaybackException> errorMessageProvider;
@Nullable private SurfaceHolderGlueHost surfaceHolderGlueHost; @Nullable private SurfaceHolderGlueHost surfaceHolderGlueHost;
private boolean hasSurface; private boolean hasSurface;
private boolean lastNotifiedPreparedState; private boolean lastNotifiedPreparedState;
...@@ -91,7 +92,7 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab ...@@ -91,7 +92,7 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab
* @param errorMessageProvider The {@link ErrorMessageProvider}. * @param errorMessageProvider The {@link ErrorMessageProvider}.
*/ */
public void setErrorMessageProvider( public void setErrorMessageProvider(
@Nullable ErrorMessageProvider<? super ExoPlaybackException> errorMessageProvider) { @Nullable ErrorMessageProvider<? super PlaybackException> errorMessageProvider) {
this.errorMessageProvider = errorMessageProvider; this.errorMessageProvider = errorMessageProvider;
} }
...@@ -260,11 +261,13 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab ...@@ -260,11 +261,13 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab
Pair<Integer, String> errorMessage = errorMessageProvider.getErrorMessage(exception); Pair<Integer, String> errorMessage = errorMessageProvider.getErrorMessage(exception);
callback.onError(LeanbackPlayerAdapter.this, errorMessage.first, errorMessage.second); callback.onError(LeanbackPlayerAdapter.this, errorMessage.first, errorMessage.second);
} else { } else {
// TODO: Conditionally assign the rendererIndex depending on whether the exception is an
// ExoPlaybackException once onPlayerError takes a PlaybackException.
int rendererIndex = exception.rendererIndex;
callback.onError( callback.onError(
LeanbackPlayerAdapter.this, LeanbackPlayerAdapter.this,
exception.type, exception.errorCode,
context.getString( context.getString(R.string.lb_media_player_error, exception.errorCode, rendererIndex));
R.string.lb_media_player_error, exception.type, exception.rendererIndex));
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment