This commit is contained in:
Horis
2025-12-19 11:23:33 +08:00
parent 4012ed9569
commit 60d9d1d7e5
14 changed files with 36 additions and 37 deletions
@@ -104,7 +104,7 @@ object PreferKey {
const val mangaColorFilter = "mangaColorFilter" const val mangaColorFilter = "mangaColorFilter"
const val enableMangaEInk = "enableMangaEInk" const val enableMangaEInk = "enableMangaEInk"
const val mangaEInkThreshold = "mangaEInkThreshold" const val mangaEInkThreshold = "mangaEInkThreshold"
const val disableHorizontalAnimator = "disableHorizontalAnimator" const val disableHorizontalPageSnap = "disableHorizontalPageSnap"
const val enableMangaGray = "enableMangaGray" const val enableMangaGray = "enableMangaGray"
const val autoRefresh = "auto_refresh" const val autoRefresh = "auto_refresh"
const val defaultToRead = "defaultToRead" const val defaultToRead = "defaultToRead"
@@ -684,10 +684,10 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
appCtx.putPrefInt(PreferKey.mangaEInkThreshold, value) appCtx.putPrefInt(PreferKey.mangaEInkThreshold, value)
} }
var disableHorizontalAnimator var disableHorizontalPageSnap
get() = appCtx.getPrefBoolean(PreferKey.disableHorizontalAnimator, false) get() = appCtx.getPrefBoolean(PreferKey.disableHorizontalPageSnap, false)
set(value) { set(value) {
appCtx.putPrefBoolean(PreferKey.disableHorizontalAnimator, value) appCtx.putPrefBoolean(PreferKey.disableHorizontalPageSnap, value)
} }
var enableMangaGray var enableMangaGray
@@ -542,7 +542,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
R.id.menu_enable_horizontal_scroll -> { R.id.menu_enable_horizontal_scroll -> {
item.isChecked = !item.isChecked item.isChecked = !item.isChecked
AppConfig.enableMangaHorizontalScroll = item.isChecked AppConfig.enableMangaHorizontalScroll = item.isChecked
mMenu?.findItem(R.id.menu_disable_horizontal_animation)?.isVisible = item.isChecked mMenu?.findItem(R.id.menu_disable_horizontal_page_snap)?.isVisible = item.isChecked
setHorizontalScroll(item.isChecked) setHorizontalScroll(item.isChecked)
mAdapter.notifyDataSetChanged() mAdapter.notifyDataSetChanged()
} }
@@ -586,9 +586,9 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
showDialogFragment(MangaEpaperDialog()) showDialogFragment(MangaEpaperDialog())
} }
R.id.menu_disable_horizontal_animation -> { R.id.menu_disable_horizontal_page_snap -> {
item.isChecked = !item.isChecked item.isChecked = !item.isChecked
AppConfig.disableHorizontalAnimator = item.isChecked AppConfig.disableHorizontalPageSnap = item.isChecked
if (item.isChecked) { if (item.isChecked) {
mPagerSnapHelper.attachToRecyclerView(null) mPagerSnapHelper.attachToRecyclerView(null)
} else { } else {
@@ -659,7 +659,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
mAdapter.isHorizontal = enable mAdapter.isHorizontal = enable
if (enable) { if (enable) {
if (!enableAutoScroll) { if (!enableAutoScroll) {
if (AppConfig.disableHorizontalAnimator) { if (AppConfig.disableHorizontalPageSnap) {
mPagerSnapHelper.attachToRecyclerView(null) mPagerSnapHelper.attachToRecyclerView(null)
} else { } else {
mPagerSnapHelper.attachToRecyclerView(binding.recyclerView) mPagerSnapHelper.attachToRecyclerView(binding.recyclerView)
@@ -685,10 +685,9 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
AppConfig.enableMangaHorizontalScroll AppConfig.enableMangaHorizontalScroll
menu.findItem(R.id.menu_epaper_manga).isChecked = AppConfig.enableMangaEInk menu.findItem(R.id.menu_epaper_manga).isChecked = AppConfig.enableMangaEInk
menu.findItem(R.id.menu_epaper_manga_setting).isVisible = AppConfig.enableMangaEInk menu.findItem(R.id.menu_epaper_manga_setting).isVisible = AppConfig.enableMangaEInk
menu.findItem(R.id.menu_disable_horizontal_animation).run { menu.findItem(R.id.menu_disable_horizontal_page_snap).run {
isVisible = isVisible = AppConfig.enableMangaHorizontalScroll
AppConfig.enableMangaHorizontalScroll isChecked = AppConfig.disableHorizontalPageSnap
isChecked = AppConfig.disableHorizontalAnimator
} }
menu.findItem(R.id.menu_gray_manga).isChecked = AppConfig.enableMangaGray menu.findItem(R.id.menu_gray_manga).isChecked = AppConfig.enableMangaGray
} }
@@ -102,7 +102,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
override var sortAscending = true override var sortAscending = true
private set private set
private var snackBar: Snackbar? = null private var snackBar: Snackbar? = null
private var showDuplicationSource = false private var groupSourcesByDomain = false
private val hostMap = hashMapOf<String, String>() private val hostMap = hashMapOf<String, String>()
private val qrResult = registerForActivityResult(QrCodeResult()) { private val qrResult = registerForActivityResult(QrCodeResult()) {
it ?: return@registerForActivityResult it ?: return@registerForActivityResult
@@ -254,9 +254,9 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
searchView.setQuery(getString(R.string.disabled_explore), true) searchView.setQuery(getString(R.string.disabled_explore), true)
} }
R.id.menu_show_same_source -> { R.id.menu_group_sources_by_domain -> {
item.isChecked = !item.isChecked item.isChecked = !item.isChecked
showDuplicationSource = item.isChecked groupSourcesByDomain = item.isChecked
adapter.showSourceHost = item.isChecked adapter.showSourceHost = item.isChecked
upBookSource(searchView.query?.toString()) upBookSource(searchView.query?.toString())
} }
@@ -332,7 +332,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
} }
}.map { data -> }.map { data ->
hostMap.clear() hostMap.clear()
if (showDuplicationSource) { if (groupSourcesByDomain) {
data.sortedWith( data.sortedWith(
compareBy<BookSourcePart> { getSourceHost(it.bookSourceUrl) == "#" } compareBy<BookSourcePart> { getSourceHost(it.bookSourceUrl) == "#" }
.thenBy { getSourceHost(it.bookSourceUrl) } .thenBy { getSourceHost(it.bookSourceUrl) }
@@ -386,7 +386,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
}.flowOn(IO).conflate().collect { data -> }.flowOn(IO).conflate().collect { data ->
adapter.setItems(data, adapter.diffItemCallback, !Debug.isChecking) adapter.setItems(data, adapter.diffItemCallback, !Debug.isChecking)
itemTouchCallback.isCanDrag = itemTouchCallback.isCanDrag =
sort == BookSourceSort.Default && !showDuplicationSource sort == BookSourceSort.Default && !groupSourcesByDomain
delay(500) delay(500)
} }
} }
+2 -2
View File
@@ -72,11 +72,11 @@
app:showAsAction="never" /> app:showAsAction="never" />
<item <item
android:id="@+id/menu_disable_horizontal_animation" android:id="@+id/menu_disable_horizontal_page_snap"
android:checkable="true" android:checkable="true"
android:checked="false" android:checked="false"
android:visible="false" android:visible="false"
android:title="@string/disable_horizontal_animation" android:title="@string/disable_horizontal_page_snap"
app:showAsAction="never" /> app:showAsAction="never" />
<item <item
+2 -2
View File
@@ -133,9 +133,9 @@
app:showAsAction="never" /> app:showAsAction="never" />
<item <item
android:id="@+id/menu_show_same_source" android:id="@+id/menu_group_sources_by_domain"
android:checkable="true" android:checkable="true"
android:title="@string/show_same_source" android:title="@string/group_sources_by_domain"
app:showAsAction="never" /> app:showAsAction="never" />
<item <item
+2 -2
View File
@@ -1185,7 +1185,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string> <string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string>
<string name="read_aloud_by_media_button_title">耳机按键启动朗读</string> <string name="read_aloud_by_media_button_title">耳机按键启动朗读</string>
<string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string> <string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string>
<string name="show_same_source">显示重复书源</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">主题配置</string> <string name="theme_config">主题配置</string>
<string name="show_manga_ui">漫画浏览</string> <string name="show_manga_ui">漫画浏览</string>
<string name="disable_manga_scale">禁用漫画缩放</string> <string name="disable_manga_scale">禁用漫画缩放</string>
@@ -1219,7 +1219,7 @@
<string name="manga_epaper">墨水屏</string> <string name="manga_epaper">墨水屏</string>
<string name="manga_epaper_stting">墨水屏设置</string> <string name="manga_epaper_stting">墨水屏设置</string>
<string name="manga_epaper_value">阈值</string> <string name="manga_epaper_value">阈值</string>
<string name="disable_horizontal_animation">禁用水平滚动动画</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">开启图片灰色</string> <string name="enable_manga_gray">开启图片灰色</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>
<string name="auto_check_new_backup_t">自动检查新备份</string> <string name="auto_check_new_backup_t">自动检查新备份</string>
+2 -2
View File
@@ -1188,7 +1188,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string> <string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string>
<string name="read_aloud_by_media_button_title">耳机按键启动朗读</string> <string name="read_aloud_by_media_button_title">耳机按键启动朗读</string>
<string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string> <string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string>
<string name="show_same_source">显示重复书源</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">主题配置</string> <string name="theme_config">主题配置</string>
<string name="show_manga_ui">漫画浏览</string> <string name="show_manga_ui">漫画浏览</string>
<string name="disable_manga_scale">禁用漫画缩放</string> <string name="disable_manga_scale">禁用漫画缩放</string>
@@ -1222,7 +1222,7 @@
<string name="manga_epaper">墨水屏</string> <string name="manga_epaper">墨水屏</string>
<string name="manga_epaper_stting">墨水屏设置</string> <string name="manga_epaper_stting">墨水屏设置</string>
<string name="manga_epaper_value">阈值</string> <string name="manga_epaper_value">阈值</string>
<string name="disable_horizontal_animation">禁用水平滚动动画</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">开启图片灰色</string> <string name="enable_manga_gray">开启图片灰色</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>
<string name="auto_check_new_backup_t">自动检查新备份</string> <string name="auto_check_new_backup_t">自动检查新备份</string>
+2 -2
View File
@@ -1188,7 +1188,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string> <string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string>
<string name="read_aloud_by_media_button_title">耳机按键启动朗读</string> <string name="read_aloud_by_media_button_title">耳机按键启动朗读</string>
<string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string> <string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string>
<string name="show_same_source">显示重复书源</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">主题配置</string> <string name="theme_config">主题配置</string>
<string name="show_manga_ui">漫画浏览</string> <string name="show_manga_ui">漫画浏览</string>
<string name="disable_manga_scale">禁用漫画缩放</string> <string name="disable_manga_scale">禁用漫画缩放</string>
@@ -1222,7 +1222,7 @@
<string name="manga_epaper">墨水屏</string> <string name="manga_epaper">墨水屏</string>
<string name="manga_epaper_stting">墨水屏设置</string> <string name="manga_epaper_stting">墨水屏设置</string>
<string name="manga_epaper_value">阈值</string> <string name="manga_epaper_value">阈值</string>
<string name="disable_horizontal_animation">禁用水平滚动动画</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">开启图片灰色</string> <string name="enable_manga_gray">开启图片灰色</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>
<string name="auto_check_new_backup_t">自动检查新备份</string> <string name="auto_check_new_backup_t">自动检查新备份</string>
+2 -2
View File
@@ -1178,7 +1178,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">Đọc cần đọc trạng thái điện thoại để thực hiện chức năng tạm dừng đọc trong khi gọi</string> <string name="read_aloud_read_phone_state_permission_rationale">Đọc cần đọc trạng thái điện thoại để thực hiện chức năng tạm dừng đọc trong khi gọi</string>
<string name="read_aloud_by_media_button_title">Nút tai nghe bắt đầu đọc</string> <string name="read_aloud_by_media_button_title">Nút tai nghe bắt đầu đọc</string>
<string name="read_aloud_by_media_button_summary">Bắt đầu đọc bằng nút tai nghe</string> <string name="read_aloud_by_media_button_summary">Bắt đầu đọc bằng nút tai nghe</string>
<string name="show_same_source">Hiển thị nguồn sách trùng lặp</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">Cấu hình chủ đề</string> <string name="theme_config">Cấu hình chủ đề</string>
<string name="show_manga_ui">Duyệt manga</string> <string name="show_manga_ui">Duyệt manga</string>
<string name="disable_manga_scale">Vô hiệu hóa thu phóng manga</string> <string name="disable_manga_scale">Vô hiệu hóa thu phóng manga</string>
@@ -1212,7 +1212,7 @@
<string name="manga_epaper">Màn hình mực</string> <string name="manga_epaper">Màn hình mực</string>
<string name="manga_epaper_stting">Cài đặt màn hình mực</string> <string name="manga_epaper_stting">Cài đặt màn hình mực</string>
<string name="manga_epaper_value">Ngưỡng</string> <string name="manga_epaper_value">Ngưỡng</string>
<string name="disable_horizontal_animation">Tắt hoạt ảnh cuộn ngang</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">Bật ảnh xám</string> <string name="enable_manga_gray">Bật ảnh xám</string>
<string name="play_mode">Chế độ phát</string> <string name="play_mode">Chế độ phát</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>
+2 -2
View File
@@ -1180,7 +1180,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string> <string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string>
<string name="read_aloud_by_media_button_title">耳机按键启动朗读</string> <string name="read_aloud_by_media_button_title">耳机按键启动朗读</string>
<string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string> <string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string>
<string name="show_same_source">显示重复书源</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">主题配置</string> <string name="theme_config">主题配置</string>
<string name="show_manga_ui">漫画浏览</string> <string name="show_manga_ui">漫画浏览</string>
<string name="disable_manga_scale">禁用漫画缩放</string> <string name="disable_manga_scale">禁用漫画缩放</string>
@@ -1217,7 +1217,7 @@
<string name="manga_epaper">墨水屏</string> <string name="manga_epaper">墨水屏</string>
<string name="manga_epaper_stting">墨水屏设置</string> <string name="manga_epaper_stting">墨水屏设置</string>
<string name="manga_epaper_value">阈值</string> <string name="manga_epaper_value">阈值</string>
<string name="disable_horizontal_animation">禁用水平滚动动画</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">开启图片灰色</string> <string name="enable_manga_gray">开启图片灰色</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>
<string name="auto_check_new_backup_t">自动检查新备份</string> <string name="auto_check_new_backup_t">自动检查新备份</string>
+2 -2
View File
@@ -1182,7 +1182,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string> <string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string>
<string name="read_aloud_by_media_button_title">耳机按键启动朗读</string> <string name="read_aloud_by_media_button_title">耳机按键启动朗读</string>
<string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string> <string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string>
<string name="show_same_source">显示重复书源</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">主题配置</string> <string name="theme_config">主题配置</string>
<string name="show_manga_ui">漫画浏览</string> <string name="show_manga_ui">漫画浏览</string>
<string name="disable_manga_scale">禁用漫画缩放</string> <string name="disable_manga_scale">禁用漫画缩放</string>
@@ -1218,7 +1218,7 @@
<string name="read_aloud_pause_resume">朗讀暫停/繼續</string> <string name="read_aloud_pause_resume">朗讀暫停/繼續</string>
<string name="manga_epaper">墨水屏</string> <string name="manga_epaper">墨水屏</string>
<string name="manga_epaper_value">阈值</string> <string name="manga_epaper_value">阈值</string>
<string name="disable_horizontal_animation">禁用水平滚动动画</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">开启图片灰色</string> <string name="enable_manga_gray">开启图片灰色</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>
<string name="auto_check_new_backup_t">自动检查新备份</string> <string name="auto_check_new_backup_t">自动检查新备份</string>
+2 -2
View File
@@ -1187,7 +1187,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string> <string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string>
<string name="read_aloud_by_media_button_title">耳机按键启动朗读</string> <string name="read_aloud_by_media_button_title">耳机按键启动朗读</string>
<string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string> <string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string>
<string name="show_same_source">显示重复书源</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">主题配置</string> <string name="theme_config">主题配置</string>
<string name="show_manga_ui">漫画浏览</string> <string name="show_manga_ui">漫画浏览</string>
<string name="disable_manga_scale">禁用漫画缩放</string> <string name="disable_manga_scale">禁用漫画缩放</string>
@@ -1224,7 +1224,7 @@
<string name="manga_epaper">墨水屏</string> <string name="manga_epaper">墨水屏</string>
<string name="manga_epaper_stting">墨水屏设置</string> <string name="manga_epaper_stting">墨水屏设置</string>
<string name="manga_epaper_value">阈值</string> <string name="manga_epaper_value">阈值</string>
<string name="disable_horizontal_animation">禁用水平滚动动画</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">开启图片灰色</string> <string name="enable_manga_gray">开启图片灰色</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>
<string name="auto_check_new_backup_t">自动检查新备份</string> <string name="auto_check_new_backup_t">自动检查新备份</string>
+2 -2
View File
@@ -1188,7 +1188,7 @@
<string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string> <string name="read_aloud_read_phone_state_permission_rationale">阅读需要读取手机状态实现来电期间暂停朗读功能</string>
<string name="read_aloud_by_media_button_title">耳机按键启动朗读</string> <string name="read_aloud_by_media_button_title">耳机按键启动朗读</string>
<string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string> <string name="read_aloud_by_media_button_summary">通过耳机按键来启动朗读</string>
<string name="show_same_source">显示重复书源</string> <string name="group_sources_by_domain">按域名分组显示</string>
<string name="theme_config">主题配置</string> <string name="theme_config">主题配置</string>
<string name="show_manga_ui">漫画浏览</string> <string name="show_manga_ui">漫画浏览</string>
<string name="disable_manga_scale">禁用漫画缩放</string> <string name="disable_manga_scale">禁用漫画缩放</string>
@@ -1225,7 +1225,7 @@
<string name="manga_epaper">墨水屏</string> <string name="manga_epaper">墨水屏</string>
<string name="manga_epaper_stting">墨水屏设置</string> <string name="manga_epaper_stting">墨水屏设置</string>
<string name="manga_epaper_value">阈值</string> <string name="manga_epaper_value">阈值</string>
<string name="disable_horizontal_animation">禁用水平滚动动画</string> <string name="disable_horizontal_page_snap">禁用水平翻页效果</string>
<string name="enable_manga_gray">开启图片灰色</string> <string name="enable_manga_gray">开启图片灰色</string>
<string name="play_mode">播放模式</string> <string name="play_mode">播放模式</string>
<string name="sure_cache_book">是否确认开始缓存?</string> <string name="sure_cache_book">是否确认开始缓存?</string>