MangAdventure: update for extensions-lib 1.4 (#15333)
This commit is contained in:
parent
1cddc25554
commit
a3df32a6b2
|
@ -1,10 +1,8 @@
|
||||||
package eu.kanade.tachiyomi.multisrc.mangadventure
|
package eu.kanade.tachiyomi.multisrc.mangadventure
|
||||||
|
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Build.VERSION
|
import android.os.Build.VERSION
|
||||||
import eu.kanade.tachiyomi.AppInfo
|
import eu.kanade.tachiyomi.AppInfo
|
||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.network.asObservableSuccess
|
|
||||||
import eu.kanade.tachiyomi.source.model.FilterList
|
import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
|
@ -12,6 +10,7 @@ import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import kotlinx.serialization.json.decodeFromJsonElement
|
import kotlinx.serialization.json.decodeFromJsonElement
|
||||||
|
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import eu.kanade.tachiyomi.source.model.Page as SPage
|
import eu.kanade.tachiyomi.source.model.Page as SPage
|
||||||
|
@ -61,19 +60,22 @@ abstract class MangAdventure(
|
||||||
GET("$apiUrl/series?page=$page&sort=-views", headers)
|
GET("$apiUrl/series?page=$page&sort=-views", headers)
|
||||||
|
|
||||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) =
|
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) =
|
||||||
Uri.parse(apiUrl).buildUpon().appendEncodedPath("series").run {
|
apiUrl.toHttpUrl().newBuilder().addEncodedPathSegment("series").run {
|
||||||
if (query.startsWith(SLUG_QUERY)) {
|
if (query.startsWith(SLUG_QUERY)) {
|
||||||
appendQueryParameter("slug", query.substring(SLUG_QUERY.length))
|
addQueryParameter("slug", query.substring(SLUG_QUERY.length))
|
||||||
} else {
|
} else {
|
||||||
appendQueryParameter("page", page.toString())
|
addQueryParameter("page", page.toString())
|
||||||
appendQueryParameter("title", query)
|
addQueryParameter("title", query)
|
||||||
filters.filterIsInstance<UriFilter>().forEach {
|
filters.filterIsInstance<UriFilter>().forEach {
|
||||||
appendQueryParameter(it.param, it.toString())
|
addQueryParameter(it.param, it.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GET(toString(), headers)
|
GET(build(), headers)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun mangaDetailsRequest(manga: SManga) =
|
||||||
|
GET("$apiUrl/series/${manga.url}", headers)
|
||||||
|
|
||||||
override fun chapterListRequest(manga: SManga) =
|
override fun chapterListRequest(manga: SManga) =
|
||||||
GET("$apiUrl/series/${manga.url}/chapters?date_format=timestamp", headers)
|
GET("$apiUrl/series/${manga.url}/chapters?date_format=timestamp", headers)
|
||||||
|
|
||||||
|
@ -113,20 +115,13 @@ abstract class MangAdventure(
|
||||||
SPage(page.number, page.url, page.image)
|
SPage(page.number, page.url, page.image)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return the real URL for "Open in browser"
|
|
||||||
override fun mangaDetailsRequest(manga: SManga) =
|
|
||||||
GET("$baseUrl/reader/${manga.url}", headers)
|
|
||||||
|
|
||||||
// Workaround to allow "Open in browser" to use the real URL
|
|
||||||
override fun fetchMangaDetails(manga: SManga) =
|
|
||||||
client.newCall(GET("$apiUrl/series/${manga.url}", headers))
|
|
||||||
.asObservableSuccess().map {
|
|
||||||
mangaDetailsParse(it).apply { initialized = true }
|
|
||||||
}!!
|
|
||||||
|
|
||||||
override fun imageUrlParse(response: Response) =
|
override fun imageUrlParse(response: Response) =
|
||||||
throw UnsupportedOperationException("Not used!")
|
throw UnsupportedOperationException("Not used!")
|
||||||
|
|
||||||
|
override fun getMangaUrl(manga: SManga) = "$baseUrl/reader/${manga.url}"
|
||||||
|
|
||||||
|
override fun getChapterUrl(chapter: SChapter) = "$apiUrl/chapters/${chapter.url}/read"
|
||||||
|
|
||||||
override fun getFilterList() =
|
override fun getFilterList() =
|
||||||
FilterList(
|
FilterList(
|
||||||
Author(),
|
Author(),
|
||||||
|
|
|
@ -9,7 +9,7 @@ class MangAdventureGenerator : ThemeSourceGenerator {
|
||||||
|
|
||||||
override val themeClass = "MangAdventure"
|
override val themeClass = "MangAdventure"
|
||||||
|
|
||||||
override val baseVersionCode = 10
|
override val baseVersionCode = 11
|
||||||
|
|
||||||
override val sources = listOf(
|
override val sources = listOf(
|
||||||
SingleLang("Arc-Relight", "https://arc-relight.com", "en", className = "ArcRelight"),
|
SingleLang("Arc-Relight", "https://arc-relight.com", "en", className = "ArcRelight"),
|
||||||
|
|
Loading…
Reference in New Issue