From 4a18a376a3c2ac75be3204aa1a8a0fd0bda4e33b Mon Sep 17 00:00:00 2001 From: adly98 <111687237+adly98@users.noreply.github.com> Date: Sun, 2 Jul 2023 20:35:46 +0300 Subject: [PATCH] fix(ar/Anime4Up): fix episodes not loading/adding more sources (#1824) --- src/ar/anime4up/build.gradle | 5 +- .../animeextension/ar/anime4up/Anime4Up.kt | 174 +++++++----------- .../ar/anime4up/extractors/SharedExtractor.kt | 10 +- 3 files changed, 77 insertions(+), 112 deletions(-) diff --git a/src/ar/anime4up/build.gradle b/src/ar/anime4up/build.gradle index 1a7c355c8..6f65cdfaa 100644 --- a/src/ar/anime4up/build.gradle +++ b/src/ar/anime4up/build.gradle @@ -5,13 +5,16 @@ ext { extName = 'Anime4up' pkgNameSuffix = 'ar.anime4up' extClass = '.Anime4Up' - extVersionCode = 44 + extVersionCode = 45 libVersion = '13' } dependencies { implementation(project(':lib-streamsb-extractor')) implementation(project(':lib-dood-extractor')) + implementation(project(':lib-voe-extractor')) + implementation(project(':lib-vidbom-extractor')) + implementation(project(':lib-okru-extractor')) implementation "dev.datlag.jsunpacker:jsunpacker:1.0.1" } diff --git a/src/ar/anime4up/src/eu/kanade/tachiyomi/animeextension/ar/anime4up/Anime4Up.kt b/src/ar/anime4up/src/eu/kanade/tachiyomi/animeextension/ar/anime4up/Anime4Up.kt index 0085960c1..3c4fca0d3 100644 --- a/src/ar/anime4up/src/eu/kanade/tachiyomi/animeextension/ar/anime4up/Anime4Up.kt +++ b/src/ar/anime4up/src/eu/kanade/tachiyomi/animeextension/ar/anime4up/Anime4Up.kt @@ -2,11 +2,11 @@ package eu.kanade.tachiyomi.animeextension.ar.anime4up import android.app.Application import android.content.SharedPreferences -import android.util.Log +import android.os.Build +import androidx.annotation.RequiresApi import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.ar.anime4up.extractors.GdrivePlayerExtractor -import eu.kanade.tachiyomi.animeextension.ar.anime4up.extractors.MoshahdaExtractor import eu.kanade.tachiyomi.animeextension.ar.anime4up.extractors.SharedExtractor import eu.kanade.tachiyomi.animeextension.ar.anime4up.extractors.VidYardExtractor import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource @@ -17,11 +17,19 @@ import eu.kanade.tachiyomi.animesource.model.SEpisode import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor +import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor import eu.kanade.tachiyomi.lib.streamsbextractor.StreamSBExtractor +import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor +import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.util.asJsoup -import okhttp3.FormBody +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async +import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.runBlocking +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonObject +import kotlinx.serialization.json.jsonObject import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.OkHttpClient @@ -32,6 +40,7 @@ import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.lang.Exception +import java.util.Base64 class Anime4Up : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -45,6 +54,10 @@ class Anime4Up : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val client: OkHttpClient = network.cloudflareClient + private val json = Json { + ignoreUnknownKeys = true + } + private val preferences: SharedPreferences by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) } @@ -98,113 +111,66 @@ class Anime4Up : ConfigurableAnimeSource, ParsedAnimeHttpSource() { // Video links + @RequiresApi(Build.VERSION_CODES.O) override fun videoListParse(response: Response): List