Brasil Hentail: Fix deep linking (#3144)

Fix deep linking
This commit is contained in:
Chopper 2024-05-20 07:55:40 -03:00 committed by Draff
parent 72812dc898
commit f4d1f0d244
3 changed files with 15 additions and 8 deletions

View File

@ -1,7 +1,7 @@
ext { ext {
extName = 'Brasil Hentai' extName = 'Brasil Hentai'
extClass = '.BrasilHentai' extClass = '.BrasilHentai'
extVersionCode = 1 extVersionCode = 2
isNsfw = true isNsfw = true
} }

View File

@ -122,10 +122,16 @@ class BrasilHentai : ParsedHttpSource() {
} }
override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable<MangasPage> { override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable<MangasPage> {
return if (query.startsWith(PREFIX_SEARCH)) { return if (query.startsWith(SEARCH_PREFIX)) {
client.newCall(GET("$baseUrl/${query.substringAfter(PREFIX_SEARCH)}", headers)) val url = "$baseUrl/${query.substringAfter(SEARCH_PREFIX)}/"
client.newCall(GET(url, headers))
.asObservableSuccess() .asObservableSuccess()
.map { MangasPage(listOf(searchMangaFromElement(it.asJsoup())), false) } .map {
val manga = mangaDetailsParse(it).apply {
setUrlWithoutDomain(url)
}
MangasPage(listOf(manga), false)
}
} else { } else {
super.fetchSearchManga(page, query, filters) super.fetchSearchManga(page, query, filters)
} }
@ -168,6 +174,6 @@ class BrasilHentai : ParsedHttpSource() {
private fun categoriesRequest(): Request = GET(baseUrl, headers) private fun categoriesRequest(): Request = GET(baseUrl, headers)
companion object { companion object {
val PREFIX_SEARCH: String = "slug:" const val SEARCH_PREFIX: String = "slug:"
} }
} }

View File

@ -11,11 +11,12 @@ class BrasilHentaiUrlActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
val segment = intent?.data?.lastPathSegment val pathSegments = intent?.data?.pathSegments
if (segment != null) { if (pathSegments != null && pathSegments.size >= 1) {
val item = pathSegments[pathSegments.size - 1]
val mainIntent = Intent().apply { val mainIntent = Intent().apply {
action = "eu.kanade.tachiyomi.SEARCH" action = "eu.kanade.tachiyomi.SEARCH"
putExtra("query", "${BrasilHentai.PREFIX_SEARCH}$segment") putExtra("query", "${BrasilHentai.SEARCH_PREFIX}$item")
putExtra("filter", packageName) putExtra("filter", packageName)
} }