From 22a61798d32169cf12bbc87da22c9c870fe9173d Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Mon, 10 Oct 2022 13:31:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(SearchBook):=20=E5=85=A8=E6=96=87=E6=90=9C?= =?UTF-8?q?=E7=B4=A2/=E5=85=A8=E4=B9=A6=E8=B7=B3=E8=BD=AC=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E6=9D=A1=E6=94=AF=E6=8C=81=E8=BF=9B=E5=BA=A6=E6=81=A2?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/read/ReadBookActivity.kt | 22 +++++++++++++++++-- .../io/legado/app/ui/book/read/ReadMenu.kt | 2 ++ 2 files changed, 22 insertions(+), 2 deletions(-) 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 e0c6dc3df..bb1086d8d 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 @@ -125,6 +125,7 @@ class ReadBookActivity : BaseReadBookActivity(), viewModel.searchResultIndex = index binding.searchMenu.updateSearchResultIndex(index) binding.searchMenu.selectedSearchResult?.let { currentResult -> + ReadBook.saveCurrentBookProcess() //退出全文搜索恢复此时进度 skipToSearch(currentResult) showActionMenu() } @@ -493,6 +494,11 @@ class ReadBookActivity : BaseReadBookActivity(), keyCode == KeyEvent.KEYCODE_BACK -> { if (isShowingSearchResult) { exitSearchMenu() + restoreLastBookProcess() + return true + } + if (ReadBook.lastBookPress != null) { + restoreLastBookProcess() return true } } @@ -977,6 +983,7 @@ class ReadBookActivity : BaseReadBookActivity(), upNavigationBarColor() } + // 退出全文搜索 override fun exitSearchMenu() { if (isShowingSearchResult) { isShowingSearchResult = false @@ -987,6 +994,19 @@ class ReadBookActivity : BaseReadBookActivity(), } } + /* 恢复到 全文搜索/进度条跳转前的位置 */ + private fun restoreLastBookProcess() { + alert(R.string.draw) { + setMessage(R.string.restore_last_book_process) + yesButton { + ReadBook.restoreLastBookProcess() //恢复启动全文搜索前的进度 + } + noButton { + ReadBook.lastBookPress = null + } + } + } + override fun showLogin() { ReadBook.bookSource?.let { startActivity { @@ -1134,8 +1154,6 @@ class ReadBookActivity : BaseReadBookActivity(), } } - /* 回复到 全文搜索/进度条跳转前的位置 */ - /* 进度条跳转到指定章节 */ override fun skipToChapter(index: Int) { viewModel.openChapter(index) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt index 0de1c6fb2..96a51445d 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt @@ -375,11 +375,13 @@ class ReadMenu @JvmOverloads constructor( "page" -> ReadBook.skipToPage(seekBar.progress) "chapter" -> { if (confirmSkipToChapter) { + ReadBook.saveCurrentBookProcess() callBack.skipToChapter(seekBar.progress) } else { context.alert("章节跳转确认", "确定要跳转章节吗?") { yesButton { confirmSkipToChapter = true + ReadBook.saveCurrentBookProcess() callBack.skipToChapter(seekBar.progress) } noButton {