From 9242dfe476ae09c5c65bf0edd50e298c0d4bd75b Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Tue, 26 Mar 2024 21:44:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/changesource/ChangeBookSourceDialog.kt | 3 ++- .../ui/book/changesource/ChangeBookSourceViewModel.kt | 6 ++++-- .../ui/book/changesource/ChangeChapterSourceDialog.kt | 9 +++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt index 9cec585ab..6366e0dc9 100644 --- a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt @@ -283,8 +283,9 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_ } upGroupMenuName() lifecycleScope.launch(IO) { + viewModel.stopSearch() if (viewModel.refresh()) { - viewModel.startOrStopSearch() + viewModel.startSearch() } } } diff --git a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt index acdaa7ee4..7e7d35228 100644 --- a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt @@ -167,8 +167,10 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a fun startSearch() { execute { stopSearch() - appDb.searchBookDao.clear(name, author) - searchBooks.clear() + if (searchBooks.isNotEmpty()) { + appDb.searchBookDao.delete(*searchBooks.toTypedArray()) + searchBooks.clear() + } searchCallback?.upAdapter() bookSourceParts.clear() val searchGroup = AppConfig.searchGroup diff --git a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt index 33bbf8273..bb7215d31 100644 --- a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt @@ -45,6 +45,7 @@ import io.legado.app.utils.startActivity import io.legado.app.utils.toastOnUi import io.legado.app.utils.viewbindingdelegate.viewBinding import io.legado.app.utils.visible +import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.delay import kotlinx.coroutines.flow.conflate import kotlinx.coroutines.launch @@ -282,8 +283,12 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c } else { AppConfig.searchGroup = item.title.toString() } - viewModel.startOrStopSearch() - viewModel.refresh() + lifecycleScope.launch(IO) { + viewModel.stopSearch() + if (viewModel.refresh()) { + viewModel.startSearch() + } + } } } return false