(The interesting picture above belongs to Polestar 2)
Google has provided the Automotive Android variant to fulfil the automotive requirements for the infotainment systems. HMI & user interface components added to Android Automotive provided some new functionalities that other variants don’t have them. So, it has persuaded some companies such as Polestar and Volvo Cars to implement their infotainment applications using Android-powered devices. Some other companies such as Renault, Ford, GMC, etc have started developing their new infotainment system based on Android Automotive. Before that QNX had the main role as a good platform for infotainment systems. But it’s pretty much clear that finding developers that know Android is easier, faster and cheaper.
Automotive System UI
But the question is: “How has Google made it easy to develop infotainment apps? “
Automotive System UI is the answer to the question. It’s an extension of the Android System UI that has brought new components to Android however it’s been changed during different versions to provide a better experience and structure. Let’s have a look at the components of Automotive SystemUI:
- Lockscreen UI
- Navigation Bar
- Status Bar
- User Switcher UI
- Volume UI
- System UI ( contains everything that is not part of other apps)
To customize each component, there’s a possibility to override the default components through resources or even develop new classes that can add/disable/refine the component’s behaviour. It will happen through the vendor partition/folder containing all apps and services, … developed by the vendor. Thus, without touching any part of the pure Google Android source code vendors can customize CarSystemUI and other apps or services.
CarSystemUI has been developed in the application layer with Java which means that it’s not mandatory to have AOSP knowledge and developers with some experience can work on the vendor’s customized version.
I will explain about structure of CarSystemUI and how it can be customized in another article.