From fc7e6bee6523c3f5266ce2b37104e758910adf56 Mon Sep 17 00:00:00 2001 From: ZhendongWu <30779939+AlphaBoom@users.noreply.github.com> Date: Fri, 6 Jun 2025 21:58:14 +0800 Subject: [PATCH] perf: remove custom coroutine scope --- .../tachiyomi/animeextension/zh/hanime1/Hanime1.kt | 6 ++++-- .../kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt | 10 ++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/zh/hanime1/src/eu/kanade/tachiyomi/animeextension/zh/hanime1/Hanime1.kt b/src/zh/hanime1/src/eu/kanade/tachiyomi/animeextension/zh/hanime1/Hanime1.kt index f3bdfdb9..311e7597 100644 --- a/src/zh/hanime1/src/eu/kanade/tachiyomi/animeextension/zh/hanime1/Hanime1.kt +++ b/src/zh/hanime1/src/eu/kanade/tachiyomi/animeextension/zh/hanime1/Hanime1.kt @@ -17,8 +17,9 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.awaitSuccess import eu.kanade.tachiyomi.util.asJsoup import kotlinx.coroutines.CoroutineExceptionHandler -import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotlinx.serialization.encodeToString @@ -237,11 +238,12 @@ class Hanime1 : AnimeHttpSource(), ConfigurableAnimeSource { return chain.proceed(chain.request()) } + @OptIn(DelicateCoroutinesApi::class) private fun updateFilters() { filterUpdateState = FilterUpdateState.UPDATING val exceptionHandler = CoroutineExceptionHandler { _, _ -> filterUpdateState = FilterUpdateState.FAILED } - CoroutineScope(Dispatchers.IO + exceptionHandler).launch { + GlobalScope.launch(Dispatchers.IO + exceptionHandler) { val jsoup = client.newCall(GET("$baseUrl/search")).awaitSuccess().asJsoup() val genreList = jsoup.select("div.genre-option div.hentai-sort-options").eachText() val sortList = diff --git a/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt b/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt index eeb802e9..add3a049 100644 --- a/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt +++ b/src/zh/xfani/src/eu/kanade/tachiyomi/animeextension/zh/xfani/Xfani.kt @@ -20,8 +20,9 @@ import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.network.awaitSuccess import eu.kanade.tachiyomi.util.asJsoup import kotlinx.coroutines.CoroutineExceptionHandler -import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonObject @@ -259,12 +260,13 @@ class Xfani : AnimeHttpSource(), ConfigurableAnimeSource { return numbers.size == 2 && numbers[0] != numbers[1] } + @OptIn(DelicateCoroutinesApi::class) private fun updateFilter() { filterState = FilterUpdateState.UPDATING val handler = CoroutineExceptionHandler { _, _ -> filterState = FilterUpdateState.FAILED } - CoroutineScope(Dispatchers.IO + handler).launch { + GlobalScope.launch(Dispatchers.IO + handler) { val jsoup = client.newCall(GET("$baseUrl/show/1/html")).awaitSuccess().asJsoup() // update class and year filter type 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 DEFAULT_VIDEO_SOURCE = "0" - - val STATUS_STR_MAPPING = mapOf( - "已完结" to SAnime.COMPLETED, - ) } }