diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java index 7d983e14e9..fbc4a39ff2 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java @@ -20,7 +20,6 @@ import android.os.ResultReceiver; import android.support.v4.media.session.PlaybackStateCompat; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Player; -import com.google.android.exoplayer2.util.RepeatModeUtil; /** * A default implementation of {@link MediaSessionConnector.PlaybackController}. @@ -45,32 +44,27 @@ public class DefaultPlaybackController implements MediaSessionConnector.Playback protected final long rewindIncrementMs; protected final long fastForwardIncrementMs; - protected final int repeatToggleModes; /** * Creates a new instance. - *

- * Equivalent to {@code DefaultPlaybackController(DefaultPlaybackController.DEFAULT_REWIND_MS, - * DefaultPlaybackController.DEFAULT_FAST_FORWARD_MS, - * MediaSessionConnector.DEFAULT_REPEAT_TOGGLE_MODES)}. + * + *

Equivalent to {@code DefaultPlaybackController(DefaultPlaybackController.DEFAULT_REWIND_MS, + * DefaultPlaybackController.DEFAULT_FAST_FORWARD_MS)}. */ public DefaultPlaybackController() { - this(DEFAULT_REWIND_MS, DEFAULT_FAST_FORWARD_MS, - MediaSessionConnector.DEFAULT_REPEAT_TOGGLE_MODES); + this(DEFAULT_REWIND_MS, DEFAULT_FAST_FORWARD_MS); } /** * Creates a new instance with the given fast forward and rewind increments. - * @param rewindIncrementMs The rewind increment in milliseconds. A zero or negative value will + * + * @param rewindIncrementMs The rewind increment in milliseconds. A zero or negative value will * cause the rewind action to be disabled. * @param fastForwardIncrementMs The fast forward increment in milliseconds. A zero or negative - * @param repeatToggleModes The available repeatToggleModes. */ - public DefaultPlaybackController(long rewindIncrementMs, long fastForwardIncrementMs, - @RepeatModeUtil.RepeatToggleModes int repeatToggleModes) { + public DefaultPlaybackController(long rewindIncrementMs, long fastForwardIncrementMs) { this.rewindIncrementMs = rewindIncrementMs; this.fastForwardIncrementMs = fastForwardIncrementMs; - this.repeatToggleModes = repeatToggleModes; } @Override @@ -101,12 +95,12 @@ public class DefaultPlaybackController implements MediaSessionConnector.Playback } @Override - public void onSeekTo(Player player, long position) { + public void onSeekTo(Player player, long positionMs) { long duration = player.getDuration(); if (duration != C.TIME_UNSET) { - position = Math.min(position, duration); + positionMs = Math.min(positionMs, duration); } - player.seekTo(Math.max(position, 0)); + player.seekTo(Math.max(positionMs, 0)); } @Override @@ -137,25 +131,21 @@ public class DefaultPlaybackController implements MediaSessionConnector.Playback } @Override - public void onSetRepeatMode(Player player, int repeatMode) { - int selectedExoPlayerRepeatMode = player.getRepeatMode(); - switch (repeatMode) { + public void onSetRepeatMode(Player player, int mediaSessionRepeatMode) { + int repeatMode; + switch (mediaSessionRepeatMode) { case PlaybackStateCompat.REPEAT_MODE_ALL: case PlaybackStateCompat.REPEAT_MODE_GROUP: - if ((repeatToggleModes & RepeatModeUtil.REPEAT_TOGGLE_MODE_ALL) != 0) { - selectedExoPlayerRepeatMode = Player.REPEAT_MODE_ALL; - } + repeatMode = Player.REPEAT_MODE_ALL; break; case PlaybackStateCompat.REPEAT_MODE_ONE: - if ((repeatToggleModes & RepeatModeUtil.REPEAT_TOGGLE_MODE_ONE) != 0) { - selectedExoPlayerRepeatMode = Player.REPEAT_MODE_ONE; - } + repeatMode = Player.REPEAT_MODE_ONE; break; default: - selectedExoPlayerRepeatMode = Player.REPEAT_MODE_OFF; + repeatMode = Player.REPEAT_MODE_OFF; break; } - player.setRepeatMode(selectedExoPlayerRepeatMode); + player.setRepeatMode(repeatMode); } // CommandReceiver implementation. 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 c4110a10f7..b24c936f1a 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 @@ -39,7 +39,6 @@ import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.ErrorMessageProvider; -import com.google.android.exoplayer2.util.RepeatModeUtil; import com.google.android.exoplayer2.util.Util; import java.util.Collections; import java.util.HashMap; @@ -76,13 +75,6 @@ public final class MediaSessionConnector { ExoPlayerLibraryInfo.registerModule("goog.exo.mediasession"); } - /** - * The default repeat toggle modes which is the bitmask of {@link - * RepeatModeUtil#REPEAT_TOGGLE_MODE_ONE} and {@link RepeatModeUtil#REPEAT_TOGGLE_MODE_ALL}. - */ - public static final @RepeatModeUtil.RepeatToggleModes int DEFAULT_REPEAT_TOGGLE_MODES = - RepeatModeUtil.REPEAT_TOGGLE_MODE_ONE | RepeatModeUtil.REPEAT_TOGGLE_MODE_ALL; - public static final String EXTRAS_PITCH = "EXO_PITCH"; private static final int BASE_MEDIA_SESSION_FLAGS = MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS @@ -167,7 +159,7 @@ public final class MediaSessionConnector { /** See {@link MediaSessionCompat.Callback#onPause()}. */ void onPause(Player player); /** See {@link MediaSessionCompat.Callback#onSeekTo(long)}. */ - void onSeekTo(Player player, long position); + void onSeekTo(Player player, long positionMs); /** See {@link MediaSessionCompat.Callback#onFastForward()}. */ void onFastForward(Player player); /** See {@link MediaSessionCompat.Callback#onRewind()}. */ @@ -857,9 +849,9 @@ public final class MediaSessionConnector { } @Override - public void onSeekTo(long position) { + public void onSeekTo(long positionMs) { if (canDispatchToPlaybackController(PlaybackStateCompat.ACTION_SEEK_TO)) { - playbackController.onSeekTo(player, position); + playbackController.onSeekTo(player, positionMs); } } diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.java index 057f59f62c..b45a690a9d 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.java @@ -26,6 +26,11 @@ import com.google.android.exoplayer2.util.RepeatModeUtil; */ public final class RepeatModeActionProvider implements MediaSessionConnector.CustomActionProvider { + /** The default repeat toggle modes. */ + @RepeatModeUtil.RepeatToggleModes + public static final int DEFAULT_REPEAT_TOGGLE_MODES = + RepeatModeUtil.REPEAT_TOGGLE_MODE_ONE | RepeatModeUtil.REPEAT_TOGGLE_MODE_ALL; + private static final String ACTION_REPEAT_MODE = "ACTION_EXO_REPEAT_MODE"; private final Player player; @@ -45,7 +50,7 @@ public final class RepeatModeActionProvider implements MediaSessionConnector.Cus * @param player The player on which to toggle the repeat mode. */ public RepeatModeActionProvider(Context context, Player player) { - this(context, player, MediaSessionConnector.DEFAULT_REPEAT_TOGGLE_MODES); + this(context, player, DEFAULT_REPEAT_TOGGLE_MODES); } /**