diff --git a/src/vi/lxhentai/AndroidManifest.xml b/src/vi/lxhentai/AndroidManifest.xml index 029f7f5e9..94837bd23 100644 --- a/src/vi/lxhentai/AndroidManifest.xml +++ b/src/vi/lxhentai/AndroidManifest.xml @@ -14,7 +14,7 @@ diff --git a/src/vi/lxhentai/build.gradle b/src/vi/lxhentai/build.gradle index 8bb2f17a0..32058da5d 100644 --- a/src/vi/lxhentai/build.gradle +++ b/src/vi/lxhentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'LXHentai' extClass = '.LxHentai' - extVersionCode = 8 + extVersionCode = 9 isNsfw = true } diff --git a/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt b/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt index c6f09f333..d67e49960 100644 --- a/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt +++ b/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt @@ -30,7 +30,7 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource { override val name = "LXHentai" - private val defaultBaseUrl = "https://lxmanga.click" + private val defaultBaseUrl = "https://lxmanga.online" override val baseUrl by lazy { getPrefBaseUrl() } @@ -118,11 +118,7 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource { override fun searchMangaFromElement(element: Element) = SManga.create().apply { setUrlWithoutDomain(element.select("div.p-2.truncate a").first()!!.attr("href")) title = element.select("div.p-2.truncate a").first()!!.text() - thumbnail_url = element.select("div.cover") - .first()!! - .attr("style") - .substringAfter("url('") - .substringBefore("')") + thumbnail_url = element.selectFirst("div.cover")?.absUrl("data-bg") } override fun searchMangaNextPageSelector() = "li:contains(Cuối)" @@ -151,11 +147,9 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource { } }.trim() - thumbnail_url = document.select(".cover") - .first()!! - .attr("style") - .substringAfter("url('") - .substringBefore("')") + thumbnail_url = document.selectFirst(".cover")?.attr("style")?.let { + IMAGE_REGEX.find(it)?.groups?.get("img")?.value + } val statusString = document.select("div.grow div.mt-2:contains(Tình trạng) a").first()!!.text() status = when (statusString) { @@ -167,7 +161,7 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource { setUrlWithoutDomain(document.location()) } - override fun chapterListSelector(): String = "ul.overflow-y-auto.overflow-x-hidden a" + override fun chapterListSelector(): String = "ul.overflow-y-auto.overflow-x-hidden > a" override fun chapterFromElement(element: Element) = SChapter.create().apply { setUrlWithoutDomain(element.attr("href")) @@ -340,6 +334,7 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource { const val PREFIX_ID_SEARCH = "id:" val CHAPTER_NUMBER_REGEX = Regex("""[+\-]?([0-9]*[.])?[0-9]+""", RegexOption.IGNORE_CASE) + val IMAGE_REGEX = """url\('(?[^']+)""".toRegex() private const val DEFAULT_BASE_URL_PREF = "defaultBaseUrl" private const val RESTART_APP = "Khởi chạy lại ứng dụng để áp dụng thay đổi."