Package-level declarations

Media source configuration and panel types; this package contains all classes to configure how the content from a media source is displayed, as well as the classes to use to create new panels to realize new user experiences for specific media sources.

Types

Link copied to clipboard
@IviExperimental(reasons = [])
data class MediaConfiguration

Configures the behavior of the media frontend by providing a PolicyProvider for SourceId.

Link copied to clipboard
@IviExperimental(reasons = [])
class MediaFrontendContext(val frontendContext: FrontendContext, val panelStack: LiveData<out List<MediaTaskPanel>>, val mediaConfiguration: MediaConfiguration, val mediaService: MediaServiceApi, val mediaFrontendNavigation: MediaFrontendContext.MediaFrontendNavigation)

Entry point for Media related panels to communicate with their frontend and the rest of the system. Should be created by the Frontend.

Link copied to clipboard
@IviExperimental(reasons = [])
class MediaPolicyFrontendExtension(val sourcePackageName: String?, val sourceClassName: String? = null, val policyProvider: PolicyProvider) : FrontendExtension

Frontend extension for the media frontend that configures the frontend to use policyProvider when a policy is required for a media source with sourcePackageName. Policies offer a way to customize the user interface for a specific source, like adjusting browse source, login and settings user flows through the UserFlowPolicy.

Link copied to clipboard
@IviExperimental(reasons = [])
abstract class MediaTaskPanel(val mediaFrontendContext: MediaFrontendContext, val sourceId: SourceId?, initialMediaItem: IviMediaItem?) : TaskPanel

Base panel type for media-related Frontends.

Link copied to clipboard
@IviExperimental(reasons = [])
class SourcePickerView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr: Int = R.attr.ttivi_mediasourcepicker_style, @StyleRes defStyleRes: Int = 0) : FrameLayout

A view to display available media sources allowing login and browsing. If no sources are available TtEmptyStateView is shown.

Properties

Link copied to clipboard

A frontend extension for the media frontend, for sources where no specific MediaPolicyFrontendExtension is configured. For those sources, a PolicyProvider is provided with all default policies.

Functions

Link copied to clipboard
@IviExperimental(reasons = [])
fun SourceId.getSettingsIntent(context: Context): Intent?

Gets the settings Activity provided by the media source. Returns null if no settings Activity exists in the media source.