From 4f36aef73d37da0d1cedaac657f1e42e95d1cacd Mon Sep 17 00:00:00 2001
From: Riztard Lanthorn <riyanluqman@gmail.com>
Date: Wed, 2 Dec 2020 19:42:18 +0700
Subject: [PATCH] revert removed harcode date-parse (#4994)

it seems normal dateFormat doesnt work in some cases(android/device/android lower than 10/other cause)
---
 src/all/webtoons/build.gradle                    |  2 +-
 .../extension/all/webtoons/WebtoonsFactory.kt    | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/all/webtoons/build.gradle b/src/all/webtoons/build.gradle
index 64966dcb3..f00bd874d 100644
--- a/src/all/webtoons/build.gradle
+++ b/src/all/webtoons/build.gradle
@@ -5,7 +5,7 @@ ext {
     extName = 'Webtoons'
     pkgNameSuffix = 'all.webtoons'
     extClass = '.WebtoonsFactory'
-    extVersionCode = 21
+    extVersionCode = 22
     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 24da02c5b..73d71d7b8 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
@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.extension.all.webtoons
 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 {
@@ -51,8 +52,21 @@ class WebtoonsFactory : SourceFactory {
 
 class WebtoonsEnglish : WebtoonsDefault("en")
 
-class WebtoonsIndonesian : WebtoonsDefault("id", dateFormat = SimpleDateFormat("yyyy MMM dd", Locale("id"))) {
+class WebtoonsIndonesian : WebtoonsDefault("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 dateMap: 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+)""").find(date) ?: return 0
+        val (_, year, monthString, day) = expr.groupValues
+        val monthIndex = dateMap.indexOf(monthString)
+        return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time
+    }
 }
 
 class WebtoonsThai : WebtoonsDefault("th", dateFormat = SimpleDateFormat("d MMM yyyy", Locale("th")))