增加开启自动翻页 (#4717)
* 增加点击屏幕下部分右边下一页,左部分上一页 * 优化 * 增加开启自动翻页 * ... * 修改命名 * ... * ...
This commit is contained in:
@@ -96,6 +96,7 @@ object PreferKey {
|
|||||||
const val imageRetainNum = "imageRetainNum"
|
const val imageRetainNum = "imageRetainNum"
|
||||||
const val preDownloadNum = "preDownloadNum"
|
const val preDownloadNum = "preDownloadNum"
|
||||||
const val mangaPreDownloadNum = "mangaPreDownloadNum"
|
const val mangaPreDownloadNum = "mangaPreDownloadNum"
|
||||||
|
const val mangaAutoPageSpeed = "mangaAutoPageSpeed"
|
||||||
const val singlePageScrolling = "singlePageScrolling"
|
const val singlePageScrolling = "singlePageScrolling"
|
||||||
const val disableClickScroller = "disableClickScroller"
|
const val disableClickScroller = "disableClickScroller"
|
||||||
const val autoRefresh = "auto_refresh"
|
const val autoRefresh = "auto_refresh"
|
||||||
|
|||||||
@@ -636,5 +636,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
set(value) {
|
set(value) {
|
||||||
appCtx.putPrefBoolean(PreferKey.disableClickScroller, value)
|
appCtx.putPrefBoolean(PreferKey.disableClickScroller, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//漫画滚动速度
|
||||||
|
var mangaAutoPageSpeed
|
||||||
|
get() = appCtx.getPrefInt(PreferKey.mangaAutoPageSpeed, 3)
|
||||||
|
set(value) {
|
||||||
|
appCtx.putPrefInt(PreferKey.mangaAutoPageSpeed, value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Handler
|
||||||
import android.os.Looper
|
import android.os.Looper
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
@@ -109,6 +110,22 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private var mDisableAutoScrollPage = false
|
||||||
|
private val mInitMangaAutoPageSpeed by lazy {
|
||||||
|
AppConfig.mangaAutoPageSpeed
|
||||||
|
}
|
||||||
|
|
||||||
|
private var mMangaAutoPageSpeed = mInitMangaAutoPageSpeed
|
||||||
|
|
||||||
|
private val autoScrollHandler = Handler(Looper.getMainLooper())
|
||||||
|
private val autoScrollRunnable = object : Runnable {
|
||||||
|
override fun run() {
|
||||||
|
scrollToNext()
|
||||||
|
autoScrollHandler.postDelayed(this, mMangaAutoPageSpeed.times(1000L)) // 每3秒滑动一次
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private var mMenu: Menu? = null
|
||||||
|
|
||||||
|
|
||||||
private var mRecyclerViewPreloader: RecyclerViewPreloader<Any>? = null
|
private var mRecyclerViewPreloader: RecyclerViewPreloader<Any>? = null
|
||||||
|
|
||||||
@@ -304,6 +321,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
|||||||
ReadManga.syncProgress({ progress -> sureNewProgress(progress) })
|
ReadManga.syncProgress({ progress -> sureNewProgress(progress) })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
startAutoPage()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
@@ -320,6 +338,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
networkChangedListener.unRegister()
|
networkChangedListener.unRegister()
|
||||||
|
stopAutoPage()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun loadComplete() {
|
override fun loadComplete() {
|
||||||
@@ -413,12 +432,11 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
|||||||
}
|
}
|
||||||
|
|
||||||
R.id.menu_pre_manga_number -> {
|
R.id.menu_pre_manga_number -> {
|
||||||
NumberPickerDialog(this)
|
showNumberPickerDialog(
|
||||||
.setTitle(getString(R.string.pre_download))
|
0,
|
||||||
.setMaxValue(9999)
|
getString(R.string.pre_download),
|
||||||
.setMinValue(0)
|
AppConfig.mangaPreDownloadNum
|
||||||
.setValue(AppConfig.mangaPreDownloadNum)
|
) {
|
||||||
.show {
|
|
||||||
AppConfig.mangaPreDownloadNum = it
|
AppConfig.mangaPreDownloadNum = it
|
||||||
item.title = getString(R.string.pre_download_m, it)
|
item.title = getString(R.string.pre_download_m, it)
|
||||||
addRecyclerViewPreloader(it)
|
addRecyclerViewPreloader(it)
|
||||||
@@ -442,6 +460,29 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
|||||||
AppConfig.disableClickScroller = item.isChecked
|
AppConfig.disableClickScroller = item.isChecked
|
||||||
disabledClickScroller(item.isChecked)
|
disabledClickScroller(item.isChecked)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
R.id.menu_enable_auto_page -> {
|
||||||
|
item.isChecked = !item.isChecked
|
||||||
|
val menuMangaAutoPageSpeed = mMenu?.findItem(R.id.menu_manga_auto_page_speed)
|
||||||
|
mDisableAutoScrollPage = item.isChecked
|
||||||
|
if (item.isChecked) {
|
||||||
|
startAutoPage()
|
||||||
|
menuMangaAutoPageSpeed?.isVisible = true
|
||||||
|
} else {
|
||||||
|
stopAutoPage()
|
||||||
|
menuMangaAutoPageSpeed?.isVisible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
R.id.menu_manga_auto_page_speed -> {
|
||||||
|
showNumberPickerDialog(1,getString(R.string.setting_manga_auto_page_speed), 3) {
|
||||||
|
AppConfig.mangaAutoPageSpeed = it
|
||||||
|
mMangaAutoPageSpeed = it
|
||||||
|
item.title = getString(R.string.manga_auto_page_speed, it)
|
||||||
|
stopAutoPage()
|
||||||
|
startAutoPage()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return super.onCompatOptionsItemSelected(item)
|
return super.onCompatOptionsItemSelected(item)
|
||||||
}
|
}
|
||||||
@@ -497,11 +538,14 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
|||||||
|
|
||||||
@SuppressLint("StringFormatMatches")
|
@SuppressLint("StringFormatMatches")
|
||||||
private fun upMenu(menu: Menu) {
|
private fun upMenu(menu: Menu) {
|
||||||
|
this.mMenu = menu
|
||||||
menu.findItem(R.id.menu_pre_manga_number).title =
|
menu.findItem(R.id.menu_pre_manga_number).title =
|
||||||
getString(R.string.pre_download_m, mPreDownloadNum)
|
getString(R.string.pre_download_m, mPreDownloadNum)
|
||||||
menu.findItem(R.id.menu_scroller_page).isChecked = mSinglePageScroller
|
menu.findItem(R.id.menu_scroller_page).isChecked = mSinglePageScroller
|
||||||
menu.findItem(R.id.menu_disable_manga_scaling).isChecked = mDisableMangaScaling
|
menu.findItem(R.id.menu_disable_manga_scaling).isChecked = mDisableMangaScaling
|
||||||
menu.findItem(R.id.menu_disable_click_scroller).isChecked = mDisableClickScroller
|
menu.findItem(R.id.menu_disable_click_scroller).isChecked = mDisableClickScroller
|
||||||
|
menu.findItem(R.id.menu_manga_auto_page_speed).title =
|
||||||
|
getString(R.string.manga_auto_page_speed, mMangaAutoPageSpeed)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun disableMangaScaling(disable: Boolean) {
|
private fun disableMangaScaling(disable: Boolean) {
|
||||||
@@ -556,4 +600,25 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
|||||||
mSmoothScroller.targetPosition = position
|
mSmoothScroller.targetPosition = position
|
||||||
mLayoutManager.startSmoothScroll(mSmoothScroller)
|
mLayoutManager.startSmoothScroll(mSmoothScroller)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun startAutoPage() {
|
||||||
|
if (mDisableAutoScrollPage) {
|
||||||
|
autoScrollHandler.postDelayed(autoScrollRunnable, mMangaAutoPageSpeed.times(1000L))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun stopAutoPage() {
|
||||||
|
autoScrollHandler.removeCallbacks(autoScrollRunnable)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showNumberPickerDialog(min:Int,title: String, initValue: Int, callback: (Int) -> Unit) {
|
||||||
|
NumberPickerDialog(this)
|
||||||
|
.setTitle(title)
|
||||||
|
.setMaxValue(9999)
|
||||||
|
.setMinValue(min)
|
||||||
|
.setValue(initValue)
|
||||||
|
.show {
|
||||||
|
callback.invoke(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -44,4 +44,17 @@
|
|||||||
android:checked="false"
|
android:checked="false"
|
||||||
android:title="@string/disable_manga_click_scroller"
|
android:title="@string/disable_manga_click_scroller"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_enable_auto_page"
|
||||||
|
android:checkable="true"
|
||||||
|
android:checked="false"
|
||||||
|
android:title="@string/enable_auto_page_scroller"
|
||||||
|
app:showAsAction="never" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_manga_auto_page_speed"
|
||||||
|
android:visible="false"
|
||||||
|
android:title="@string/manga_auto_page_speed"
|
||||||
|
app:showAsAction="never" />
|
||||||
</menu>
|
</menu>
|
||||||
|
|||||||
@@ -1185,6 +1185,9 @@
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">Descargar el siguiente capítulo</string>
|
<string name="menu_download_after">Descargar el siguiente capítulo</string>
|
||||||
<string name="menu_download_all">Descargar todos los capítulos</string>
|
<string name="menu_download_all">Descargar todos los capítulos</string>
|
||||||
|
|||||||
@@ -1188,6 +1188,9 @@
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">下载之后章节</string>
|
<string name="menu_download_after">下载之后章节</string>
|
||||||
<string name="menu_download_all">下载全部章节</string>
|
<string name="menu_download_all">下载全部章节</string>
|
||||||
|
|||||||
@@ -1188,6 +1188,9 @@
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">Faça o download do próximo capítulo</string>
|
<string name="menu_download_after">Faça o download do próximo capítulo</string>
|
||||||
<string name="menu_download_all">Download de todos os capítulos</string>
|
<string name="menu_download_all">Download de todos os capítulos</string>
|
||||||
|
|||||||
@@ -1184,6 +1184,9 @@ Còn </string>
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">Tải xuống chương tiếp theo</string>
|
<string name="menu_download_after">Tải xuống chương tiếp theo</string>
|
||||||
<string name="menu_download_all">Tải xuống tất cả các chương</string>
|
<string name="menu_download_all">Tải xuống tất cả các chương</string>
|
||||||
|
|||||||
@@ -1185,6 +1185,9 @@
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">下載之後章節</string>
|
<string name="menu_download_after">下載之後章節</string>
|
||||||
<string name="menu_download_all">下載全部章節</string>
|
<string name="menu_download_all">下載全部章節</string>
|
||||||
|
|||||||
@@ -1187,6 +1187,9 @@
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">下載之後章節</string>
|
<string name="menu_download_after">下載之後章節</string>
|
||||||
<string name="menu_download_all">下載全部章節</string>
|
<string name="menu_download_all">下載全部章節</string>
|
||||||
|
|||||||
@@ -1187,6 +1187,9 @@
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">下载之后章节</string>
|
<string name="menu_download_after">下载之后章节</string>
|
||||||
<string name="menu_download_all">下载全部章节</string>
|
<string name="menu_download_all">下载全部章节</string>
|
||||||
|
|||||||
@@ -1188,6 +1188,9 @@
|
|||||||
<string name="show_mange_ui">漫画浏览</string>
|
<string name="show_mange_ui">漫画浏览</string>
|
||||||
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
<string name="disable_manga_scaling">禁用漫画缩放</string>
|
||||||
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
<string name="disable_manga_click_scroller">禁用点击翻页</string>
|
||||||
|
<string name="enable_auto_page_scroller">开启自动翻页</string>
|
||||||
|
<string name="manga_auto_page_speed">翻页速度 %s 秒</string>
|
||||||
|
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
|
||||||
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
|
||||||
<string name="menu_download_after">Download the chapter after</string>
|
<string name="menu_download_after">Download the chapter after</string>
|
||||||
<string name="menu_download_all">Download all chapter</string>
|
<string name="menu_download_all">Download all chapter</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user