From 9e5d13f261db14e8f539684a5b4cf4d2baaca642 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Mon, 13 Jan 2025 13:22:19 +0700 Subject: [PATCH] fix: Fix lateinit error --- .../ui/source/globalsearch/GlobalSearchPresenter.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchPresenter.kt index b544928f31..4ab9933f65 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/source/globalsearch/GlobalSearchPresenter.kt @@ -185,7 +185,7 @@ open class GlobalSearchPresenter( MangasPage(emptyList(), false) } .mangas.take(10) - .map { networkToLocalManga(it, source.id) } + .mapNotNull { networkToLocalManga(it, source.id) } fetchImage(mangas, source) if (mangas.isNotEmpty() && !loadTime.containsKey(source.id)) { loadTime[source.id] = Date().time @@ -275,14 +275,18 @@ open class GlobalSearchPresenter( * @param sManga the manga from the source. * @return a manga from the database. */ - protected open suspend fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga { + protected open suspend fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga? { var localManga = getManga.awaitByUrlAndSource(sManga.url, sourceId) if (localManga == null) { + if (!sManga::title.isInitialized) return null + val newManga = Manga.create(sManga.url, sManga.title, sourceId) newManga.copyFrom(sManga) newManga.id = insertManga.await(newManga) localManga = newManga } else if (!localManga.favorite) { + if (!sManga::title.isInitialized) return localManga + // if the manga isn't a favorite, set its display title from source // if it later becomes a favorite, updated title will go to db localManga.title = sManga.title