fix(GH-228): Fixed filtered scanlator not working properly

This commit is contained in:
Ahmad Ansori Palembani 2024-11-19 08:16:38 +07:00
parent d832f8ce46
commit 0a7a65aa33
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
4 changed files with 5 additions and 4 deletions

View file

@ -72,7 +72,8 @@ open class MangaImpl : Manga {
override var update_strategy: UpdateStrategy = UpdateStrategy.ALWAYS_UPDATE 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 lateinit var ogTitle: String
override var ogAuthor: String? = null override var ogAuthor: String? = null

View file

@ -205,7 +205,7 @@ suspend fun syncChaptersWithSource(
} }
private fun List<Chapter>.filterChaptersByScanlators(manga: Manga): List<Chapter> { private fun List<Chapter>.filterChaptersByScanlators(manga: Manga): List<Chapter> {
if (manga.filtered_scanlators == null) return this if (manga.filtered_scanlators.isNullOrBlank()) return this
return this.filter { chapter -> return this.filter { chapter ->
!ChapterUtil.getScanlators(manga.filtered_scanlators).contains(chapter.scanlator) !ChapterUtil.getScanlators(manga.filtered_scanlators).contains(chapter.scanlator)

View file

@ -170,6 +170,7 @@ class ChapterUtil {
} }
fun getScanlatorString(scanlators: Set<String>): String { fun getScanlatorString(scanlators: Set<String>): String {
if (scanlators.isEmpty()) return ""
return scanlators.toList().sorted().joinToString(scanlatorSeparator) return scanlators.toList().sorted().joinToString(scanlatorSeparator)
} }

View file

@ -9,8 +9,7 @@ object MangaUtil {
suspend fun setScanlatorFilter(updateManga: UpdateManga, manga: Manga, filteredScanlators: Set<String>) { suspend fun setScanlatorFilter(updateManga: UpdateManga, manga: Manga, filteredScanlators: Set<String>) {
if (manga.id == null) return if (manga.id == null) return
manga.filtered_scanlators = manga.filtered_scanlators = ChapterUtil.getScanlatorString(filteredScanlators)
if (filteredScanlators.isEmpty()) null else ChapterUtil.getScanlatorString(filteredScanlators)
updateManga.await(MangaUpdate(manga.id!!, filteredScanlators = manga.filtered_scanlators)) updateManga.await(MangaUpdate(manga.id!!, filteredScanlators = manga.filtered_scanlators))
} }