Package-level declarations

Contains panels and panel types.

Types

Link copied to clipboard

Convenience type-alias for GenericDismissablePanel<*>. This type alias allows any panel type to be referenced regardless of the PanelContext type. As a result, GenericPanel.getPanelContext only returns PanelContext, not a more specific one.

Do not use this type in unit tests when you want to invoke GenericPanel.onAttached.

Link copied to clipboard
typealias AnyPanel = GenericPanel<*>

Convenience type-alias for GenericPanel<*>. This type alias allows any panel type to be referenced regardless of the PanelContext type. As a result, GenericPanel.getPanelContext only returns PanelContext, not a more specific one.

Do not use this type in unit tests when you want to invoke GenericPanel.onAttached.

Link copied to clipboard

The context that is common to all Panel types. It is provided by the panel container when the panel is attached to the system UI.

Link copied to clipboard

A panel for an isolated area of the system UI that provides persistent indicators and controls that are accessible to the user at all times.

Link copied to clipboard
abstract class DebugPanel(frontendContext: FrontendContext) : GenericPanel<CommonPanelContext>

A panel used only for development and testing purposes for reaching underlying parts of the system that the end-user cannot reach. Not a customer-facing part of the UI.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

A panel context for Panels in a dismissable panel stack.

Link copied to clipboard

Denotes the state of a dismissal.

Link copied to clipboard

An expanded version of a MainProcessPanel or TaskProcessPanel, exposing additional information and functionality related to an ongoing process.

Link copied to clipboard
abstract class GenericDismissablePanel<C : PanelContext>(frontendContext: FrontendContext) : GenericPanel<C>

A panel that can be dismissed, either through user interaction or other events. Dismissing a panel will set requestsRemoval to true. This causes it to be removed from the frontend, preventing it from being shown again.

Link copied to clipboard
abstract class GenericPanel<C : PanelContext>(val frontendContext: FrontendContext) : PanelContextProvider<C> , LifecycleOwner

A panel represents the intention of a Frontend to show a fragment. Panels are intended to be presented to the user by the system UI. The system UI decides whether, when and where the fragment is displayed.

Link copied to clipboard
@IviExperimental(reasons = [])
abstract class GuidancePanel(frontendContext: FrontendContext) : GenericPanel<CommonPanelContext>

A panel displaying guidance information for an active trip.

Link copied to clipboard

The main panel seen by the user in the system UI's 'home' state, i.e., where the user will be after pressing a home button. Will typically contain a map view, but might have different contents depending on the vehicle's configuration.

Link copied to clipboard
@IviExperimental(reasons = [])
open class IviCommonPanelContext(val softInputAccessor: SoftInputAccessor, val safeArea: LiveData<SafeArea?> = EmptyLiveData()) : CommonPanelContext

An implementation for CommonPanelContext.

Link copied to clipboard
Link copied to clipboard
abstract class MainMenuPanel(frontendContext: FrontendContext) : GenericPanel<CommonPanelContext>

A panel that provides a persistent way of accessing the other system frontends.

Link copied to clipboard

A panel which visualizes processes in the UI. For example, an ongoing audio streaming process.

Link copied to clipboard
Link copied to clipboard

A context for panels which are navigable. These panels are part are part of a view stack. Navigable panels allow users to navigate between the panels in the view stack.

Link copied to clipboard
data class NavigablePanelData(val descriptor: PanelDescriptor, val navigateToPanel: () -> Unit = {})

Describes a panel in descriptor, while navigateToPanel is the function that should be invoked when the described panel should be navigated to. Navigating to the panel can for example happen when a user presses the breadcrumb.

Link copied to clipboard
class NavigablePanelStackData(val navigablePanelData: List<NavigablePanelData> = emptyList(), val ownPanelIndex: Int = -1)

Provides Panel data within a certain scope.

Link copied to clipboard

A panel that offers the end-user quick access to search functionality, route guidance, route destination previews and personalization. This panel is meant to provide a visual context for location based search, such as searching for a driving destination, parking spots or charging stations. It is not meant for searching content within a TaskPanel, like songs within a media frontend.

Link copied to clipboard

A panel to inform the user of a recent event.

Link copied to clipboard
abstract class OverlayPanel(frontendContext: FrontendContext) : GenericPanel<CommonPanelContext>

A panel which overlays the system UI's main content area to show a temporary visual effect. This can be used, for example, to visualize the state of a currently active VPA or provide large and noticeable navigation instructions.

Link copied to clipboard

A convenience type-alias for GenericPanel<CommonPanelContext>`.

Link copied to clipboard

The default implementation of PanelList.

Link copied to clipboard
class PanelAttachment<C : PanelContext> @IviInternal constructor(val iviFragmentId: IviFragmentId, val panelContext: C, val isRestored: Boolean)

Data specific to a Panel attachment. This data is provided to a Panel when the Panel is attached to the system UI. See Panel for more details about panel attachments.

Link copied to clipboard
interface PanelCollection<out P : AnyPanel> : Collection<P>

A collection of Panels.

Link copied to clipboard
interface PanelContext

A context for panels that's provided when the Panel is attached by the system UI.

Link copied to clipboard

An interface to get a PanelContext.

Link copied to clipboard
data class PanelDescriptor(val label: StringResolver? = null, val icon: DrawableResolver? = null)

Describes a Panel. This data is typically used so that panels can get information about each other. This data can be used to provide users a way to navigate between panels.

Link copied to clipboard

An interface to get a PanelDescriptor.

Link copied to clipboard
interface PanelList<out P : AnyPanel> : PanelCollection<P> , List<P>

A list of Panels.

Link copied to clipboard
interface PanelProvider<P : GenericPanel<*>>

Provides a panel of type P.

Link copied to clipboard
data class PanelTransitionDestination(val destination: KClass<out Panel>?)

The destination of an information transition between panels.

Link copied to clipboard
data class PanelTransitionSource(val source: KClass<out Panel>?)

The source of an information transition between panels.

Link copied to clipboard
interface PanelTypeSet : Set<KClass<out AnyPanel>>

A set containing types of Panels. This is a helper class used to communicate to Frontends and system UIs which Panel types are available or supported.

Link copied to clipboard
data class SafeArea(val leftMarginPx: Int, val topMarginPx: Int, val rightMarginPx: Int, val bottomMarginPx: Int, val paddingPx: Int)

The safe area specifies where information, that is important to the user, should be displayed. It's defined through margins from each side which should not be used for displaying important information, as it may not be visible to the user. The panel is still expected to draw in these margins, though.

Link copied to clipboard
@IviExperimental(reasons = [])
abstract class SettingsPanel(frontendContext: FrontendContext) : GenericPanel<CommonPanelContext>

A panel displaying settings options for active display.

Link copied to clipboard

An interface for interacting with the default Android soft input method, such as showing and hiding the standard on-screen Android keyboard.

Link copied to clipboard
Link copied to clipboard
@IviExperimental(reasons = [])
abstract class SpeedLimitPanel(frontendContext: FrontendContext) : GenericPanel<CommonPanelContext>

A panel that shows the speed limit.

Link copied to clipboard
Link copied to clipboard
@IviExperimental(reasons = [])
abstract class TaskProcessPanel(frontendContext: FrontendContext) : GenericPanel<CommonPanelContext>

A panel to be shown alongside a TaskPanel in the system UI.

Properties

Link copied to clipboard

Complete set of panel types offered by the TomTom Digital Cockpit platform:

Functions

Link copied to clipboard

Returns whether a panel collection contains any panels that have not been dismissed yet.

Link copied to clipboard
Link copied to clipboard

Returns a DismissablePanelList containing the given elements.

Link copied to clipboard

Dismisses all panels in the collection.

Link copied to clipboard

Returns an empty PanelList with AnyPanel type.

Link copied to clipboard

Returns an empty PanelList.

Link copied to clipboard

Returns a list of DismissablePanels that is filtered to only contain Panels of type P.

Link copied to clipboard

Returns a LiveData, mapped from this, containing a list of Panels that is filtered to only contain Panels of type P.

Returns a list of Panels that is filtered to only contain Panels of type P.

Link copied to clipboard

Returns a LiveData with the list of DismissablePanels of type P that are not being dismissed.

Returns a list of DismissablePanels of type P that are not being dismissed.

Link copied to clipboard

Whether the transition comes from a Source panel.

Link copied to clipboard

Whether the transition goes to a Destination panel.

Link copied to clipboard
fun <P : AnyPanel> panelListOf(vararg elements: P): PanelList<P>

Returns a PanelList containing the given elements.

Link copied to clipboard
fun panelTypeSetOf(vararg panelTypes: KClass<out AnyPanel>): PanelTypeSet

Creates a set containing panelTypess. This is used to communicate to Frontends and system UIs which Panel types are available or supported. As such the set may not contain the very base types of Panels such as GenericPanel or GenericDismissablePanel.

Link copied to clipboard

Converts this to a DismissablePanelList with the same contents.

Converts this to a PanelList with the same contents.