Next-generation vehicles support multiple screens, some of which might be operated by Android to provide rich contents. This page describes the key elements to integrate instrument cluster and other displays into an Android Automotive IVI system.
External displays in Android
Android 10 uses the android.app.Presentation API to support the use of external displays. A presentation is a unique dialog, its purpose to present content on a secondary display. A presentation is associated with the target Display at the time of creation and configures its context and resource configuration according to the display metrics.
Instrument cluster display
The Presentation API is sufficient for a typical instrument cluster display, which has these allowances:
The Presentation API does not need:
- Separate audio focus.
- To run the entire activity or app.
- To consider concurrent user input.
- To handle touch events.
To learn more about the use of multiple displays, see Multi-display overview.
Prerequisite: Some familiarity with previous developments of the Android WindowManager is helpful.
Supported content types
Some vehicles may not want Android to draw instrument cluster graphics directly, but still want to show information such as turn-by-turn guidance or music title. Android can send such data in several ways. An Android device can send instrument cluster content as:
- Metadata-based, such as sending messages through CAN through
CarVendorExtensionManager
orVehicleNetworkService
. The instrumental cluster system must create appropriate graphics based on the metadata. - Graphics-based, to physical or virtual display. The display may be a dedicated display inside the gauge cluster, or part of a fully graphical instrument cluster display.
Example hardware architecture for a graphics-based instrument cluster display:
Figure 2. Sample Android Automotive graphics-based instrument cluster display.
The safety-critical (responsible for rendering instrument cluster) and Android OS may reside on the same multi-core SoC (for example, dedicate Cortex-R for real-time OS and Cortex-A for Android). The interface can be Ethernet AVB (Audio Video Bridge), LVDS, or HDMI. In Android, the Graphics Instrument Cluster could be connected as a Virtual Display, hiding the hardware architecture behind Display HAL implementation.
Rear seat limitations
For rear seat entertainment, the presentation API has the following limitations:
- Can't project the entire activity (presentation is a dialog).
- Only one audio focus available.
- No concurrent users.
- No direct touch events for the external display (needs separate injection flow).