From 7a7cb28813bbdd80767a38176e8c666023028918 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Fri, 23 Aug 2024 19:12:31 +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 --- .../legado/app/service/BaseReadAloudService.kt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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 f7a91cbf6..0b9037c64 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -117,6 +117,7 @@ abstract class BaseReadAloudService : BaseService(), internal var textChapter: TextChapter? = null internal var pageIndex = 0 private var needResumeOnAudioFocusGain = false + private var needResumeOnCallStateIdle = false private var registeredPhoneStateListener = false private var dsJob: Job? = null private var cover: Bitmap = @@ -662,13 +663,22 @@ abstract class BaseReadAloudService : BaseService(), super.onCallStateChanged(state, phoneNumber) when (state) { TelephonyManager.CALL_STATE_IDLE -> { - AppLog.put("来电结束,继续朗读") - resumeReadAloud() + if (needResumeOnCallStateIdle) { + AppLog.put("来电结束,继续朗读") + resumeReadAloud() + } else { + AppLog.put("来电结束") + } } TelephonyManager.CALL_STATE_RINGING -> { - AppLog.put("来电响铃,暂停朗读") - pauseReadAloud() + if (!pause) { + AppLog.put("来电响铃,暂停朗读") + needResumeOnCallStateIdle = true + pauseReadAloud() + } else { + AppLog.put("来电响铃") + } } TelephonyManager.CALL_STATE_OFFHOOK -> {