en/AniPlay: performance improvement
This commit is contained in:
parent
cfc4422280
commit
b3e1a8e708
1 changed files with 5 additions and 4 deletions
|
@ -17,7 +17,8 @@ import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
|
||||||
import eu.kanade.tachiyomi.multisrc.anilist.AniListAnimeHttpSource
|
import eu.kanade.tachiyomi.multisrc.anilist.AniListAnimeHttpSource
|
||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.network.POST
|
import eu.kanade.tachiyomi.network.POST
|
||||||
import eu.kanade.tachiyomi.util.parallelFlatMapBlocking
|
import eu.kanade.tachiyomi.util.parallelFlatMap
|
||||||
|
import eu.kanade.tachiyomi.util.parallelMap
|
||||||
import eu.kanade.tachiyomi.util.parseAs
|
import eu.kanade.tachiyomi.util.parseAs
|
||||||
import kotlinx.serialization.SerializationException
|
import kotlinx.serialization.SerializationException
|
||||||
import kotlinx.serialization.encodeToString
|
import kotlinx.serialization.encodeToString
|
||||||
|
@ -207,13 +208,13 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
|
||||||
.add("Next-Action", getHeaderValue(baseHost, NEXT_ACTION_SOURCES_LIST))
|
.add("Next-Action", getHeaderValue(baseHost, NEXT_ACTION_SOURCES_LIST))
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val episodeDataList = extras.parallelFlatMapBlocking { extra ->
|
|
||||||
var timeouts: Int = 0
|
var timeouts: Int = 0
|
||||||
var maxTimeout: Int = 0
|
var maxTimeout: Int = 0
|
||||||
|
val episodeDataList = extras.parallelFlatMap { extra ->
|
||||||
val languages = mutableListOf("sub").apply {
|
val languages = mutableListOf("sub").apply {
|
||||||
if (extra.hasDub) add("dub")
|
if (extra.hasDub) add("dub")
|
||||||
}
|
}
|
||||||
languages.map { language ->
|
languages.parallelMap { language ->
|
||||||
maxTimeout += 1
|
maxTimeout += 1
|
||||||
val epNum = if (extra.episodeNum == extra.episodeNum.toInt().toFloat()) {
|
val epNum = if (extra.episodeNum == extra.episodeNum.toInt().toFloat()) {
|
||||||
extra.episodeNum.toInt().toString() // If it has no fractional part, convert it to an integer
|
extra.episodeNum.toInt().toString() // If it has no fractional part, convert it to an integer
|
||||||
|
@ -237,7 +238,7 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
|
||||||
val response = client.newCall(request).execute()
|
val response = client.newCall(request).execute()
|
||||||
|
|
||||||
val responseString = response.body.string()
|
val responseString = response.body.string()
|
||||||
val sourcesString = extractSourcesList(responseString) ?: return@map null
|
val sourcesString = extractSourcesList(responseString) ?: return@parallelMap null
|
||||||
val data = sourcesString.parseAs<VideoSourceResponse>()
|
val data = sourcesString.parseAs<VideoSourceResponse>()
|
||||||
|
|
||||||
EpisodeData(
|
EpisodeData(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue