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