From d9b0633efdf309ba09ea6408934b3bc83211c89d Mon Sep 17 00:00:00 2001 From: E3FxGaming <8276268+E3FxGaming@users.noreply.github.com> Date: Mon, 29 Mar 2021 15:22:48 +0200 Subject: [PATCH] MangaMutiny: chapter number in chapter name improvement (#6343) - small change to make chapter numbers in chapter names lose trailing .0 - don't recreate the SimpleDateFormatter for every parsed chapter. Declaring and initializing it once is enough. --- src/en/mangamutiny/build.gradle | 2 +- .../extension/en/mangamutiny/MangaMutiny.kt | 20 +++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/en/mangamutiny/build.gradle b/src/en/mangamutiny/build.gradle index 6e4c4b14a..94f3225f3 100644 --- a/src/en/mangamutiny/build.gradle +++ b/src/en/mangamutiny/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Manga Mutiny' pkgNameSuffix = "en.mangamutiny" extClass = '.MangaMutiny' - extVersionCode = 6 + extVersionCode = 7 libVersion = '1.2' containsNsfw = true } diff --git a/src/en/mangamutiny/src/eu/kanade/tachiyomi/extension/en/mangamutiny/MangaMutiny.kt b/src/en/mangamutiny/src/eu/kanade/tachiyomi/extension/en/mangamutiny/MangaMutiny.kt index 34d9853fb..6d7f57e5c 100644 --- a/src/en/mangamutiny/src/eu/kanade/tachiyomi/extension/en/mangamutiny/MangaMutiny.kt +++ b/src/en/mangamutiny/src/eu/kanade/tachiyomi/extension/en/mangamutiny/MangaMutiny.kt @@ -33,6 +33,11 @@ fun JsonObject.getNullable(key: String): JsonElement? { return value } +fun Float.toStringWithoutDotZero(): String = when (this % 1) { + 0F -> this.toInt().toString() + else -> this.toString() +} + class MangaMutiny : HttpSource() { override val name = "Manga Mutiny" @@ -109,7 +114,7 @@ class MangaMutiny : HttpSource() { private fun chapterTitleBuilder(rootNode: JsonObject): String { val volume = rootNode.getNullable("volume")?.asInt - val chapter = rootNode.getNullable("chapter")?.asFloat + val chapter = rootNode.getNullable("chapter")?.asFloat?.toStringWithoutDotZero() val textTitle = rootNode.getNullable("title")?.asString @@ -120,19 +125,18 @@ class MangaMutiny : HttpSource() { chapterTitle.append("Chapter $chapter") } if (textTitle != null && textTitle != "") { - if (volume != null || chapter != null) chapterTitle.append(" ") + if (volume != null || chapter != null) chapterTitle.append(": ") chapterTitle.append(textTitle) } return chapterTitle.toString() } - private fun parseDate(dateAsString: String): Long { - val format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH) - format.timeZone = TimeZone.getTimeZone("UTC") + private val dateFormatter = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH) + .apply { timeZone = TimeZone.getTimeZone("UTC") } - return format.parse(dateAsString)?.time ?: 0 - } + private fun parseDate(dateAsString: String): Long = + dateFormatter.parse(dateAsString)?.time ?: 0 // latest override fun latestUpdatesRequest(page: Int): Request = @@ -541,7 +545,7 @@ class MangaMutiny : HttpSource() { } } - private class AuthorFilter() : Filter.Text("Manga Author & Artist"), UriFilter { + private class AuthorFilter : Filter.Text("Manga Author & Artist"), UriFilter { override val uriParam = fun() = "creator" override val shouldAdd = fun() = state.isNotEmpty()