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" />
+
+