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

This commit is contained in:
stevenyomi 2022-09-21 21:19:45 +08:00 committed by GitHub
parent e568951396
commit 2ced56e490
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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,
),