kunfei 4 жил өмнө
parent
commit
8cd6f0b41a

+ 6 - 1
app/src/main/java/io/legado/app/service/BaseReadAloudService.kt

@@ -56,7 +56,9 @@ abstract class BaseReadAloudService : BaseService(),
     }
     }
 
 
     private val wakeLock by lazy {
     private val wakeLock by lazy {
-        powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "legado:readAloud")
+        powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "legado:readAloud").apply {
+            setReferenceCounted(false)
+        }
     }
     }
     private val mFocusRequest: AudioFocusRequestCompat by lazy {
     private val mFocusRequest: AudioFocusRequestCompat by lazy {
         MediaHelp.buildAudioFocusRequestCompat(this)
         MediaHelp.buildAudioFocusRequestCompat(this)
@@ -174,13 +176,16 @@ abstract class BaseReadAloudService : BaseService(),
         postEvent(EventBus.ALOUD_STATE, Status.PAUSE)
         postEvent(EventBus.ALOUD_STATE, Status.PAUSE)
         ReadBook.uploadProgress()
         ReadBook.uploadProgress()
         doDs()
         doDs()
+        wakeLock.release()
     }
     }
 
 
+    @SuppressLint("WakelockTimeout")
     @CallSuper
     @CallSuper
     open fun resumeReadAloud() {
     open fun resumeReadAloud() {
         pause = false
         pause = false
         upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING)
         upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING)
         postEvent(EventBus.ALOUD_STATE, Status.PLAY)
         postEvent(EventBus.ALOUD_STATE, Status.PLAY)
+        wakeLock.acquire()
     }
     }
 
 
     abstract fun upSpeechRate(reset: Boolean = false)
     abstract fun upSpeechRate(reset: Boolean = false)