Main Process Panels

A main process panel is a widget that visualizes the state of an ongoing process. In the default implementation it is displayed on top of the map / navigation UI. It is used for visualizing and controlling ongoing calls, and does the same for current media playback. It can be reused for different use cases.

overview-1

overview-2

Main process panel selection

Each app must tell the system to visualize its process in the main process panel. The main process panel's metadata is used by the system UI to determine the priority in which the
various main process panels are shown. For example, an ongoing phone call has a higher priority than streaming media. When both frontends provide a main process panel at the same time, the main process panel for phone calls will be shown and not the one for media.

It is also possible to have multiple main process panels visible simultaneously. For example, the media and communication main process panels in different positions.

Priority sorting

Priority per domain:

  • Communication (1st)
  • Entertainment (2nd)

Communication audio processes: When multiple communication audio processes are active, these will be prioritized in chronological order, and the newest process is visualized on top.

Anatomy

The main process panel is populated using a UI template that comprises several sections:

anatomy

SectionUse
Main controlsThe most important controls for the process (for example, a hang-up button for a phone call), as this section is positioned closer to the driver. This is a list of up to 3 buttons (TtButton).
MetadataInformation about the ongoing process (TtInformationControl)
Secondary controlsAn optional secondary list of up to 3 buttons (TtButton) to perform actions on ongoing process.
ProgressAn optional progress indicator along the top of the main process panel. (Note: Coming soon.)

Customization

The main process panel can be freely styled and positioned in the system UI, but for now replacing it requires work for every domain that uses it, such as entertainment and communication. Different formfactors / layouts may be supported later on.

ComponentCustomizable
ThemeThe color, size, background, and animation of the main process panel can be modified using the system theme. The main process panel template also follows the theme.
PositionThe position and size of the main process panel can be changed in the system UI. (Note: The main process panel can be removed but this is not recommended as every app has a contract with the main process panel, and frontends may rely on their ongoing processes being accessible. Alternatively, it is possible to 'conditionally hide’ a main process panel.)
AnimationThe panel enter and exit animation can be changed in the system UI.
OrientationHorizontal and vertical layouts are supported in the main process panel template.
LayoutThe layout template of the main process panel currently cannot be modified without breaking compatibility with the main process panel implementation for the entertainment app and communication app.
ContentMain process panels created by various applications can be populated according to the main process panel template. However, existing applications may not offer customization of how they populate the process panel. Currently, the communication app offers no customization, while in the entertainment app the primary and secondary actions can be customized on a per source basis.
PriorityIt is not possible to customize the main process panel priority selection.