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 918f87f37..54221b68c 100644
--- a/app/src/main/java/io/legado/app/constant/PreferKey.kt
+++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt
@@ -140,6 +140,9 @@ object PreferKey {
const val showBookshelfFastScroller = "showBookshelfFastScroller"
const val importKeepEnable = "importKeepEnable"
const val previewImageByClick = "previewImageByClick"
+ const val volumeKeyPageOnLongPress = "volumeKeyPageOnLongPress"
+ const val volumeKeyPage = "volumeKeyPage"
+ const val volumeKeyPageOnPlay = "volumeKeyPageOnPlay"
const val cPrimary = "colorPrimary"
const val cAccent = "colorAccent"
diff --git a/app/src/main/java/io/legado/app/data/entities/Book.kt b/app/src/main/java/io/legado/app/data/entities/Book.kt
index 0b37807d6..03a043f59 100644
--- a/app/src/main/java/io/legado/app/data/entities/Book.kt
+++ b/app/src/main/java/io/legado/app/data/entities/Book.kt
@@ -331,6 +331,7 @@ data class Book(
appDb.bookDao.delete(this)
}
+ @Suppress("ConstPropertyName")
companion object {
const val hTag = 2L
const val rubyTag = 4L
diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt
index f732387c6..81134665a 100644
--- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt
+++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt
@@ -21,7 +21,7 @@ import io.legado.app.utils.sysConfiguration
import io.legado.app.utils.toastOnUi
import splitties.init.appCtx
-@Suppress("MemberVisibilityCanBePrivate")
+@Suppress("MemberVisibilityCanBePrivate", "ConstPropertyName")
object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
val isCronet = appCtx.getPrefBoolean(PreferKey.cronet)
var useAntiAlias = appCtx.getPrefBoolean(PreferKey.antiAlias)
@@ -468,6 +468,15 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
val progressBarBehavior: String?
get() = appCtx.getPrefString(PreferKey.progressBarBehavior, "page")
+ val volumeKeyPageOnLongPress
+ get() = appCtx.getPrefBoolean(PreferKey.volumeKeyPageOnLongPress, false)
+
+ val volumeKeyPage
+ get() = appCtx.getPrefBoolean(PreferKey.volumeKeyPage, true)
+
+ val volumeKeyPageOnPlay
+ get() = appCtx.getPrefBoolean(PreferKey.volumeKeyPageOnPlay, true)
+
var searchScope: String
get() = appCtx.getPrefString("searchScope") ?: ""
set(value) {
diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
index 9a3934aba..4bbe1279a 100644
--- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
+++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
@@ -48,9 +48,12 @@ import io.legado.app.ui.book.audio.AudioPlayActivity
import io.legado.app.ui.book.bookmark.BookmarkDialog
import io.legado.app.ui.book.changesource.ChangeBookSourceDialog
import io.legado.app.ui.book.changesource.ChangeChapterSourceDialog
-import io.legado.app.ui.book.read.config.*
+import io.legado.app.ui.book.read.config.AutoReadDialog
import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.BG_COLOR
import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.TEXT_COLOR
+import io.legado.app.ui.book.read.config.MoreConfigDialog
+import io.legado.app.ui.book.read.config.ReadAloudDialog
+import io.legado.app.ui.book.read.config.ReadStyleDialog
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_COLOR
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_DIVIDER_COLOR
import io.legado.app.ui.book.read.page.ContentTextView
@@ -570,7 +573,7 @@ class ReadBookActivity : BaseReadBookActivity(),
/**
* 按键事件
*/
- override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
if (menuLayoutIsVisible) {
return super.onKeyDown(keyCode, event)
}
@@ -592,13 +595,13 @@ class ReadBookActivity : BaseReadBookActivity(),
}
keyCode == KeyEvent.KEYCODE_VOLUME_UP -> {
- if (volumeKeyPage(PageDirection.PREV)) {
+ if (volumeKeyPage(PageDirection.PREV, event.repeatCount > 0)) {
return true
}
}
keyCode == KeyEvent.KEYCODE_VOLUME_DOWN -> {
- if (volumeKeyPage(PageDirection.NEXT)) {
+ if (volumeKeyPage(PageDirection.NEXT, event.repeatCount > 0)) {
return true
}
}
@@ -628,10 +631,10 @@ class ReadBookActivity : BaseReadBookActivity(),
/**
* 松开按键事件
*/
- override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
+ override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
when (keyCode) {
KeyEvent.KEYCODE_VOLUME_UP, KeyEvent.KEYCODE_VOLUME_DOWN -> {
- if (volumeKeyPage(PageDirection.NONE)) {
+ if (volumeKeyPage(PageDirection.NONE, event.repeatCount > 0)) {
return true
}
}
@@ -824,20 +827,23 @@ class ReadBookActivity : BaseReadBookActivity(),
/**
* 音量键翻页
*/
- private fun volumeKeyPage(direction: PageDirection): Boolean {
- if (!binding.readMenu.isVisible) {
- if (getPrefBoolean("volumeKeyPage", true)) {
- if (getPrefBoolean("volumeKeyPageOnPlay")
- || !BaseReadAloudService.isPlay()
- ) {
- binding.readView.cancelSelect()
- binding.readView.pageDelegate?.isCancel = false
- binding.readView.pageDelegate?.keyTurnPage(direction)
- return true
- }
- }
+ private fun volumeKeyPage(direction: PageDirection, longPress: Boolean): Boolean {
+ if (menuLayoutIsVisible) {
+ return false
}
- return false
+ if (!AppConfig.volumeKeyPage) {
+ return false
+ }
+ if (!AppConfig.volumeKeyPageOnPlay && BaseReadAloudService.isPlay()) {
+ return false
+ }
+ if (!AppConfig.volumeKeyPageOnLongPress && longPress) {
+ return false
+ }
+ binding.readView.cancelSelect()
+ binding.readView.pageDelegate?.isCancel = false
+ binding.readView.pageDelegate?.keyTurnPage(direction)
+ return true
}
override fun upMenuView() {
diff --git a/app/src/main/res/values-es-rES/arrays.xml b/app/src/main/res/values-es-rES/arrays.xml
index 75be6ec9b..c16295573 100644
--- a/app/src/main/res/values-es-rES/arrays.xml
+++ b/app/src/main/res/values-es-rES/arrays.xml
@@ -49,8 +49,8 @@
- Predeterminado
- 1 min
- - 2 min
- - 3 min
+ - 5 min
+ - 10 min
- Siempre
diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml
index 6b954db9e..2cf7dbe3e 100644
--- a/app/src/main/res/values-es-rES/strings.xml
+++ b/app/src/main/res/values-es-rES/strings.xml
@@ -1139,4 +1139,5 @@
调整本章页数
调整章节位置
清除成功,3秒后自动重启应用
+ 长按音量键翻页
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
index 8ac8b52bf..44c500503 100644
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ b/app/src/main/res/values-ja-rJP/strings.xml
@@ -1142,4 +1142,5 @@
调整本章页数
调整章节位置
清除成功,3秒后自动重启应用
+ 长按音量键翻页
diff --git a/app/src/main/res/values-pt-rBR/arrays.xml b/app/src/main/res/values-pt-rBR/arrays.xml
index b5fc95d69..d8d9a17b6 100644
--- a/app/src/main/res/values-pt-rBR/arrays.xml
+++ b/app/src/main/res/values-pt-rBR/arrays.xml
@@ -49,8 +49,8 @@
- Padrão
- 1 min
- - 2 min
- - 3 min
+ - 5 min
+ - 10 min
- Sempre
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 3a808d875..445339b01 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -1142,4 +1142,5 @@
调整本章页数
调整章节位置
清除成功,3秒后自动重启应用
+ 长按音量键翻页
diff --git a/app/src/main/res/values-vi/arrays.xml b/app/src/main/res/values-vi/arrays.xml
index bccbb494f..bfc3a0333 100644
--- a/app/src/main/res/values-vi/arrays.xml
+++ b/app/src/main/res/values-vi/arrays.xml
@@ -36,8 +36,8 @@
- Mặc định
- 1 phút
- - 2 phút
- - 3 phút
+ - 5 phút
+ - 10 phút
- Thường Sáng
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index d8564f2a0..31f68870f 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -1138,4 +1138,5 @@ Còn
调整本章页数
调整章节位置
清除成功,3秒后自动重启应用
+ 长按音量键翻页
diff --git a/app/src/main/res/values-zh-rHK/arrays.xml b/app/src/main/res/values-zh-rHK/arrays.xml
index 60863f6cc..93829b1e7 100644
--- a/app/src/main/res/values-zh-rHK/arrays.xml
+++ b/app/src/main/res/values-zh-rHK/arrays.xml
@@ -30,8 +30,8 @@
- 默認
- 1分鐘
- - 2分鐘
- - 3分鐘
+ - 5分鐘
+ - 10分鐘
- 常亮
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 007da37cd..76277a8e2 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -1139,4 +1139,5 @@
调整本章页数
调整章节位置
清除成功,3秒后自动重启应用
+ 长按音量键翻页
diff --git a/app/src/main/res/values-zh-rTW/arrays.xml b/app/src/main/res/values-zh-rTW/arrays.xml
index b3afb4d76..e9e5a1bf7 100644
--- a/app/src/main/res/values-zh-rTW/arrays.xml
+++ b/app/src/main/res/values-zh-rTW/arrays.xml
@@ -35,8 +35,8 @@
- 預設
- 1分鐘
- - 2分鐘
- - 3分鐘
+ - 5分鐘
+ - 10分鐘
- 常亮
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 8d4617f72..e92441421 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -1141,4 +1141,5 @@
调整本章页数
调整章节位置
清除成功,3秒后自动重启应用
+ 长按音量键翻页
diff --git a/app/src/main/res/values-zh/arrays.xml b/app/src/main/res/values-zh/arrays.xml
index bf705abed..c8d8d4f3c 100644
--- a/app/src/main/res/values-zh/arrays.xml
+++ b/app/src/main/res/values-zh/arrays.xml
@@ -42,8 +42,8 @@
- 默认
- 1分钟
- - 2分钟
- - 3分钟
+ - 5分钟
+ - 10分钟
- 常亮
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 26ce23394..828396447 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -1141,4 +1141,5 @@
调整本章页数
调整章节位置
清除成功,3秒后自动重启应用
+ 长按音量键翻页
diff --git a/app/src/main/res/values/array_values.xml b/app/src/main/res/values/array_values.xml
index 1b7e135ff..92b5455e0 100644
--- a/app/src/main/res/values/array_values.xml
+++ b/app/src/main/res/values/array_values.xml
@@ -14,8 +14,8 @@
- 0
- 60
- - 120
- - 180
+ - 300
+ - 600
- -1
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index c1e2aadbe..1faccd1a4 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -63,8 +63,8 @@
- Default
- 1 min
- - 2 min
- - 3 min
+ - 5 min
+ - 10 min
- Always
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ba26d0c6c..cb693bdf5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1142,4 +1142,5 @@
Adjust of chapter page
Adjust of chapter index
Cleared successfully, automatically restarts the application after 3 seconds
+ Press and hold the volume key to turn the page
diff --git a/app/src/main/res/xml/pref_config_read.xml b/app/src/main/res/xml/pref_config_read.xml
index 2c152a82a..150dad276 100644
--- a/app/src/main/res/xml/pref_config_read.xml
+++ b/app/src/main/res/xml/pref_config_read.xml
@@ -101,6 +101,13 @@
app:iconSpaceReserved="false"
app:isBottomBackground="true" />
+
+