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 9a4a1ba47..46c1a8740 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 @@ -44,6 +44,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.delay import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.launch /** @@ -204,7 +205,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_ } } launch { - appDb.bookSourceDao.flowEnabledGroups().conflate().collect { + appDb.bookSourceDao.flowEnabledGroups().flowOn(IO).conflate().collect { groups.clear() groups.addAll(it) upGroupMenu() 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 93c504856..755110bf1 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 @@ -47,8 +47,10 @@ 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.flow.flowOn import kotlinx.coroutines.launch @@ -230,7 +232,7 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c } } launch { - appDb.bookSourceDao.flowEnabledGroups().conflate().collect { + appDb.bookSourceDao.flowEnabledGroups().flowOn(IO).conflate().collect { groups.clear() groups.addAll(it) upGroupMenu() diff --git a/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt b/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt index af9fca043..b0381ff05 100644 --- a/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/search/SearchActivity.kt @@ -31,6 +31,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Job import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import splitties.init.appCtx @@ -279,7 +280,7 @@ class SearchActivity : VMBaseActivity + }.flowOn(IO).conflate().collect { data -> adapter.setItems(data, adapter.diffItemCallback) itemTouchCallback.isCanDrag = sort == BookSourceSort.Default delay(500) @@ -336,10 +338,11 @@ class BookSourceActivity : VMBaseActivity(R.layout.fragment_explo private fun initGroupData() { launch { - appDb.bookSourceDao.flowExploreGroups().conflate().collect { + appDb.bookSourceDao.flowExploreGroups().flowOn(IO).conflate().collect { groups.clear() groups.addAll(it) upGroupsMenu()