mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-05-17 23:07:20 +02:00
Fix missing next override for headphone controls
This commit is contained in:
parent
10a661ad4c
commit
7afd75c712
@ -502,7 +502,7 @@ class VideoDetailView : ConstraintLayout {
|
|||||||
MediaControlReceiver.onLowerVolumeReceived.subscribe(this) { handleLowerVolume() };
|
MediaControlReceiver.onLowerVolumeReceived.subscribe(this) { handleLowerVolume() };
|
||||||
MediaControlReceiver.onPlayReceived.subscribe(this) { handlePlay() };
|
MediaControlReceiver.onPlayReceived.subscribe(this) { handlePlay() };
|
||||||
MediaControlReceiver.onPauseReceived.subscribe(this) { handlePause() };
|
MediaControlReceiver.onPauseReceived.subscribe(this) { handlePause() };
|
||||||
MediaControlReceiver.onNextReceived.subscribe(this) { nextVideo() };
|
MediaControlReceiver.onNextReceived.subscribe(this) { nextVideo(true) };
|
||||||
MediaControlReceiver.onPreviousReceived.subscribe(this) { prevVideo() };
|
MediaControlReceiver.onPreviousReceived.subscribe(this) { prevVideo() };
|
||||||
MediaControlReceiver.onCloseReceived.subscribe(this) {
|
MediaControlReceiver.onCloseReceived.subscribe(this) {
|
||||||
Logger.i(TAG, "MediaControlReceiver.onCloseReceived")
|
Logger.i(TAG, "MediaControlReceiver.onCloseReceived")
|
||||||
@ -1363,9 +1363,11 @@ class VideoDetailView : ConstraintLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun nextVideo(): Boolean {
|
fun nextVideo(forceLoop: Boolean = false): Boolean {
|
||||||
Logger.i(TAG, "nextVideo")
|
Logger.i(TAG, "nextVideo")
|
||||||
val next = StatePlayer.instance.nextQueueItem(_player.duration < 100 || (_player.position.toFloat() / _player.duration) < 0.9);
|
var next = StatePlayer.instance.nextQueueItem(_player.duration < 100 || (_player.position.toFloat() / _player.duration) < 0.9);
|
||||||
|
if(next == null && forceLoop)
|
||||||
|
next = StatePlayer.instance.restartQueue();
|
||||||
if(next != null) {
|
if(next != null) {
|
||||||
setVideoOverview(next);
|
setVideoOverview(next);
|
||||||
return true;
|
return true;
|
||||||
|
@ -91,33 +91,39 @@ class MediaPlaybackService : Service() {
|
|||||||
_mediaSession?.setCallback(object: MediaSessionCompat.Callback() {
|
_mediaSession?.setCallback(object: MediaSessionCompat.Callback() {
|
||||||
override fun onSeekTo(pos: Long) {
|
override fun onSeekTo(pos: Long) {
|
||||||
super.onSeekTo(pos)
|
super.onSeekTo(pos)
|
||||||
Log.i(TAG, "Media session callback onSeekTo(pos = $pos)");
|
Logger.i(TAG, "Media session callback onSeekTo(pos = $pos)");
|
||||||
MediaControlReceiver.onSeekToReceived.emit(pos);
|
MediaControlReceiver.onSeekToReceived.emit(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPlay() {
|
override fun onPlay() {
|
||||||
super.onPlay();
|
super.onPlay();
|
||||||
Log.i(TAG, "Media session callback onPlay()");
|
Logger.i(TAG, "Media session callback onPlay()");
|
||||||
MediaControlReceiver.onPlayReceived.emit();
|
MediaControlReceiver.onPlayReceived.emit();
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
Log.i(TAG, "Media session callback onPause()");
|
Logger.i(TAG, "Media session callback onPause()");
|
||||||
MediaControlReceiver.onPauseReceived.emit();
|
MediaControlReceiver.onPauseReceived.emit();
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
super.onStop();
|
super.onStop();
|
||||||
Log.i(TAG, "Media session callback onStop()");
|
Logger.i(TAG, "Media session callback onStop()");
|
||||||
MediaControlReceiver.onCloseReceived.emit();
|
MediaControlReceiver.onCloseReceived.emit();
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSkipToPrevious() {
|
override fun onSkipToPrevious() {
|
||||||
super.onSkipToPrevious();
|
super.onSkipToPrevious();
|
||||||
Log.i(TAG, "Media session callback onSkipToPrevious()");
|
Logger.i(TAG, "Media session callback onSkipToPrevious()");
|
||||||
MediaControlReceiver.onPreviousReceived.emit();
|
MediaControlReceiver.onPreviousReceived.emit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onSkipToNext() {
|
||||||
|
super.onSkipToNext()
|
||||||
|
Logger.i(TAG, "Media session callback onSkipToNext()");
|
||||||
|
MediaControlReceiver.onNextReceived.emit();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,6 +291,7 @@ class MediaPlaybackService : Service() {
|
|||||||
PlaybackStateCompat.ACTION_PLAY or
|
PlaybackStateCompat.ACTION_PLAY or
|
||||||
PlaybackStateCompat.ACTION_PAUSE or
|
PlaybackStateCompat.ACTION_PAUSE or
|
||||||
PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS or
|
PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS or
|
||||||
|
PlaybackStateCompat.ACTION_SKIP_TO_NEXT or
|
||||||
PlaybackStateCompat.ACTION_PLAY_PAUSE
|
PlaybackStateCompat.ACTION_PLAY_PAUSE
|
||||||
)
|
)
|
||||||
.setState(state, pos, 1f, SystemClock.elapsedRealtime())
|
.setState(state, pos, 1f, SystemClock.elapsedRealtime())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user