SubSourceApi

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
data class ApiResponse(val success: Boolean, val movie: SubSourceApi.Movie, val subs: List<SubSourceApi.Sub>)
Link copied to clipboard
data class ApiSearch(val success: Boolean, val found: List<SubSourceApi.Found>)
Link copied to clipboard
object Companion
Link copied to clipboard
data class Found(val id: Long, val title: String, val seasons: Long, val type: String, val releaseYear: Long, val linkName: String)
Link copied to clipboard
data class Movie(val id: Long? = null, val type: String? = null, val year: Long? = null, val fullName: String? = null)
Link copied to clipboard
data class Sub(val hi: Int? = null, val fullLink: String? = null, val linkName: String? = null, val lang: String? = null, val releaseName: String? = null, val subId: Long? = null)
Link copied to clipboard
data class SubData(val movie: String, val lang: String, val id: String)
Link copied to clipboard
data class SubTitleLink(val sub: SubSourceApi.SubToken)
Link copied to clipboard
data class SubToken(val downloadToken: String)

Properties

Link copied to clipboard
open val createAccountUrl: String? = null

Link to a website for creating a new account

Link copied to clipboard
open val hasInApp: Boolean = false

Has in app login support, aka login with a dialog

Link copied to clipboard
open val hasOAuth2: Boolean = false

Has OAuth2 login support, including login, loginRequest and refreshToken

Link copied to clipboard
open val hasPin: Boolean = false

Has on device pin support, aka login with a QR code

Link copied to clipboard
open val icon: Int? = null

Drawable icon of the service

Link copied to clipboard
open override val idPrefix: String
Link copied to clipboard

The requirements to login in app

Link copied to clipboard
open override val name: String
Link copied to clipboard
open val redirectUrlIdentifier: String? = null

The sensitive redirect URL from OAuth should contain "/redirectUrlIdentifier" to trigger the login

Link copied to clipboard
open override val requiresLogin: Boolean = false

If this service requires an account to use

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend fun invalidateToken(token: AuthToken): Nothing

An optional security measure to make sure that even if an attacker gets ahold of the token, it will be invalid.

Link copied to clipboard

Is this url a valid redirect url for this service?

Link copied to clipboard
@WorkerThread
open suspend fun load(auth: AuthData?, subtitle: AbstractSubtitleEntities.SubtitleEntity): String?
Link copied to clipboard
open suspend fun login(form: AuthLoginResponse): AuthToken?

In app login

open suspend fun login(payload: AuthPinData): AuthToken?

Pin login, this will be called periodically while logging in to check if the pin has been verified by the user

open suspend fun login(redirectUrl: String, payload: String?): AuthToken?

OAuth2 login from a valid redirectUrl, and payload given in loginRequest

Link copied to clipboard
Link copied to clipboard

OAuth2 login request, asking the service to provide a url to open in the browser

Link copied to clipboard
open suspend fun pinRequest(): AuthPinData?

Pin login request, asking the service to provide an verificationUrl to display with a QR code

Link copied to clipboard
open suspend fun refreshToken(token: AuthToken): AuthToken?

OAuth2 token refresh, this ensures that all token passed to other functions will be valid

Link copied to clipboard
@WorkerThread
suspend fun resource(auth: AuthData?, subtitle: AbstractSubtitleEntities.SubtitleEntity): SubtitleResource
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend fun user(token: AuthToken?): AuthUser?

Get the visible user account