From 0b8e4fad443726657e0abfb10bfd5ba146eef756 Mon Sep 17 00:00:00 2001 From: LagradOst <11805592+LagradOst@users.noreply.github.com> Date: Wed, 16 Mar 2022 16:29:11 +0100 Subject: [PATCH] parse json upon start --- .../com/lagradost/cloudstream3/MainAPI.kt | 196 ++++++++++-------- .../lagradost/cloudstream3/MainActivity.kt | 98 ++++++--- .../animeproviders/AllAnimeProvider.kt | 4 +- .../animeproviders/AnimeFlickProvider.kt | 4 +- .../animeproviders/AnimePaheProvider.kt | 4 +- .../animeproviders/AnimeWorldProvider.kt | 4 +- .../animeproviders/AnimeflvProvider.kt | 4 +- .../animeproviders/AnimekisaProvider.kt | 4 +- .../animeproviders/DubbedAnimeProvider.kt | 4 +- .../animeproviders/GogoanimeProvider.kt | 4 +- .../animeproviders/KawaiifuProvider.kt | 4 +- .../animeproviders/MonoschinosProvider.kt | 4 +- .../animeproviders/NineAnimeProvider.kt | 4 +- .../animeproviders/TenshiProvider.kt | 4 +- .../WatchCartoonOnlineProvider.kt | 4 +- .../animeproviders/WcoProvider.kt | 4 +- .../animeproviders/ZoroProvider.kt | 4 +- .../cloudstream3/extractors/AsianLoad.kt | 4 +- .../cloudstream3/extractors/DoodExtractor.kt | 10 +- .../cloudstream3/extractors/Evolaod.kt | 2 +- .../cloudstream3/extractors/GenericM3U8.kt | 4 +- .../cloudstream3/extractors/Jawcloud.kt | 4 +- .../cloudstream3/extractors/Mcloud.kt | 4 +- .../cloudstream3/extractors/MixDrop.kt | 4 +- .../cloudstream3/extractors/Mp4Upload.kt | 4 +- .../cloudstream3/extractors/MultiQuality.kt | 4 +- .../cloudstream3/extractors/OkRuExtractor.kt | 4 +- .../cloudstream3/extractors/PlayerVoxzer.kt | 4 +- .../cloudstream3/extractors/SBPlay.kt | 8 +- .../cloudstream3/extractors/StreamSB.kt | 22 +- .../cloudstream3/extractors/StreamTape.kt | 4 +- .../cloudstream3/extractors/Streamhub.kt | 4 +- .../cloudstream3/extractors/Tomatomatela.kt | 14 +- .../cloudstream3/extractors/Uqload.kt | 2 +- .../cloudstream3/extractors/WatchSB.kt | 4 +- .../cloudstream3/extractors/WcoStream.kt | 10 +- .../cloudstream3/extractors/Zplayer.kt | 16 +- .../metaproviders/CrossTmdbProvider.kt | 2 +- .../movieproviders/AkwamProvider.kt | 4 +- .../movieproviders/AllMoviesForYouProvider.kt | 4 +- .../movieproviders/ApiMDBProvider.kt | 4 +- .../movieproviders/AsiaFlixProvider.kt | 4 +- .../movieproviders/AsianLoadProvider.kt | 4 +- .../movieproviders/BflixProvider.kt | 4 +- .../movieproviders/CinecalidadProvider.kt | 11 +- .../movieproviders/CuevanaProvider.kt | 4 +- .../movieproviders/DoramasYTProvider.kt | 4 +- .../movieproviders/DramaSeeProvider.kt | 4 +- .../movieproviders/EgyBestProvider.kt | 4 +- .../EntrePeliculasySeriesProvider.kt | 4 +- .../movieproviders/FilmanProvider.kt | 4 +- .../movieproviders/HDMProvider.kt | 4 +- .../movieproviders/IHaveNoTvProvider.kt | 4 +- .../movieproviders/KdramaHoodProvider.kt | 4 +- .../movieproviders/LookMovieProvider.kt | 4 +- .../movieproviders/MeloMovieProvider.kt | 4 +- .../movieproviders/MyCimaProvider.kt | 4 +- .../movieproviders/PeliSmartProvider.kt | 4 +- .../movieproviders/PelisflixProvider.kt | 4 +- .../movieproviders/PelisplusHDProvider.kt | 4 +- .../movieproviders/PelisplusProvider.kt | 4 +- .../movieproviders/PinoyHDXyzProvider.kt | 4 +- .../movieproviders/PinoyMoviePediaProvider.kt | 4 +- .../movieproviders/PinoyMoviesEsProvider.kt | 4 +- .../movieproviders/SeriesflixProvider.kt | 4 +- .../movieproviders/SflixProvider.kt | 4 +- .../movieproviders/SoaptwoDayProvider.kt | 4 +- .../movieproviders/TrailersTwoProvider.kt | 4 +- .../movieproviders/TwoEmbedProvider.kt | 4 +- .../movieproviders/VMoveeProvider.kt | 4 +- .../movieproviders/VfFilmProvider.kt | 4 +- .../movieproviders/VfSerieProvider.kt | 4 +- .../movieproviders/VidEmbedProvider.kt | 4 +- .../movieproviders/WatchAsianProvider.kt | 4 +- .../movieproviders/french-stream.kt | 4 +- .../syncproviders/providers/AniListApi.kt | 4 +- .../syncproviders/providers/DropboxApi.kt | 2 +- .../syncproviders/providers/MALApi.kt | 4 +- .../torrentproviders/NyaaProvider.kt | 4 +- .../cloudstream3/ui/APIRepository.kt | 4 +- .../ui/settings/SettingsFragment.kt | 4 - 81 files changed, 367 insertions(+), 298 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt index 1e342de7..e8127ed3 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt @@ -6,6 +6,7 @@ import android.net.Uri import android.util.Base64.encodeToString import androidx.annotation.WorkerThread import androidx.preference.PreferenceManager +import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.DeserializationFeature import com.fasterxml.jackson.databind.json.JsonMapper import com.fasterxml.jackson.module.kotlin.KotlinModule @@ -31,86 +32,84 @@ object APIHolder { private const val defProvider = 0 - val apis = arrayListOf( - PelisplusProvider(), - PelisplusHDProvider(), - PeliSmartProvider(), - GogoanimeProvider(), - AllAnimeProvider(), - AnimekisaProvider(), - //ShiroProvider(), // v2 fucked me - AnimeFlickProvider(), - AnimeflvnetProvider(), + val allProviders by lazy { + arrayListOf( + PelisplusProvider(), + PelisplusHDProvider(), + PeliSmartProvider(), + GogoanimeProvider(), + AllAnimeProvider(), + AnimekisaProvider(), + //ShiroProvider(), // v2 fucked me + AnimeFlickProvider(), + AnimeflvnetProvider(), - TenshiProvider(), - WcoProvider(), - // MeloMovieProvider(), // Captcha for links - DubbedAnimeProvider(), - DoramasYTProvider(), - CinecalidadProvider(), - CuevanaProvider(), - EntrepeliculasyseriesProvider(), - PelisflixProvider(), - SeriesflixProvider(), - IHaveNoTvProvider(), // Documentaries provider - //LookMovieProvider(), // RECAPTCHA (Please allow up to 5 seconds...) - VMoveeProvider(), - WatchCartoonOnlineProvider(), - AllMoviesForYouProvider(), - ApiMDBProvider(), + TenshiProvider(), + WcoProvider(), + // MeloMovieProvider(), // Captcha for links + DubbedAnimeProvider(), + DoramasYTProvider(), + CinecalidadProvider(), + CuevanaProvider(), + EntrepeliculasyseriesProvider(), + PelisflixProvider(), + SeriesflixProvider(), + IHaveNoTvProvider(), // Documentaries provider + //LookMovieProvider(), // RECAPTCHA (Please allow up to 5 seconds...) + VMoveeProvider(), + WatchCartoonOnlineProvider(), + AllMoviesForYouProvider(), + ApiMDBProvider(), - MonoschinosProvider(), + MonoschinosProvider(), - VidEmbedProvider(), - VfFilmProvider(), - VfSerieProvider(), - FrenchStreamProvider(), + VidEmbedProvider(), + VfFilmProvider(), + VfSerieProvider(), + FrenchStreamProvider(), - AsianLoadProvider(), + AsianLoadProvider(), - BflixProvider("https://bflix.ru","Bflix"), - BflixProvider("https://fmovies.to","Fmovies.to"), - BflixProvider("https://sflix.pro","Sflix.pro"), + BflixProvider("https://bflix.ru","Bflix"), + BflixProvider("https://fmovies.to","Fmovies.to"), + BflixProvider("https://sflix.pro","Sflix.pro"), - SflixProvider("https://sflix.to", "Sflix.to"), - SflixProvider("https://dopebox.to", "Dopebox"), - SflixProvider("https://solarmovie.pe", "Solarmovie"), + SflixProvider("https://sflix.to", "Sflix.to"), + SflixProvider("https://dopebox.to", "Dopebox"), + SflixProvider("https://solarmovie.pe", "Solarmovie"), - //TmdbProvider(), + //TmdbProvider(), - FilmanProvider(), + FilmanProvider(), - ZoroProvider(), - PinoyMoviePediaProvider(), - PinoyHDXyzProvider(), - PinoyMoviesEsProvider(), - TrailersTwoProvider(), - TwoEmbedProvider(), - DramaSeeProvider(), - WatchAsianProvider(), - KdramaHoodProvider(), - AkwamProvider(), - MyCimaProvider(), - EgyBestProvider(), - AnimePaheProvider(), - NineAnimeProvider(), - AnimeWorldProvider(), - SoaptwoDayProvider(), + ZoroProvider(), + PinoyMoviePediaProvider(), + PinoyHDXyzProvider(), + PinoyMoviesEsProvider(), + TrailersTwoProvider(), + TwoEmbedProvider(), + DramaSeeProvider(), + WatchAsianProvider(), + KdramaHoodProvider(), + AkwamProvider(), + MyCimaProvider(), + EgyBestProvider(), + AnimePaheProvider(), + NineAnimeProvider(), + AnimeWorldProvider(), + SoaptwoDayProvider(), - CrossTmdbProvider(), - ) + CrossTmdbProvider(), - val restrictedApis = arrayListOf( - // TrailersToProvider(), // be aware that this is fuckery - // NyaaProvider(), // torrents in cs3 is wack - // ThenosProvider(), // ddos protection and wacked links - AsiaFlixProvider(), - ) + //restricted + AsiaFlixProvider(), + //backwards + KawaiifuProvider(), // removed due to cloudflare + HDMProvider(),// removed due to cloudflare + ) + } - private val backwardsCompatibleProviders = arrayListOf( - KawaiifuProvider(), // removed due to cloudflare - HDMProvider(),// removed due to cloudflare - ) + var apis : List = arrayListOf() fun getApiFromName(apiName: String?): MainAPI { return getApiFromNameNull(apiName) ?: apis[defProvider] @@ -118,15 +117,7 @@ object APIHolder { fun getApiFromNameNull(apiName: String?): MainAPI? { if (apiName == null) return null - for (api in apis) { - if (apiName == api.name) - return api - } - for (api in restrictedApis) { - if (apiName == api.name) - return api - } - for (api in backwardsCompatibleProviders) { + for (api in allProviders) { if (apiName == api.name) return api } @@ -281,10 +272,45 @@ object APIHolder { } } + +/* +0 = Site not good +1 = All good +2 = Slow, heavy traffic +3 = restricted, must donate 30 benenes to use + */ +const val PROVIDER_STATUS_KEY = "PROVIDER_STATUS_KEY" +const val PROVIDER_STATUS_URL = "https://raw.githubusercontent.com/LagradOst/CloudStream-3/master/providers.json" +const val PROVIDER_STATUS_BETA_ONLY = 3 +const val PROVIDER_STATUS_SLOW = 2 +const val PROVIDER_STATUS_OK = 1 +const val PROVIDER_STATUS_DOWN = 0 + +data class ProvidersInfoJson( + @JsonProperty("name") var name: String, + @JsonProperty("url") var url: String, + @JsonProperty("status") var status: Int, +) + /**Every provider will **not** have try catch built in, so handle exceptions when calling these functions*/ abstract class MainAPI { - open val name = "NONE" - open val mainUrl = "NONE" + companion object { + var overrideData : HashMap? = null + } + + public fun overrideWithNewData(data : ProvidersInfoJson) { + this.name = data.name + this.mainUrl = data.url + } + + init { + overrideData?.get(this.javaClass.simpleName)?.let { data -> + overrideWithNewData(data) + } + } + + open var name = "NONE" + open var mainUrl = "NONE" //open val uniqueId : Int by lazy { this.name.hashCode() } // in case of duplicate providers you can have a shared id @@ -317,17 +343,17 @@ abstract class MainAPI { open val providerType = ProviderType.DirectProvider @WorkerThread - suspend open fun getMainPage(): HomePageResponse? { + open suspend fun getMainPage(): HomePageResponse? { throw NotImplementedError() } @WorkerThread - suspend open fun search(query: String): List? { + open suspend fun search(query: String): List? { throw NotImplementedError() } @WorkerThread - suspend open fun quickSearch(query: String): List? { + open suspend fun quickSearch(query: String): List? { throw NotImplementedError() } @@ -336,7 +362,7 @@ abstract class MainAPI { * Based on data from search() or getMainPage() it generates a LoadResponse, * basically opening the info page from a link. * */ - suspend open fun load(url: String): LoadResponse? { + open suspend fun load(url: String): LoadResponse? { throw NotImplementedError() } @@ -350,13 +376,13 @@ abstract class MainAPI { * if the need arises. * */ @WorkerThread - suspend open fun extractorVerifierJob(extractorData: String?) { + open suspend fun extractorVerifierJob(extractorData: String?) { throw NotImplementedError() } /**Callback is fired once a link is found, will return true if method is executed successfully*/ @WorkerThread - suspend open fun loadLinks( + open suspend fun loadLinks( data: String, isCasting: Boolean, subtitleCallback: (SubtitleFile) -> Unit, diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt index ebfcf862..01445dae 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt @@ -23,9 +23,9 @@ import androidx.preference.PreferenceManager import com.google.android.gms.cast.framework.* import com.google.android.material.navigationrail.NavigationRailView import com.jaredrummler.android.colorpicker.ColorPickerDialogListener +import com.lagradost.cloudstream3.APIHolder.allProviders import com.lagradost.cloudstream3.APIHolder.apis import com.lagradost.cloudstream3.APIHolder.getApiDubstatusSettings -import com.lagradost.cloudstream3.APIHolder.restrictedApis import com.lagradost.cloudstream3.CommonActivity.backEvent import com.lagradost.cloudstream3.CommonActivity.loadThemes import com.lagradost.cloudstream3.CommonActivity.onColorSelectedEvent @@ -46,9 +46,12 @@ import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSet import com.lagradost.cloudstream3.utils.AppUtils.isCastApiAvailable import com.lagradost.cloudstream3.utils.AppUtils.loadCache import com.lagradost.cloudstream3.utils.AppUtils.loadResult +import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.BackupUtils.setUpBackup +import com.lagradost.cloudstream3.utils.Coroutines.main import com.lagradost.cloudstream3.utils.DataStore.getKey import com.lagradost.cloudstream3.utils.DataStore.removeKey +import com.lagradost.cloudstream3.utils.DataStore.setKey import com.lagradost.cloudstream3.utils.DataStoreHelper.setViewPos import com.lagradost.cloudstream3.utils.InAppUpdater.Companion.runAutoUpdate import com.lagradost.cloudstream3.utils.UIHelper.changeStatusBarState @@ -60,6 +63,9 @@ import com.lagradost.cloudstream3.utils.UIHelper.navigate import com.lagradost.cloudstream3.utils.UIHelper.requestRW import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.fragment_result_swipe.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext import java.io.File import kotlin.concurrent.thread @@ -308,6 +314,70 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener { for (api in OAuth2accountApis) { api.init() } + + // must give benenes to get beta providers + val hasBenene = try { + val settingsManager = PreferenceManager.getDefaultSharedPreferences(this) + val count = settingsManager.getInt(getString(R.string.benene_count), 0) + count > 30 + } catch (e: Exception) { + e.printStackTrace() + false + } + + // this pulls the latest data so ppl don't have to update to simply change provider url + try { + runBlocking { + withContext(Dispatchers.IO) { + val cacheStr: String? = getKey(PROVIDER_STATUS_KEY) + val cache : HashMap? = cacheStr?.let { tryParseJson(cacheStr) } + if (cache != null) { + // if cache is found then spin up a new request, but dont wait + main { + try { + val txt = app.get(PROVIDER_STATUS_URL).text + val newCache = tryParseJson>(txt) + setKey(PROVIDER_STATUS_KEY, txt) + MainAPI.overrideData = newCache // update all new providers + for (api in apis) { // update current providers + newCache?.get(api.javaClass.simpleName)?.let { data -> + api.overrideWithNewData(data) + } + } + } catch (e : Exception) { + logError(e) + } + } + cache + } else { + // if it is the first time the user has used the app then wait for a request to update all providers + val txt = app.get(PROVIDER_STATUS_URL).text + setKey(PROVIDER_STATUS_KEY, txt) + val newCache = tryParseJson>(txt) + newCache + }?.let { providersJsonMap -> + MainAPI.overrideData = providersJsonMap + val acceptableProviders = + providersJsonMap.filter { it.value.status == PROVIDER_STATUS_OK || it.value.status == PROVIDER_STATUS_SLOW } + .map { it.key }.toSet() + + val restrictedApis = + if (hasBenene) providersJsonMap.filter { it.value.status == PROVIDER_STATUS_BETA_ONLY } + .map { it.key }.toSet() else emptySet() + + apis = allProviders.filter { api -> + val name = api.javaClass.simpleName + acceptableProviders.contains(name) || restrictedApis.contains(name) + } + } + } + } + } catch (e: Exception) { + apis = allProviders + e.printStackTrace() + logError(e) + } + loadThemes(this) updateLocale() app.initClient(this) @@ -458,10 +528,8 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener { createISO() }*/ - var providersString = "Current providers are:\n" var providersAndroidManifestString = "Current androidmanifest should be:\n" - for (api in apis) { - providersString += "+ ${api.mainUrl}\n" + for (api in allProviders) { providersAndroidManifestString += "\n" } - for (api in restrictedApis) { - providersString += "+ ${api.mainUrl}\n" - providersAndroidManifestString += "\n" - } - println(providersString) - - println(providersAndroidManifestString) handleAppIntent(intent) @@ -488,15 +545,6 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener { runAutoUpdate() } - // must give benenes to get beta providers - try { - val settingsManager = PreferenceManager.getDefaultSharedPreferences(this) - val count = settingsManager.getInt(getString(R.string.benene_count), 0) - if (count > 30 && restrictedApis.size > 0 && !apis.contains(restrictedApis.first())) - apis.addAll(restrictedApis) - } catch (e: Exception) { - e.printStackTrace() - } APIRepository.dubStatusActive = getApiDubstatusSettings() try { @@ -507,7 +555,7 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener { } catch (e: Exception) { logError(e) } - + println("Loaded everything") /* val relativePath = (Environment.DIRECTORY_DOWNLOADS) + File.separatorChar val displayName = "output.dex" //""output.dex" diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt index c2fe18a0..94f3272a 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt @@ -17,8 +17,8 @@ import java.util.* class AllAnimeProvider : MainAPI() { - override val mainUrl = "https://allanime.site" - override val name = "AllAnime" + override var mainUrl = "https://allanime.site" + override var name = "AllAnime" override val hasQuickSearch = false override val hasMainPage = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeFlickProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeFlickProvider.kt index 81379b35..3d7dc42d 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeFlickProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeFlickProvider.kt @@ -16,8 +16,8 @@ class AnimeFlickProvider : MainAPI() { } } - override val mainUrl = "https://animeflick.net" - override val name = "AnimeFlick" + override var mainUrl = "https://animeflick.net" + override var name = "AnimeFlick" override val hasQuickSearch = false override val hasMainPage = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimePaheProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimePaheProvider.kt index ed239b14..e28f363d 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimePaheProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimePaheProvider.kt @@ -44,8 +44,8 @@ class AnimePaheProvider : MainAPI() { Regex("""(^(?:https?:)?(?://)?(?:www\.)?(?:youtu\.be/|youtube(?:-nocookie)?\.(?:[A-Za-z]{2,4}|[A-Za-z]{2,3}\.[A-Za-z]{2})/)(?:watch|embed/|vi?/)*(?:\?[\w=&]*vi?=)?[^#&?/]{11}.*${'$'})""") } - override val mainUrl = MAIN_URL - override val name = "AnimePahe" + override var mainUrl = MAIN_URL + override var name = "AnimePahe" override val hasQuickSearch = false override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeWorldProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeWorldProvider.kt index b1ed8207..93c3c359 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeWorldProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeWorldProvider.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.Qualities class AnimeWorldProvider : MainAPI() { - override val mainUrl = "https://www.animeworld.tv" - override val name = "AnimeWorld" + override var mainUrl = "https://www.animeworld.tv" + override var name = "AnimeWorld" override val lang = "it" override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeflvProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeflvProvider.kt index 59cb0001..095bbf41 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeflvProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimeflvProvider.kt @@ -14,8 +14,8 @@ class AnimeflvnetProvider:MainAPI() { else TvType.Anime } } - override val mainUrl = "https://www3.animeflv.net" - override val name = "Animeflv.net" + override var mainUrl = "https://www3.animeflv.net" + override var name = "Animeflv.net" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimekisaProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimekisaProvider.kt index d108b4e8..e938d276 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimekisaProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AnimekisaProvider.kt @@ -12,8 +12,8 @@ import kotlin.collections.ArrayList class AnimekisaProvider : MainAPI() { - override val mainUrl = "https://animekisa.in" - override val name = "Animekisa" + override var mainUrl = "https://animekisa.in" + override var name = "Animekisa" override val hasMainPage = true override val hasChromecastSupport = true override val hasDownloadSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/DubbedAnimeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/DubbedAnimeProvider.kt index d6a4760f..f23ea6f9 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/DubbedAnimeProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/DubbedAnimeProvider.kt @@ -11,8 +11,8 @@ import org.jsoup.Jsoup import java.util.* class DubbedAnimeProvider : MainAPI() { - override val mainUrl = "https://bestdubbedanime.com" - override val name = "DubbedAnime" + override var mainUrl = "https://bestdubbedanime.com" + override var name = "DubbedAnime" override val hasQuickSearch = true override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/GogoanimeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/GogoanimeProvider.kt index d090063a..fa788f5a 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/GogoanimeProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/GogoanimeProvider.kt @@ -56,8 +56,8 @@ class GogoanimeProvider : MainAPI() { .toByteArray() } - override val mainUrl = "https://gogoanime.film" - override val name = "GogoAnime" + override var mainUrl = "https://gogoanime.film" + override var name = "GogoAnime" override val hasQuickSearch = false override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/KawaiifuProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/KawaiifuProvider.kt index 38ede9af..eb873dcd 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/KawaiifuProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/KawaiifuProvider.kt @@ -7,8 +7,8 @@ import org.jsoup.Jsoup import java.util.* class KawaiifuProvider : MainAPI() { - override val mainUrl = "https://kawaiifu.com" - override val name = "Kawaiifu" + override var mainUrl = "https://kawaiifu.com" + override var name = "Kawaiifu" override val hasQuickSearch = false override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/MonoschinosProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/MonoschinosProvider.kt index 4e8fcfb5..9c35f689 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/MonoschinosProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/MonoschinosProvider.kt @@ -17,8 +17,8 @@ class MonoschinosProvider : MainAPI() { } } - override val mainUrl = "https://monoschinos2.com" - override val name = "Monoschinos" + override var mainUrl = "https://monoschinos2.com" + override var name = "Monoschinos" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/NineAnimeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/NineAnimeProvider.kt index 29959916..e1f6b10e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/NineAnimeProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/NineAnimeProvider.kt @@ -10,8 +10,8 @@ import org.jsoup.Jsoup import java.util.* class NineAnimeProvider : MainAPI() { - override val mainUrl = "https://9anime.center" - override val name = "9Anime" + override var mainUrl = "https://9anime.center" + override var name = "9Anime" override val hasMainPage = true override val hasChromecastSupport = true override val hasDownloadSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/TenshiProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/TenshiProvider.kt index d17a6d23..2e730794 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/TenshiProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/TenshiProvider.kt @@ -25,8 +25,8 @@ class TenshiProvider : MainAPI() { } } - override val mainUrl = "https://tenshi.moe" - override val name = "Tenshi.moe" + override var mainUrl = "https://tenshi.moe" + override var name = "Tenshi.moe" override val hasQuickSearch = false override val hasMainPage = true override val supportedTypes = setOf(TvType.Anime, TvType.AnimeMovie, TvType.OVA) diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WatchCartoonOnlineProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WatchCartoonOnlineProvider.kt index a176b497..3d17012e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WatchCartoonOnlineProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WatchCartoonOnlineProvider.kt @@ -12,8 +12,8 @@ import java.util.* class WatchCartoonOnlineProvider : MainAPI() { - override val name = "WatchCartoonOnline" - override val mainUrl = "https://www.wcostream.com" + override var name = "WatchCartoonOnline" + override var mainUrl = "https://www.wcostream.com" override val supportedTypes = setOf( TvType.Cartoon, diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WcoProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WcoProvider.kt index 77f913fd..d7435a4e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WcoProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/WcoProvider.kt @@ -19,8 +19,8 @@ class WcoProvider : MainAPI() { } } - override val mainUrl = "https://wcostream.cc" - override val name = "WCO Stream" + override var mainUrl = "https://wcostream.cc" + override var name = "WCO Stream" override val hasQuickSearch = true override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/ZoroProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/ZoroProvider.kt index 5e362d62..ed8027ff 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/ZoroProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/ZoroProvider.kt @@ -18,8 +18,8 @@ import java.net.URI import java.util.* class ZoroProvider : MainAPI() { - override val mainUrl = "https://zoro.to" - override val name = "Zoro" + override var mainUrl = "https://zoro.to" + override var name = "Zoro" override val hasQuickSearch = false override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/AsianLoad.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/AsianLoad.kt index 8b748b9d..290ff002 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/AsianLoad.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/AsianLoad.kt @@ -5,8 +5,8 @@ import com.lagradost.cloudstream3.utils.* import java.net.URI class AsianLoad : ExtractorApi() { - override val name = "AsianLoad" - override val mainUrl = "https://asianembed.io" + override var name = "AsianLoad" + override var mainUrl = "https://asianembed.io" override val requiresReferer = true private val sourceRegex = Regex("""sources:[\W\w]*?file:\s*?["'](.*?)["']""") diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/DoodExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/DoodExtractor.kt index 2d89631d..7421c3ca 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/DoodExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/DoodExtractor.kt @@ -7,21 +7,21 @@ import com.lagradost.cloudstream3.utils.Qualities import kotlinx.coroutines.delay class DoodToExtractor : DoodLaExtractor() { - override val mainUrl = "https://dood.to" + override var mainUrl = "https://dood.to" } class DoodSoExtractor : DoodLaExtractor() { - override val mainUrl = "https://dood.so" + override var mainUrl = "https://dood.so" } class DoodWsExtractor : DoodLaExtractor() { - override val mainUrl = "https://dood.ws" + override var mainUrl = "https://dood.ws" } open class DoodLaExtractor : ExtractorApi() { - override val name = "DoodStream" - override val mainUrl = "https://dood.la" + override var name = "DoodStream" + override var mainUrl = "https://dood.la" override val requiresReferer = false override fun getExtractorUrl(id: String): String { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Evolaod.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Evolaod.kt index ac1bc5c4..4a9f2f52 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Evolaod.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Evolaod.kt @@ -4,7 +4,7 @@ import com.lagradost.cloudstream3.utils.* import com.lagradost.cloudstream3.app class Evoload1 : Evoload() { - override val mainUrl = "https://evoload.io" + override var mainUrl = "https://evoload.io" } open class Evoload : ExtractorApi() { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/GenericM3U8.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/GenericM3U8.kt index 386d7eda..3d986cea 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/GenericM3U8.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/GenericM3U8.kt @@ -12,8 +12,8 @@ import com.lagradost.cloudstream3.utils.getQualityFromName open class GenericM3U8 : ExtractorApi() { - override val name = "Upstream" - override val mainUrl = "https://upstream.to" + override var name = "Upstream" + override var mainUrl = "https://upstream.to" override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?): List { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Jawcloud.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Jawcloud.kt index 136e78d5..04130a53 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Jawcloud.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Jawcloud.kt @@ -6,8 +6,8 @@ import com.lagradost.cloudstream3.app open class Jawcloud : ExtractorApi() { - override val name = "Jawcloud" - override val mainUrl = "https://jawcloud.co" + override var name = "Jawcloud" + override var mainUrl = "https://jawcloud.co" override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?): List? { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Mcloud.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Mcloud.kt index 96ddb49b..1cc0ba95 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Mcloud.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Mcloud.kt @@ -11,8 +11,8 @@ import com.lagradost.cloudstream3.utils.M3u8Helper import com.lagradost.cloudstream3.utils.getQualityFromName open class Mcloud : ExtractorApi() { - override val name = "Mcloud" - override val mainUrl = "https://mcloud.to" + override var name = "Mcloud" + override var mainUrl = "https://mcloud.to" override val requiresReferer = true val headers = mapOf( "Host" to "mcloud.to", diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/MixDrop.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/MixDrop.kt index c357b90e..9b3f3847 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/MixDrop.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/MixDrop.kt @@ -4,8 +4,8 @@ import com.lagradost.cloudstream3.app import com.lagradost.cloudstream3.utils.* class MixDrop : ExtractorApi() { - override val name = "MixDrop" - override val mainUrl = "https://mixdrop.co" + override var name = "MixDrop" + override var mainUrl = "https://mixdrop.co" private val srcRegex = Regex("""wurl.*?=.*?"(.*?)";""") override val requiresReferer = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Mp4Upload.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Mp4Upload.kt index 9bdb57b7..dee3c2e2 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Mp4Upload.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Mp4Upload.kt @@ -7,8 +7,8 @@ import com.lagradost.cloudstream3.utils.Qualities import com.lagradost.cloudstream3.utils.getAndUnpack class Mp4Upload : ExtractorApi() { - override val name = "Mp4Upload" - override val mainUrl = "https://www.mp4upload.com" + override var name = "Mp4Upload" + override var mainUrl = "https://www.mp4upload.com" private val srcRegex = Regex("""player\.src\("(.*?)"""") override val requiresReferer = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/MultiQuality.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/MultiQuality.kt index afd6da1e..8dc13592 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/MultiQuality.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/MultiQuality.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.getQualityFromName import java.net.URI class MultiQuality : ExtractorApi() { - override val name = "MultiQuality" - override val mainUrl = "https://gogo-play.net" + override var name = "MultiQuality" + override var mainUrl = "https://gogo-play.net" private val sourceRegex = Regex("""file:\s*['"](.*?)['"],label:\s*['"](.*?)['"]""") private val m3u8Regex = Regex(""".*?(\d*).m3u8""") private val urlRegex = Regex("""(.*?)([^/]+$)""") diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/OkRuExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/OkRuExtractor.kt index 69464b84..41016e47 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/OkRuExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/OkRuExtractor.kt @@ -25,8 +25,8 @@ data class Videos ( ) open class OkRu : ExtractorApi() { - override val name = "Okru" - override val mainUrl = "http://ok.ru" + override var name = "Okru" + override var mainUrl = "http://ok.ru" override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?): List? { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/PlayerVoxzer.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/PlayerVoxzer.kt index 782ad578..1359f6c6 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/PlayerVoxzer.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/PlayerVoxzer.kt @@ -6,8 +6,8 @@ import com.lagradost.cloudstream3.app open class PlayerVoxzer : ExtractorApi() { - override val name = "Voxzer" - override val mainUrl = "https://player.voxzer.org" + override var name = "Voxzer" + override var mainUrl = "https://player.voxzer.org" override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?): List? { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/SBPlay.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/SBPlay.kt index 3468cbca..6bc768df 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/SBPlay.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/SBPlay.kt @@ -10,16 +10,16 @@ import com.lagradost.cloudstream3.utils.getPostForm import org.jsoup.Jsoup //class SBPlay1 : SBPlay() { -// override val mainUrl = "https://sbplay1.com" +// override var mainUrl = "https://sbplay1.com" //} //class SBPlay2 : SBPlay() { -// override val mainUrl = "https://sbplay2.com" +// override var mainUrl = "https://sbplay2.com" //} open class SBPlay : ExtractorApi() { - override val mainUrl = "https://sbplay.one" - override val name = "SBPlay" + override var mainUrl = "https://sbplay.one" + override var name = "SBPlay" override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?): List { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamSB.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamSB.kt index 147d4c80..a4877f57 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamSB.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamSB.kt @@ -9,46 +9,46 @@ import com.lagradost.cloudstream3.utils.AppUtils.parseJson class StreamSB1 : StreamSB() { - override val mainUrl = "https://sbplay1.com" + override var mainUrl = "https://sbplay1.com" } class StreamSB2 : StreamSB() { - override val mainUrl = "https://sbplay2.com" + override var mainUrl = "https://sbplay2.com" } class StreamSB3 : StreamSB() { - override val mainUrl = "https://sbplay3.com" + override var mainUrl = "https://sbplay3.com" } class StreamSB4 : StreamSB() { - override val mainUrl = "https://cloudemb.com" + override var mainUrl = "https://cloudemb.com" } class StreamSB5 : StreamSB() { - override val mainUrl = "https://sbplay.org" + override var mainUrl = "https://sbplay.org" } class StreamSB6 : StreamSB() { - override val mainUrl = "https://embedsb.com" + override var mainUrl = "https://embedsb.com" } class StreamSB7 : StreamSB() { - override val mainUrl = "https://pelistop.co" + override var mainUrl = "https://pelistop.co" } class StreamSB8 : StreamSB() { - override val mainUrl = "https://streamsb.net" + override var mainUrl = "https://streamsb.net" } class StreamSB9 : StreamSB() { - override val mainUrl = "https://sbplay.one" + override var mainUrl = "https://sbplay.one" } // This is a modified version of https://github.com/jmir1/aniyomi-extensions/blob/master/src/en/genoanime/src/eu/kanade/tachiyomi/animeextension/en/genoanime/extractors/StreamSBExtractor.kt // The following code is under the Apache License 2.0 https://github.com/jmir1/aniyomi-extensions/blob/master/LICENSE open class StreamSB : ExtractorApi() { - override val name = "StreamSB" - override val mainUrl = "https://watchsb.com" + override var name = "StreamSB" + override var mainUrl = "https://watchsb.com" override val requiresReferer = false private val hexArray = "0123456789ABCDEF".toCharArray() diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamTape.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamTape.kt index b2ae1393..af436ff3 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamTape.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamTape.kt @@ -6,8 +6,8 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.Qualities class StreamTape : ExtractorApi() { - override val name = "StreamTape" - override val mainUrl = "https://streamtape.com" + override var name = "StreamTape" + override var mainUrl = "https://streamtape.com" override val requiresReferer = false private val linkRegex = diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Streamhub.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Streamhub.kt index be0e9d6e..2765ae17 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Streamhub.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Streamhub.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.Qualities import java.net.URI class Streamhub : ExtractorApi() { - override val mainUrl = "https://streamhub.to" - override val name = "Streamhub" + override var mainUrl = "https://streamhub.to" + override var name = "Streamhub" override val requiresReferer = false override fun getExtractorUrl(id: String): String { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Tomatomatela.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Tomatomatela.kt index 6e2b638a..20bd69ba 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Tomatomatela.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Tomatomatela.kt @@ -1,19 +1,21 @@ package com.lagradost.cloudstream3.extractors -import com.lagradost.cloudstream3.utils.* -import com.lagradost.cloudstream3.app import com.fasterxml.jackson.annotation.JsonProperty +import com.lagradost.cloudstream3.app import com.lagradost.cloudstream3.utils.AppUtils.parseJson +import com.lagradost.cloudstream3.utils.ExtractorApi +import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities class Cinestart: Tomatomatela() { - override val name: String = "Cinestart" - override val mainUrl: String = "https://cinestart.net" + override var name = "Cinestart" + override var mainUrl = "https://cinestart.net" override val details = "vr.php?v=" } open class Tomatomatela : ExtractorApi() { - override val name = "Tomatomatela" - override val mainUrl = "https://tomatomatela.com" + override var name = "Tomatomatela" + override var mainUrl = "https://tomatomatela.com" override val requiresReferer = false private data class Tomato ( @JsonProperty("status") val status: Int, diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Uqload.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Uqload.kt index 5982d5a1..e5d2875f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Uqload.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Uqload.kt @@ -4,7 +4,7 @@ import com.lagradost.cloudstream3.utils.* import com.lagradost.cloudstream3.app class Uqload1 : Uqload() { - override val mainUrl = "https://uqload.com" + override var mainUrl = "https://uqload.com" } open class Uqload : ExtractorApi() { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/WatchSB.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/WatchSB.kt index 1c259d08..1ede5faa 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/WatchSB.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/WatchSB.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.M3u8Helper import com.lagradost.cloudstream3.utils.getQualityFromName open class WatchSB : ExtractorApi() { - override val name = "WatchSB" - override val mainUrl = "https://watchsb.com" + override var name = "WatchSB" + override var mainUrl = "https://watchsb.com" override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?): List { diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/WcoStream.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/WcoStream.kt index 06614384..d618491c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/WcoStream.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/WcoStream.kt @@ -8,19 +8,19 @@ import com.lagradost.cloudstream3.mapper import com.lagradost.cloudstream3.utils.* class Vidstreamz : WcoStream() { - override val mainUrl: String = "https://vidstreamz.online" + override var mainUrl = "https://vidstreamz.online" } class Vizcloud : WcoStream() { - override val mainUrl: String = "https://vizcloud2.ru" + override var mainUrl = "https://vizcloud2.ru" } class Vizcloud2 : WcoStream() { - override val mainUrl: String = "https://vizcloud2.online" + override var mainUrl = "https://vizcloud2.online" } open class WcoStream : ExtractorApi() { - override val name = "VidStream" //Cause works for animekisa and wco - override val mainUrl = "https://vidstream.pro" + override var name = "VidStream" //Cause works for animekisa and wco + override var mainUrl = "https://vidstream.pro" override val requiresReferer = false private val hlsHelper = M3u8Helper() diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Zplayer.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Zplayer.kt index 561f8b9c..2382e737 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Zplayer.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Zplayer.kt @@ -5,23 +5,23 @@ import com.lagradost.cloudstream3.app import com.lagradost.cloudstream3.utils.* class Zplayer: ZplayerV2() { - override val name: String = "Zplayer" - override val mainUrl: String = "https://zplayer.live" + override var name: String = "Zplayer" + override var mainUrl: String = "https://zplayer.live" } class Upstream: ZplayerV2() { - override val name: String = "Upstream" //Here 'cause works - override val mainUrl: String = "https://upstream.to" + override var name: String = "Upstream" //Here 'cause works + override var mainUrl: String = "https://upstream.to" } class Streamhub2: ZplayerV2() { - override val name: String = "Streamhub" //Here 'cause works - override val mainUrl: String = "https://streamhub.to" + override var name = "Streamhub" //Here 'cause works + override var mainUrl = "https://streamhub.to" } open class ZplayerV2 : ExtractorApi() { - override val name = "Zplayer V2" - override val mainUrl = "https://v2.zplayer.live" + override var name = "Zplayer V2" + override var mainUrl = "https://v2.zplayer.live" override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?): List { diff --git a/app/src/main/java/com/lagradost/cloudstream3/metaproviders/CrossTmdbProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/metaproviders/CrossTmdbProvider.kt index 682937e6..a9c6a463 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/metaproviders/CrossTmdbProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/metaproviders/CrossTmdbProvider.kt @@ -10,7 +10,7 @@ import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink class CrossTmdbProvider : TmdbProvider() { - override val name = "MultiMovie" + override var name = "MultiMovie" override val apiName = "MultiMovie" override val lang = "en" override val useMetaLoadResponse = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AkwamProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AkwamProvider.kt index e0063391..326fd8c2 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AkwamProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AkwamProvider.kt @@ -9,8 +9,8 @@ import org.jsoup.nodes.Element class AkwamProvider : MainAPI() { override val lang = "ar" - override val mainUrl = "https://akwam.to" - override val name = "Akwam" + override var mainUrl = "https://akwam.to" + override var name = "Akwam" override val usesWebView = false override val hasMainPage = true override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie, TvType.Anime, TvType.Cartoon) diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AllMoviesForYouProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AllMoviesForYouProvider.kt index d7ec624d..8f1da9d4 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AllMoviesForYouProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AllMoviesForYouProvider.kt @@ -19,8 +19,8 @@ class AllMoviesForYouProvider : MainAPI() { } // Fetching movies will not work if this link is outdated. - override val mainUrl = "https://allmoviesforyou.net" - override val name = "AllMoviesForYou" + override var mainUrl = "https://allmoviesforyou.net" + override var name = "AllMoviesForYou" override val hasMainPage = true override val supportedTypes = setOf( TvType.Movie, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/ApiMDBProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/ApiMDBProvider.kt index 44d407de..1507d459 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/ApiMDBProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/ApiMDBProvider.kt @@ -10,8 +10,8 @@ import com.lagradost.cloudstream3.utils.loadExtractor class ApiMDBProvider : TmdbProvider() { override val apiName = "ApiMDB" - override val name = "ApiMDB" - override val mainUrl = "https://v2.apimdb.net" + override var name = "ApiMDB" + override var mainUrl = "https://v2.apimdb.net" override val useMetaLoadResponse = true override val instantLinkLoading = false override val supportedTypes = setOf( diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt index 47157051..0e2badf9 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt @@ -11,8 +11,8 @@ import com.lagradost.cloudstream3.utils.getQualityFromName import java.net.URI class AsiaFlixProvider : MainAPI() { - override val mainUrl = "https://asiaflix.app" - override val name = "AsiaFlix" + override var mainUrl = "https://asiaflix.app" + override var name = "AsiaFlix" override val hasQuickSearch = false override val hasMainPage = true override val hasChromecastSupport = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt index f190324a..847312df 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt @@ -6,8 +6,8 @@ import com.lagradost.cloudstream3.TvType * make the app know what functions to call */ class AsianLoadProvider : VidstreamProviderTemplate() { - override val name = "AsianLoad" - override val mainUrl = "https://asianembed.io" + override var name = "AsianLoad" + override var mainUrl = "https://asianembed.io" override val homePageUrlList = listOf( mainUrl, "$mainUrl/recently-added-raw", diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/BflixProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/BflixProvider.kt index d57637b9..f430453c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/BflixProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/BflixProvider.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.Jsoup class BflixProvider(providerUrl: String, providerName: String) : MainAPI() { - override val mainUrl = providerUrl - override val name = providerName + override var mainUrl = providerUrl + override var name = providerName override val hasMainPage = true override val hasChromecastSupport = true override val hasDownloadSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CinecalidadProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CinecalidadProvider.kt index d7654d39..33494059 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CinecalidadProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CinecalidadProvider.kt @@ -1,17 +1,14 @@ package com.lagradost.cloudstream3.movieproviders -import com.fasterxml.jackson.annotation.JsonProperty import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.extractors.Cinestart import com.lagradost.cloudstream3.mvvm.logError -import com.lagradost.cloudstream3.utils.* -import java.util.* +import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.loadExtractor class CinecalidadProvider:MainAPI() { - override val mainUrl: String - get() = "https://cinecalidad.lol" - override val name: String - get() = "Cinecalidad" + override var mainUrl = "https://cinecalidad.lol" + override var name = "Cinecalidad" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CuevanaProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CuevanaProvider.kt index 047cbbf0..43c568d3 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CuevanaProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/CuevanaProvider.kt @@ -9,8 +9,8 @@ import com.lagradost.cloudstream3.utils.AppUtils.parseJson import java.util.* class CuevanaProvider:MainAPI() { - override val mainUrl = "https://cuevana3.me" - override val name = "Cuevana" + override var mainUrl = "https://cuevana3.me" + override var name = "Cuevana" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DoramasYTProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DoramasYTProvider.kt index 9a621b6d..5c7abb7e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DoramasYTProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DoramasYTProvider.kt @@ -16,8 +16,8 @@ class DoramasYTProvider : MainAPI() { } } - override val mainUrl = "https://doramasyt.com" - override val name = "DoramasYT" + override var mainUrl = "https://doramasyt.com" + override var name = "DoramasYT" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt index 671fdbbe..e36bfb02 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt @@ -9,8 +9,8 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor class DramaSeeProvider : MainAPI() { - override val mainUrl = "https://dramasee.net" - override val name = "DramaSee" + override var mainUrl = "https://dramasee.net" + override var name = "DramaSee" override val hasQuickSearch = false override val hasMainPage = true override val hasChromecastSupport = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt index 3841f5e8..22114816 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt @@ -8,8 +8,8 @@ import org.jsoup.nodes.Element class EgyBestProvider : MainAPI() { override val lang = "ar" - override val mainUrl = "https://egy.best" - override val name = "EgyBest" + override var mainUrl = "https://egy.best" + override var name = "EgyBest" override val usesWebView = false override val hasMainPage = true override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EntrePeliculasySeriesProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EntrePeliculasySeriesProvider.kt index 8f4b7afa..c8a33b94 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EntrePeliculasySeriesProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EntrePeliculasySeriesProvider.kt @@ -6,8 +6,8 @@ import com.lagradost.cloudstream3.utils.* import java.util.* class EntrepeliculasyseriesProvider:MainAPI() { - override val mainUrl = "https://entrepeliculasyseries.nu" - override val name = "EntrePeliculasySeries" + override var mainUrl = "https://entrepeliculasyseries.nu" + override var name = "EntrePeliculasySeries" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/FilmanProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/FilmanProvider.kt index 06320f66..f466cd52 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/FilmanProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/FilmanProvider.kt @@ -9,8 +9,8 @@ import org.jsoup.Jsoup import org.jsoup.select.Elements class FilmanProvider : MainAPI() { - override val mainUrl = "https://filman.cc" - override val name = "filman.cc" + override var mainUrl = "https://filman.cc" + override var name = "filman.cc" override val lang = "pl" override val hasMainPage = true override val supportedTypes = setOf( diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/HDMProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/HDMProvider.kt index cf57cceb..23657f40 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/HDMProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/HDMProvider.kt @@ -6,8 +6,8 @@ import com.lagradost.cloudstream3.utils.Qualities import org.jsoup.Jsoup class HDMProvider : MainAPI() { - override val name = "HD Movies" - override val mainUrl = "https://hdm.to" + override var name = "HD Movies" + override var mainUrl = "https://hdm.to" override val hasMainPage = true override val supportedTypes = setOf( diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/IHaveNoTvProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/IHaveNoTvProvider.kt index bf82cf07..3c48a5a1 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/IHaveNoTvProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/IHaveNoTvProvider.kt @@ -7,8 +7,8 @@ import org.jsoup.Jsoup import java.net.URLEncoder class IHaveNoTvProvider : MainAPI() { - override val mainUrl = "https://ihavenotv.com" - override val name = "I Have No TV" + override var mainUrl = "https://ihavenotv.com" + override var name = "I Have No TV" override val hasQuickSearch = false override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt index 1b9b803b..8f77f472 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt @@ -14,8 +14,8 @@ import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.Jsoup class KdramaHoodProvider : MainAPI() { - override val mainUrl = "https://kdramahood.com" - override val name = "KDramaHood" + override var mainUrl = "https://kdramahood.com" + override var name = "KDramaHood" override val hasQuickSearch = false override val hasMainPage = true override val hasChromecastSupport = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/LookMovieProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/LookMovieProvider.kt index 9322daba..9aa5e428 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/LookMovieProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/LookMovieProvider.kt @@ -13,8 +13,8 @@ import org.jsoup.Jsoup //BE AWARE THAT weboas.is is a clone of lookmovie class LookMovieProvider : MainAPI() { override val hasQuickSearch = true - override val name = "LookMovie" - override val mainUrl = "https://lookmovie.io" + override var name = "LookMovie" + override var mainUrl = "https://lookmovie.io" override val supportedTypes = setOf( TvType.Movie, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MeloMovieProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MeloMovieProvider.kt index 061811ea..1dcb5dbd 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MeloMovieProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MeloMovieProvider.kt @@ -11,8 +11,8 @@ import org.jsoup.Jsoup import org.jsoup.nodes.Element class MeloMovieProvider : MainAPI() { - override val name = "MeloMovie" - override val mainUrl = "https://melomovie.com" + override var name = "MeloMovie" + override var mainUrl = "https://melomovie.com" override val instantLinkLoading = true override val hasQuickSearch = true override val hasChromecastSupport = false // MKV FILES CANT BE PLAYED ON A CHROMECAST diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MyCimaProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MyCimaProvider.kt index 4b3778b8..25b6e23c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MyCimaProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/MyCimaProvider.kt @@ -9,8 +9,8 @@ import org.jsoup.nodes.Element class MyCimaProvider : MainAPI() { override val lang = "ar" - override val mainUrl = "https://mycima.tv" - override val name = "MyCima" + override var mainUrl = "https://mycima.tv" + override var name = "MyCima" override val usesWebView = false override val hasMainPage = true override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PeliSmartProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PeliSmartProvider.kt index 36bd1622..36c19247 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PeliSmartProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PeliSmartProvider.kt @@ -7,8 +7,8 @@ import com.lagradost.cloudstream3.utils.loadExtractor import kotlin.collections.ArrayList class PeliSmartProvider: MainAPI() { - override val mainUrl = "https://pelismart.com" - override val name = "PeliSmart" + override var mainUrl = "https://pelismart.com" + override var name = "PeliSmart" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisflixProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisflixProvider.kt index 77254e0c..d481001c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisflixProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisflixProvider.kt @@ -7,8 +7,8 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor class PelisflixProvider : MainAPI() { - override val mainUrl = "https://pelisflix.li" - override val name = "Pelisflix" + override var mainUrl = "https://pelisflix.li" + override var name = "Pelisflix" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusHDProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusHDProvider.kt index 6a07d142..f1672232 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusHDProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusHDProvider.kt @@ -6,8 +6,8 @@ import org.jsoup.nodes.Element import java.util.* class PelisplusHDProvider:MainAPI() { - override val mainUrl = "https://pelisplushd.net" - override val name = "PelisplusHD" + override var mainUrl = "https://pelisplushd.net" + override var name = "PelisplusHD" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusProvider.kt index 9aa6c321..4ab10206 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PelisplusProvider.kt @@ -7,10 +7,10 @@ import com.lagradost.cloudstream3.TvType */ class PelisplusProvider : PelisplusProviderTemplate() { // mainUrl is good to have as a holder for the url to make future changes easier. - override val mainUrl = "https://pelisplus.icu" + override var mainUrl = "https://pelisplus.icu" // name is for how the provider will be named which is visible in the UI, no real rules for this. - override val name = "Pelisplus" + override var name = "Pelisplus" override val homePageUrlList = listOf( mainUrl, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt index 45951d47..dcdc793b 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor class PinoyHDXyzProvider : MainAPI() { - override val name = "Pinoy-HD" - override val mainUrl = "https://www.pinoy-hd.xyz" + override var name = "Pinoy-HD" + override var mainUrl = "https://www.pinoy-hd.xyz" override val lang = "tl" override val supportedTypes = setOf(TvType.Movie, TvType.TvSeries) override val hasDownloadSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt index 212b5804..4179eb3c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt @@ -9,8 +9,8 @@ import com.lagradost.cloudstream3.utils.loadExtractor import java.lang.Exception class PinoyMoviePediaProvider : MainAPI() { - override val name = "Pinoy Moviepedia" - override val mainUrl = "https://pinoymoviepedia.ru" + override var name = "Pinoy Moviepedia" + override var mainUrl = "https://pinoymoviepedia.ru" override val lang = "tl" override val supportedTypes = setOf(TvType.Movie, TvType.TvSeries) override val hasDownloadSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt index 7254d5da..79090e51 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt @@ -13,8 +13,8 @@ import org.jsoup.select.Elements import java.lang.Exception class PinoyMoviesEsProvider : MainAPI() { - override val name = "Pinoy Movies" - override val mainUrl = "https://pinoymovies.es" + override var name = "Pinoy Movies" + override var mainUrl = "https://pinoymovies.es" override val lang = "tl" override val supportedTypes = setOf(TvType.Movie) override val hasDownloadSupport = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SeriesflixProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SeriesflixProvider.kt index 798c02d0..23e68596 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SeriesflixProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SeriesflixProvider.kt @@ -7,8 +7,8 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor class SeriesflixProvider : MainAPI() { - override val mainUrl = "https://seriesflix.video" - override val name = "Seriesflix" + override var mainUrl = "https://seriesflix.video" + override var name = "Seriesflix" override val lang = "es" override val hasMainPage = true override val hasChromecastSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt index a9bfb618..d644583e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt @@ -22,8 +22,8 @@ import java.net.URI import kotlin.system.measureTimeMillis class SflixProvider(providerUrl: String, providerName: String) : MainAPI() { - override val mainUrl = providerUrl - override val name = providerName + override var mainUrl = providerUrl + override var name = providerName override val hasQuickSearch = false override val hasMainPage = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SoaptwoDayProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SoaptwoDayProvider.kt index 596eee42..6730f15e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SoaptwoDayProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SoaptwoDayProvider.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.AppUtils.parseJson import java.util.* class SoaptwoDayProvider:MainAPI() { - override val mainUrl = "https://secretlink.xyz" //Probably a rip off, but it has no captcha - override val name = "Soap2Day" + override var mainUrl = "https://secretlink.xyz" //Probably a rip off, but it has no captcha + override var name = "Soap2Day" override val hasMainPage = true override val hasChromecastSupport = true override val hasDownloadSupport = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersTwoProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersTwoProvider.kt index c316f38e..c2159c30 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersTwoProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersTwoProvider.kt @@ -12,8 +12,8 @@ import com.lagradost.cloudstream3.utils.SubtitleHelper class TrailersTwoProvider : TmdbProvider() { val user = "cloudstream" override val apiName = "Trailers.to" - override val name = "Trailers.to" - override val mainUrl = "https://trailers.to" + override var name = "Trailers.to" + override var mainUrl = "https://trailers.to" override val useMetaLoadResponse = true override val instantLinkLoading = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TwoEmbedProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TwoEmbedProvider.kt index 40c51aa8..190f5d37 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TwoEmbedProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TwoEmbedProvider.kt @@ -12,8 +12,8 @@ import com.lagradost.cloudstream3.utils.loadExtractor class TwoEmbedProvider : TmdbProvider() { override val apiName = "2Embed" - override val name = "2Embed" - override val mainUrl = "https://www.2embed.ru" + override var name = "2Embed" + override var mainUrl = "https://www.2embed.ru" override val useMetaLoadResponse = true override val instantLinkLoading = false override val supportedTypes = setOf( diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VMoveeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VMoveeProvider.kt index 764942e6..0e878ad3 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VMoveeProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VMoveeProvider.kt @@ -8,8 +8,8 @@ import com.lagradost.cloudstream3.utils.getQualityFromName import org.jsoup.Jsoup class VMoveeProvider : MainAPI() { - override val name = "VMovee" - override val mainUrl = "https://www.vmovee.watch" + override var name = "VMovee" + override var mainUrl = "https://www.vmovee.watch" override val supportedTypes = setOf(TvType.Movie) diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfFilmProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfFilmProvider.kt index 6b6a3048..4674f1fb 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfFilmProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfFilmProvider.kt @@ -7,8 +7,8 @@ import org.jsoup.Jsoup // referer = https://vf-film.org, USERAGENT ALSO REQUIRED class VfFilmProvider : MainAPI() { - override val mainUrl = "https://vf-film.me" - override val name = "vf-film.me" + override var mainUrl = "https://vf-film.me" + override var name = "vf-film.me" override val lang = "fr" override val hasQuickSearch = false override val hasMainPage = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfSerieProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfSerieProvider.kt index be6f3105..60efc6e4 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfSerieProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VfSerieProvider.kt @@ -7,8 +7,8 @@ import org.jsoup.Jsoup // referer = https://vf-serie.org, USERAGENT ALSO REQUIRED class VfSerieProvider : MainAPI() { - override val mainUrl = "https://vf-serie.org" - override val name = "vf-serie.org" + override var mainUrl = "https://vf-serie.org" + override var name = "vf-serie.org" override val lang = "fr" override val hasQuickSearch = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VidEmbedProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VidEmbedProvider.kt index 723e234f..a8501c53 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VidEmbedProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/VidEmbedProvider.kt @@ -7,10 +7,10 @@ import com.lagradost.cloudstream3.TvType */ class VidEmbedProvider : VidstreamProviderTemplate() { // mainUrl is good to have as a holder for the url to make future changes easier. - override val mainUrl = "https://vidembed.cc" + override var mainUrl = "https://vidembed.cc" // name is for how the provider will be named which is visible in the UI, no real rules for this. - override val name = "VidEmbed" + override var name = "VidEmbed" override val homePageUrlList: List = listOf( mainUrl, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt index d1b04251..263add45 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt @@ -9,8 +9,8 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor class WatchAsianProvider : MainAPI() { - override val mainUrl = "https://watchasian.sh" - override val name = "WatchAsian" + override var mainUrl = "https://watchasian.sh" + override var name = "WatchAsian" override val hasQuickSearch = false override val hasMainPage = true override val hasChromecastSupport = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/french-stream.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/french-stream.kt index 69b2291b..189c7c15 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/french-stream.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/french-stream.kt @@ -6,8 +6,8 @@ import com.lagradost.cloudstream3.utils.extractorApis class FrenchStreamProvider : MainAPI() { - override val mainUrl = "https://french-stream.re" - override val name = "French Stream" + override var mainUrl = "https://french-stream.re" + override var name = "French Stream" override val hasQuickSearch = false override val hasMainPage = true override val lang = "fr" diff --git a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/AniListApi.kt b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/AniListApi.kt index 3bde5c30..6efd2204 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/AniListApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/AniListApi.kt @@ -26,11 +26,11 @@ import java.net.URL import java.util.* class AniListApi(index: Int) : AccountManager(index), SyncAPI { - override val name = "AniList" + override var name = "AniList" override val key = "6871" override val redirectUrl = "anilistlogin" override val idPrefix = "anilist" - override val mainUrl = "https://anilist.co" + override var mainUrl = "https://anilist.co" override val icon = R.drawable.ic_anilist_icon override fun loginInfo(): OAuth2API.LoginInfo? { diff --git a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/DropboxApi.kt b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/DropboxApi.kt index 344c12aa..db327645 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/DropboxApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/DropboxApi.kt @@ -5,7 +5,7 @@ import com.lagradost.cloudstream3.syncproviders.OAuth2API //TODO dropbox sync class Dropbox : OAuth2API { override val idPrefix = "dropbox" - override val name = "Dropbox" + override var name = "Dropbox" override val key = "zlqsamadlwydvb2" override val redirectUrl = "dropboxlogin" diff --git a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/MALApi.kt b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/MALApi.kt index 8629e0a8..40f5ac17 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/MALApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/syncproviders/providers/MALApi.kt @@ -31,11 +31,11 @@ import java.util.* const val MAL_MAX_SEARCH_LIMIT = 25 class MALApi(index: Int) : AccountManager(index), SyncAPI { - override val name = "MAL" + override var name = "MAL" override val key = "1714d6f2f4f7cc19644384f8c4629910" override val redirectUrl = "mallogin" override val idPrefix = "mal" - override val mainUrl = "https://myanimelist.net" + override var mainUrl = "https://myanimelist.net" override val icon = R.drawable.mal_logo override fun logOut() { diff --git a/app/src/main/java/com/lagradost/cloudstream3/torrentproviders/NyaaProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/torrentproviders/NyaaProvider.kt index 39b479af..dbccd89a 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/torrentproviders/NyaaProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/torrentproviders/NyaaProvider.kt @@ -6,10 +6,10 @@ import com.lagradost.cloudstream3.utils.Qualities import org.jsoup.Jsoup class NyaaProvider : MainAPI() { - override val name = "Nyaa" + override var name = "Nyaa" override val hasChromecastSupport = false - override val mainUrl = "https://nyaa.si" + override var mainUrl = "https://nyaa.si" override val supportedTypes = setOf(TvType.Torrent) override val vpnStatus = VPNStatus.Torrent override val instantLinkLoading = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt index f54a101c..8cdd09aa 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt @@ -11,11 +11,11 @@ class APIRepository(val api: MainAPI) { var dubStatusActive = HashSet() val noneApi = object : MainAPI() { - override val name = "None" + override var name = "None" override val supportedTypes = emptySet() } val randomApi = object : MainAPI() { - override val name = "Random" + override var name = "Random" override val supportedTypes = emptySet() } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt index ffa216fc..8256e348 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt @@ -22,7 +22,6 @@ import com.hippo.unifile.UniFile import com.lagradost.cloudstream3.APIHolder.apis import com.lagradost.cloudstream3.APIHolder.getApiDubstatusSettings import com.lagradost.cloudstream3.APIHolder.getApiProviderLangSettings -import com.lagradost.cloudstream3.APIHolder.restrictedApis import com.lagradost.cloudstream3.AcraApplication import com.lagradost.cloudstream3.AcraApplication.Companion.removeKey import com.lagradost.cloudstream3.CommonActivity.setLocale @@ -301,9 +300,6 @@ class SettingsFragment : PreferenceFragmentCompat() { for (api in apis) { allLangs.add(api.lang) } - for (api in restrictedApis) { - allLangs.add(api.lang) - } val currentList = ArrayList() for (i in current) {