Fix crash from Manhuaren (fixes #614)
This commit is contained in:
parent
575d362fee
commit
4cef8b55d4
@ -5,7 +5,7 @@ ext {
|
|||||||
appName = 'Tachiyomi: Manhuaren'
|
appName = 'Tachiyomi: Manhuaren'
|
||||||
pkgNameSuffix = 'zh.manhuaren'
|
pkgNameSuffix = 'zh.manhuaren'
|
||||||
extClass = '.Manhuaren'
|
extClass = '.Manhuaren'
|
||||||
extVersionCode = 2
|
extVersionCode = 3
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,15 +1,9 @@
|
|||||||
package eu.kanade.tachiyomi.extension.zh.manhuaren
|
package eu.kanade.tachiyomi.extension.zh.manhuaren
|
||||||
|
|
||||||
|
import android.text.format.DateFormat
|
||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
import eu.kanade.tachiyomi.source.model.*
|
||||||
import eu.kanade.tachiyomi.source.model.FilterList
|
|
||||||
import eu.kanade.tachiyomi.source.model.Page
|
|
||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
|
||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import kotlin.collections.mutableMapOf
|
|
||||||
import kotlin.collections.MutableMap
|
|
||||||
import okhttp3.Request
|
import okhttp3.Request
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import org.json.JSONArray
|
import org.json.JSONArray
|
||||||
@ -17,8 +11,8 @@ import org.json.JSONObject
|
|||||||
import java.net.URLEncoder
|
import java.net.URLEncoder
|
||||||
import java.security.MessageDigest
|
import java.security.MessageDigest
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.time.LocalDateTime
|
import java.util.*
|
||||||
import java.time.format.DateTimeFormatter
|
|
||||||
|
|
||||||
class Manhuaren : HttpSource() {
|
class Manhuaren : HttpSource() {
|
||||||
override val lang = "zh"
|
override val lang = "zh"
|
||||||
@ -71,8 +65,7 @@ class Manhuaren : HttpSource() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun generateApiRequestUrl(path: String, params: MutableMap<String, String>): String {
|
private fun generateApiRequestUrl(path: String, params: MutableMap<String, String>): String {
|
||||||
val dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd+HH:mm:ss")
|
val now = DateFormat.format("yyyy-MM-dd+HH:mm:ss", Date()).toString()
|
||||||
val now = LocalDateTime.now().format(dateFormatter)
|
|
||||||
|
|
||||||
params["gsm"] = "md5"
|
params["gsm"] = "md5"
|
||||||
params["gft"] = "json"
|
params["gft"] = "json"
|
||||||
@ -90,8 +83,8 @@ class Manhuaren : HttpSource() {
|
|||||||
private fun mangasFromJSONArray(arr: JSONArray): MangasPage {
|
private fun mangasFromJSONArray(arr: JSONArray): MangasPage {
|
||||||
val ret = ArrayList<SManga>(arr.length())
|
val ret = ArrayList<SManga>(arr.length())
|
||||||
for (i in 0 until arr.length()) {
|
for (i in 0 until arr.length()) {
|
||||||
var obj = arr.getJSONObject(i)
|
val obj = arr.getJSONObject(i)
|
||||||
var id = obj.getInt("mangaId")
|
val id = obj.getInt("mangaId")
|
||||||
ret.add(SManga.create().apply {
|
ret.add(SManga.create().apply {
|
||||||
title = obj.getString("mangaName")
|
title = obj.getString("mangaName")
|
||||||
thumbnail_url = obj.getString("mangaCoverimageUrl")
|
thumbnail_url = obj.getString("mangaCoverimageUrl")
|
||||||
@ -103,7 +96,7 @@ class Manhuaren : HttpSource() {
|
|||||||
}
|
}
|
||||||
url = generateApiRequestUrl(
|
url = generateApiRequestUrl(
|
||||||
"/v1/manga/getDetail",
|
"/v1/manga/getDetail",
|
||||||
mutableMapOf<String, String>("mangaId" to id.toString())
|
mutableMapOf("mangaId" to id.toString())
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -117,7 +110,7 @@ class Manhuaren : HttpSource() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun popularMangaRequest(page: Int): Request {
|
override fun popularMangaRequest(page: Int): Request {
|
||||||
val params = mutableMapOf<String, String>(
|
val params = mutableMapOf(
|
||||||
"subCategoryType" to "0",
|
"subCategoryType" to "0",
|
||||||
"subCategoryId" to "0",
|
"subCategoryId" to "0",
|
||||||
"start" to (pageSize * (page - 1)).toString(),
|
"start" to (pageSize * (page - 1)).toString(),
|
||||||
@ -128,7 +121,7 @@ class Manhuaren : HttpSource() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun latestUpdatesRequest(page: Int): Request {
|
override fun latestUpdatesRequest(page: Int): Request {
|
||||||
val params = mutableMapOf<String, String>(
|
val params = mutableMapOf(
|
||||||
"subCategoryType" to "0",
|
"subCategoryType" to "0",
|
||||||
"subCategoryId" to "0",
|
"subCategoryId" to "0",
|
||||||
"start" to (pageSize * (page - 1)).toString(),
|
"start" to (pageSize * (page - 1)).toString(),
|
||||||
@ -150,14 +143,14 @@ class Manhuaren : HttpSource() {
|
|||||||
if (query != "") {
|
if (query != "") {
|
||||||
return myGet(baseUrl + generateApiRequestUrl(
|
return myGet(baseUrl + generateApiRequestUrl(
|
||||||
"/v1/search/getSearchManga",
|
"/v1/search/getSearchManga",
|
||||||
mutableMapOf<String, String>(
|
mutableMapOf(
|
||||||
"keywords" to query,
|
"keywords" to query,
|
||||||
"start" to (pageSize * (page - 1)).toString(),
|
"start" to (pageSize * (page - 1)).toString(),
|
||||||
"limit" to pageSize.toString()
|
"limit" to pageSize.toString()
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
val params = mutableMapOf<String, String>(
|
val params = mutableMapOf(
|
||||||
"start" to (pageSize * (page - 1)).toString(),
|
"start" to (pageSize * (page - 1)).toString(),
|
||||||
"limit" to pageSize.toString()
|
"limit" to pageSize.toString()
|
||||||
)
|
)
|
||||||
@ -201,8 +194,8 @@ class Manhuaren : HttpSource() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var arr = obj.getJSONArray("mangaAuthors")
|
val arr = obj.getJSONArray("mangaAuthors")
|
||||||
var tmparr = ArrayList<String>(arr.length())
|
val tmparr = ArrayList<String>(arr.length())
|
||||||
for (i in 0 until arr.length()) {
|
for (i in 0 until arr.length()) {
|
||||||
tmparr.add(arr.getString(i))
|
tmparr.add(arr.getString(i))
|
||||||
}
|
}
|
||||||
@ -228,9 +221,9 @@ class Manhuaren : HttpSource() {
|
|||||||
for (i in 0 until arr.length()) {
|
for (i in 0 until arr.length()) {
|
||||||
val obj = arr.getJSONObject(i)
|
val obj = arr.getJSONObject(i)
|
||||||
ret.add(SChapter.create().apply {
|
ret.add(SChapter.create().apply {
|
||||||
val dateFormat = SimpleDateFormat("yyyy-MM-dd")
|
val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
|
||||||
name = getChapterName(type, obj.getString("sectionName"), obj.getString("sectionTitle"))
|
name = getChapterName(type, obj.getString("sectionName"), obj.getString("sectionTitle"))
|
||||||
date_upload = dateFormat.parse(obj.getString("releaseTime")).getTime()
|
date_upload = dateFormat.parse(obj.getString("releaseTime")).time
|
||||||
chapter_number = obj.getInt("sectionSort").toFloat()
|
chapter_number = obj.getInt("sectionSort").toFloat()
|
||||||
url = generateApiRequestUrl(
|
url = generateApiRequestUrl(
|
||||||
"/v1/manga/getRead",
|
"/v1/manga/getRead",
|
||||||
@ -346,4 +339,5 @@ class Manhuaren : HttpSource() {
|
|||||||
fun getId() = vals[state].id
|
fun getId() = vals[state].id
|
||||||
fun getType() = vals[state].type
|
fun getType() = vals[state].type
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user