mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-20 03:24:50 +00:00
Fix missing next override for headphone controls
This commit is contained in:
parent
10a661ad4c
commit
7afd75c712
2 changed files with 17 additions and 8 deletions
|
@ -502,7 +502,7 @@ class VideoDetailView : ConstraintLayout {
|
|||
MediaControlReceiver.onLowerVolumeReceived.subscribe(this) { handleLowerVolume() };
|
||||
MediaControlReceiver.onPlayReceived.subscribe(this) { handlePlay() };
|
||||
MediaControlReceiver.onPauseReceived.subscribe(this) { handlePause() };
|
||||
MediaControlReceiver.onNextReceived.subscribe(this) { nextVideo() };
|
||||
MediaControlReceiver.onNextReceived.subscribe(this) { nextVideo(true) };
|
||||
MediaControlReceiver.onPreviousReceived.subscribe(this) { prevVideo() };
|
||||
MediaControlReceiver.onCloseReceived.subscribe(this) {
|
||||
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")
|
||||
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) {
|
||||
setVideoOverview(next);
|
||||
return true;
|
||||
|
|
|
@ -91,33 +91,39 @@ class MediaPlaybackService : Service() {
|
|||
_mediaSession?.setCallback(object: MediaSessionCompat.Callback() {
|
||||
override fun onSeekTo(pos: Long) {
|
||||
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);
|
||||
}
|
||||
|
||||
override fun onPlay() {
|
||||
super.onPlay();
|
||||
Log.i(TAG, "Media session callback onPlay()");
|
||||
Logger.i(TAG, "Media session callback onPlay()");
|
||||
MediaControlReceiver.onPlayReceived.emit();
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause();
|
||||
Log.i(TAG, "Media session callback onPause()");
|
||||
Logger.i(TAG, "Media session callback onPause()");
|
||||
MediaControlReceiver.onPauseReceived.emit();
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop();
|
||||
Log.i(TAG, "Media session callback onStop()");
|
||||
Logger.i(TAG, "Media session callback onStop()");
|
||||
MediaControlReceiver.onCloseReceived.emit();
|
||||
}
|
||||
|
||||
override fun onSkipToPrevious() {
|
||||
super.onSkipToPrevious();
|
||||
Log.i(TAG, "Media session callback onSkipToPrevious()");
|
||||
Logger.i(TAG, "Media session callback onSkipToPrevious()");
|
||||
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_PAUSE or
|
||||
PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS or
|
||||
PlaybackStateCompat.ACTION_SKIP_TO_NEXT or
|
||||
PlaybackStateCompat.ACTION_PLAY_PAUSE
|
||||
)
|
||||
.setState(state, pos, 1f, SystemClock.elapsedRealtime())
|
||||
|
|
Loading…
Add table
Reference in a new issue