diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java index 35990573ad..24cf4062f7 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java @@ -1089,17 +1089,26 @@ public final class MediaSessionConnector { } @Override - public void onSetShuffleMode(int shuffleMode) { + public void onSetShuffleMode(@PlaybackStateCompat.ShuffleMode int shuffleMode) { if (canDispatchPlaybackAction(PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE)) { - boolean shuffleModeEnabled = - shuffleMode == PlaybackStateCompat.SHUFFLE_MODE_ALL - || shuffleMode == PlaybackStateCompat.SHUFFLE_MODE_GROUP; + boolean shuffleModeEnabled; + switch (shuffleMode) { + case PlaybackStateCompat.SHUFFLE_MODE_ALL: + case PlaybackStateCompat.SHUFFLE_MODE_GROUP: + shuffleModeEnabled = true; + break; + case PlaybackStateCompat.SHUFFLE_MODE_NONE: + case PlaybackStateCompat.SHUFFLE_MODE_INVALID: + default: + shuffleModeEnabled = false; + break; + } controlDispatcher.dispatchSetShuffleModeEnabled(player, shuffleModeEnabled); } } @Override - public void onSetRepeatMode(int mediaSessionRepeatMode) { + public void onSetRepeatMode(@PlaybackStateCompat.RepeatMode int mediaSessionRepeatMode) { if (canDispatchPlaybackAction(PlaybackStateCompat.ACTION_SET_REPEAT_MODE)) { @RepeatModeUtil.RepeatToggleModes int repeatMode; switch (mediaSessionRepeatMode) { @@ -1110,6 +1119,8 @@ public final class MediaSessionConnector { case PlaybackStateCompat.REPEAT_MODE_ONE: repeatMode = Player.REPEAT_MODE_ONE; break; + case PlaybackStateCompat.REPEAT_MODE_NONE: + case PlaybackStateCompat.REPEAT_MODE_INVALID: default: repeatMode = Player.REPEAT_MODE_OFF; break; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java index 4a8f8709e9..b5f8f954bb 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java @@ -17,7 +17,6 @@ package com.google.android.exoplayer2; import androidx.annotation.IntDef; import androidx.annotation.Nullable; -import androidx.annotation.VisibleForTesting; import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.util.Assertions; import java.io.IOException; @@ -103,7 +102,6 @@ public final class ExoPlaybackException extends Exception { * @param cause The cause of the failure. * @return The created instance. */ - @VisibleForTesting public static ExoPlaybackException createForUnexpected(RuntimeException cause) { return new ExoPlaybackException(TYPE_UNEXPECTED, cause, /* rendererIndex= */ C.INDEX_UNSET); } @@ -124,7 +122,6 @@ public final class ExoPlaybackException extends Exception { * @param cause The cause of the failure. * @return The created instance. */ - @VisibleForTesting public static ExoPlaybackException createForOutOfMemoryError(OutOfMemoryError cause) { return new ExoPlaybackException(TYPE_OUT_OF_MEMORY, cause, /* rendererIndex= */ C.INDEX_UNSET); }