From 2c39f21d7056183829c82f33f62de6b33c4654a3 Mon Sep 17 00:00:00 2001 From: paronos Date: Tue, 19 Jun 2018 22:08:41 +0200 Subject: [PATCH] fix exception when chapter number is not a valid number; remove initial hyphen in chapter name (#365) --- src/all/mangadex/build.gradle | 4 ++-- .../extension/all/mangadex/Mangadex.kt | 22 +++++++------------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/all/mangadex/build.gradle b/src/all/mangadex/build.gradle index 230495acc..d9e7d66ca 100644 --- a/src/all/mangadex/build.gradle +++ b/src/all/mangadex/build.gradle @@ -5,8 +5,8 @@ ext { appName = 'Tachiyomi: MangaDex' pkgNameSuffix = "all.mangadex" extClass = '.MangadexFactory' - extVersionCode = 27 - extVersionSuffix = 27 + extVersionCode = 28 + extVersionSuffix = 28 libVersion = '1.2' } diff --git a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt index 56e8dff69..3321ebe65 100644 --- a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt +++ b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt @@ -270,16 +270,9 @@ open class Mangadex(override val lang: String, private val internalLang: String, } } - private fun getFinalChapter(jsonObj: JsonObject): Double { - var finalChapterNumber = 0.00 + private fun getFinalChapter(jsonObj: JsonObject) = jsonObj.get("last_chapter").string.trim() - if (jsonObj.get("last_chapter").string.isNotBlank()) { - finalChapterNumber = jsonObj.get("last_chapter").double - } - return finalChapterNumber - } - - private fun isMangaCompleted(finalChapterNumber: Double, chapterJson: JsonObject): Boolean { + private fun isMangaCompleted(finalChapterNumber: String, chapterJson: JsonObject): Boolean { val count = chapterJson.toMap().values.filter { it -> val chapterElement = it.asJsonObject @@ -293,8 +286,7 @@ open class Mangadex(override val lang: String, private val internalLang: String, } - private fun doesFinalChapterExist(finalChapterNumber: Double, chapterJson: JsonElement) = finalChapterNumber != 0.00 && chapterJson.get("chapter").string.isNotEmpty() && chapterJson.get("chapter").double == finalChapterNumber - + private fun doesFinalChapterExist(finalChapterNumber: String, chapterJson: JsonElement) = finalChapterNumber.isNotEmpty() && finalChapterNumber == chapterJson.get("chapter").string.trim() override fun chapterListParse(response: Response): List { val now = Date().time @@ -318,7 +310,7 @@ open class Mangadex(override val lang: String, private val internalLang: String, return chapters } - private fun chapterFromJson(chapterId: String, chapterJson: JsonObject, finalChapterNumber: Double): SChapter { + private fun chapterFromJson(chapterId: String, chapterJson: JsonObject, finalChapterNumber: String): SChapter { val chapter = SChapter.create() chapter.url = BASE_CHAPTER + chapterId var chapterName = mutableListOf() @@ -330,11 +322,13 @@ open class Mangadex(override val lang: String, private val internalLang: String, chapterName.add("Ch." + chapterJson.get("chapter").string) } if (chapterJson.get("title").string.isNotBlank()) { - chapterName.add("-") + if (!chapterName.isEmpty()) { + chapterName.add("-") + } chapterName.add(chapterJson.get("title").string) } if (doesFinalChapterExist(finalChapterNumber, chapterJson)) { - chapterName.add(" [END]") + chapterName.add("[END]") } chapter.name = cleanString(chapterName.joinToString(" "))