diff --git a/src/es/animeflv/build.gradle b/src/es/animeflv/build.gradle index 3d3e4c062..0ef38843f 100644 --- a/src/es/animeflv/build.gradle +++ b/src/es/animeflv/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'AnimeFLV' pkgNameSuffix = 'es.animeflv' extClass = '.AnimeFlv' - extVersionCode = 1 + extVersionCode = 2 libVersion = '12' } diff --git a/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt b/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt index 07e198608..e4dd4fff7 100644 --- a/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt +++ b/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt @@ -1,6 +1,12 @@ package eu.kanade.tachiyomi.animeextension.es.animeflv +import android.app.Application +import android.content.SharedPreferences +import android.util.Log +import androidx.preference.ListPreference +import androidx.preference.PreferenceScreen import com.google.gson.JsonParser +import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilterList import eu.kanade.tachiyomi.animesource.model.SAnime import eu.kanade.tachiyomi.animesource.model.SEpisode @@ -13,9 +19,11 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get import java.lang.Exception -class AnimeFlv : ParsedAnimeHttpSource() { +class AnimeFlv : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "AnimeFLV" @@ -27,6 +35,10 @@ class AnimeFlv : ParsedAnimeHttpSource() { override val client: OkHttpClient = network.cloudflareClient + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + override fun popularAnimeSelector(): String = "div.Container ul.ListAnimes li article" override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/browse?page=$page") @@ -88,8 +100,10 @@ class AnimeFlv : ParsedAnimeHttpSource() { for (server in sub.asJsonArray) { val url = server.asJsonObject.get("code").asString.replace("\\/", "/") val quality = server.asJsonObject.get("title").asString - val video = Video(url, quality, null, null) - if (quality == "GoCDN") videoList.add(video) + if (quality == "Okru") { + val videos = getOkruVideos(url) + videoList += videos + } } } } @@ -99,21 +113,43 @@ class AnimeFlv : ParsedAnimeHttpSource() { override fun videoListSelector() = throw Exception("not used") + override fun videoUrlParse(document: Document) = throw Exception("not used") + override fun videoFromElement(element: Element) = throw Exception("not used") - override fun videoUrlRequest(video: Video): Request { - if (video.url.contains("https://streamium.xyz/gocdn.html")) { - val newUrl = video.url.replace("gocdn.html#", "gocdn.php?v=") - return GET(newUrl) + private fun getOkruVideos(url: String): List