From fd2babb34a5f2d2f04ae345257d6d4b1a18937e3 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Tue, 19 Nov 2024 08:16:38 +0700 Subject: [PATCH] fix(GH-228): Fixed filtered scanlator not working properly --- .../java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt | 3 ++- .../java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt | 2 +- .../main/java/eu/kanade/tachiyomi/util/chapter/ChapterUtil.kt | 1 + app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaUtil.kt | 3 +-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt index 63cccb151e..df0342a5d0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt @@ -72,7 +72,8 @@ open class MangaImpl : Manga { override var update_strategy: UpdateStrategy = UpdateStrategy.ALWAYS_UPDATE - override var filtered_scanlators: String? = null + // TODO: It's probably fine to set this to non-null string in the future + override var filtered_scanlators: String? = "" override lateinit var ogTitle: String override var ogAuthor: String? = null diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt index 70649923e4..3930be9bb8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt @@ -205,7 +205,7 @@ suspend fun syncChaptersWithSource( } private fun List.filterChaptersByScanlators(manga: Manga): List { - if (manga.filtered_scanlators == null) return this + if (manga.filtered_scanlators.isNullOrBlank()) return this return this.filter { chapter -> !ChapterUtil.getScanlators(manga.filtered_scanlators).contains(chapter.scanlator) diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterUtil.kt b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterUtil.kt index b92468bb86..14e922c65a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterUtil.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterUtil.kt @@ -164,6 +164,7 @@ class ChapterUtil { } fun getScanlatorString(scanlators: Set): String { + if (scanlators.isEmpty()) return "" return scanlators.toList().sorted().joinToString(scanlatorSeparator) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaUtil.kt b/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaUtil.kt index 2c76f65819..8516e90567 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaUtil.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/manga/MangaUtil.kt @@ -9,8 +9,7 @@ object MangaUtil { suspend fun setScanlatorFilter(updateManga: UpdateManga, manga: Manga, filteredScanlators: Set) { if (manga.id == null) return - manga.filtered_scanlators = - if (filteredScanlators.isEmpty()) null else ChapterUtil.getScanlatorString(filteredScanlators) + manga.filtered_scanlators = ChapterUtil.getScanlatorString(filteredScanlators) updateManga.await(MangaUpdate(manga.id!!, filteredScanlators = manga.filtered_scanlators)) }