From 98d477b28c6b942db4f0785c2deb01e0c52d9922 Mon Sep 17 00:00:00 2001
From: arkon <arkon@users.noreply.github.com>
Date: Thu, 3 Oct 2019 22:55:16 -0400
Subject: [PATCH] Fix Webtoons Indonesian showing up under English (#1611)

---
 src/all/webtoons/build.gradle                 |  2 +-
 .../extension/all/webtoons/WebtoonsFactory.kt | 45 ++++++++++++++-----
 .../extension/en/webtoons/WebtoonsEnglish.kt  |  5 ---
 .../id/webtoons/WebtoonsIndonesian.kt         | 20 ---------
 .../extension/th/webtoons/WebtoonsThai.kt     | 11 -----
 .../zh/webtoons/WebtoonsChineseTraditional.kt | 11 -----
 6 files changed, 36 insertions(+), 58 deletions(-)
 delete mode 100644 src/all/webtoons/src/eu/kanade/tachiyomi/extension/en/webtoons/WebtoonsEnglish.kt
 delete mode 100644 src/all/webtoons/src/eu/kanade/tachiyomi/extension/id/webtoons/WebtoonsIndonesian.kt
 delete mode 100644 src/all/webtoons/src/eu/kanade/tachiyomi/extension/th/webtoons/WebtoonsThai.kt
 delete mode 100644 src/all/webtoons/src/eu/kanade/tachiyomi/extension/zh/webtoons/WebtoonsChineseTraditional.kt

diff --git a/src/all/webtoons/build.gradle b/src/all/webtoons/build.gradle
index 3ed5015d5..2697c818f 100644
--- a/src/all/webtoons/build.gradle
+++ b/src/all/webtoons/build.gradle
@@ -5,7 +5,7 @@ ext {
     appName = 'Tachiyomi: Webtoons'
     pkgNameSuffix = 'all.webtoons'
     extClass = '.WebtoonsFactory'
-    extVersionCode = 9
+    extVersionCode = 10
     libVersion = '1.2'
 }
 
diff --git a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt
index a1369ee1a..a389e3cab 100644
--- a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt
+++ b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt
@@ -1,24 +1,19 @@
 package eu.kanade.tachiyomi.extension.all.webtoons
 
-import eu.kanade.tachiyomi.extension.en.webtoons.WebtoonsEnglish
-import eu.kanade.tachiyomi.extension.id.webtoons.WebtoonsIndonesian
-import eu.kanade.tachiyomi.extension.th.webtoons.WebtoonsThai
-import eu.kanade.tachiyomi.extension.zh.webtoons.WebtoonsChineseTraditional
 import eu.kanade.tachiyomi.source.Source
 import eu.kanade.tachiyomi.source.SourceFactory
+import java.text.SimpleDateFormat
+import java.util.GregorianCalendar
+import java.util.Locale
 
 class WebtoonsFactory : SourceFactory {
-    override fun createSources(): List<Source> = getAllWebtoons()
-}
-
-fun getAllWebtoons(): List<Source> {
-    return listOf(
+    override fun createSources(): List<Source> = listOf(
         WebtoonsEnglish(),
         WebtoonsChineseTraditional(),
         WebtoonsIndonesian(),
         WebtoonsThai(),
 
-        // fan translations
+        // Fan translations
         WebtoonsTranslate("en", "ENG"),
         WebtoonsTranslate("zh", "CMN", " (Simplified)"),
         WebtoonsTranslate("zh", "CHT", " (Traditional)"),
@@ -52,3 +47,33 @@ fun getAllWebtoons(): List<Source> {
         WebtoonsTranslate("uk", "UKR")
     )
 }
+
+class WebtoonsEnglish : WebtoonsDefault("en")
+
+class WebtoonsIndonesian: WebtoonsDefault("in", "id") {
+    override val name: String = "Webtoons.com (Indonesian)"
+
+    // Android seems to be unable to parse Indonesian dates; we'll use a short hard-coded table
+    // instead.
+    private val DATE_MAP: Array<String> = arrayOf(
+        "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des")
+
+    override fun chapterParseDate(date: String): Long {
+        val expr = Regex("""(\d{4}) ([A-Z][a-z]{2}) (\d{1,})""").find(date) ?: return 0
+        val (_, year, monthString, day) = expr.groupValues
+        val monthIndex = DATE_MAP.indexOf(monthString)
+        return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time
+    }
+}
+
+class WebtoonsThai: WebtoonsDefault("th") {
+    override fun chapterParseDate(date: String): Long {
+        return SimpleDateFormat("d MMM yyyy", Locale("th")).parse(date).time
+    }
+}
+
+class WebtoonsChineseTraditional: WebtoonsDefault("zh", "zh-hant") {
+    override fun chapterParseDate(date: String): Long {
+        return SimpleDateFormat("yyyy/MM/dd", Locale.TRADITIONAL_CHINESE).parse(date).time
+    }
+}
diff --git a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/en/webtoons/WebtoonsEnglish.kt b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/en/webtoons/WebtoonsEnglish.kt
deleted file mode 100644
index f94b019c2..000000000
--- a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/en/webtoons/WebtoonsEnglish.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package eu.kanade.tachiyomi.extension.en.webtoons
-
-import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
-
-class WebtoonsEnglish : WebtoonsDefault("en")
\ No newline at end of file
diff --git a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/id/webtoons/WebtoonsIndonesian.kt b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/id/webtoons/WebtoonsIndonesian.kt
deleted file mode 100644
index 415334d31..000000000
--- a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/id/webtoons/WebtoonsIndonesian.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package eu.kanade.tachiyomi.extension.id.webtoons
-
-import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
-import java.util.*
-
-class WebtoonsIndonesian: WebtoonsDefault("en", "id") {
-    override val name: String = "Webtoons.com (Indonesian)"
-
-    // Android seems to be unable to parse Indonesian dates; we'll use a short hard-coded table
-    // instead.
-    private val DATE_MAP: Array<String> = arrayOf(
-        "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des")
-
-    override fun chapterParseDate(date: String): Long {
-        val expr = Regex("""(\d{4}) ([A-Z][a-z]{2}) (\d{1,})""").find(date) ?: return 0
-        val (_, year, monthString, day) = expr.groupValues
-        val monthIndex = DATE_MAP.indexOf(monthString)
-        return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time
-    }
-}
diff --git a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/th/webtoons/WebtoonsThai.kt b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/th/webtoons/WebtoonsThai.kt
deleted file mode 100644
index eeb3ce0f7..000000000
--- a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/th/webtoons/WebtoonsThai.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package eu.kanade.tachiyomi.extension.th.webtoons
-
-import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
-import java.text.SimpleDateFormat
-import java.util.*
-
-class WebtoonsThai: WebtoonsDefault("th") {
-    override fun chapterParseDate(date: String): Long {
-        return SimpleDateFormat("d MMM yyyy", Locale("th")).parse(date).time
-    }
-}
diff --git a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/zh/webtoons/WebtoonsChineseTraditional.kt b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/zh/webtoons/WebtoonsChineseTraditional.kt
deleted file mode 100644
index 36a4bdce3..000000000
--- a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/zh/webtoons/WebtoonsChineseTraditional.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package eu.kanade.tachiyomi.extension.zh.webtoons
-
-import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
-import java.text.SimpleDateFormat
-import java.util.*
-
-class WebtoonsChineseTraditional: WebtoonsDefault("zh", "zh-hant") {
-    override fun chapterParseDate(date: String): Long {
-        return SimpleDateFormat("yyyy/MM/dd", Locale.TRADITIONAL_CHINESE).parse(date).time
-    }
-}