From f9a7589fe957cf4df238e8ed8224b4eaacf4ee27 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Sat, 23 Nov 2024 07:13:25 +0700 Subject: [PATCH] fix: Crashes cause by Bangumi invalid status --- .../java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt | 2 +- .../eu/kanade/tachiyomi/data/track/bangumi/BangumiModels.kt | 3 +++ .../main/java/eu/kanade/tachiyomi/data/track/bangumi/Status.kt | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt index d254279bec..261cfcf333 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt @@ -146,7 +146,7 @@ class BangumiApi(private val client: OkHttpClient, interceptor: BangumiIntercept null } else { json.decodeFromString(responseBody).let { - track.status = it.status?.id!! + track.status = it.status?.id ?: Bangumi.DEFAULT_STATUS track.last_chapter_read = it.ep_status!!.toFloat() track.score = it.rating!! track diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiModels.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiModels.kt index e5811d707c..378a2e9ce3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiModels.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiModels.kt @@ -8,6 +8,9 @@ fun Track.toBangumiStatus() = when (status) { Bangumi.ON_HOLD -> "on_hold" Bangumi.DROPPED -> "dropped" Bangumi.PLAN_TO_READ -> "wish" + // Caused by status being null somehow when a manga is being tracked for + // the first time. + 0 -> "do" else -> throw NotImplementedError("Unknown status: $status") } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Status.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Status.kt index f69bac3f5e..212c90ebe3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Status.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Status.kt @@ -4,7 +4,7 @@ import kotlinx.serialization.Serializable @Serializable data class Status( - val id: Int? = 0, + val id: Int? = null, val name: String? = "", val type: String? = "", )