From 9fee4f4025112c86d96feb39db9a76a93411e891 Mon Sep 17 00:00:00 2001 From: kunfei Date: Mon, 12 Sep 2022 19:47:22 +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/src/main/java/io/legado/app/data/dao/BookSourceDao.kt | 8 +++++++- .../app/ui/book/changesource/ChangeBookSourceDialog.kt | 7 ++----- .../app/ui/book/changesource/ChangeChapterSourceDialog.kt | 7 ++----- .../java/io/legado/app/ui/book/search/SearchActivity.kt | 7 ++----- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/dao/BookSourceDao.kt b/app/src/main/java/io/legado/app/data/dao/BookSourceDao.kt index 050e6afde..f7c4a764c 100644 --- a/app/src/main/java/io/legado/app/data/dao/BookSourceDao.kt +++ b/app/src/main/java/io/legado/app/data/dao/BookSourceDao.kt @@ -89,7 +89,7 @@ interface BookSourceDao { fun flowGroupsUnProcessed(): Flow> @Query("select distinct bookSourceGroup from book_sources where enabled = 1 and trim(bookSourceGroup) <> ''") - fun flowGroupEnabled(): Flow> + fun flowEnabledGroupsUnProcessed(): Flow> @Query( """select distinct bookSourceGroup from book_sources @@ -186,4 +186,10 @@ interface BookSourceDao { dealGroups(list) } } + + fun flowEnabledGroups(): Flow> { + return flowEnabledGroupsUnProcessed().map { list -> + dealGroups(list) + } + } } \ No newline at end of file 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 5602a9007..ffde59dca 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 @@ -14,7 +14,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import io.legado.app.R import io.legado.app.base.BaseDialogFragment -import io.legado.app.constant.AppPattern import io.legado.app.constant.EventBus import io.legado.app.data.appDb import io.legado.app.data.entities.Book @@ -188,11 +187,9 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_ } } launch { - appDb.bookSourceDao.flowGroupEnabled().conflate().collect { + appDb.bookSourceDao.flowEnabledGroups().conflate().collect { groups.clear() - it.map { group -> - groups.addAll(group.splitNotBlank(AppPattern.splitGroupRegex)) - } + 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 f745b5c0b..57421706c 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 @@ -14,7 +14,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import io.legado.app.R import io.legado.app.base.BaseDialogFragment -import io.legado.app.constant.AppPattern import io.legado.app.constant.EventBus import io.legado.app.data.appDb import io.legado.app.data.entities.Book @@ -210,11 +209,9 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c } } launch { - appDb.bookSourceDao.flowGroupEnabled().conflate().collect { + appDb.bookSourceDao.flowEnabledGroups().conflate().collect { groups.clear() - it.map { group -> - groups.addAll(group.splitNotBlank(AppPattern.splitGroupRegex)) - } + 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 716a09922..96bb152c2 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 @@ -16,7 +16,6 @@ import androidx.recyclerview.widget.RecyclerView import com.google.android.flexbox.FlexboxLayoutManager import io.legado.app.R import io.legado.app.base.VMBaseActivity -import io.legado.app.constant.AppPattern import io.legado.app.constant.PreferKey import io.legado.app.data.appDb import io.legado.app.data.entities.Book @@ -245,11 +244,9 @@ class SearchActivity : VMBaseActivity - groups.addAll(group.splitNotBlank(AppPattern.splitGroupRegex)) - } + groups.addAll(it) upGroupMenu() } }