diff --git a/app/src/main/java/io/legado/app/service/help/ReadBook.kt b/app/src/main/java/io/legado/app/service/help/ReadBook.kt index 5b6f33b6e..ab07ec9f2 100644 --- a/app/src/main/java/io/legado/app/service/help/ReadBook.kt +++ b/app/src/main/java/io/legado/app/service/help/ReadBook.kt @@ -186,7 +186,7 @@ object ReadBook { fun skipToPage(index: Int, success: (() -> Unit)? = null) { durChapterPos = curTextChapter?.getReadLength(index) ?: index - callBack?.upContent() { + callBack?.upContent { success?.invoke() } curPageChanged() 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 051cf7ab7..d51321812 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 @@ -81,9 +81,14 @@ class ReadBookActivity : ReadBookBaseActivity(), override val isInitFinish: Boolean get() = viewModel.isInitFinish override val isScroll: Boolean get() = binding.readView.isScroll private val mHandler = Handler(Looper.getMainLooper()) - private val keepScreenRunnable: Runnable = - Runnable { keepScreenOn(window, false) } - private val autoPageRunnable: Runnable = Runnable { autoPagePlus() } + private val keepScreenRunnable = Runnable { keepScreenOn(window, false) } + private val autoPageRunnable = Runnable { autoPagePlus() } + private val backupRunnable = Runnable { + if (!BuildConfig.DEBUG) { + ReadBook.uploadProgress() + Backup.autoBack(this) + } + } override var autoPageProgress = 0 override var isAutoPage = false private var screenTimeOut: Long = 0 @@ -129,6 +134,7 @@ class ReadBookActivity : ReadBookBaseActivity(), override fun onPause() { super.onPause() + mHandler.removeCallbacks(backupRunnable) ReadBook.saveRead() timeBatteryReceiver?.let { unregisterReceiver(it) @@ -571,6 +577,7 @@ class ReadBookActivity : ReadBookBaseActivity(), launch { binding.readMenu.setSeekPage(ReadBook.durPageIndex()) } + mHandler.postDelayed(backupRunnable, 600000) } /**