lib
Module Contents
alltypes
Module Contents
abstract class AbsVideoPlayerWrapper : SxVideoPlayerWrapper
interface ErrorJsInterface
class ErrorManager : IKoinDi, ErrorJsInterface, ErrorReceiver, Releasable
interface ErrorReceiver
interface EventDispatcher : Releasable
data class ExoHolder : IExoHolder
open class ExoVideoSwitcher : IExoVideoSwitcher, IExoVideoLoader
open class ExoWrapper : AbsVideoPlayerWrapper, IExoVideoLoader
interface IExoHolder : Releasable
interface IExoVideoLoader : IExoHolder
interface IExoVideoSwitcher
interface IMuteToggle : IVolumeState
sealed class InstreamEvent
open class InstreamExoWrapper : ExoWrapper, SxInstreamVideoPlayerWrapper, IExoVideoSwitcher
Module Contents
InstreamExoWrapper(playerView: PlayerView, contentUrl: String, player: ExoPlayer = createDefaultPlayer(playerView.context), playerHolder: IExoHolder = ExoHolder(playerView, player), videoLoader: IExoVideoLoader = ExoVideoLoader(playerHolder), videoSwitcher: IExoVideoSwitcher = ExoVideoSwitcher(playerHolder))
InstreamExoWrapper(contentUrl: String, playerHolder: IExoHolder, videoLoader: IExoVideoLoader = ExoVideoLoader(playerHolder), videoSwitcher: IExoVideoSwitcher = ExoVideoSwitcher(playerHolder))
open fun loadAd(url: String, closedCaptions: List<SxClosedCaption>): Unit
open suspend fun loadContent(): Unit
open suspend fun sequenceFinished(): Unit
protected open fun update(): Unit
sealed class InstreamState
interface IVolumeState
interface IWebViewHolder : Releasable
kotlin.String
sealed class PlaybackState
class ProgressBuilder : IKoinDi, Releasable
interface Releasable
sealed class SAdSlot<I : SAdSlot<I>>
class SizeProvider : IKoinDi
sealed class SmartclipTrackerEvent
@JsonClass(true) data class SxAdInfo
enum class SxAdInfoEventType : IEvent
@JsonClass(true) data class SxAdInfoHeader
open class SxAdOverlayContainer : Releasable, IKoinDi
open class SxAdSlot : SAdSlot<SxAdSlot>
Module Contents
SxAdSlot(adTag: String, autoPlay: Boolean = true, opener: String? = null, forceOpener: Boolean = false, closer: String? = null, forceCloser: Boolean = false, bumper: String? = null, forceBumper: Boolean = false, envVars: SxEnvironmentVariables = SxEnvironmentVariables(), skipAdDuration: Int = -1)
open val adTag: String
open val autoPlay: Boolean
open val bumper: String?
open val closer: String?
open fun copy(adTag: String, extra: Any, opener: String?, forceOpener: Boolean, closer: String?, forceCloser: Boolean, bumper: String?, forceBumper: Boolean, envVars: SxEnvironmentVariables, skipAdDuration: Int): SAdSlot<SxAdSlot>
open val envVars: SxEnvironmentVariables
open val extra: Boolean
open val forceBumper: Boolean
open val forceCloser: Boolean
open val forceOpener: Boolean
open val opener: String?
open val skipAdDuration: Int
open fun toString(): String
class SxAdSlotController : Releasable, IKoinDi
Module Contents
fun create(params: InstreamParams): SxAdSlotController
fun create(params: OutstreamParams): SxAdSlotController
suspend fun loadAd(adSlot: SAdSlot<*>): Unit
suspend fun loadAd(adTag: String, autoPlay: Boolean = true, opener: String? = null, closer: String? = null, bumper: String? = null): Unit
suspend fun loadAd(adTag: String, opener: String? = null, closer: String? = null, bumper: String? = null): Unit
suspend fun loadAd(adTag: Uri, autoPlay: Boolean = true, opener: Uri? = null, closer: Uri? = null, bumper: Uri? = null): Unit
suspend fun loadAd(adTag: Uri, opener: Uri? = null, closer: Uri? = null, bumper: Uri? = null): Unit
@CallSuper fun release(): Unit
fun startAd(): Unit
abstract class SxAdSlotDelegate : OmidControllerWrapper, Releasable, IKoinDi
enum class SxAdType
enum class SxAdUseCase
@JsonClass(true) data class SxAdVerification
open class SxAdView : ConstraintLayout, AdView, Releasable
enum class SxBreakPosition
enum class SxClickType
@JsonClass(true) data class SxClosedCaption
data class SxConfiguration
Module Contents
SxConfiguration(@StringRes title: Int = 0, @StyleRes titleStyle: Int = R.style.Player_Title, showMuteToggleButton: Boolean = true, @StyleRes unmuteIconStyle: Int = R.style.Player_MuteIcon_Unmute, @StyleRes muteIconStyle: Int = R.style.Player_MuteIcon_Mute, initialMuted: Boolean = false, visibleThreshold: Double = MINIMUM_PERCENT_VISIBLE, onEndBehaviour: SxOnEndBehaviour = NOTHING, onEndBehaviourWhenSkipped: SxOnEndBehaviour = COLLAPSE, @StyleRes repeatButtonStyle: Int = R.style.Player_RepeatButton, allowAdSkipping: Boolean = true, skipAdDuration: Int = -1, @StringRes skipButtonText: Int = R.string.skip_button_text, @StyleRes skipButtonStyle: Int = R.style.Player_SkipButton, showPlaybackProgress: Boolean = true, @StyleRes progressBarStyle: Int = R.style.Player_ProgressBar, clickType: SxClickType = SxClickType.CLICKABLE_WITH_CONFIRMATION_DIALOG, @StringRes clickThroughDialogTitle: Int = 0, @StringRes clickThroughDialogMessage: Int = R.string.clickthroughDialogMessage, @StringRes clickThroughDialogPositiveAnswer: Int = R.string.clickthroughDialogPositiveLabel, @StringRes clickThroughDialogNegativeAnswer: Int = R.string.clickthroughDialogNegativeLabel, clickThroughListener: ((listener: (Boolean) -> Unit) -> Boolean)? = null, layoutConfiguration: SxLayoutConfiguration = SxLayoutConfiguration(), desiredBitrate: Int = -1, desiredMimeTypes: List<String> = listOf("video/mp4"), adCategories: List<String> = emptyList(), apiFrameworks: List<Int> = listOf(7), appName: String? = "", blockedCategories: List<String> = emptyList(), breakPosition: SxBreakPosition = OTHER, contentId: String = "", contentUri: String = "", domain: String = "", deviceIp: String = "", extension: List<String> = emptyList(), ifa: String = "", ifaType: String = "", inventoryState: List<String> = emptyList(), latLong: String = "", limitAdTracking: Int = 0, mediaPlayhead: String = "", placementType: SxPlacementType = UNDEFINED, playerCapabilities: List<SxPlayerCapabilities> = listOf(MUTE), regulations: List<String> = emptyList(), verificationVendors: List<String> = emptyList(), variantsWithProgress: List<SxVariant> = listOf(COMMERCIAL), useCase: SxAdUseCase = SxAdUseCase.INSTREAM, userAgent: String = USER_AGENT, timeouts: SxTimeoutConfig = SxTimeoutConfig(), gdprConsent: String? = null)
val adCategories: List<String>
var allowAdSkipping: Boolean
val apiFrameworks: List<Int>
val appName: String?
val blockedCategories: List<String>
val breakPosition: SxBreakPosition
var clickThroughDialogMessage: Int
var clickThroughDialogNegativeAnswer: Int
var clickThroughDialogPositiveAnswer: Int
var clickThroughDialogTitle: Int
var clickThroughListener: ((listener: (Boolean) -> Unit) -> Boolean)?
var clickType: SxClickType
val contentId: String
val contentUri: String
var desiredBitrate: Int
var desiredMimeTypes: List<String>
val deviceIp: String
val domain: String
val extension: List<String>
val gdprConsent: String?
val ifa: String
val ifaType: String
var initialMuted: Boolean
val INSTREAM: SxConfiguration
val inventoryState: List<String>
val latLong: String
var layoutConfiguration: SxLayoutConfiguration
val limitAdTracking: Int
val mediaPlayhead: String
var muteIconStyle: Int
var onEndBehaviour: SxOnEndBehaviour
var onEndBehaviourWhenSkipped: SxOnEndBehaviour
val OUTSTREAM: SxConfiguration
val placementType: SxPlacementType
val playerCapabilities: List<SxPlayerCapabilities>
var progressBarStyle: Int
val regulations: List<String>
var repeatButtonStyle: Int
var showMuteToggleButton: Boolean
var showPlaybackProgress: Boolean
var skipAdDuration: Int
var skipButtonStyle: Int
var skipButtonText: Int
fun Context.string(@StringRes id: Int): String?
val timeouts: SxTimeoutConfig
var title: Int
var titleStyle: Int
fun toString(context: Context): String
var unmuteIconStyle: Int
val useCase: SxAdUseCase
val userAgent: String
val variantsWithProgress: List<SxVariant>
val verificationVendors: List<String>
var visibleThreshold: Double
enum class SxConnectionType
enum class SxDeviceType
@JsonClass(true) data class SxEnvironmentVariables
Module Contents
SxEnvironmentVariables(context: Context, config: SxConfiguration)
SxEnvironmentVariables(desiredBitrate: Int? = null, desiredMimeTypes: List<String>? = null, deviceType: SxDeviceType? = null, networkReachability: SxConnectionType? = null, playerHeight: Int? = null, playerWidth: Int? = null, playerSize: PlayerSize? = null, screenHeight: Int? = null, screenWidth: Int? = null, deviceScreenSize: DeviceScreenSize? = null, pageTitle: String? = null, allowInswipe: Boolean? = null, fif: String? = null, of: String? = null, blocked: Boolean? = null, macro: SxMacros? = null)
val allowInswipe: Boolean?
val blocked: Boolean?
class BreakPositionAdapter
class ClickTypeAdapter
class ConnectionTypeAdapter
val desiredBitrate: Int?
val desiredMimeTypes: List<String>?
val deviceScreenSize: DeviceScreenSize?
@JsonClass(true) class DeviceScreenSize
val deviceType: SxDeviceType?
class DeviceTypeAdapter
val fif: String?
val macro: SxMacros?
val networkReachability: SxConnectionType?
val of: String?
val pageTitle: String?
val playerHeight: Int?
val playerSize: PlayerSize?
data class PlayerSize
class PlayerSizeAdapter
val playerWidth: Int?
val screenHeight: Int?
val screenWidth: Int?
sealed class SxError
interface SxEventProvider
enum class SxEventType
interface SxInstreamVideoPlayerWrapper : SxVideoPlayerWrapper
data class SxLayoutConfiguration
@JsonClass(true) data class SxMacros
Module Contents
SxMacros(context: Context, config: SxConfiguration)
SxMacros(adCategories: List<String>? = null, appName: String? = null, appBundle: String? = null, apiFrameworks: List<Int>? = null, blockedCategories: List<String>? = null, breakPosition: SxBreakPosition? = null, clickType: SxClickType? = null, contentId: String? = null, contentPlayhead: String? = null, contentUri: String? = null, deviceIp: String? = null, domain: String? = null, extension: List<String>? = null, ifa: String? = null, ifaType: String? = null, inventoryState: List<String>? = null, latLong: String? = null, limitAdTracking: Int? = null, mediaMime: List<String>? = null, mediaPlayhead: String? = null, pageUrl: String = "", placementType: Int? = null, playerCapabilities: List<SxPlayerCapabilities>? = null, regulations: List<String>? = null, verificationVendors: List<String>? = null, gdprConsent: String? = null)
val adCategories: List<String>?
val apiFrameworks: List<Int>?
val appBundle: String?
val appName: String?
val blockedCategories: List<String>?
val breakPosition: SxBreakPosition?
val clickType: SxClickType?
val contentId: String?
val contentPlayhead: String?
val contentUri: String?
val deviceIp: String?
val domain: String?
val extension: List<String>?
val gdprConsent: String?
val ifa: String?
val ifaType: String?
val inventoryState: List<String>?
val latLong: String?
val limitAdTracking: Int?
val mediaMime: List<String>?
val mediaPlayhead: String?
val pageUrl: String
val placementType: Int?
val playerCapabilities: List<SxPlayerCapabilities>?
val regulations: List<String>?
val verificationVendors: List<String>?
sealed class SxMediaErrorCode
enum class SxOnEndBehaviour
sealed class SxPlacementType
enum class SxPlayerCapabilities
sealed class SxPluginErrorCode
@JsonClass(true) data class SxPublicAd
Module Contents
SxPublicAd(isExpanded: Boolean = false, isInteractive: Boolean = false, isLinear: Boolean = false, isSkippable: Boolean = false, skipOffset: Double = 0.0, hasClickThrough: Boolean = false, width: Double = 0.0, height: Double = 0.0, remainingTime: Double = 0.0, currentTime: Double = 0.0, duration: Double = 0.0, volume: Float = 0f, companions: List<Any> = emptyList(), extensions: List<Any> = emptyList(), icons: Any? = null, closedCaptions: List<SxClosedCaption> = emptyList(), verifications: List<SxAdVerification> = emptyList(), info: SxAdInfo = SxAdInfo(), error: SxAdError? = null, wrappers: List<Any> = emptyList())
val closedCaptions: List<SxClosedCaption>
val companions: List<Any>
val currentTime: Double
val duration: Double
val error: SxAdError?
val extensions: List<Any>
val hasClickThrough: Boolean
val height: Double
val icons: Any?
val info: SxAdInfo
val isExpanded: Boolean
val isInteractive: Boolean
val isLinear: Boolean
val isSkippable: Boolean
val remainingTime: Double
val skipOffset: Double
val verifications: List<SxAdVerification>
val volume: Float
val width: Double
val wrappers: List<Any>
@JsonClass(true) data class SxPublicAdSlot
class SxSequencer : IKoinDi, Releasable, SxEventProvider
Module Contents
companion object Companion : (SxInstreamVideoPlayerWrapper, List<SxSequencerAdSlot>, SxConfiguration) -> SxSequencer, (SxInstreamPlayerDelegate, View, ViewGroup, List<SxSequencerAdSlot>, SxConfiguration) -> SxSequencer
fun invoke(wrapper: SxInstreamVideoPlayerWrapper, adSlots: List<SxSequencerAdSlot>, config: SxConfiguration): SxSequencer
fun invoke(playerDelegate: SxInstreamPlayerDelegate, surfaceView: View, overlayContainer: ViewGroup, adSlots: List<SxSequencerAdSlot>, config: SxConfiguration): SxSequencer
var latestPlaybackState: SxSequencerPlaybackState
var playWhenReady: Boolean
@CallSuper fun release(): Unit
fun reportPlaybackException(error: Exception): Unit
class SxSequencerAbsolutePosition : SxSequencerPosition
open class SxSequencerAdSlot : SAdSlot<SxSequencerAdSlot>
Module Contents
SxSequencerAdSlot(adTag: String, position: SxSequencerPosition, opener: String? = null, forceOpener: Boolean = false, closer: String? = null, forceCloser: Boolean = false, bumper: String? = null, forceBumper: Boolean = false, envVars: SxEnvironmentVariables = SxEnvironmentVariables(), skipAdDuration: Int = -1)
open val adTag: String
open val bumper: String?
open val closer: String?
open fun copy(adTag: String, extra: Any, opener: String?, forceOpener: Boolean, closer: String?, forceCloser: Boolean, bumper: String?, forceBumper: Boolean, envVars: SxEnvironmentVariables, skipAdDuration: Int): SAdSlot<SxSequencerAdSlot>
open val envVars: SxEnvironmentVariables
open val extra: SxSequencerPosition
open val forceBumper: Boolean
open val forceCloser: Boolean
open val forceOpener: Boolean
open val opener: String?
val position: SxSequencerPosition
open val skipAdDuration: Int
open fun toString(): String
class SxSequencerAdSlot : SxSequencerAdSlot
class SxSequencerDatePosition : SxSequencerPosition
enum class SxSequencerPlaybackState
interface SxSequencerPosition
class SxSequencerRelativePosition : SxSequencerPosition
data class SxTimeoutConfig
enum class SxVariant
class SxVariantAdapter
data class SxVideoPlayerEvent
interface SxVideoPlayerWrapper : Releasable
package tv.smartclip.smartclientandroid.lib
Module Contents
class SxAdSlotController : Releasable, IKoinDi
Module Contents
fun create(params: InstreamParams): SxAdSlotController
fun create(params: OutstreamParams): SxAdSlotController
suspend fun loadAd(adSlot: SAdSlot<*>): Unit
suspend fun loadAd(adTag: String, autoPlay: Boolean = true, opener: String? = null, closer: String? = null, bumper: String? = null): Unit
suspend fun loadAd(adTag: String, opener: String? = null, closer: String? = null, bumper: String? = null): Unit
suspend fun loadAd(adTag: Uri, autoPlay: Boolean = true, opener: Uri? = null, closer: Uri? = null, bumper: Uri? = null): Unit
suspend fun loadAd(adTag: Uri, opener: Uri? = null, closer: Uri? = null, bumper: Uri? = null): Unit
@CallSuper fun release(): Unit
fun startAd(): Unit
open class SxAdView : ConstraintLayout, AdView, Releasable
class SxSequencer : IKoinDi, Releasable, SxEventProvider
Module Contents
companion object Companion : (SxInstreamVideoPlayerWrapper, List<SxSequencerAdSlot>, SxConfiguration) -> SxSequencer, (SxInstreamPlayerDelegate, View, ViewGroup, List<SxSequencerAdSlot>, SxConfiguration) -> SxSequencer
fun invoke(wrapper: SxInstreamVideoPlayerWrapper, adSlots: List<SxSequencerAdSlot>, config: SxConfiguration): SxSequencer
fun invoke(playerDelegate: SxInstreamPlayerDelegate, surfaceView: View, overlayContainer: ViewGroup, adSlots: List<SxSequencerAdSlot>, config: SxConfiguration): SxSequencer
var latestPlaybackState: SxSequencerPlaybackState
var playWhenReady: Boolean
@CallSuper fun release(): Unit
fun reportPlaybackException(error: Exception): Unit
package tv.smartclip.smartclientandroid.lib.dto
Module Contents
val SxConfiguration.isInstream: Boolean
val SxConfiguration.isOutstream: Boolean
sealed class SAdSlot<I : SAdSlot<I>>
open class SxAdSlot : SAdSlot<SxAdSlot>
Module Contents
SxAdSlot(adTag: String, autoPlay: Boolean = true, opener: String? = null, forceOpener: Boolean = false, closer: String? = null, forceCloser: Boolean = false, bumper: String? = null, forceBumper: Boolean = false, envVars: SxEnvironmentVariables = SxEnvironmentVariables(), skipAdDuration: Int = -1)
open val adTag: String
open val autoPlay: Boolean
open val bumper: String?
open val closer: String?
open fun copy(adTag: String, extra: Any, opener: String?, forceOpener: Boolean, closer: String?, forceCloser: Boolean, bumper: String?, forceBumper: Boolean, envVars: SxEnvironmentVariables, skipAdDuration: Int): SAdSlot<SxAdSlot>
open val envVars: SxEnvironmentVariables
open val extra: Boolean
open val forceBumper: Boolean
open val forceCloser: Boolean
open val forceOpener: Boolean
open val opener: String?
open val skipAdDuration: Int
open fun toString(): String
enum class SxAdType
enum class SxAdUseCase
enum class SxBreakPosition
enum class SxClickType
data class SxConfiguration
Module Contents
SxConfiguration(@StringRes title: Int = 0, @StyleRes titleStyle: Int = R.style.Player_Title, showMuteToggleButton: Boolean = true, @StyleRes unmuteIconStyle: Int = R.style.Player_MuteIcon_Unmute, @StyleRes muteIconStyle: Int = R.style.Player_MuteIcon_Mute, initialMuted: Boolean = false, visibleThreshold: Double = MINIMUM_PERCENT_VISIBLE, onEndBehaviour: SxOnEndBehaviour = NOTHING, onEndBehaviourWhenSkipped: SxOnEndBehaviour = COLLAPSE, @StyleRes repeatButtonStyle: Int = R.style.Player_RepeatButton, allowAdSkipping: Boolean = true, skipAdDuration: Int = -1, @StringRes skipButtonText: Int = R.string.skip_button_text, @StyleRes skipButtonStyle: Int = R.style.Player_SkipButton, showPlaybackProgress: Boolean = true, @StyleRes progressBarStyle: Int = R.style.Player_ProgressBar, clickType: SxClickType = SxClickType.CLICKABLE_WITH_CONFIRMATION_DIALOG, @StringRes clickThroughDialogTitle: Int = 0, @StringRes clickThroughDialogMessage: Int = R.string.clickthroughDialogMessage, @StringRes clickThroughDialogPositiveAnswer: Int = R.string.clickthroughDialogPositiveLabel, @StringRes clickThroughDialogNegativeAnswer: Int = R.string.clickthroughDialogNegativeLabel, clickThroughListener: ((listener: (Boolean) -> Unit) -> Boolean)? = null, layoutConfiguration: SxLayoutConfiguration = SxLayoutConfiguration(), desiredBitrate: Int = -1, desiredMimeTypes: List<String> = listOf("video/mp4"), adCategories: List<String> = emptyList(), apiFrameworks: List<Int> = listOf(7), appName: String? = "", blockedCategories: List<String> = emptyList(), breakPosition: SxBreakPosition = OTHER, contentId: String = "", contentUri: String = "", domain: String = "", deviceIp: String = "", extension: List<String> = emptyList(), ifa: String = "", ifaType: String = "", inventoryState: List<String> = emptyList(), latLong: String = "", limitAdTracking: Int = 0, mediaPlayhead: String = "", placementType: SxPlacementType = UNDEFINED, playerCapabilities: List<SxPlayerCapabilities> = listOf(MUTE), regulations: List<String> = emptyList(), verificationVendors: List<String> = emptyList(), variantsWithProgress: List<SxVariant> = listOf(COMMERCIAL), useCase: SxAdUseCase = SxAdUseCase.INSTREAM, userAgent: String = USER_AGENT, timeouts: SxTimeoutConfig = SxTimeoutConfig(), gdprConsent: String? = null)
val adCategories: List<String>
var allowAdSkipping: Boolean
val apiFrameworks: List<Int>
val appName: String?
val blockedCategories: List<String>
val breakPosition: SxBreakPosition
var clickThroughDialogMessage: Int
var clickThroughDialogNegativeAnswer: Int
var clickThroughDialogPositiveAnswer: Int
var clickThroughDialogTitle: Int
var clickThroughListener: ((listener: (Boolean) -> Unit) -> Boolean)?
var clickType: SxClickType
val contentId: String
val contentUri: String
var desiredBitrate: Int
var desiredMimeTypes: List<String>
val deviceIp: String
val domain: String
val extension: List<String>
val gdprConsent: String?
val ifa: String
val ifaType: String
var initialMuted: Boolean
val INSTREAM: SxConfiguration
val inventoryState: List<String>
val latLong: String
var layoutConfiguration: SxLayoutConfiguration
val limitAdTracking: Int
val mediaPlayhead: String
var muteIconStyle: Int
var onEndBehaviour: SxOnEndBehaviour
var onEndBehaviourWhenSkipped: SxOnEndBehaviour
val OUTSTREAM: SxConfiguration
val placementType: SxPlacementType
val playerCapabilities: List<SxPlayerCapabilities>
var progressBarStyle: Int
val regulations: List<String>
var repeatButtonStyle: Int
var showMuteToggleButton: Boolean
var showPlaybackProgress: Boolean
var skipAdDuration: Int
var skipButtonStyle: Int
var skipButtonText: Int
fun Context.string(@StringRes id: Int): String?
val timeouts: SxTimeoutConfig
var title: Int
var titleStyle: Int
fun toString(context: Context): String
var unmuteIconStyle: Int
val useCase: SxAdUseCase
val userAgent: String
val variantsWithProgress: List<SxVariant>
val verificationVendors: List<String>
var visibleThreshold: Double
enum class SxConnectionType
enum class SxDeviceType
@JsonClass(true) data class SxEnvironmentVariables
Module Contents
SxEnvironmentVariables(context: Context, config: SxConfiguration)
SxEnvironmentVariables(desiredBitrate: Int? = null, desiredMimeTypes: List<String>? = null, deviceType: SxDeviceType? = null, networkReachability: SxConnectionType? = null, playerHeight: Int? = null, playerWidth: Int? = null, playerSize: PlayerSize? = null, screenHeight: Int? = null, screenWidth: Int? = null, deviceScreenSize: DeviceScreenSize? = null, pageTitle: String? = null, allowInswipe: Boolean? = null, fif: String? = null, of: String? = null, blocked: Boolean? = null, macro: SxMacros? = null)
val allowInswipe: Boolean?
val blocked: Boolean?
class BreakPositionAdapter
class ClickTypeAdapter
class ConnectionTypeAdapter
val desiredBitrate: Int?
val desiredMimeTypes: List<String>?
val deviceScreenSize: DeviceScreenSize?
@JsonClass(true) class DeviceScreenSize
val deviceType: SxDeviceType?
class DeviceTypeAdapter
val fif: String?
val macro: SxMacros?
val networkReachability: SxConnectionType?
val of: String?
val pageTitle: String?
val playerHeight: Int?
val playerSize: PlayerSize?
data class PlayerSize
class PlayerSizeAdapter
val playerWidth: Int?
val screenHeight: Int?
val screenWidth: Int?
sealed class SxError
enum class SxEventType
data class SxLayoutConfiguration
@JsonClass(true) data class SxMacros
Module Contents
SxMacros(context: Context, config: SxConfiguration)
SxMacros(adCategories: List<String>? = null, appName: String? = null, appBundle: String? = null, apiFrameworks: List<Int>? = null, blockedCategories: List<String>? = null, breakPosition: SxBreakPosition? = null, clickType: SxClickType? = null, contentId: String? = null, contentPlayhead: String? = null, contentUri: String? = null, deviceIp: String? = null, domain: String? = null, extension: List<String>? = null, ifa: String? = null, ifaType: String? = null, inventoryState: List<String>? = null, latLong: String? = null, limitAdTracking: Int? = null, mediaMime: List<String>? = null, mediaPlayhead: String? = null, pageUrl: String = "", placementType: Int? = null, playerCapabilities: List<SxPlayerCapabilities>? = null, regulations: List<String>? = null, verificationVendors: List<String>? = null, gdprConsent: String? = null)
val adCategories: List<String>?
val apiFrameworks: List<Int>?
val appBundle: String?
val appName: String?
val blockedCategories: List<String>?
val breakPosition: SxBreakPosition?
val clickType: SxClickType?
val contentId: String?
val contentPlayhead: String?
val contentUri: String?
val deviceIp: String?
val domain: String?
val extension: List<String>?
val gdprConsent: String?
val ifa: String?
val ifaType: String?
val inventoryState: List<String>?
val latLong: String?
val limitAdTracking: Int?
val mediaMime: List<String>?
val mediaPlayhead: String?
val pageUrl: String
val placementType: Int?
val playerCapabilities: List<SxPlayerCapabilities>?
val regulations: List<String>?
val verificationVendors: List<String>?
sealed class SxMediaErrorCode
enum class SxOnEndBehaviour
sealed class SxPlacementType
enum class SxPlayerCapabilities
sealed class SxPluginErrorCode
open class SxSequencerAdSlot : SAdSlot<SxSequencerAdSlot>
Module Contents
SxSequencerAdSlot(adTag: String, position: SxSequencerPosition, opener: String? = null, forceOpener: Boolean = false, closer: String? = null, forceCloser: Boolean = false, bumper: String? = null, forceBumper: Boolean = false, envVars: SxEnvironmentVariables = SxEnvironmentVariables(), skipAdDuration: Int = -1)
open val adTag: String
open val bumper: String?
open val closer: String?
open fun copy(adTag: String, extra: Any, opener: String?, forceOpener: Boolean, closer: String?, forceCloser: Boolean, bumper: String?, forceBumper: Boolean, envVars: SxEnvironmentVariables, skipAdDuration: Int): SAdSlot<SxSequencerAdSlot>
open val envVars: SxEnvironmentVariables
open val extra: SxSequencerPosition
open val forceBumper: Boolean
open val forceCloser: Boolean
open val forceOpener: Boolean
open val opener: String?
val position: SxSequencerPosition
open val skipAdDuration: Int
open fun toString(): String
data class SxTimeoutConfig
enum class SxVariant
class SxVariantAdapter
package tv.smartclip.smartclientandroid.lib.dto.core
Module Contents
@JsonClass(true) data class SxAdInfo
enum class SxAdInfoEventType : IEvent
@JsonClass(true) data class SxAdInfoHeader
@JsonClass(true) data class SxAdVerification
@JsonClass(true) data class SxClosedCaption
@JsonClass(true) data class SxPublicAd
Module Contents
SxPublicAd(isExpanded: Boolean = false, isInteractive: Boolean = false, isLinear: Boolean = false, isSkippable: Boolean = false, skipOffset: Double = 0.0, hasClickThrough: Boolean = false, width: Double = 0.0, height: Double = 0.0, remainingTime: Double = 0.0, currentTime: Double = 0.0, duration: Double = 0.0, volume: Float = 0f, companions: List<Any> = emptyList(), extensions: List<Any> = emptyList(), icons: Any? = null, closedCaptions: List<SxClosedCaption> = emptyList(), verifications: List<SxAdVerification> = emptyList(), info: SxAdInfo = SxAdInfo(), error: SxAdError? = null, wrappers: List<Any> = emptyList())
val closedCaptions: List<SxClosedCaption>
val companions: List<Any>
val currentTime: Double
val duration: Double
val error: SxAdError?
val extensions: List<Any>
val hasClickThrough: Boolean
val height: Double
val icons: Any?
val info: SxAdInfo
val isExpanded: Boolean
val isInteractive: Boolean
val isLinear: Boolean
val isSkippable: Boolean
val remainingTime: Double
val skipOffset: Double
val verifications: List<SxAdVerification>
val volume: Float
val width: Double
val wrappers: List<Any>
@JsonClass(true) data class SxPublicAdSlot
package tv.smartclip.smartclientandroid.lib.dto.sequencer
package tv.smartclip.smartclientandroid.lib.smartcorefacade
package tv.smartclip.smartclientandroid.lib.video_player
Module Contents
abstract class AbsVideoPlayerWrapper : SxVideoPlayerWrapper
data class ExoHolder : IExoHolder
open class ExoVideoSwitcher : IExoVideoSwitcher, IExoVideoLoader
open class ExoWrapper : AbsVideoPlayerWrapper, IExoVideoLoader
interface IExoHolder : Releasable
interface IExoVideoLoader : IExoHolder
interface IExoVideoSwitcher
open class InstreamExoWrapper : ExoWrapper, SxInstreamVideoPlayerWrapper, IExoVideoSwitcher
Module Contents
InstreamExoWrapper(playerView: PlayerView, contentUrl: String, player: ExoPlayer = createDefaultPlayer(playerView.context), playerHolder: IExoHolder = ExoHolder(playerView, player), videoLoader: IExoVideoLoader = ExoVideoLoader(playerHolder), videoSwitcher: IExoVideoSwitcher = ExoVideoSwitcher(playerHolder))
InstreamExoWrapper(contentUrl: String, playerHolder: IExoHolder, videoLoader: IExoVideoLoader = ExoVideoLoader(playerHolder), videoSwitcher: IExoVideoSwitcher = ExoVideoSwitcher(playerHolder))
open fun loadAd(url: String, closedCaptions: List<SxClosedCaption>): Unit
open suspend fun loadContent(): Unit
open suspend fun sequenceFinished(): Unit
protected open fun update(): Unit
kotlin.String
sealed class PlaybackState
interface SxInstreamVideoPlayerWrapper : SxVideoPlayerWrapper
data class SxVideoPlayerEvent
interface SxVideoPlayerWrapper : Releasable