perf: remove custom coroutine scope
All checks were successful
PR build check / Prepare job (pull_request) Successful in 18s
PR build check / Build individual modules (pull_request) Successful in 7m20s

This commit is contained in:
ZhendongWu 2025-06-06 21:58:14 +08:00 committed by AlphaBoom
parent ae982dcfd5
commit fc7e6bee65
2 changed files with 8 additions and 8 deletions

View file

@ -17,8 +17,9 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
@ -237,11 +238,12 @@ class Hanime1 : AnimeHttpSource(), ConfigurableAnimeSource {
return chain.proceed(chain.request()) return chain.proceed(chain.request())
} }
@OptIn(DelicateCoroutinesApi::class)
private fun updateFilters() { private fun updateFilters() {
filterUpdateState = FilterUpdateState.UPDATING filterUpdateState = FilterUpdateState.UPDATING
val exceptionHandler = val exceptionHandler =
CoroutineExceptionHandler { _, _ -> filterUpdateState = FilterUpdateState.FAILED } CoroutineExceptionHandler { _, _ -> filterUpdateState = FilterUpdateState.FAILED }
CoroutineScope(Dispatchers.IO + exceptionHandler).launch { GlobalScope.launch(Dispatchers.IO + exceptionHandler) {
val jsoup = client.newCall(GET("$baseUrl/search")).awaitSuccess().asJsoup() val jsoup = client.newCall(GET("$baseUrl/search")).awaitSuccess().asJsoup()
val genreList = jsoup.select("div.genre-option div.hentai-sort-options").eachText() val genreList = jsoup.select("div.genre-option div.hentai-sort-options").eachText()
val sortList = val sortList =

View file

@ -20,8 +20,9 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.awaitSuccess import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonObject
@ -259,12 +260,13 @@ class Xfani : AnimeHttpSource(), ConfigurableAnimeSource {
return numbers.size == 2 && numbers[0] != numbers[1] return numbers.size == 2 && numbers[0] != numbers[1]
} }
@OptIn(DelicateCoroutinesApi::class)
private fun updateFilter() { private fun updateFilter() {
filterState = FilterUpdateState.UPDATING filterState = FilterUpdateState.UPDATING
val handler = CoroutineExceptionHandler { _, _ -> val handler = CoroutineExceptionHandler { _, _ ->
filterState = FilterUpdateState.FAILED filterState = FilterUpdateState.FAILED
} }
CoroutineScope(Dispatchers.IO + handler).launch { GlobalScope.launch(Dispatchers.IO + handler) {
val jsoup = client.newCall(GET("$baseUrl/show/1/html")).awaitSuccess().asJsoup() val jsoup = client.newCall(GET("$baseUrl/show/1/html")).awaitSuccess().asJsoup()
// update class and year filter type // update class and year filter type
val classList = jsoup.select("li[data-type=class]").eachAttr("data-val") val classList = jsoup.select("li[data-type=class]").eachAttr("data-val")
@ -393,9 +395,5 @@ class Xfani : AnimeHttpSource(), ConfigurableAnimeSource {
const val PREF_KEY_FILTER_YEAR = "PREF_KEY_FILTER_YEAR" const val PREF_KEY_FILTER_YEAR = "PREF_KEY_FILTER_YEAR"
const val DEFAULT_VIDEO_SOURCE = "0" const val DEFAULT_VIDEO_SOURCE = "0"
val STATUS_STR_MAPPING = mapOf(
"已完结" to SAnime.COMPLETED,
)
} }
} }