From 45252a24dc8255bf36fb307100a9457beb641624 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Thu, 26 Sep 2024 18:35:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/receiver/MediaButtonReceiver.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt index fccb50ac2..0ceaa74cc 100644 --- a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt +++ b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt @@ -54,6 +54,7 @@ class MediaButtonReceiver : BroadcastReceiver() { ReadAloud.prevParagraph(context) } } + KeyEvent.KEYCODE_MEDIA_NEXT -> { if (context.getPrefBoolean("mediaButtonPerNext", false)) { ReadBook.moveToNextChapter(true) @@ -61,6 +62,11 @@ class MediaButtonReceiver : BroadcastReceiver() { ReadAloud.nextParagraph(context) } } + + KeyEvent.KEYCODE_MEDIA_PAUSE -> { + pauseReadAloud(context) + } + else -> readAloud(context) } } @@ -68,6 +74,11 @@ class MediaButtonReceiver : BroadcastReceiver() { return true } + private fun pauseReadAloud(context: Context) { + ReadAloud.pause(context) + AudioPlay.pause(context) + } + fun readAloud(context: Context, isMediaKey: Boolean = true) { when { BaseReadAloudService.isRun -> { @@ -79,6 +90,7 @@ class MediaButtonReceiver : BroadcastReceiver() { AudioPlay.resume(context) } } + AudioPlayService.isRun -> { if (AudioPlayService.pause) { AudioPlay.resume(context) @@ -86,10 +98,13 @@ class MediaButtonReceiver : BroadcastReceiver() { AudioPlay.pause(context) } } + LifecycleHelp.isExistActivity(ReadBookActivity::class.java) -> postEvent(EventBus.MEDIA_BUTTON, true) + LifecycleHelp.isExistActivity(AudioPlayActivity::class.java) -> postEvent(EventBus.MEDIA_BUTTON, true) + else -> if (AppConfig.mediaButtonOnExit || LifecycleHelp.activitySize() > 0 || !isMediaKey) { ReadAloud.upReadAloudClass() if (ReadBook.book != null) {