CrossTmdbProvider

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
data class CrossMetaData(val isSuccess: Boolean, val movies: List<Pair<String, String>>? = null)

Properties

Link copied to clipboard
open override val apiName: String
Link copied to clipboard
Link copied to clipboard
open val disableSeasonZero: Boolean = true
Link copied to clipboard
open val hasChromecastSupport: Boolean = true

Set false if links require referer or for some reason cant be played on a chromecast

Link copied to clipboard
open val hasDownloadSupport: Boolean = true

If all links are encrypted then set this to false

Link copied to clipboard
open override val hasMainPage: Boolean = true
Link copied to clipboard
open val hasQuickSearch: Boolean = false
Link copied to clipboard
open val includeAdult: Boolean = false
Link copied to clipboard
open val instantLinkLoading: Boolean = false

If link is stored in the "data" string, so links can be instantly loaded

Link copied to clipboard
open override var lang: String
Link copied to clipboard

used to keep track when last homepage request was in unixtime ms

Link copied to clipboard
Link copied to clipboard
open var mainUrl: String
Link copied to clipboard
open override var name: String
Link copied to clipboard
open override val providerType: ProviderType
Link copied to clipboard

if this is turned on then it will request the homepage one after the other, used to delay if they block many request at the same time

Link copied to clipboard

in milliseconds, this can be used to add more delay between homepage requests on first load if sequentialMainPage is turned on

Link copied to clipboard

in milliseconds, this can be used to add more delay between homepage requests when scrolling

Link copied to clipboard

Determines which plugin a given provider is from

Link copied to clipboard
Link copied to clipboard

A set of which ids the provider can open with getLoadUrl() If the set contains SyncIdName.Imdb then getLoadUrl() can be started with an Imdb class which inherits from SyncId.

Link copied to clipboard
open override val supportedTypes: Set<TvType>
Link copied to clipboard
open override val useMetaLoadResponse: Boolean = true
Link copied to clipboard
open override val usesWebView: Boolean = true

Used for testing and can be used to disable the providers if WebView is not available

Link copied to clipboard

Functions

Link copied to clipboard
open suspend fun extractorVerifierJob(extractorData: String?)

Largely redundant feature for most providers.

Link copied to clipboard
open suspend fun fetchContentRating(id: Int?, country: String): String?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend fun getLoadUrl(name: SyncIdName, id: String): String?

Get the load() url based on a sync ID like IMDb or MAL. Only contains SyncIds based on supportedSyncUrls.

Link copied to clipboard
open suspend override fun getMainPage(page: Int, request: MainPageRequest): HomePageResponse
Link copied to clipboard
open fun getVideoInterceptor(extractorLink: ExtractorLink): Interceptor?

An okhttp interceptor for used in OkHttpDataSource

Link copied to clipboard
fun init()
Link copied to clipboard
open suspend override fun load(url: String): LoadResponse?

Based on data from search() or getMainPage() it generates a LoadResponse, basically opening the info page from a link.

Link copied to clipboard
open fun loadFromImdb(imdb: String): LoadResponse?
open fun loadFromImdb(imdb: String, seasons: List<TvSeason>): LoadResponse?
Link copied to clipboard
open fun loadFromTmdb(tmdb: Int): LoadResponse?
open fun loadFromTmdb(tmdb: Int, seasons: List<TvSeason>): LoadResponse?
Link copied to clipboard
open suspend override fun loadLinks(data: String, isCasting: Boolean, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit): Boolean

Callback is fired once a link is found, will return true if method is executed successfully

Link copied to clipboard
suspend fun MainAPI.newAnimeLoadResponse(name: String, url: String, type: TvType, comingSoonIfNone: Boolean = true, initializer: suspend AnimeLoadResponse.() -> Unit = { }): AnimeLoadResponse
Link copied to clipboard
fun MainAPI.newAnimeSearchResponse(name: String, url: String, type: TvType = TvType.Anime, fix: Boolean = true, initializer: AnimeSearchResponse.() -> Unit = { }): AnimeSearchResponse
Link copied to clipboard
fun <T> MainAPI.newEpisode(data: T, initializer: Episode.() -> Unit = { }): Episode
fun MainAPI.newEpisode(url: String, initializer: Episode.() -> Unit = { }, fix: Boolean = true): Episode
Link copied to clipboard
suspend fun <T> MainAPI.newMovieLoadResponse(name: String, url: String, type: TvType, data: T?, initializer: suspend MovieLoadResponse.() -> Unit = { }): MovieLoadResponse
suspend fun MainAPI.newMovieLoadResponse(name: String, url: String, type: TvType, dataUrl: String, initializer: suspend MovieLoadResponse.() -> Unit = { }): MovieLoadResponse
Link copied to clipboard
fun MainAPI.newMovieSearchResponse(name: String, url: String, type: TvType = TvType.Movie, fix: Boolean = true, initializer: MovieSearchResponse.() -> Unit = { }): MovieSearchResponse
Link copied to clipboard
suspend fun MainAPI.newTvSeriesLoadResponse(name: String, url: String, type: TvType, episodes: List<Episode>, initializer: suspend TvSeriesLoadResponse.() -> Unit = { }): TvSeriesLoadResponse
Link copied to clipboard
fun MainAPI.newTvSeriesSearchResponse(name: String, url: String, type: TvType = TvType.TvSeries, fix: Boolean = true, initializer: TvSeriesSearchResponse.() -> Unit = { }): TvSeriesSearchResponse
Link copied to clipboard
Link copied to clipboard
open suspend fun quickSearch(query: String): List<SearchResponse>?
Link copied to clipboard
open suspend override fun search(query: String): List<SearchResponse>?