Package com.tomtom.ivi.appsuite.media.api.common.frontend

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
typealias ClickAction = () -> Unit

Type alias for callback invoked when a MediaEntryGroupItem is clicked.

Link copied to clipboard
data class MediaConfiguration

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

Link copied to clipboard
class MediaContentView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : RecyclerView

A RecyclerView to display media content.

Link copied to clipboard
class MediaEntryGroupItem(    item: IviMediaItem,     itemState: LiveData<MediaEntryGroupItem.ItemState>,     val type: ListGroupItem.ItemType,     clickAction: ClickAction) : MediaGroupItem

A MediaGroupItem holds the information about an IviMediaItem.

Link copied to clipboard
class MediaFrontendContext(    val frontendContext: FrontendContext,     val panelStack: LiveData<out List<MediaTaskPanel>>,     val mediaConfiguration: MediaConfiguration,     val mediaService: MediaServiceApi,     val panels: MediaFrontendContext.Panels,     val errorCallback: ErrorCallback)

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
sealed class MediaGroupItem : ListGroupItem

Base class to hold the information about an IviMediaItem.

Link copied to clipboard
class MediaHeaderGroupItem(val title: String) : MediaGroupItem

A MediaGroupItem that represents a header.

Link copied to clipboard
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
abstract class MediaTaskPanel(    val mediaFrontendContext: MediaFrontendContext,     val sourceId: SourceId?,     initialMediaItem: IviMediaItem?) : TaskPanel

Base panel type for media-related Frontends.

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
Link copied to clipboard
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.