Эх сурвалжийг харах

Fix error when updating manga details with uninitialized title (#8045)

stevenyomi 2 жил өмнө
parent
commit
2ced56e490

+ 11 - 3
app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt

@@ -30,8 +30,14 @@ class UpdateManga(
         manualFetch: Boolean,
         coverCache: CoverCache = Injekt.get(),
     ): Boolean {
+        val remoteTitle = try {
+            remoteManga.title
+        } catch (_: UninitializedPropertyAccessException) {
+            ""
+        }
+
         // if the manga isn't a favorite, set its title from source and update in db
-        val title = if (!localManga.favorite) remoteManga.title else null
+        val title = if (remoteTitle.isEmpty() || localManga.favorite) null else remoteTitle
 
         val coverLastModified =
             when {
@@ -49,16 +55,18 @@ class UpdateManga(
                 }
             }
 
+        val thumbnailUrl = remoteManga.thumbnail_url?.takeIf { it.isNotEmpty() }
+
         return mangaRepository.update(
             MangaUpdate(
                 id = localManga.id,
-                title = title?.takeIf { it.isNotEmpty() },
+                title = title,
                 coverLastModified = coverLastModified,
                 author = remoteManga.author,
                 artist = remoteManga.artist,
                 description = remoteManga.description,
                 genre = remoteManga.getGenres(),
-                thumbnailUrl = remoteManga.thumbnail_url?.takeIf { it.isNotEmpty() },
+                thumbnailUrl = thumbnailUrl,
                 status = remoteManga.status.toLong(),
                 initialized = true,
             ),