diff --git a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt index 4f528f387..203331666 100644 --- a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt +++ b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt @@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.network.parseAs import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.asJsoup +import exh.md.handlers.serializers.ApiChapterSerializer import exh.md.handlers.serializers.ApiMangaSerializer import exh.md.handlers.serializers.ChapterSerializer import exh.md.utils.MdLang @@ -254,13 +255,10 @@ class ApiMangaParser(private val lang: String) { fun chapterParseForMangaId(response: Response): Int { try { if (response.code != 200) throw Exception("HTTP error ${response.code}") - val body = response.body?.string() - if (body.isNullOrBlank()) { - throw Exception("Null Response") + checkNotNull(response.body) { + "Null Response" } - - val jsonObject = Json.decodeFromString(body) - return jsonObject["data"]!!.jsonObject["mangaId"]?.jsonPrimitive?.intOrNull ?: throw Exception("No manga associated with chapter") + return response.parseAs().data.mangaId } catch (e: Exception) { XLog.tag("ApiMangaParser").enableStackTrace(2).e(e) throw e diff --git a/app/src/main/java/exh/md/handlers/serializers/ApiChapterSerializer.kt b/app/src/main/java/exh/md/handlers/serializers/ApiChapterSerializer.kt index a58e42c70..76058b757 100644 --- a/app/src/main/java/exh/md/handlers/serializers/ApiChapterSerializer.kt +++ b/app/src/main/java/exh/md/handlers/serializers/ApiChapterSerializer.kt @@ -19,5 +19,6 @@ data class ApiChapterSerializer( data class ChapterPageSerializer( val hash: String, val pages: List, - val server: String -) + val server: String, + val mangaId: Int +) \ No newline at end of file