AlexaHandlerService

A discoverable service that provides support for handling Alexa Auto Services Bridge (AASB) messages of a certain topic. This service can be used to extend the TomTom Digital Cockpit platform Alexa implementation by handling messages that are not already handled by the platform. The AASB messages are strings in JSON format that are sent by the Alexa Auto Client Service (AACS) via Android broadcasts.

More information about the Alexa Auto Client Service is available on the Alexa Auto Client Service (AACS) documentation page.

More information on the Alexa Auto Services Bridge is available on the Alexa Auto Services Bridge (AASB) Extension documentation page.

The AASB message specification is available on the Alexa Auto AASB specification documentation page.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val aacsConfiguration: String?

An optional String in JSON format that can be used to configure the Alexa Auto Client Service to work correctly with this handler service. The configuration should follow the schema defined by the Alexa Auto Client Service documentation. If not null, this JSON String will be merged with the AACS configuration generated by the TomTom Digital Cockpit platform.

Link copied to clipboard
abstract val priority: Int

The priority of this handler service. If multiple handler services are defined for the same topic, each AASB message belonging to the topic is forwarded to the handler with the highest priority. If the handler's onMessageReceived call returns true, the message is not forwarded to any other handler. Otherwise the message is forwarded to the handler with the second-highest priority, and so on. Setting this value to DEFAULT_HANDLER_PRIORITY will cause this handler to receive an AASB message before it is forwarded to a stock handler, which typically has DEFAULT_STOCK_HANDLER_PRIORITY priority.

Link copied to clipboard
abstract val topic: String

The message topic that this handler service handles. The topic must be one of the values defined in the Topic class.

Functions

Link copied to clipboard
abstract suspend fun onEnginesStarted()

Called when the engines inside the AACS have been started. This signals that the handler can start sending messages to the AACS.

Link copied to clipboard
abstract suspend fun onEnginesStopped()

Called when the engines inside the AACS have been stopped. This signals that the handler should not send messages to the AACS because it will not be listening.

Link copied to clipboard
abstract suspend fun onMessageReceived(message: AacsMessage): Boolean

Called when an AASB message from the AACS has been received. The implementation should process the message and handle it, based on what the application wants to do.