Domain Integration
Media/Radio/BT Music - System API
For Media/Radio/BT Music, VIA integrated with TN Media SDK to get connector, to further call system MediaController to control Media with different types, and call system MediaBrowser to do the Media search. So there is no additional integration for each Media app to support voice command.
Note
The only case need integration is to show Media search result in customized Launcher/Media app, in that case VIA provided the capability to send out Media search results Intent for HMI to integrate with, Intent definition could be find from here: Voice controlled Media Intent
Phone - System Standard Intent
For phone call control, VIA will load contacts through system API directly, and when there is voice command to make phone call, Android standard Intent will be sent with phone number provided to dail it. (Intent.ACTION_DIAL: https://developer.android.com/reference/android/content/Intent#ACTION_DIAL)
Car Control - System API (AAOS platform only)
VIA provide Car control functionalities to control the car with system permission, which include window, moon roof, trunk, HVAC control, etc. And the control goes through system API CarPropertyManager: https://developer.android.com/reference/android/car/hardware/property/CarPropertyManager, so you don't have to spend additional effort to integrate with that.
Nav - Custom Intent
For Nav domain, there is no standard Android defined API or Intents, VIA will follow TN defined Nav Intent through broadcast receiver to handle Nav voice commands.
-
Context To ensure Nav functionalities working properly, Voice Assistant Engine expect Nav app to provide the following context to be able to start properly.
- Current Location(Including lat/lon and address info)
- Navigation Status(Active Guidance/ Inactive Guidance state)
-
Cloud Mode When networking connection is in good quality, Voice Assistant Engine will provide search results for POI/Address/Places from cloud services, Nav app just show the results, start calculating directions base on Intent details is good. Please follow this wiki for SHOW_SEARCH_RESULTS to display search result, and START_NAVIGATION to start guidance, STOP_NAVIGATION to stop guidance.
-
Embedded Mode When network connection is not good, Voice Assistant Engine will switch to embedded mode. And in this mode, all search functionalities will go through Nav app, Nav app must implement ONE_BOX_SEARCH request and return back response to ensure whole voice flow could proceed successfully. Nav Intent.
ICC - Custom Intent
VIA support In Car Commerce voice control, including Parking reservation, Food order(brand including Mod Pizza, Applebees, Red Lobster, Hooters, etc.) and others. Apps who would like to integrate with VIA to show ICC domain details, like Shopping Cart, Store list, should follow the following domain Intent definition to handle and rendering your UI base on the data bundle.
- ICC Parking: Parking - Intents API For VIVID v1.0
- ICC Food: Commerce SDK Food Widgets API
To get Commerce work, you have to ensure you have signed in TN account, added payment card(not mandatory for Food carry out order), license plate(parking only), etc. Following this API integration and filling them. UPDATE_ASSISTANT_SETTINGS in Voice Domain