[新增] 新增漫画音量键翻页反转设置
This commit is contained in:
@@ -191,7 +191,7 @@ object PreferKey {
|
||||
const val mangaScrollMode = "mangaScrollMode"
|
||||
const val webtoonSidePaddingDp = "webtoonSidePaddingDp"
|
||||
const val mangaVolumeKeyPage = "mangaVolumeKeyPage"
|
||||
|
||||
const val reverseVolumeKeyPage = "reverseVolumeKeyPage"
|
||||
const val mangaClickActionTL = "mangaClickActionTopLeft"
|
||||
const val mangaClickActionTC = "mangaClickActionTopCenter"
|
||||
const val mangaClickActionTR = "mangaClickActionTopRight"
|
||||
|
||||
@@ -869,6 +869,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
appCtx.putPrefBoolean(PreferKey.mangaVolumeKeyPage, value)
|
||||
}
|
||||
|
||||
var reverseVolumeKeyPage: Boolean
|
||||
get() = appCtx.getPrefBoolean(PreferKey.reverseVolumeKeyPage, false)
|
||||
set(value) {
|
||||
appCtx.putPrefBoolean(PreferKey.reverseVolumeKeyPage, value)
|
||||
}
|
||||
|
||||
var tabletInterface
|
||||
get() = appCtx.getPrefString(PreferKey.tabletInterface, "auto")
|
||||
set(value) {
|
||||
|
||||
@@ -11,7 +11,6 @@ import android.view.MenuItem
|
||||
import android.view.WindowManager
|
||||
import android.view.animation.LinearInterpolator
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.view.doOnLayout
|
||||
@@ -31,7 +30,6 @@ import io.legado.app.BuildConfig
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.VMBaseActivity
|
||||
import io.legado.app.constant.AppLog
|
||||
import io.legado.app.constant.BookType
|
||||
import io.legado.app.constant.EventBus
|
||||
import io.legado.app.data.appDb
|
||||
import io.legado.app.data.entities.Book
|
||||
@@ -45,7 +43,6 @@ import io.legado.app.help.AppFreezeMonitor.handler
|
||||
import io.legado.app.help.book.BookHelp
|
||||
import io.legado.app.help.book.isImage
|
||||
import io.legado.app.help.book.isLocal
|
||||
import io.legado.app.help.book.removeType
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.coroutine.Coroutine
|
||||
import io.legado.app.help.source.getSourceType
|
||||
@@ -815,6 +812,10 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
||||
AppConfig.MangaVolumeKeyPage = enable
|
||||
}
|
||||
|
||||
override fun onReverseVolumeKeyPageChanged(enable: Boolean) {
|
||||
AppConfig.reverseVolumeKeyPage = enable
|
||||
}
|
||||
|
||||
override fun onHideMangaTitleChanged(hide: Boolean) {
|
||||
AppConfig.hideMangaTitle = hide
|
||||
ReadManga.loadContent()
|
||||
@@ -1069,17 +1070,29 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
||||
}
|
||||
|
||||
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
|
||||
if (AppConfig.MangaVolumeKeyPage) {
|
||||
when (keyCode) {
|
||||
KeyEvent.KEYCODE_VOLUME_UP -> {
|
||||
scrollToPrev()
|
||||
return true
|
||||
}
|
||||
if (!AppConfig.MangaVolumeKeyPage) {
|
||||
return super.onKeyDown(keyCode, event)
|
||||
}
|
||||
|
||||
KeyEvent.KEYCODE_VOLUME_DOWN -> {
|
||||
val isReverse = AppConfig.reverseVolumeKeyPage
|
||||
|
||||
when (keyCode) {
|
||||
KeyEvent.KEYCODE_VOLUME_UP -> {
|
||||
if (isReverse) {
|
||||
scrollToNext()
|
||||
return true
|
||||
} else {
|
||||
scrollToPrev()
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
KeyEvent.KEYCODE_VOLUME_DOWN -> {
|
||||
if (isReverse) {
|
||||
scrollToPrev()
|
||||
} else {
|
||||
scrollToNext()
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.content.DialogInterface
|
||||
import android.os.Bundle
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import androidx.core.graphics.toColorInt
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.transition.TransitionManager
|
||||
import com.google.android.material.chip.Chip
|
||||
@@ -14,9 +13,7 @@ import io.legado.app.base.BaseBottomSheetDialogFragment
|
||||
import io.legado.app.constant.EventBus
|
||||
import io.legado.app.databinding.DialogMangaFooterSettingBinding
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.config.ReadBookConfig
|
||||
import io.legado.app.ui.book.manga.entities.MangaFooterConfig
|
||||
import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.B_COLOR
|
||||
import io.legado.app.ui.widget.ReaderInfoBarView
|
||||
import io.legado.app.utils.GSON
|
||||
import io.legado.app.utils.fromJsonObject
|
||||
@@ -134,6 +131,13 @@ class MangaFooterSettingDialog :
|
||||
}
|
||||
}
|
||||
|
||||
binding.reverseVolumeKeyPage.apply {
|
||||
isChecked = AppConfig.reverseVolumeKeyPage
|
||||
setOnCheckedChangeListener { _, isChecked ->
|
||||
callback?.onReverseVolumeKeyPageChanged(isChecked)
|
||||
}
|
||||
}
|
||||
|
||||
binding.checkboxMangaLongClick.apply {
|
||||
isChecked = AppConfig.mangaLongClick
|
||||
setOnCheckedChangeListener { _, isChecked ->
|
||||
@@ -303,6 +307,7 @@ class MangaFooterSettingDialog :
|
||||
fun onMangaScaleDisabledChanged(disabled: Boolean)
|
||||
fun onHideMangaTitleChanged(hide: Boolean)
|
||||
fun onVolumeKeyPageChanged(enable: Boolean)
|
||||
fun onReverseVolumeKeyPageChanged(enable: Boolean)
|
||||
fun onMangaLongClickChanged(checked: Boolean)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user