Tutorials
The tutorials are guides and recipes on topics that you may come across while developing for the TomTom Digital Cockpit platform. Each one explains step-by-step how you can extend TomTom Digital Cockpit.
Before you can follow along with these tutorials, please make sure your development environment is set up correctly, and that you can run TomTom Digital Cockpit on your emulator.
Basics
Tutorial | Description |
---|---|
The debug menu | This guide explains what the debug menu is and how to use it. |
Configure debug tabs | How to create a new tab for the debug menu, and how to customize the existing tabs. |
Upgrade to a newer version of Digital Cockpit | How to upgrade the Digital Cockpit version you are using in your application. |
Core
Platform
Tutorial | Description |
---|---|
Integrate TomTom Digital Cockpit into a Gradle project | How to add TomTom Digital Cockpit to a new or already existing Gradle project. |
Configure the runtime deployment of the IVI System | How to run services in a separate process, configure multiple TomTom Digital Cockpit instances, and how to deploy Android services in the same process as an IVI service. |
Frontends
Tutorial | Description |
---|---|
Create a frontend plugin | How to add a frontend with panels, how to link your frontend to a Fragment , and how to make a menu item for it. |
Create a main process panel | How to create and show a main process panel. |
Create a notification panel | How to create and show a notification panel. |
Services
Tutorial | Description |
---|---|
Create an IVI service | How to define the interface of your service, how to implement and deploy it, and how to use it from the client side. |
Use an IVI data source | How to use IviDataSource to handle some IVI service properties. |
Customization
Tutorial | Description |
---|---|
Use the configuration framework | How to create static and dynamic configurations by using the configuration generator, and how to use these to customize the application. |
Custom animations | How to create custom animations for sub-container transitions in the system UI. |
Custom fragments | How to adjust the look and behavior of a panel by customizing its initial fragment. A system UI host can create custom fragment rules that replace the normal fragment of a panel with a custom fragment. |
Custom frontend coordination rule | How to create a custom frontend coordination rule, and how to use it in a custom system UI host. |
Custom notification center | How to create a custom notification center header and empty state layout. |
Custom panel type | How to create a custom panel type to visualize custom information in the system UI. |
Custom panel container | How to create a custom panel container to control the behavior of panels in the system UI. |
Custom sub-container layout | How to use a custom sub-container layout with a default panel container. |
Custom theme | How to create a custom theme. |
Domains
Communications
Tutorial | Description |
---|---|
Create a custom connection service | How to add a new connection service to make phone calls via TomTom Digital Cockpit, like Voice Over IP (VOIP). |
Create a custom contacts service | How to add a contacts service that provides information that TomTom Digital Cockpit can display in the contacts panel. |
Create a custom recent calls service | How to add a recent calls service that provides information that TomTom Digital Cockpit can display in the recent calls panel. |
Configure the communications plugin | How to configure the behavior of the off-the-shelf communications plugin. |
How to use the communications plugin Settings | How to configure the MessagingAppSettingsService for custom quick replies handling. |
Customize the communications frontend | How to customize the stock Communications Frontend . |
In-Vehicle Charging
Tutorial | Description |
---|---|
Create a custom in-vehicle-charging service | How to add an in-vehicle charging service that provides access to an eMSP which TomTom Digital Cockpit can use to start a charging session. |
Media
Tutorial | Description |
---|---|
Create a new media user interface | How to add a single-panel user interface for a radio source. |
Customize a media source | How to add a new media source that will automatically show up as an additional choice in the media panel. |
Configure the media plugins | How to change the media plugin configuration. |
Customize media plugin fragments | How to replace the look and feel of existing media fragments. |
Voice Personal Assistant (VPA)
Tutorial | Description |
---|---|
Create a custom VPA adaptation service | How to add a custom VPA Adaptation service to support a 3rd party VPA. |
Create a custom Alexa handler service | How to add a custom Alexa handler service that can be used to extend the set of stock Alexa platform message handlers offered by the TomTom Digital Cockpit platform. |
Customize the Alexa Car Control feature | How to customize or replace the stock Alexa Car Control handler service offered by the TomTom Digital Cockpit platform. |
Implement Alexa preview mode | How to implement Alexa Preview Mode, a feature that allows access to a limited set of Alexa features without requiring a login with an Amazon account. |
System Features
App Launcher
Tutorial | Description |
---|---|
Create a custom app launcher service | How to add a custom App launcher service that can be used to extend or override the TomTom Digital Cockpit platform App launcher implementation. |
Replace the stock Android app support | How to configure the stock Android apps that are being shown in the app launcher. |
Add support for a custom non-Android app type | How to display and launch custom non-Android app types from the app launcher. |
Add support for web app launch trigger | How to add the support for triggering the launch of a web app from an external source. |
App Store
Tutorial | Description |
---|---|
Configure an app store | How to add an App Store, to offer end-users of your system the ability to expand their system by installing additional apps. |
Localization
Tutorial | Description |
---|---|
Localize strings | How to localize strings, how to discover string resources used in your application, and how to get additional context information per string resource to facilitate translations. |
Change Localization settings | How to use the TomTom Digital Cockpit Localization Settings API to allow the user to choose their preferred localization settings. For example, it is possible to change the language in the Android system in order for it to be reflected in the cockpit app as well as in all third-party apps, or to choose between displaying the time in a 12-hour or 24-hour format. |
Splash Screen
Tutorial | Description |
---|---|
Custom splash screen | How to create a custom splash screen. |