From 21679eff535c05c10e071986aa4f8a12f4eeffb2 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sat, 29 Nov 2025 13:58:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20#5581?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/changecover/ChangeCoverDialog.kt | 11 +++++------ .../ui/book/changesource/ChangeBookSourceDialog.kt | 10 +++++----- .../ui/book/changesource/ChangeChapterSourceDialog.kt | 11 +++++------ 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt index b74812cf2..258cf97f6 100644 --- a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt @@ -8,7 +8,6 @@ import androidx.appcompat.widget.Toolbar import androidx.fragment.app.viewModels import androidx.lifecycle.Lifecycle.State.STARTED import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.repeatOnLifecycle import androidx.recyclerview.widget.GridLayoutManager import io.legado.app.R import io.legado.app.base.BaseDialogFragment @@ -19,6 +18,7 @@ import io.legado.app.utils.setLayout import io.legado.app.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.delay import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch /** @@ -70,11 +70,10 @@ class ChangeCoverDialog() : BaseDialogFragment(R.layout.dialog_change_cover), private fun initData() { lifecycleScope.launch { - repeatOnLifecycle(STARTED) { - viewModel.dataFlow.conflate().collect { - adapter.setItems(it) - delay(1000) - } + lifecycle.currentStateFlow.first { it.isAtLeast(STARTED) } + viewModel.dataFlow.conflate().collect { + adapter.setItems(it) + delay(1000) } } } 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 5f2ad6a4d..7bc266f53 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 @@ -49,6 +49,7 @@ import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.delay import kotlinx.coroutines.flow.conflate import kotlinx.coroutines.flow.drop +import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch /** @@ -231,11 +232,10 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_ binding.toolBar.menu.applyTint(requireContext()) } lifecycleScope.launch { - repeatOnLifecycle(STARTED) { - viewModel.searchDataFlow.conflate().collect { - adapter.setItems(it) - delay(1000) - } + lifecycle.currentStateFlow.first { it.isAtLeast(STARTED) } + viewModel.searchDataFlow.conflate().collect { + adapter.setItems(it) + delay(1000) } } 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 94913e368..5bb9b7a65 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 @@ -13,7 +13,6 @@ import androidx.core.view.isVisible import androidx.fragment.app.viewModels import androidx.lifecycle.Lifecycle.State.STARTED import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.repeatOnLifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import io.legado.app.R @@ -49,6 +48,7 @@ import io.legado.app.utils.visible import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.delay import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch @@ -232,11 +232,10 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c binding.toolBar.menu.applyTint(requireContext()) } lifecycleScope.launch { - repeatOnLifecycle(STARTED) { - viewModel.searchDataFlow.conflate().collect { - searchBookAdapter.setItems(it) - delay(1000) - } + lifecycle.currentStateFlow.first { it.isAtLeast(STARTED) } + viewModel.searchDataFlow.conflate().collect { + searchBookAdapter.setItems(it) + delay(1000) } } lifecycleScope.launch {