diff --git a/src/vi/goctruyentranh/build.gradle b/src/vi/goctruyentranh/build.gradle index 05a985018..21948ec8c 100644 --- a/src/vi/goctruyentranh/build.gradle +++ b/src/vi/goctruyentranh/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Goc Truyen Tranh' extClass = '.GocTruyenTranh' - extVersionCode = 4 + extVersionCode = 5 isNsfw = true } diff --git a/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt b/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt index db19e8530..4ec41166b 100644 --- a/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt +++ b/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt @@ -14,8 +14,8 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import keiyoushi.utils.getPreferences -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.json.Json +import keiyoushi.utils.parseAs +import keiyoushi.utils.tryParse import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -23,7 +23,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Calendar import java.util.Locale @@ -44,10 +43,8 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { private val dateFormat = SimpleDateFormat("dd-MM-yyyy HH:mm:ss", Locale.US) - private val json: Json by injectLazy() - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .rateLimit(1) + .rateLimit(3) .build() override fun headersBuilder(): Headers.Builder = super.headersBuilder() @@ -92,7 +89,7 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { "phút trước" -> calendar.apply { add(Calendar.MINUTE, -number) }.timeInMillis "giờ trước" -> calendar.apply { add(Calendar.HOUR, -number) }.timeInMillis "ngày trước" -> calendar.apply { add(Calendar.DAY_OF_YEAR, -number) }.timeInMillis - else -> dateFormat.parse(date)?.time + else -> dateFormat.tryParse(date) } }.getOrNull() ?: 0L @@ -164,7 +161,7 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { } override fun searchMangaParse(response: Response): MangasPage { - val json = json.decodeFromString(response.body.string()) + val json = response.parseAs() val manga = json.comics.data.map { SManga.create().apply { title = it.name @@ -241,16 +238,16 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { Genre("Adventure", "2"), Genre("Fantasy", "3"), Genre("Manhua", "4"), - Genre("Chuyển", "5"), - Genre("Truyện", "6"), - Genre("Xuyên", "7"), + Genre("Chuyển Sinh", "5"), + Genre("Truyện Màu", "6"), + Genre("Xuyên Không", "7"), Genre("Manhwa", "8"), Genre("Drama", "9"), Genre("Historical", "10"), Genre("Manga", "11"), Genre("Seinen", "12"), Genre("Comedy", "13"), - Genre("Martial", "14"), + Genre("Martial Arts", "14"), Genre("Mystery", "15"), Genre("Romance", "16"), Genre("Shounen", "17"), @@ -260,53 +257,54 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { Genre("Webtoon", "21"), Genre("School", "22"), Genre("Psychological", "23"), - Genre("Cổ", "24"), + Genre("Cổ Đại", "24"), Genre("Ecchi", "25"), - Genre("Gender", "26"), + Genre("Gender Bender", "26"), Genre("Shoujo", "27"), - Genre("Slice", "28"), - Genre("Ngôn", "29"), + Genre("Slice of Life", "28"), + Genre("Ngôn Tình", "29"), Genre("Horror", "30"), - Genre("Sci", "31"), + Genre("Sci-fi", "31"), Genre("Tragedy", "32"), Genre("Mecha", "33"), Genre("Comic", "34"), - Genre("One", "35"), - Genre("Shoujo", "36"), + Genre("One shot", "35"), + Genre("Shoujo Ai", "36"), Genre("Anime", "37"), Genre("Josei", "38"), Genre("Smut", "39"), - Genre("Shounen", "40"), + Genre("Shounen Ai", "40"), Genre("Mature", "41"), - Genre("Soft", "42"), + Genre("Soft Yuri", "42"), Genre("Adult", "43"), Genre("Doujinshi", "44"), - Genre("Live", "45"), - Genre("Trinh", "46"), - Genre("Việt", "47"), - Genre("Truyện", "48"), + Genre("Live action", "45"), + Genre("Trinh Thám", "46"), + Genre("Việt Nam", "47"), + Genre("Truyện Scan", "48"), Genre("Cooking", "49"), - Genre("Tạp", "50"), - Genre("16", "51"), - Genre("Thiếu", "52"), - Genre("Soft", "53"), - Genre("Đam", "54"), + Genre("Tạp chí truyện tranh", "50"), + Genre("16+", "51"), + Genre("Thiếu Nhi", "52"), + Genre("Soft Yaoi", "53"), + Genre("Đam Mỹ", "54"), Genre("BoyLove", "55"), Genre("Yaoi", "56"), - Genre("18", "57"), - Genre("Người", "58"), + Genre("18+", "57"), + Genre("Người Thú", "58"), Genre("ABO", "59"), Genre("Mafia", "60"), Genre("Isekai", "61"), - Genre("Hệ", "62"), + Genre("Hệ Thống", "62"), Genre("NTR", "63"), Genre("Yuri", "64"), - Genre("Girl", "65"), + Genre("Girl Love", "65"), Genre("Demons", "66"), - Genre("Huyền", "67"), + Genre("Huyền Huyễn", "67"), Genre("Detective", "68"), - Genre("Trọng", "69"), + Genre("Trọng Sinh", "69"), Genre("Magic", "70"), + Genre("Military", "71"), ) private val preferences: SharedPreferences = getPreferences()