[新增] 新增漫画音量键翻页反转设置
This commit is contained in:
7 files changed
+41
-9
No files matched your search
@@ -191,7 +191,7 @@ object PreferKey {
|
|||||||
const val mangaScrollMode = "mangaScrollMode"
|
const val mangaScrollMode = "mangaScrollMode"
|
||||||
const val webtoonSidePaddingDp = "webtoonSidePaddingDp"
|
const val webtoonSidePaddingDp = "webtoonSidePaddingDp"
|
||||||
const val mangaVolumeKeyPage = "mangaVolumeKeyPage"
|
const val mangaVolumeKeyPage = "mangaVolumeKeyPage"
|
||||||
|
const val reverseVolumeKeyPage = "reverseVolumeKeyPage"
|
||||||
const val mangaClickActionTL = "mangaClickActionTopLeft"
|
const val mangaClickActionTL = "mangaClickActionTopLeft"
|
||||||
const val mangaClickActionTC = "mangaClickActionTopCenter"
|
const val mangaClickActionTC = "mangaClickActionTopCenter"
|
||||||
const val mangaClickActionTR = "mangaClickActionTopRight"
|
const val mangaClickActionTR = "mangaClickActionTopRight"
|
||||||
|
|||||||
@@ -869,6 +869,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
appCtx.putPrefBoolean(PreferKey.mangaVolumeKeyPage, value)
|
appCtx.putPrefBoolean(PreferKey.mangaVolumeKeyPage, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var reverseVolumeKeyPage: Boolean
|
||||||
|
get() = appCtx.getPrefBoolean(PreferKey.reverseVolumeKeyPage, false)
|
||||||
|
set(value) {
|
||||||
|
appCtx.putPrefBoolean(PreferKey.reverseVolumeKeyPage, value)
|
||||||
|
}
|
||||||
|
|
||||||
var tabletInterface
|
var tabletInterface
|
||||||
get() = appCtx.getPrefString(PreferKey.tabletInterface, "auto")
|
get() = appCtx.getPrefString(PreferKey.tabletInterface, "auto")
|
||||||
set(value) {
|
set(value) {
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import android.view.MenuItem
|
|||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import android.view.animation.LinearInterpolator
|
import android.view.animation.LinearInterpolator
|
||||||
import androidx.activity.addCallback
|
import androidx.activity.addCallback
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.core.view.doOnLayout
|
import androidx.core.view.doOnLayout
|
||||||
@@ -31,7 +30,6 @@ import io.legado.app.BuildConfig
|
|||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.VMBaseActivity
|
import io.legado.app.base.VMBaseActivity
|
||||||
import io.legado.app.constant.AppLog
|
import io.legado.app.constant.AppLog
|
||||||
import io.legado.app.constant.BookType
|
|
||||||
import io.legado.app.constant.EventBus
|
import io.legado.app.constant.EventBus
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.Book
|
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.BookHelp
|
||||||
import io.legado.app.help.book.isImage
|
import io.legado.app.help.book.isImage
|
||||||
import io.legado.app.help.book.isLocal
|
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.config.AppConfig
|
||||||
import io.legado.app.help.coroutine.Coroutine
|
import io.legado.app.help.coroutine.Coroutine
|
||||||
import io.legado.app.help.source.getSourceType
|
import io.legado.app.help.source.getSourceType
|
||||||
@@ -815,6 +812,10 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
AppConfig.MangaVolumeKeyPage = enable
|
AppConfig.MangaVolumeKeyPage = enable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onReverseVolumeKeyPageChanged(enable: Boolean) {
|
||||||
|
AppConfig.reverseVolumeKeyPage = enable
|
||||||
|
}
|
||||||
|
|
||||||
override fun onHideMangaTitleChanged(hide: Boolean) {
|
override fun onHideMangaTitleChanged(hide: Boolean) {
|
||||||
AppConfig.hideMangaTitle = hide
|
AppConfig.hideMangaTitle = hide
|
||||||
ReadManga.loadContent()
|
ReadManga.loadContent()
|
||||||
@@ -1069,17 +1070,29 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
|
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
|
||||||
if (AppConfig.MangaVolumeKeyPage) {
|
if (!AppConfig.MangaVolumeKeyPage) {
|
||||||
|
return super.onKeyDown(keyCode, event)
|
||||||
|
}
|
||||||
|
|
||||||
|
val isReverse = AppConfig.reverseVolumeKeyPage
|
||||||
|
|
||||||
when (keyCode) {
|
when (keyCode) {
|
||||||
KeyEvent.KEYCODE_VOLUME_UP -> {
|
KeyEvent.KEYCODE_VOLUME_UP -> {
|
||||||
|
if (isReverse) {
|
||||||
|
scrollToNext()
|
||||||
|
} else {
|
||||||
scrollToPrev()
|
scrollToPrev()
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
KeyEvent.KEYCODE_VOLUME_DOWN -> {
|
KeyEvent.KEYCODE_VOLUME_DOWN -> {
|
||||||
|
if (isReverse) {
|
||||||
|
scrollToPrev()
|
||||||
|
} else {
|
||||||
scrollToNext()
|
scrollToNext()
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import android.content.DialogInterface
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.core.graphics.toColorInt
|
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.transition.TransitionManager
|
import androidx.transition.TransitionManager
|
||||||
import com.google.android.material.chip.Chip
|
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.constant.EventBus
|
||||||
import io.legado.app.databinding.DialogMangaFooterSettingBinding
|
import io.legado.app.databinding.DialogMangaFooterSettingBinding
|
||||||
import io.legado.app.help.config.AppConfig
|
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.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.ui.widget.ReaderInfoBarView
|
||||||
import io.legado.app.utils.GSON
|
import io.legado.app.utils.GSON
|
||||||
import io.legado.app.utils.fromJsonObject
|
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 {
|
binding.checkboxMangaLongClick.apply {
|
||||||
isChecked = AppConfig.mangaLongClick
|
isChecked = AppConfig.mangaLongClick
|
||||||
setOnCheckedChangeListener { _, isChecked ->
|
setOnCheckedChangeListener { _, isChecked ->
|
||||||
@@ -303,6 +307,7 @@ class MangaFooterSettingDialog :
|
|||||||
fun onMangaScaleDisabledChanged(disabled: Boolean)
|
fun onMangaScaleDisabledChanged(disabled: Boolean)
|
||||||
fun onHideMangaTitleChanged(hide: Boolean)
|
fun onHideMangaTitleChanged(hide: Boolean)
|
||||||
fun onVolumeKeyPageChanged(enable: Boolean)
|
fun onVolumeKeyPageChanged(enable: Boolean)
|
||||||
|
fun onReverseVolumeKeyPageChanged(enable: Boolean)
|
||||||
fun onMangaLongClickChanged(checked: Boolean)
|
fun onMangaLongClickChanged(checked: Boolean)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -268,6 +268,12 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/volume_key_page" />
|
android:text="@string/volume_key_page" />
|
||||||
|
|
||||||
|
<com.google.android.material.checkbox.MaterialCheckBox
|
||||||
|
android:id="@+id/reverseVolumeKeyPage"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/reverse_volume_key_page" />
|
||||||
|
|
||||||
<com.google.android.material.checkbox.MaterialCheckBox
|
<com.google.android.material.checkbox.MaterialCheckBox
|
||||||
android:id="@+id/checkboxMangaLongClick"
|
android:id="@+id/checkboxMangaLongClick"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -1366,4 +1366,5 @@
|
|||||||
<string name="auto_check_new_backup_t">自动检查新备份</string>
|
<string name="auto_check_new_backup_t">自动检查新备份</string>
|
||||||
<string name="text_accent_color">强调</string>
|
<string name="text_accent_color">强调</string>
|
||||||
<string name="read_color">颜色样式</string>
|
<string name="read_color">颜色样式</string>
|
||||||
|
<string name="reverse_volume_key_page">反转音量键翻页方向</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1371,4 +1371,5 @@
|
|||||||
<string name="select_operation">选择操作</string>
|
<string name="select_operation">选择操作</string>
|
||||||
<string name="text_accent_color">强调</string>
|
<string name="text_accent_color">强调</string>
|
||||||
<string name="read_color">颜色样式</string>
|
<string name="read_color">颜色样式</string>
|
||||||
|
<string name="reverse_volume_key_page">反转音量键翻页方向</string>
|
||||||
</resources>
|
</resources>
|
||||||
Reference in new issue
Block a user