From f4d1f0d244ec3867716c2cf52ed23d2abb151774 Mon Sep 17 00:00:00 2001 From: Chopper <156493704+ttony2chopper@users.noreply.github.com> Date: Mon, 20 May 2024 07:55:40 -0300 Subject: [PATCH] Brasil Hentail: Fix deep linking (#3144) Fix deep linking --- src/pt/brasilhentai/build.gradle | 2 +- .../extension/pt/brasilhentai/BrasilHentai.kt | 14 ++++++++++---- .../pt/brasilhentai/BrasilHentaiUrlActivity.kt | 7 ++++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/pt/brasilhentai/build.gradle b/src/pt/brasilhentai/build.gradle index ca5ccc65c..e5682387e 100644 --- a/src/pt/brasilhentai/build.gradle +++ b/src/pt/brasilhentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Brasil Hentai' extClass = '.BrasilHentai' - extVersionCode = 1 + extVersionCode = 2 isNsfw = true } diff --git a/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt index 4035b792c..9d2a7769c 100644 --- a/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt +++ b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt @@ -122,10 +122,16 @@ class BrasilHentai : ParsedHttpSource() { } override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { - return if (query.startsWith(PREFIX_SEARCH)) { - client.newCall(GET("$baseUrl/${query.substringAfter(PREFIX_SEARCH)}", headers)) + return if (query.startsWith(SEARCH_PREFIX)) { + val url = "$baseUrl/${query.substringAfter(SEARCH_PREFIX)}/" + client.newCall(GET(url, headers)) .asObservableSuccess() - .map { MangasPage(listOf(searchMangaFromElement(it.asJsoup())), false) } + .map { + val manga = mangaDetailsParse(it).apply { + setUrlWithoutDomain(url) + } + MangasPage(listOf(manga), false) + } } else { super.fetchSearchManga(page, query, filters) } @@ -168,6 +174,6 @@ class BrasilHentai : ParsedHttpSource() { private fun categoriesRequest(): Request = GET(baseUrl, headers) companion object { - val PREFIX_SEARCH: String = "slug:" + const val SEARCH_PREFIX: String = "slug:" } } diff --git a/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt index 9efca6cda..0912df199 100644 --- a/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt +++ b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt @@ -11,11 +11,12 @@ class BrasilHentaiUrlActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - val segment = intent?.data?.lastPathSegment - if (segment != null) { + val pathSegments = intent?.data?.pathSegments + if (pathSegments != null && pathSegments.size >= 1) { + val item = pathSegments[pathSegments.size - 1] val mainIntent = Intent().apply { action = "eu.kanade.tachiyomi.SEARCH" - putExtra("query", "${BrasilHentai.PREFIX_SEARCH}$segment") + putExtra("query", "${BrasilHentai.SEARCH_PREFIX}$item") putExtra("filter", packageName) }