diff --git a/app/src/main/java/audio/funkwhale/ffa/playback/MediaSession.kt b/app/src/main/java/audio/funkwhale/ffa/playback/MediaSession.kt index 9b3a4eb..8898309 100644 --- a/app/src/main/java/audio/funkwhale/ffa/playback/MediaSession.kt +++ b/app/src/main/java/audio/funkwhale/ffa/playback/MediaSession.kt @@ -2,6 +2,7 @@ package audio.funkwhale.ffa.playback import android.content.Context import android.content.Intent +import android.os.Build import android.os.Bundle import android.os.ResultReceiver import android.support.v4.media.session.MediaSessionCompat @@ -44,13 +45,17 @@ class MediaSession(private val context: Context) { it.setMediaButtonEventHandler { _, _, intent -> if (!active) { - context.startService( - Intent(context, PlayerService::class.java).apply { - action = intent.action + Intent(context, PlayerService::class.java).let { player -> + player.action = intent.action - intent.extras?.let { extras -> putExtras(extras) } + intent.extras?.let { extras -> player.putExtras(extras) } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + context.startForegroundService(player) + } else { + context.startService(player) } - ) + } return@setMediaButtonEventHandler true } diff --git a/changes/changelog.d/120.bugfix b/changes/changelog.d/120.bugfix new file mode 100644 index 0000000..96e81d4 --- /dev/null +++ b/changes/changelog.d/120.bugfix @@ -0,0 +1 @@ +Fix unresponsive bluetooth buttons with Oreo and later (thanks @hdash) \ No newline at end of file