diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt index 34f19c7da..72c3c6819 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -119,6 +119,7 @@ object PreferKey { const val ttsTimer = "ttsTimer" const val noAnimScrollPage = "noAnimScrollPage" const val webDavDeviceName = "webDavDeviceName" + const val wakeLock = "wakeLock" const val cPrimary = "colorPrimary" const val cAccent = "colorAccent" diff --git a/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt b/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt index e7e099bc2..9d1f3225c 100644 --- a/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt +++ b/app/src/main/java/io/legado/app/help/storage/BackupConfig.kt @@ -31,7 +31,8 @@ object BackupConfig { PreferKey.webDavAccount, PreferKey.webDavPassword, PreferKey.launcherIcon, - PreferKey.bitmapCacheSize + PreferKey.bitmapCacheSize, + PreferKey.wakeLock ) //配置忽略标题 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 3c9c40d59..10ec73a7b 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -9,7 +9,6 @@ import android.content.IntentFilter import android.graphics.BitmapFactory import android.media.AudioManager import android.os.Bundle -import android.os.PowerManager import android.support.v4.media.session.MediaSessionCompat import android.support.v4.media.session.PlaybackStateCompat import androidx.annotation.CallSuper @@ -29,7 +28,6 @@ import io.legado.app.ui.book.read.page.entities.TextChapter import io.legado.app.utils.* import kotlinx.coroutines.* import splitties.systemservices.audioManager -import splitties.systemservices.powerManager /** * 朗读服务 @@ -55,11 +53,6 @@ abstract class BaseReadAloudService : BaseService(), } } - private val wakeLock by lazy { - powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "legado:readAloud").apply { - setReferenceCounted(false) - } - } private val mFocusRequest: AudioFocusRequestCompat by lazy { MediaHelp.buildAudioFocusRequestCompat(this) } @@ -85,7 +78,6 @@ abstract class BaseReadAloudService : BaseService(), @SuppressLint("WakelockTimeout") override fun onCreate() { super.onCreate() - wakeLock.acquire() isRun = true pause = false observeLiveBus() @@ -107,7 +99,6 @@ abstract class BaseReadAloudService : BaseService(), override fun onDestroy() { super.onDestroy() - wakeLock.release() isRun = false pause = true abandonFocus() @@ -176,7 +167,6 @@ abstract class BaseReadAloudService : BaseService(), postEvent(EventBus.ALOUD_STATE, Status.PAUSE) ReadBook.uploadProgress() doDs() - wakeLock.release() } @SuppressLint("WakelockTimeout") @@ -185,7 +175,6 @@ abstract class BaseReadAloudService : BaseService(), pause = false upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING) postEvent(EventBus.ALOUD_STATE, Status.PLAY) - wakeLock.acquire() } abstract fun upSpeechRate(reset: Boolean = false) diff --git a/app/src/main/java/io/legado/app/service/WebService.kt b/app/src/main/java/io/legado/app/service/WebService.kt index 1f408e143..7871341b0 100644 --- a/app/src/main/java/io/legado/app/service/WebService.kt +++ b/app/src/main/java/io/legado/app/service/WebService.kt @@ -16,6 +16,7 @@ import io.legado.app.receiver.NetworkChangedListener import io.legado.app.utils.* import io.legado.app.web.HttpServer import io.legado.app.web.WebSocketServer +import splitties.init.appCtx import splitties.systemservices.powerManager import java.io.IOException @@ -36,6 +37,7 @@ class WebService : BaseService() { } + private val useWakeLock = appCtx.getPrefBoolean(PreferKey.wakeLock, false) private val wakeLock by lazy { powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "legado:webService") } @@ -49,7 +51,9 @@ class WebService : BaseService() { @SuppressLint("WakelockTimeout") override fun onCreate() { super.onCreate() - wakeLock.acquire() + if (useWakeLock) { + wakeLock.acquire() + } isRun = true notificationContent = getString(R.string.service_starting) upNotification() @@ -81,7 +85,9 @@ class WebService : BaseService() { override fun onDestroy() { super.onDestroy() - wakeLock.release() + if (useWakeLock) { + wakeLock.release() + } networkChangedListener.unRegister() isRun = false if (httpServer?.isAlive == true) { diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 8babdce11..347c1d2a2 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1045,4 +1045,6 @@ 是否确认清除所有搜索历史记录 禁用滚动点击动画 设备名称 + 唤醒锁 + 开启web服务的时候启用唤醒锁,有些手机开启唤醒锁会被杀后台 diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index d1682a054..0b9fb73c5 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1048,4 +1048,6 @@ 是否确认清除所有搜索历史记录 禁用滚动点击动画 设备名称 + 唤醒锁 + 开启web服务的时候启用唤醒锁,有些手机开启唤醒锁会被杀后台 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index bcd59fc9d..08456c240 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1048,4 +1048,6 @@ 是否确认清除所有搜索历史记录 禁用滚动点击动画 设备名称 + 唤醒锁 + 开启web服务的时候启用唤醒锁,有些手机开启唤醒锁会被杀后台 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 2a2ba3e85..45e1448d8 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1045,4 +1045,6 @@ 是否确认清除所有搜索历史记录 禁用滚动点击动画 设备名称 + 唤醒锁 + 开启web服务的时候启用唤醒锁,有些手机开启唤醒锁会被杀后台 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 11331cbe4..6caf23266 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1047,4 +1047,6 @@ 是否确认清除所有搜索历史记录 禁用滚动点击动画 设备名称 + 唤醒锁 + 开启web服务的时候启用唤醒锁,有些手机开启唤醒锁会被杀后台 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index cb7834cdb..4df27c03b 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1047,4 +1047,6 @@ 是否确认清除所有搜索历史记录 禁用滚动点击动画 设备名称 + 唤醒锁 + 开启web服务的时候启用唤醒锁,有些手机开启唤醒锁会被杀后台 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f0abcea4d..b79837e06 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1048,4 +1048,6 @@ 是否确认清除所有搜索历史记录 禁用滚动点击动画 设备名称 + 唤醒锁 + 开启web服务的时候启用唤醒锁,有些手机开启唤醒锁会被杀后台 diff --git a/app/src/main/res/xml/pref_config_other.xml b/app/src/main/res/xml/pref_config_other.xml index 73e3a0113..974bfa271 100644 --- a/app/src/main/res/xml/pref_config_other.xml +++ b/app/src/main/res/xml/pref_config_other.xml @@ -56,6 +56,12 @@ android:key="userAgent" android:title="@string/user_agent" /> + +