mirror of
https://github.com/samsonjs/media.git
synced 2026-04-16 13:05:46 +00:00
Add shuffle and repeat modes to media session playback state invalidation
Which ensures both get updated when the MediaSessionConnector player changes. Issue:#6582 PiperOrigin-RevId: 277254889
This commit is contained in:
parent
81b8396b3e
commit
0f312561e5
2 changed files with 14 additions and 10 deletions
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
### dev-v2 (not yet released) ###
|
||||
|
||||
* MediaSession extension: Update shuffle and repeat modes when playback state
|
||||
is invalidated ([#6582](https://github.com/google/ExoPlayer/issues/6582)).
|
||||
* AV1 extension: Uses libgav1 to decode AV1 videos. Android 10 includes an AV1
|
||||
decoder, but the older versions of Android require this extension for playback
|
||||
of AV1 streams ([#3353](https://github.com/google/ExoPlayer/issues/3353)).
|
||||
|
|
|
|||
|
|
@ -750,6 +750,18 @@ public final class MediaSessionConnector {
|
|||
sessionPlaybackSpeed,
|
||||
/* updateTime= */ SystemClock.elapsedRealtime())
|
||||
.setExtras(extras);
|
||||
|
||||
@Player.RepeatMode int repeatMode = player.getRepeatMode();
|
||||
mediaSession.setRepeatMode(
|
||||
repeatMode == Player.REPEAT_MODE_ONE
|
||||
? PlaybackStateCompat.REPEAT_MODE_ONE
|
||||
: repeatMode == Player.REPEAT_MODE_ALL
|
||||
? PlaybackStateCompat.REPEAT_MODE_ALL
|
||||
: PlaybackStateCompat.REPEAT_MODE_NONE);
|
||||
mediaSession.setShuffleMode(
|
||||
player.getShuffleModeEnabled()
|
||||
? PlaybackStateCompat.SHUFFLE_MODE_ALL
|
||||
: PlaybackStateCompat.SHUFFLE_MODE_NONE);
|
||||
mediaSession.setPlaybackState(builder.build());
|
||||
}
|
||||
|
||||
|
|
@ -1068,21 +1080,11 @@ public final class MediaSessionConnector {
|
|||
|
||||
@Override
|
||||
public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) {
|
||||
mediaSession.setRepeatMode(
|
||||
repeatMode == Player.REPEAT_MODE_ONE
|
||||
? PlaybackStateCompat.REPEAT_MODE_ONE
|
||||
: repeatMode == Player.REPEAT_MODE_ALL
|
||||
? PlaybackStateCompat.REPEAT_MODE_ALL
|
||||
: PlaybackStateCompat.REPEAT_MODE_NONE);
|
||||
invalidateMediaSessionPlaybackState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {
|
||||
mediaSession.setShuffleMode(
|
||||
shuffleModeEnabled
|
||||
? PlaybackStateCompat.SHUFFLE_MODE_ALL
|
||||
: PlaybackStateCompat.SHUFFLE_MODE_NONE);
|
||||
invalidateMediaSessionPlaybackState();
|
||||
invalidateMediaSessionQueue();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue