pull/1259/head
gedoor 4 years ago
parent 834b38f7f6
commit fbb6b88832
  1. 27
      app/src/main/java/io/legado/app/service/BaseReadAloudService.kt

@ -68,7 +68,7 @@ abstract class BaseReadAloudService : BaseService(),
initBroadcastReceiver() initBroadcastReceiver()
upNotification() upNotification()
upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING) upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING)
resumeDs() handler.postDelayed(dsRunnable, 60000)
} }
override fun onDestroy() { override fun onDestroy() {
@ -154,7 +154,6 @@ abstract class BaseReadAloudService : BaseService(),
open fun resumeReadAloud() { open fun resumeReadAloud() {
pause = false pause = false
upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING) upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING)
resumeDs()
} }
abstract fun upSpeechRate(reset: Boolean = false) abstract fun upSpeechRate(reset: Boolean = false)
@ -183,47 +182,33 @@ abstract class BaseReadAloudService : BaseService(),
private fun setTimer(minute: Int) { private fun setTimer(minute: Int) {
timeMinute = minute timeMinute = minute
if (minute > 0) {
handler.removeCallbacks(dsRunnable)
handler.postDelayed(dsRunnable, 60000)
}
upNotification() upNotification()
} }
private fun addTimer() { private fun addTimer() {
if (timeMinute == 180) { if (timeMinute == 180) {
timeMinute = 0 timeMinute = 0
handler.removeCallbacks(dsRunnable)
} else { } else {
timeMinute += 10 timeMinute += 10
if (timeMinute > 180) timeMinute = 180 if (timeMinute > 180) timeMinute = 180
handler.removeCallbacks(dsRunnable)
handler.postDelayed(dsRunnable, 60000)
} }
postEvent(EventBus.TTS_DS, timeMinute) postEvent(EventBus.TTS_DS, timeMinute)
upNotification() upNotification()
} }
private fun resumeDs() {
if (timeMinute > 1) {
doDs()
} else {
timeMinute = 0
}
}
/** /**
* 定时 * 定时
*/ */
private fun doDs() { private fun doDs() {
if (!pause) { if (!pause) {
if (timeMinute > 0) {
timeMinute-- timeMinute--
if (timeMinute == 0) { } else if (timeMinute == 0) {
stopSelf() stopSelf()
} else if (timeMinute > 0) {
handler.postDelayed(dsRunnable, 60000)
} }
} }
handler.removeCallbacks(dsRunnable)
handler.postDelayed(dsRunnable, 60000)
postEvent(EventBus.TTS_DS, timeMinute) postEvent(EventBus.TTS_DS, timeMinute)
upNotification() upNotification()
} }
@ -320,7 +305,7 @@ abstract class BaseReadAloudService : BaseService(),
private fun upNotification() { private fun upNotification() {
var nTitle: String = when { var nTitle: String = when {
pause -> getString(R.string.read_aloud_pause) pause -> getString(R.string.read_aloud_pause)
timeMinute in 1..180 -> getString( timeMinute > 0 -> getString(
R.string.read_aloud_timer, R.string.read_aloud_timer,
timeMinute timeMinute
) )

Loading…
Cancel
Save