From f521050228e3abee41faa33b611b0c62e4491240 Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Wed, 29 Jun 2022 14:06:01 -0400 Subject: [PATCH] Show empty category when searching with show all categories disabled --- .../ui/library/LibraryCategoryAdapter.kt | 21 ++++++++----------- .../tachiyomi/ui/library/LibraryPresenter.kt | 2 +- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt index 0f38216857..cfd16732ef 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt @@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.util.lang.removeArticles import eu.kanade.tachiyomi.util.system.isLTR import eu.kanade.tachiyomi.util.system.timeSpanFromNow import eu.kanade.tachiyomi.util.system.withDefContext +import kotlinx.coroutines.runBlocking import uy.kohesive.injekt.injectLazy import java.util.Locale @@ -130,17 +131,7 @@ class LibraryCategoryAdapter(val controller: LibraryController?) : } private fun performFilter() { - val s = getFilter(String::class.java) - if (s.isNullOrBlank()) { - if (mangas.firstOrNull()?.filter?.isNotBlank() == true) { - mangas.forEach { it.filter = "" } - } - updateDataSet(mangas) - } else { - updateDataSet(mangas.filter { it.filter(s) }) - } - isLongPressDragEnabled = libraryListener?.canDrag() == true && s.isNullOrBlank() - setItemsPerCategoryMap() + runBlocking { performFilterAsync() } } suspend fun performFilterAsync() { @@ -152,7 +143,13 @@ class LibraryCategoryAdapter(val controller: LibraryController?) : updateDataSet(mangas) } else { val filteredManga = withDefContext { mangas.filter { it.filter(s) } } - updateDataSet(filteredManga) + if (filteredManga.isEmpty() && controller?.presenter?.showAllCategories == false) { + val catId = mangas.firstOrNull()?.manga?.category + val blankItem = catId?.let { controller.presenter.blankItem(it) } + updateDataSet(blankItem ?: emptyList()) + } else { + updateDataSet(filteredManga) + } } isLongPressDragEnabled = libraryListener?.canDrag() == true && s.isNullOrBlank() setItemsPerCategoryMap() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt index 6f9b04cd67..c99b0a13b8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt @@ -188,7 +188,7 @@ class LibraryPresenter( ) } - private fun blankItem(id: Int = currentCategory): List { + fun blankItem(id: Int = currentCategory): List { return listOf( LibraryItem( LibraryManga.createBlank(id),