From bce208c9df98c65b64929db55ee3de6ff4bfe74f Mon Sep 17 00:00:00 2001 From: zhongerxll <160529153+zhongerxll@users.noreply.github.com> Date: Thu, 29 May 2025 06:33:18 -0500 Subject: [PATCH] Merge pull request #5101 from zhongerxll/fix-media-control Add timer button to system media controls for samsung --- .../io/legado/app/service/BaseReadAloudService.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt index e2573c559..bbfcd97a1 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -444,6 +444,14 @@ abstract class BaseReadAloudService : BaseService(), PlaybackStateCompat.Builder() .setActions(MediaHelp.MEDIA_SESSION_ACTIONS) .setState(state, nowSpeak.toLong(), 1f) + // 为系统媒体控件添加定时按钮 + .addCustomAction( + PlaybackStateCompat.CustomAction.Builder( + "ACTION_ADD_TIMER", + getString(R.string.set_timer), + R.drawable.ic_time_add_24dp + ).build() + ) .build() ) } @@ -478,6 +486,9 @@ abstract class BaseReadAloudService : BaseService(), override fun onStop() { stopSelf() } + override fun onCustomAction(action: String, extras: Bundle?) { + if (action == "ACTION_ADD_TIMER") addTimer() + } override fun onMediaButtonEvent(mediaButtonEvent: Intent): Boolean { return MediaButtonReceiver.handleIntent(this@BaseReadAloudService, mediaButtonEvent) }