From 241f24589acddabba881b914a0e7ca601e7d94b8 Mon Sep 17 00:00:00 2001
From: MuniSakkuru
Date: Fri, 9 Oct 2020 00:41:53 +0000
Subject: [PATCH] Version 3.0.0 Alexa Auto SDK
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The Alexa Auto SDK is for automotive OEMs to integrate Alexa directly into vehicles.
**v3.0.0**
* v3.0.0 released on 2020-10-09
**Enhancements**
* Added Alexa Auto Client Service (AACS), which enables OEMs of Android-based devices to simplify the process of integrating the Auto SDK. For more information about AACS, see the AACS.
* Added support for removing local media sources at runtime, such as a USB drive or a Bluetooth device. Previously, if a user removed a USB drive and then requested to play music from the USB drive, the Auto SDK would attempt to play and not return an appropriate error message. This feature is enabled with an existing field in the `LocalMediaSource` platform interface state. For information about the platform interface state, see the `alexa` module.
**Resolved Issues**
* On QNX, when a portion of music on Spotify is skipped, either by the user saying, "Skip forward," or by the user skipping to a different song, the volume is no longer reset to the default level.
* A user barging in when music is playing no longer hears an Alexa response to the barge-in request. Previously, this issue happened if the System Audio extension was used.
**Known Issues**
* General
* If the "locales" field of the "deviceSettings" node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations:
["en-US", "es-US"],
["es-US", "en-US"],
["en-IN", "hi-IN"],
["hi-IN", "en-IN"],
["fr-CA", "en-CA"],
["en-CA", "fr-CA"].
The Engine does not declare support for locale combinations if the "locales" field is assigned an empty value.
* Car Control
* For car control, there is a limit of two Device Serial Numbers (DSN) per account or Customer ID (CID). Limit the number of devices for testing with a single account accordingly. If you use the Android sample app, be sure to configure a specific DSN.
* It can take up to 20 seconds from the time of user login to the time Alexa is available to accept utterances. The cloud uses this time to ingest the car control endpoint configurations sent by Auto SDK after login.
* If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.
* Car control utterances that are variations of supported utterances but do not follow the supported utterance patterns return errors. Examples include “please turn on the light in the car” instead of the supported “turn on the light“, and ”put on the defroster“ or “defrost the windshield” instead of the supported ”turn on the defroster”.
* The air conditioner endpoint supports only Power Controller and Mode Controller capabilities, not Range Controller for numeric settings.
* Communications
* A user request to send an SMS to an Alexa contact results in an Alexa-to-Alexa message instead. However ‘send message’ instead ‘send SMS’ to a contact works.
* When using LVC in online mode, users can redial a call when the phone connection state is OFF.
* DTMF utterances that include the letters "A", "B", "C", or "D" (for example "press A" or "dial 3*#B") are ignored.
* Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh...” may return unexpected results. Similarly, when you call numbers by using utterances that include "triple," "hundred," and "thousand," or press special characters such as # or * by saying "Alexa press *#", you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
* A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.
* Entertainment
* A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.
* The word, "line-in," in an utterance is sometimes misinterpreted as "line" or other words. For example, if the user says, "Switch to line-in," the misinterpretation of "line-in" might cause an incorrect response.
* When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.
* Authentication
* The CBL module uses a backoff when refreshing the access token after expiry. If the internet is disconnected when the refresh is attempted, it could take up to a minute to refresh the token when the internet connection is restored.
* If you log out and log in, the client-side Do Not Disturb (DND) state may not be synchronized with the Alexa cloud.
* AACS
* For some platform interface APIs in the Core module, when an application fails to handle a directive, there is no way to report the failure to the Engine. This is because AASB assumes that the application always handles messages correctly. When AASB incorrectly reports how the application handles the message, the Engine state might become inconsistent with the application state. For example, suppose the Engine sends a directive to the application to set the audio volume but the application fails to make the change. AASB does not report the failure to the Engine. As a result, the Engine's and the application's settings become out of sync. The following list shows the affected APIs:
* `AudioInput`:
* `startAudioInput()`
* `AudioOutput`:
* `setPosition(int64_t position)`
* `volumeChanged(float volume)`
* `mutedStateChanged(MutedState state)`
* In the commonutils library, the JSON parser (`RenderPlayerInfo.kt`) for the `renderPlayerInfo` message of `templateRuntime` can only parse the `payload` field of the AASB `RenderPlayerInfo` message payload. The `payload` field of `RenderPlayerInfo` is the inner payload of the nested payload structure. When using `TemplateRuntime.parseRenderInfo(String json)`, provide it with the embedded JSON as a string of the string value whose key is `payload` in the `RenderPlayerInfo` message’s payload instead of the overall AASB payload.
**Additional Changes**
Starting with Auto SDK v3.0, we no longer support the Automotive Grade Linux (AGL) Alexa Voice agent in the Auto SDK. If you intend to use the AGL Alexa Voice Agent, continue using Auto SDK v2.3.0, which is the last version that provides AGL support.
[Read the SDK Docs](https://alexa.github.io/alexa-auto-sdk/)
---
CHANGELOG.md | 65 +-
CMakeLists.txt | 1 -
GETSTARTED.md | 50 +
MIGRATION.md | 141 +-
NOTICE | 1 -
OVERVIEW.md | 83 -
README.md | 116 +-
SEQUENCE_DIAGRAMS.md | 2 +-
assets/aac-seq-ttt.plantuml | 73 +
assets/aac-seq-ttt.png | Bin 109455 -> 60400 bytes
assets/aac-seq-wwe.plantuml | 98 +
assets/aac-seq-wwe.png | Bin 101233 -> 78705 bytes
builder/README.md | 357 +-
.../conf/machine/aglarm64.conf | 21 -
.../conf/machine/include/agl.inc | 4 -
.../recipes-core/images/aac-sdk-build.bb | 1 -
...o-changes-for-v1.19.1-AVS-Device-SDK.patch | 39 +-
builder/scripts/run-aacs-android.sh | 184 +
builder/scripts/run-builder.sh | 46 +-
builder/scripts/run-docker.sh | 3 +-
builder/scripts/version | 4 +-
docs/android/annotated.html | 90 +-
...n_1_1aace_1_1alexa_1_1_alerts-members.html | 4 +-
...1_1amazon_1_1aace_1_1alexa_1_1_alerts.html | 4 +-
...ace_1_1alexa_1_1_alexa_client-members.html | 4 +-
...zon_1_1aace_1_1alexa_1_1_alexa_client.html | 4 +-
...ce_1_1alexa_1_1_alexa_speaker-members.html | 4 +-
...on_1_1aace_1_1alexa_1_1_alexa_speaker.html | 4 +-
...ace_1_1alexa_1_1_audio_player-members.html | 4 +-
...zon_1_1aace_1_1alexa_1_1_audio_player.html | 6 +-
...ce_1_1alexa_1_1_auth_provider-members.html | 4 +-
...on_1_1aace_1_1alexa_1_1_auth_provider.html | 4 +-
...e_1_1alexa_1_1_do_not_disturb-members.html | 4 +-
...n_1_1aace_1_1alexa_1_1_do_not_disturb.html | 4 +-
...lexa_1_1_equalizer_controller-members.html | 4 +-
...ace_1_1alexa_1_1_equalizer_controller.html | 4 +-
...xa_1_1_external_media_adapter-members.html | 4 +-
...e_1_1alexa_1_1_external_media_adapter.html | 49 +-
...1alexa_1_1_local_media_source-members.html | 4 +-
...1aace_1_1alexa_1_1_local_media_source.html | 27 +-
...ce_1_1alexa_1_1_notifications-members.html | 4 +-
...on_1_1aace_1_1alexa_1_1_notifications.html | 4 +-
...alexa_1_1_playback_controller-members.html | 4 +-
...aace_1_1alexa_1_1_playback_controller.html | 6 +-
..._1alexa_1_1_speech_recognizer-members.html | 15 +-
..._1aace_1_1alexa_1_1_speech_recognizer.html | 67 +-
...1alexa_1_1_speech_synthesizer-members.html | 4 +-
...1aace_1_1alexa_1_1_speech_synthesizer.html | 4 +-
...1_1alexa_1_1_template_runtime-members.html | 8 +-
...1_1aace_1_1alexa_1_1_template_runtime.html | 69 +-
...onfig_1_1_alexa_configuration-members.html | 4 +-
...exa_1_1config_1_1_alexa_configuration.html | 8 +-
...azon_1_1aace_1_1apl_1_1_a_p_l-members.html | 4 +-
...om_1_1amazon_1_1aace_1_1apl_1_1_a_p_l.html | 4 +-
...onfig_1_1_a_p_l_configuration-members.html | 4 +-
...apl_1_1config_1_1_a_p_l_configuration.html | 4 +-
...udio_1_1_audio_input_provider-members.html | 4 +-
...ace_1_1audio_1_1_audio_input_provider.html | 4 +-
...ace_1_1audio_1_1_audio_output-members.html | 4 +-
...zon_1_1aace_1_1audio_1_1_audio_output.html | 4 +-
...dio_1_1_audio_output_provider-members.html | 4 +-
...ce_1_1audio_1_1_audio_output_provider.html | 4 +-
..._1car_control_1_1_car_control-members.html | 4 +-
..._1aace_1_1car_control_1_1_car_control.html | 4 +-
...1_1_car_control_configuration-members.html | 11 +-
...control_1_1_car_control_configuration.html | 54 +-
...trol_configuration_1_1_action-members.html | 4 +-
..._car_control_configuration_1_1_action.html | 4 +-
..._1_car_control_configuration_1_1_zone.html | 87 -
...azon_1_1aace_1_1cbl_1_1_c_b_l-members.html | 4 +-
...om_1_1amazon_1_1aace_1_1cbl_1_1_c_b_l.html | 4 +-
...onfig_1_1_c_b_l_configuration-members.html | 4 +-
...cbl_1_1config_1_1_c_b_l_configuration.html | 4 +-
...uploader_1_1_contact_uploader-members.html | 91 -
...1contactuploader_1_1_contact_uploader.html | 267 -
...on_1_1aace_1_1core_1_1_engine-members.html | 8 +-
..._1_1amazon_1_1aace_1_1core_1_1_engine.html | 73 +-
..._1core_1_1_platform_interface-members.html | 4 +-
..._1aace_1_1core_1_1_platform_interface.html | 4 +-
...nfig_1_1_engine_configuration-members.html | 4 +-
...re_1_1config_1_1_engine_configuration.html | 4 +-
...aace_1_1location_1_1_location-members.html | 4 +-
...azon_1_1aace_1_1location_1_1_location.html | 4 +-
...ocation_1_1_location_provider-members.html | 4 +-
...ace_1_1location_1_1_location_provider.html | 4 +-
..._1_1aace_1_1logger_1_1_logger-members.html | 4 +-
..._1amazon_1_1aace_1_1logger_1_1_logger.html | 4 +-
...nfig_1_1_logger_configuration-members.html | 4 +-
...er_1_1config_1_1_logger_configuration.html | 4 +-
..._1_1navigation_1_1_navigation-members.html | 4 +-
..._1_1aace_1_1navigation_1_1_navigation.html | 4 +-
...1_1_navigation_configuration-members.html} | 11 +-
..._1config_1_1_navigation_configuration.html | 127 +
...ork_1_1_network_info_provider-members.html | 4 +-
..._1_1network_1_1_network_info_provider.html | 4 +-
...rol_1_1_phone_call_controller-members.html | 4 +-
...honecontrol_1_1_phone_call_controller.html | 4 +-
..._manager_1_1_property_manager-members.html | 4 +-
...property_manager_1_1_property_manager.html | 4 +-
...fig_1_1_storage_configuration-members.html | 4 +-
...e_1_1config_1_1_storage_configuration.html | 4 +-
...fig_1_1_vehicle_configuration-members.html | 4 +-
...e_1_1config_1_1_vehicle_configuration.html | 4 +-
...android_1_1_example_unit_test-members.html | 4 +-
..._1_1maccandroid_1_1_example_unit_test.html | 4 +-
...id_1_1_m_a_c_c_android_client-members.html | 4 +-
...accandroid_1_1_m_a_c_c_android_client.html | 4 +-
...odel_1_1_player_playback_info-members.html | 4 +-
...oid_1_1model_1_1_player_playback_info.html | 4 +-
docs/android/classes.html | 19 +-
docs/android/deprecated.html | 18 +-
...ss_book_1_1_address_book_type-members.html | 4 +-
..._1_address_book_1_1_address_book_type.html | 4 +-
...xa_1_1_alerts_1_1_alert_state-members.html | 4 +-
...e_1_1alexa_1_1_alerts_1_1_alert_state.html | 4 +-
...1_alexa_client_1_1_auth_error-members.html | 4 +-
...alexa_1_1_alexa_client_1_1_auth_error.html | 4 +-
...1_alexa_client_1_1_auth_state-members.html | 4 +-
...alexa_1_1_alexa_client_1_1_auth_state.html | 4 +-
...1_1_connection_changed_reason-members.html | 4 +-
..._client_1_1_connection_changed_reason.html | 4 +-
..._client_1_1_connection_status-members.html | 4 +-
..._1_alexa_client_1_1_connection_status.html | 4 +-
...alexa_client_1_1_dialog_state-members.html | 4 +-
...exa_1_1_alexa_client_1_1_dialog_state.html | 4 +-
...lexa_speaker_1_1_speaker_type-members.html | 4 +-
...xa_1_1_alexa_speaker_1_1_speaker_type.html | 4 +-
...io_player_1_1_player_activity-members.html | 4 +-
..._1_1_audio_player_1_1_player_activity.html | 4 +-
..._auth_provider_1_1_auth_error-members.html | 4 +-
...lexa_1_1_auth_provider_1_1_auth_error.html | 4 +-
..._auth_provider_1_1_auth_state-members.html | 4 +-
...lexa_1_1_auth_provider_1_1_auth_state.html | 4 +-
...controller_1_1_equalizer_band-members.html | 4 +-
...ualizer_controller_1_1_equalizer_band.html | 4 +-
...l_media_adapter_1_1_favorites-members.html | 4 +-
..._external_media_adapter_1_1_favorites.html | 4 +-
..._media_adapter_1_1_media_type-members.html | 4 +-
...external_media_adapter_1_1_media_type.html | 4 +-
..._media_adapter_1_1_navigation-members.html | 4 +-
...external_media_adapter_1_1_navigation.html | 4 +-
...adapter_1_1_play_control_type-members.html | 4 +-
...l_media_adapter_1_1_play_control_type.html | 4 +-
..._supported_playback_operation-members.html | 4 +-
...pter_1_1_supported_playback_operation.html | 4 +-
...a_source_1_1_content_selector-members.html | 4 +-
...cal_media_source_1_1_content_selector.html | 4 +-
...al_media_source_1_1_favorites-members.html | 4 +-
..._1_1_local_media_source_1_1_favorites.html | 4 +-
...l_media_source_1_1_media_type-members.html | 4 +-
...1_1_local_media_source_1_1_media_type.html | 4 +-
..._source_1_1_play_control_type-members.html | 4 +-
...al_media_source_1_1_play_control_type.html | 4 +-
...local_media_source_1_1_source-members.html | 4 +-
...exa_1_1_local_media_source_1_1_source.html | 4 +-
..._supported_playback_operation-members.html | 4 +-
...urce_1_1_supported_playback_operation.html | 4 +-
...fications_1_1_indicator_state-members.html | 4 +-
...1_1_notifications_1_1_indicator_state.html | 4 +-
...ontroller_1_1_playback_button-members.html | 4 +-
...ayback_controller_1_1_playback_button.html | 4 +-
...ontroller_1_1_playback_toggle-members.html | 4 +-
...ayback_controller_1_1_playback_toggle.html | 4 +-
...eech_recognizer_1_1_initiator-members.html | 4 +-
...a_1_1_speech_recognizer_1_1_initiator.html | 4 +-
...plate_runtime_1_1_focus_state-members.html | 4 +-
..._1_1_template_runtime_1_1_focus_state.html | 4 +-
...e_runtime_1_1_player_activity-members.html | 4 +-
..._template_runtime_1_1_player_activity.html | 4 +-
..._1_1_a_p_l_1_1_activity_event-members.html | 4 +-
...e_1_1apl_1_1_a_p_l_1_1_activity_event.html | 4 +-
...1_1_audio_format_1_1_encoding-members.html | 4 +-
..._1audio_1_1_audio_format_1_1_encoding.html | 4 +-
...provider_1_1_audio_input_type-members.html | 4 +-
...o_input_provider_1_1_audio_input_type.html | 4 +-
..._audio_output_1_1_media_error-members.html | 4 +-
...udio_1_1_audio_output_1_1_media_error.html | 4 +-
..._audio_output_1_1_media_state-members.html | 4 +-
...udio_1_1_audio_output_1_1_media_state.html | 4 +-
..._audio_output_1_1_muted_state-members.html | 4 +-
...udio_1_1_audio_output_1_1_muted_state.html | 4 +-
...rovider_1_1_audio_output_type-members.html | 4 +-
...output_provider_1_1_audio_output_type.html | 4 +-
...1_1_audio_stream_1_1_encoding-members.html | 4 +-
..._1audio_1_1_audio_stream_1_1_encoding.html | 4 +-
...cbl_1_1_c_b_l_1_1_c_b_l_state-members.html | 4 +-
...aace_1_1cbl_1_1_c_b_l_1_1_c_b_l_state.html | 4 +-
..._1_c_b_l_state_changed_reason-members.html | 4 +-
..._c_b_l_1_1_c_b_l_state_changed_reason.html | 4 +-
...der_1_1_contact_upload_status-members.html | 94 -
...ct_uploader_1_1_contact_upload_status.html | 245 -
..._1logger_1_1_logger_1_1_level-members.html | 4 +-
..._1aace_1_1logger_1_1_logger_1_1_level.html | 4 +-
...o_provider_1_1_network_status-members.html | 4 +-
...work_info_provider_1_1_network_status.html | 4 +-
...all_controller_1_1_call_error-members.html | 4 +-
..._phone_call_controller_1_1_call_error.html | 4 +-
...all_controller_1_1_call_state-members.html | 4 +-
..._phone_call_controller_1_1_call_state.html | 4 +-
...device_configuration_property-members.html | 4 +-
...calling_device_configuration_property.html | 4 +-
...ntroller_1_1_connection_state-members.html | 4 +-
..._call_controller_1_1_connection_state.html | 4 +-
..._controller_1_1_d_t_m_f_error-members.html | 4 +-
...one_call_controller_1_1_d_t_m_f_error.html | 4 +-
...ty_manager_1_1_property_state-members.html | 4 +-
...1_property_manager_1_1_property_state.html | 4 +-
...ion_1_1_vehicle_property_type-members.html | 4 +-
...nfiguration_1_1_vehicle_property_type.html | 4 +-
docs/android/functions.html | 78 +-
docs/android/functions_func.html | 47 +-
docs/android/functions_vars.html | 29 +-
docs/android/hierarchy.html | 96 +-
docs/android/index.html | 4 +-
docs/android/pages.html | 4 +-
docs/android/search/all_0.js | 4 -
docs/android/search/all_11.js | 7 +-
docs/android/search/all_15.html | 26 -
docs/android/search/all_15.js | 4 -
docs/android/search/all_2.js | 5 +-
docs/android/search/all_3.js | 1 -
docs/android/search/all_4.js | 3 +-
docs/android/search/all_5.js | 2 +-
docs/android/search/all_6.js | 2 +-
docs/android/search/all_8.js | 3 +-
docs/android/search/all_b.js | 1 +
docs/android/search/all_d.js | 2 +-
docs/android/search/all_e.js | 8 +-
docs/android/search/all_f.js | 4 +-
docs/android/search/classes_1.js | 2 -
docs/android/search/classes_3.js | 2 +-
docs/android/search/classes_4.js | 2 +-
docs/android/search/classes_8.js | 1 +
docs/android/search/classes_d.html | 26 -
docs/android/search/classes_d.js | 4 -
docs/android/search/functions_0.js | 4 -
docs/android/search/functions_2.js | 3 +-
docs/android/search/functions_3.js | 1 -
docs/android/search/functions_4.js | 1 -
docs/android/search/functions_5.js | 2 +-
docs/android/search/functions_7.js | 3 +-
docs/android/search/functions_d.js | 5 +-
docs/android/search/functions_e.js | 2 +-
docs/android/search/searchdata.js | 4 +-
docs/android/search/variables_11.js | 7 +-
docs/android/search/variables_e.js | 3 -
docs/cpp/_a_p_l_8h_source.html | 4 +-
docs/cpp/_a_p_l_configuration_8h_source.html | 4 +-
.../_a_p_l_engine_interface_8h_source.html | 4 +-
docs/cpp/_address_book_8h_source.html | 4 +-
...dress_book_engine_interface_8h_source.html | 4 +-
docs/cpp/_alerts_8h_source.html | 4 +-
docs/cpp/_alexa_client_8h_source.html | 8 +-
docs/cpp/_alexa_configuration_8h_source.html | 8 +-
.../_alexa_engine_interfaces_8h_source.html | 48 +-
docs/cpp/_alexa_properties_8h_source.html | 6 +-
docs/cpp/_alexa_speaker_8h_source.html | 4 +-
.../_audio_engine_interfaces_8h_source.html | 4 +-
docs/cpp/_audio_format_8h_source.html | 4 +-
docs/cpp/_audio_input_8h_source.html | 4 +-
docs/cpp/_audio_input_provider_8h_source.html | 4 +-
docs/cpp/_audio_output_8h_source.html | 4 +-
.../cpp/_audio_output_provider_8h_source.html | 4 +-
docs/cpp/_audio_player_8h_source.html | 4 +-
docs/cpp/_audio_stream_8h_source.html | 4 +-
docs/cpp/_auth_provider_8h_source.html | 8 +-
docs/cpp/_c_b_l_8h_source.html | 4 +-
docs/cpp/_c_b_l_configuration_8h_source.html | 4 +-
.../_c_b_l_engine_interface_8h_source.html | 4 +-
docs/cpp/_car_control_8h_source.html | 4 +-
docs/cpp/_car_control_assets_8h_source.html | 6 +-
.../_car_control_configuration_8h_source.html | 8 +-
docs/cpp/_contact_uploader_8h_source.html | 91 -
...t_uploader_engine_interface_8h_source.html | 83 -
docs/cpp/_core_properties_8h_source.html | 4 +-
docs/cpp/_do_not_disturb_8h_source.html | 4 +-
docs/cpp/_engine_8h_source.html | 8 +-
docs/cpp/_engine_configuration_8h_source.html | 4 +-
docs/cpp/_equalizer_controller_8h_source.html | 8 +-
.../_external_media_adapter_8h_source.html | 83 +-
docs/cpp/_focus_state_8h_source.html | 4 +-
docs/cpp/_global_preset_8h_source.html | 4 +-
docs/cpp/_local_media_source_8h_source.html | 89 +-
docs/cpp/_location_8h_source.html | 4 +-
docs/cpp/_location_provider_8h_source.html | 4 +-
docs/cpp/_logger_8h_source.html | 4 +-
docs/cpp/_logger_configuration_8h_source.html | 4 +-
.../_logger_engine_interfaces_8h_source.html | 4 +-
docs/cpp/_metrics_uploader_8h_source.html | 4 +-
docs/cpp/_navigation_8h_source.html | 4 +-
.../_navigation_configuration_8h_source.html | 85 +
...avigation_engine_interfaces_8h_source.html | 6 +-
.../_network_engine_interfaces_8h_source.html | 4 +-
.../cpp/_network_info_provider_8h_source.html | 4 +-
docs/cpp/_network_properties_8h_source.html | 4 +-
docs/cpp/_notifications_8h_source.html | 4 +-
.../cpp/_phone_call_controller_8h_source.html | 4 +-
...ontroller_engine_interfaces_8h_source.html | 4 +-
docs/cpp/_platform_interface_8h_source.html | 4 +-
docs/cpp/_playback_controller_8h_source.html | 8 +-
docs/cpp/_player_activity_8h_source.html | 4 +-
docs/cpp/_property_manager_8h_source.html | 4 +-
...ty_manager_engine_interface_8h_source.html | 4 +-
docs/cpp/_speech_recognizer_8h_source.html | 19 +-
docs/cpp/_speech_synthesizer_8h_source.html | 4 +-
.../cpp/_storage_configuration_8h_source.html | 4 +-
docs/cpp/_template_runtime_8h_source.html | 12 +-
.../cpp/_vehicle_configuration_8h_source.html | 8 +-
docs/cpp/_vehicle_properties_8h_source.html | 4 +-
docs/cpp/annotated.html | 76 +-
..._address_book_entries_factory-members.html | 4 +-
...ok_1_1_i_address_book_entries_factory.html | 4 +-
...classaace_1_1alexa_1_1_alerts-members.html | 4 +-
docs/cpp/classaace_1_1alexa_1_1_alerts.html | 4 +-
...a_1_1_alerts_engine_interface-members.html | 4 +-
..._1_1alexa_1_1_alerts_engine_interface.html | 4 +-
...ace_1_1alexa_1_1_alexa_client-members.html | 4 +-
.../classaace_1_1alexa_1_1_alexa_client.html | 4 +-
...alexa_client_engine_interface-members.html | 4 +-
...exa_1_1_alexa_client_engine_interface.html | 4 +-
...ce_1_1alexa_1_1_alexa_speaker-members.html | 4 +-
.../classaace_1_1alexa_1_1_alexa_speaker.html | 4 +-
...lexa_speaker_engine_interface-members.html | 4 +-
...xa_1_1_alexa_speaker_engine_interface.html | 4 +-
...ace_1_1alexa_1_1_audio_player-members.html | 4 +-
.../classaace_1_1alexa_1_1_audio_player.html | 6 +-
...audio_player_engine_interface-members.html | 4 +-
...exa_1_1_audio_player_engine_interface.html | 4 +-
...ce_1_1alexa_1_1_auth_provider-members.html | 4 +-
.../classaace_1_1alexa_1_1_auth_provider.html | 4 +-
...uth_provider_engine_interface-members.html | 4 +-
...xa_1_1_auth_provider_engine_interface.html | 4 +-
...e_1_1alexa_1_1_do_not_disturb-members.html | 4 +-
...classaace_1_1alexa_1_1_do_not_disturb.html | 4 +-
..._not_disturb_engine_interface-members.html | 4 +-
...a_1_1_do_not_disturb_engine_interface.html | 4 +-
...lexa_1_1_equalizer_controller-members.html | 4 +-
...ace_1_1alexa_1_1_equalizer_controller.html | 4 +-
...r_controller_engine_interface-members.html | 4 +-
...equalizer_controller_engine_interface.html | 4 +-
...er_1_1_authorized_player_info-members.html | 4 +-
...ia_adapter_1_1_authorized_player_info.html | 4 +-
..._external_media_adapter_state-members.html | 6 +-
...pter_1_1_external_media_adapter_state.html | 12 +-
...ia_adapter_1_1_playback_state-members.html | 21 +-
...rnal_media_adapter_1_1_playback_state.html | 62 +-
...dia_adapter_1_1_session_state-members.html | 6 +-
...ernal_media_adapter_1_1_session_state.html | 40 +-
...edia_adapter_engine_interface-members.html | 4 +-
...ternal_media_adapter_engine_interface.html | 4 +-
...ce_1_1_discovered_player_info-members.html | 4 +-
..._interface_1_1_discovered_player_info.html | 4 +-
...1alexa_1_1_local_media_source-members.html | 4 +-
...saace_1_1alexa_1_1_local_media_source.html | 21 +-
..._1_1_local_media_source_state-members.html | 4 +-
...a_source_1_1_local_media_source_state.html | 4 +-
...dia_source_1_1_playback_state-members.html | 19 +-
...local_media_source_1_1_playback_state.html | 54 +-
...edia_source_1_1_session_state-members.html | 4 +-
..._local_media_source_1_1_session_state.html | 24 +-
...media_source_engine_interface-members.html | 4 +-
...1_local_media_source_engine_interface.html | 4 +-
...ce_1_1alexa_1_1_notifications-members.html | 4 +-
.../classaace_1_1alexa_1_1_notifications.html | 4 +-
...alexa_1_1_playback_controller-members.html | 4 +-
...aace_1_1alexa_1_1_playback_controller.html | 6 +-
...k_controller_engine_interface-members.html | 4 +-
..._playback_controller_engine_interface.html | 4 +-
..._1alexa_1_1_speech_recognizer-members.html | 15 +-
...ssaace_1_1alexa_1_1_speech_recognizer.html | 80 +-
...h_recognizer_engine_interface-members.html | 4 +-
..._1_speech_recognizer_engine_interface.html | 4 +-
...1alexa_1_1_speech_synthesizer-members.html | 4 +-
...saace_1_1alexa_1_1_speech_synthesizer.html | 4 +-
...1_1alexa_1_1_template_runtime-members.html | 10 +-
...assaace_1_1alexa_1_1_template_runtime.html | 105 +-
...late_runtime_engine_interface-members.html | 4 +-
...1_1_template_runtime_engine_interface.html | 4 +-
...onfig_1_1_alexa_configuration-members.html | 4 +-
...exa_1_1config_1_1_alexa_configuration.html | 4 +-
.../classaace_1_1apl_1_1_a_p_l-members.html | 4 +-
docs/cpp/classaace_1_1apl_1_1_a_p_l.html | 4 +-
...onfig_1_1_a_p_l_configuration-members.html | 4 +-
...apl_1_1config_1_1_a_p_l_configuration.html | 4 +-
...ace_1_1audio_1_1_audio_output-members.html | 4 +-
.../classaace_1_1audio_1_1_audio_output.html | 4 +-
...dio_1_1_audio_stream_property-members.html | 4 +-
...ce_1_1audio_1_1_audio_stream_property.html | 4 +-
..._1car_control_1_1_car_control-members.html | 4 +-
...ssaace_1_1car_control_1_1_car_control.html | 4 +-
...1_1_car_control_configuration-members.html | 13 +-
...1config_1_1_car_control_configuration.html | 60 +-
.../classaace_1_1cbl_1_1_c_b_l-members.html | 4 +-
docs/cpp/classaace_1_1cbl_1_1_c_b_l.html | 4 +-
...onfig_1_1_c_b_l_configuration-members.html | 4 +-
...cbl_1_1config_1_1_c_b_l_configuration.html | 4 +-
...uploader_1_1_contact_uploader-members.html | 92 -
...contact_uploader_1_1_contact_uploader.html | 291 -
.../classaace_1_1core_1_1_engine-members.html | 10 +-
docs/cpp/classaace_1_1core_1_1_engine.html | 89 +-
..._1core_1_1_platform_interface-members.html | 4 +-
...ssaace_1_1core_1_1_platform_interface.html | 4 +-
...config_1_1_configuration_file-members.html | 4 +-
...core_1_1config_1_1_configuration_file.html | 4 +-
...nfig_1_1_engine_configuration-members.html | 4 +-
...re_1_1config_1_1_engine_configuration.html | 4 +-
...nfig_1_1_stream_configuration-members.html | 4 +-
...re_1_1config_1_1_stream_configuration.html | 4 +-
...aace_1_1location_1_1_location-members.html | 4 +-
.../classaace_1_1location_1_1_location.html | 4 +-
...ocation_1_1_location_provider-members.html | 4 +-
...ace_1_1location_1_1_location_provider.html | 4 +-
...lassaace_1_1logger_1_1_logger-members.html | 4 +-
docs/cpp/classaace_1_1logger_1_1_logger.html | 4 +-
...r_1_1_logger_engine_interface-members.html | 4 +-
...1_1logger_1_1_logger_engine_interface.html | 4 +-
...nfig_1_1_logger_configuration-members.html | 4 +-
...er_1_1config_1_1_logger_configuration.html | 4 +-
...1metrics_1_1_metrics_uploader-members.html | 4 +-
...saace_1_1metrics_1_1_metrics_uploader.html | 4 +-
...etrics_uploader_1_1_datapoint-members.html | 4 +-
...cs_1_1_metrics_uploader_1_1_datapoint.html | 4 +-
..._1_1navigation_1_1_navigation-members.html | 4 +-
...lassaace_1_1navigation_1_1_navigation.html | 4 +-
...1_1_navigation_configuration-members.html} | 19 +-
..._1config_1_1_navigation_configuration.html | 127 +
...ork_1_1_network_info_provider-members.html | 4 +-
..._1_1network_1_1_network_info_provider.html | 4 +-
...nfo_provider_engine_interface-members.html | 4 +-
...etwork_info_provider_engine_interface.html | 4 +-
...ler_1_1_phone_call_controller-members.html | 4 +-
..._controller_1_1_phone_call_controller.html | 4 +-
...l_controller_engine_interface-members.html | 4 +-
...hone_call_controller_engine_interface.html | 4 +-
..._manager_1_1_property_manager-members.html | 4 +-
...property_manager_1_1_property_manager.html | 4 +-
...fig_1_1_storage_configuration-members.html | 4 +-
...e_1_1config_1_1_storage_configuration.html | 4 +-
...fig_1_1_vehicle_configuration-members.html | 4 +-
...e_1_1config_1_1_vehicle_configuration.html | 6 +-
docs/cpp/classes.html | 8 +-
docs/cpp/deprecated.html | 14 +-
docs/cpp/functions.html | 64 +-
docs/cpp/functions_enum.html | 4 +-
docs/cpp/functions_func.html | 55 +-
docs/cpp/functions_type.html | 7 +-
docs/cpp/functions_vars.html | 8 +-
docs/cpp/hierarchy.html | 76 +-
docs/cpp/index.html | 4 +-
docs/cpp/namespaceaace.html | 4 +-
docs/cpp/namespaceaace_1_1alexa.html | 4 +-
...ce_1_1car_control_1_1config_1_1action.html | 4 +-
docs/cpp/namespacemembers.html | 4 +-
docs/cpp/namespacemembers_enum.html | 4 +-
docs/cpp/namespacemembers_func.html | 4 +-
docs/cpp/pages.html | 4 +-
docs/cpp/search/all_0.js | 7 +-
docs/cpp/search/all_2.js | 5 +-
docs/cpp/search/all_3.js | 1 -
docs/cpp/search/all_4.js | 3 +-
docs/cpp/search/all_6.js | 2 +-
docs/cpp/search/all_8.js | 3 +-
docs/cpp/search/all_b.js | 1 +
docs/cpp/search/all_d.js | 4 +-
docs/cpp/search/all_e.js | 5 +-
docs/cpp/search/all_f.js | 5 +-
docs/cpp/search/classes_1.js | 3 +-
docs/cpp/search/classes_7.js | 1 +
docs/cpp/search/classes_8.js | 2 +-
docs/cpp/search/functions_0.js | 4 -
docs/cpp/search/functions_2.js | 3 +-
docs/cpp/search/functions_3.js | 1 -
docs/cpp/search/functions_4.js | 3 +-
docs/cpp/search/functions_5.js | 2 +-
docs/cpp/search/functions_7.js | 3 +-
docs/cpp/search/functions_c.js | 2 +-
docs/cpp/search/functions_d.js | 5 +-
docs/cpp/search/functions_e.js | 4 +-
docs/cpp/search/namespaces_0.js | 3 +-
docs/cpp/search/typedefs_1.js | 3 +-
docs/cpp/search/variables_a.js | 1 -
extensions/aasb/.gitignore | 3 +
extensions/aasb/CMakeLists.txt | 18 +
extensions/aasb/README.md | 328 +
extensions/aasb/assets/AASBNewArch.png | Bin 0 -> 55519 bytes
extensions/aasb/assets/AASBOldArch.png | Bin 0 -> 36815 bytes
.../aasb/docs/AASB/StartServiceMessage.html | 1109 +
.../aasb/docs/AASB/StopServiceMessage.html | 1109 +
.../APL/ClearAllExecuteCommandsMessage.html | 1128 +
.../aasb/docs/APL/ClearCardMessage.html | 1128 +
.../aasb/docs/APL/ClearDocumentMessage.html | 1128 +
.../aasb/docs/APL/ExecuteCommandsMessage.html | 1148 +
.../APL/ExecuteCommandsResultMessage.html | 1159 +
.../docs/APL/GetVisualContextMessage.html | 1128 +
.../APL/GetVisualContextMessageReply.html | 1149 +
.../APL/InterruptCommandSequenceMessage.html | 1128 +
.../docs/APL/ProcessActivityEventMessage.html | 1155 +
.../aasb/docs/APL/RenderDocumentMessage.html | 1159 +
.../docs/APL/RenderDocumentResultMessage.html | 1159 +
.../aasb/docs/APL/SendUserEventMessage.html | 1137 +
.../docs/APL/SetAPLMaxVersionMessage.html | 1137 +
.../APL/SetDocumentIdleTimeoutMessage.html | 1137 +
.../AddressBook/AddAddressBookMessage.html | 1495 ++
.../AddAddressBookMessageReply.html | 1149 +
.../AddressBook/RemoveAddressBookMessage.html | 1137 +
.../RemoveAddressBookMessageReply.html | 1149 +
.../aasb/docs/Alerts/AlertCreatedMessage.html | 1148 +
.../aasb/docs/Alerts/AlertDeletedMessage.html | 1137 +
.../docs/Alerts/AlertStateChangedMessage.html | 1172 +
.../aasb/docs/Alerts/LocalStopMessage.html | 1128 +
.../docs/Alerts/RemoveAllAlertsMessage.html | 1130 +
.../AlexaClient/AuthStateChangedMessage.html | 1170 +
.../ConnectionStatusChangedMessage.html | 1172 +
.../DialogStateChangedMessage.html | 1144 +
.../StopForegroundActivityMessage.html | 1128 +
.../LocalAdjustVolumeMessage.html | 1156 +
.../AlexaSpeaker/LocalSetMuteMessage.html | 1155 +
.../AlexaSpeaker/LocalSetVolumeMessage.html | 1155 +
.../SpeakerSettingsChangedMessage.html | 1175 +
.../AudioInput/StartAudioInputMessage.html | 1164 +
.../AudioInput/StopAudioInputMessage.html | 1137 +
.../docs/AudioOutput/GetDurationMessage.html | 1148 +
.../AudioOutput/GetDurationMessageReply.html | 1149 +
.../GetNumBytesBufferedMessage.html | 1148 +
.../GetNumBytesBufferedMessageReply.html | 1149 +
.../docs/AudioOutput/GetPositionMessage.html | 1148 +
.../AudioOutput/GetPositionMessageReply.html | 1149 +
.../docs/AudioOutput/MediaErrorMessage.html | 1166 +
.../AudioOutput/MediaStateChangedMessage.html | 1164 +
.../AudioOutput/MutedStateChangedMessage.html | 1152 +
.../aasb/docs/AudioOutput/PauseMessage.html | 1148 +
.../aasb/docs/AudioOutput/PlayMessage.html | 1148 +
.../AudioOutput/PrepareStreamMessage.html | 1242 +
.../docs/AudioOutput/PrepareURLMessage.html | 1197 +
.../aasb/docs/AudioOutput/ResumeMessage.html | 1148 +
.../docs/AudioOutput/SetPositionMessage.html | 1159 +
.../aasb/docs/AudioOutput/StopMessage.html | 1148 +
.../AudioOutput/VolumeChangedMessage.html | 1148 +
.../AudioPlayer/GetPlayerDurationMessage.html | 1128 +
.../GetPlayerDurationMessageReply.html | 1149 +
.../AudioPlayer/GetPlayerPositionMessage.html | 1128 +
.../GetPlayerPositionMessageReply.html | 1149 +
.../PlayerActivityChangedMessage.html | 1145 +
.../AuthProvider/AuthStateChangedMessage.html | 1170 +
.../AuthProvider/GetAuthStateMessage.html | 1128 +
.../GetAuthStateMessageReply.html | 1155 +
.../AuthProvider/GetAuthTokenMessage.html | 1129 +
.../GetAuthTokenMessageReply.html | 1149 +
.../aasb/docs/CBL/CBLStateChangedMessage.html | 1186 +
extensions/aasb/docs/CBL/CancelMessage.html | 1128 +
.../docs/CBL/ClearRefreshTokenMessage.html | 1128 +
.../aasb/docs/CBL/GetRefreshTokenMessage.html | 1128 +
.../docs/CBL/GetRefreshTokenMessageReply.html | 1149 +
extensions/aasb/docs/CBL/ResetMessage.html | 1128 +
.../aasb/docs/CBL/SetRefreshTokenMessage.html | 1137 +
.../aasb/docs/CBL/SetUserProfileMessage.html | 1148 +
extensions/aasb/docs/CBL/StartMessage.html | 1128 +
.../AdjustModeControllerValueMessage.html | 1166 +
...AdjustModeControllerValueMessageReply.html | 1149 +
.../AdjustRangeControllerValueMessage.html | 1166 +
...djustRangeControllerValueMessageReply.html | 1149 +
.../SetModeControllerValueMessage.html | 1166 +
.../SetModeControllerValueMessageReply.html | 1149 +
.../SetPowerControllerValueMessage.html | 1155 +
.../SetPowerControllerValueMessageReply.html | 1149 +
.../SetRangeControllerValueMessage.html | 1166 +
.../SetRangeControllerValueMessageReply.html | 1149 +
.../SetToggleControllerValueMessage.html | 1166 +
.../SetToggleControllerValueMessageReply.html | 1149 +
.../DoNotDisturbChangedMessage.html | 1137 +
.../DoNotDisturb/SetDoNotDisturbMessage.html | 1137 +
.../GetBandLevelsMessage.html | 1129 +
.../GetBandLevelsMessageReply.html | 1184 +
.../LocalAdjustBandLevelsMessage.html | 1174 +
.../LocalResetBandsMessage.html | 1137 +
.../LocalSetBandLevelsMessage.html | 1173 +
.../SetBandLevelsMessage.html | 1172 +
.../AdjustSeekMessage.html | 1148 +
.../AuthorizeMessage.html | 1168 +
.../ExternalMediaAdapter/GetStateMessage.html | 1573 ++
.../LoginCompleteMessage.html | 1137 +
.../ExternalMediaAdapter/LoginMessage.html | 1181 +
.../LogoutCompleteMessage.html | 1137 +
.../ExternalMediaAdapter/LogoutMessage.html | 1137 +
.../MutedStateChangedMessage.html | 1143 +
.../PlayControlMessage.html | 1165 +
.../ExternalMediaAdapter/PlayMessage.html | 1197 +
.../PlayerErrorMessage.html | 1181 +
.../PlayerEventMessage.html | 1148 +
.../RemoveDiscoveredPlayerMessage.html | 1137 +
.../ReportDiscoveredPlayersMessage.html | 1216 +
.../RequestTokenMessage.html | 1137 +
.../ExternalMediaAdapter/SeekMessage.html | 1148 +
.../ExternalMediaAdapter/SetFocusMessage.html | 1137 +
.../VolumeChangedMessage.html | 1138 +
.../GlobalPreset/SetGlobalPresetMessage.html | 1137 +
extensions/aasb/docs/Introduction.html | 1008 +
.../LocalMediaSource/AdjustSeekMessage.html | 1159 +
.../LocalMediaSource/GetSourceMessage.html | 1128 +
.../LocalMediaSource/GetStateMessage.html | 1148 +
.../GetStateMessageReply.html | 1574 ++
.../MutedStateChangedMessage.html | 1160 +
.../LocalMediaSource/PlayControlMessage.html | 1176 +
.../docs/LocalMediaSource/PlayMessage.html | 1175 +
.../LocalMediaSource/PlayerErrorMessage.html | 1192 +
.../LocalMediaSource/PlayerEventMessage.html | 1159 +
.../docs/LocalMediaSource/SeekMessage.html | 1159 +
.../LocalMediaSource/SetFocusMessage.html | 1148 +
.../VolumeChangedMessage.html | 1160 +
.../LocationProvider/GetCountryMessage.html | 1128 +
.../GetCountryMessageReply.html | 1149 +
.../LocationProvider/GetLocationMessage.html | 1128 +
.../GetLocationMessageReply.html | 1174 +
.../Messaging/ConversationsReportMessage.html | 1148 +
.../Messaging/SendMessageFailedMessage.html | 1164 +
.../docs/Messaging/SendMessageMessage.html | 1159 +
.../SendMessageSucceededMessage.html | 1137 +
.../UpdateMessagesStatusFailedMessage.html | 1164 +
.../UpdateMessagesStatusMessage.html | 1159 +
.../UpdateMessagesStatusSucceededMessage.html | 1137 +
.../UpdateMessagingEndpointStateMessage.html | 1171 +
.../Messaging/UploadConversationsMessage.html | 1137 +
.../Navigation/AnnounceManeuverMessage.html | 1137 +
.../AnnounceRoadRegulationMessage.html | 1141 +
.../Navigation/CancelNavigationMessage.html | 1128 +
.../Navigation/ControlDisplayMessage.html | 1155 +
.../Navigation/GetNavigationStateMessage.html | 1128 +
.../GetNavigationStateMessageReply.html | 1149 +
.../NavigateToPreviousWaypointMessage.html | 1128 +
.../Navigation/NavigationErrorMessage.html | 1197 +
.../Navigation/NavigationEventMessage.html | 1168 +
.../ShowAlternativeRoutesMessage.html | 1142 +
...ShowAlternativeRoutesSucceededMessage.html | 1137 +
.../ShowPreviousWaypointsMessage.html | 1128 +
.../Navigation/StartNavigationMessage.html | 1137 +
.../GetNetworkStatusMessage.html | 1128 +
.../GetNetworkStatusMessageReply.html | 1156 +
.../GetWifiSignalStrengthMessage.html | 1128 +
.../GetWifiSignalStrengthMessageReply.html | 1149 +
.../NetworkStatusChangedMessage.html | 1155 +
.../OnNotificationReceivedMessage.html | 1128 +
.../Notifications/SetIndicatorMessage.html | 1142 +
.../PhoneCallController/AnswerMessage.html | 1137 +
.../CallFailedMessage.html | 1166 +
.../CallStateChangedMessage.html | 1167 +
.../CallerIdReceivedMessage.html | 1148 +
.../ConnectionStateChangedMessage.html | 1141 +
.../CreateCallIdMessage.html | 1128 +
.../CreateCallIdMessageReply.html | 1149 +
.../DeviceConfigurationUpdatedMessage.html | 1137 +
.../docs/PhoneCallController/DialMessage.html | 1137 +
.../PhoneCallController/RedialMessage.html | 1137 +
.../SendDTMFFailedMessage.html | 1163 +
.../PhoneCallController/SendDTMFMessage.html | 1137 +
.../SendDTMFSucceededMessage.html | 1137 +
.../docs/PhoneCallController/StopMessage.html | 1137 +
.../ButtonPressedMessage.html | 1147 +
.../TogglePressedMessage.html | 1157 +
.../PropertyManager/GetPropertyMessage.html | 1137 +
.../GetPropertyMessageReply.html | 1160 +
.../PropertyChangedMessage.html | 1148 +
.../PropertyStateChangedMessage.html | 1163 +
.../PropertyManager/SetPropertyMessage.html | 1148 +
.../docs/Publish Message General Form.html | 1165 +
.../aasb/docs/Reply Message General Form.html | 1177 +
.../EndOfSpeechDetectedMessage.html | 1129 +
.../SpeechRecognizer/StartCaptureMessage.html | 1179 +
.../SpeechRecognizer/StopCaptureMessage.html | 1129 +
.../WakewordDetectedMessage.html | 1137 +
.../ClearPlayerInfoMessage.html | 1128 +
.../TemplateRuntime/ClearTemplateMessage.html | 1128 +
.../DisplayCardClearedMessage.html | 1128 +
.../RenderPlayerInfoMessage.html | 1183 +
.../RenderTemplateMessage.html | 1153 +
extensions/aasb/meta-aac-aasb/conf/layer.conf | 1 +
.../modules/aasb-address-book}/CMakeLists.txt | 26 +-
.../aac-aasb-address-book.bb | 7 +
.../aasb-address-book/engine/CMakeLists.txt | 60 +
.../AASB/Engine/AddressBook/AASBAddressBook.h | 58 +
.../AASBAddressBookEngineService.h | 44 +
.../AddressBook/AddAddressBookMessage.h | 154 +
.../AddressBook/AddAddressBookMessageReply.h | 144 +
.../AddressBook/AddressBook/AddressBook.h | 79 +
.../AddressBook/AddressBook/AddressBookType.h | 81 +
.../AddressBook/AddressBook/ContactName.h | 75 +
.../AddressBook/AddressBook/NavigationName.h | 69 +
.../AddressBook/AddressBook/PhoneData.h | 72 +
.../AddressBook/AddressBook/PostalAddress.h | 102 +
.../AddressBook/RemoveAddressBookMessage.h | 141 +
.../RemoveAddressBookMessageReply.h | 144 +
.../engine/src/AASBAddressBook.cpp | 183 +
.../src/AASBAddressBookEngineService.cpp | 60 +
.../aasb/modules/aasb-alexa/CMakeLists.txt | 47 +
.../aasb/modules/aasb-alexa/aac-aasb-alexa.bb | 7 +
.../modules/aasb-alexa/engine/CMakeLists.txt | 193 +
.../include/AASB/Engine/Alexa/AASBAlerts.h | 51 +
.../AASB/Engine/Alexa/AASBAlexaClient.h | 49 +
.../Engine/Alexa/AASBAlexaEngineService.h | 70 +
.../AASB/Engine/Alexa/AASBAlexaSpeaker.h | 47 +
.../AASB/Engine/Alexa/AASBAudioPlayer.h | 49 +
.../AASB/Engine/Alexa/AASBAuthProvider.h | 53 +
.../AASB/Engine/Alexa/AASBDoNotDisturb.h | 49 +
.../Engine/Alexa/AASBEqualizerController.h | 50 +
.../Engine/Alexa/AASBExternalMediaAdapter.h | 69 +
.../AASB/Engine/Alexa/AASBGlobalPreset.h | 47 +
.../AASB/Engine/Alexa/AASBLocalMediaSource.h | 55 +
.../AASB/Engine/Alexa/AASBNotifications.h | 50 +
.../Engine/Alexa/AASBPlaybackController.h | 43 +
.../AASB/Engine/Alexa/AASBSpeechRecognizer.h | 50 +
.../AASB/Engine/Alexa/AASBSpeechSynthesizer.h | 30 +-
.../AASB/Engine/Alexa/AASBTemplateRuntime.h | 55 +
.../Alexa/Alerts/AlertCreatedMessage.h | 144 +
.../Alexa/Alerts/AlertDeletedMessage.h | 141 +
.../AASB/Message/Alexa/Alerts/AlertState.h | 117 +
.../Alexa/Alerts/AlertStateChangedMessage.h | 150 +
.../Message/Alexa/Alerts/LocalStopMessage.h | 136 +
.../Alexa/Alerts/RemoveAllAlertsMessage.h | 136 +
.../Message/Alexa/AlexaClient/AuthError.h | 129 +
.../Message/Alexa/AlexaClient/AuthState.h | 89 +
.../AlexaClient/AuthStateChangedMessage.h | 149 +
.../AlexaClient/ConnectionChangedReason.h | 141 +
.../Alexa/AlexaClient/ConnectionStatus.h | 85 +
.../ConnectionStatusChangedMessage.h | 149 +
.../Message/Alexa/AlexaClient/DialogState.h | 93 +
.../AlexaClient/DialogStateChangedMessage.h | 144 +
.../StopForegroundActivityMessage.h | 136 +
.../AlexaSpeaker/LocalAdjustVolumeMessage.h | 147 +
.../Alexa/AlexaSpeaker/LocalSetMuteMessage.h | 147 +
.../AlexaSpeaker/LocalSetVolumeMessage.h | 147 +
.../SpeakerSettingsChangedMessage.h | 153 +
.../Message/Alexa/AlexaSpeaker/SpeakerType.h | 81 +
.../AudioPlayer/GetPlayerDurationMessage.h | 136 +
.../GetPlayerDurationMessageReply.h | 144 +
.../AudioPlayer/GetPlayerPositionMessage.h | 136 +
.../GetPlayerPositionMessageReply.h | 144 +
.../Alexa/AudioPlayer/PlayerActivity.h | 97 +
.../PlayerActivityChangedMessage.h | 144 +
.../AuthProvider/AuthStateChangedMessage.h | 149 +
.../Alexa/AuthProvider/GetAuthStateMessage.h | 136 +
.../AuthProvider/GetAuthStateMessageReply.h | 147 +
.../Alexa/AuthProvider/GetAuthTokenMessage.h | 136 +
.../AuthProvider/GetAuthTokenMessageReply.h | 144 +
.../DoNotDisturb/DoNotDisturbChangedMessage.h | 141 +
.../DoNotDisturb/SetDoNotDisturbMessage.h | 141 +
.../Alexa/EqualizerController/EqualizerBand.h | 85 +
.../EqualizerController/EqualizerBandLevel.h | 70 +
.../GetBandLevelsMessage.h | 136 +
.../GetBandLevelsMessageReply.h | 147 +
.../LocalAdjustBandLevelsMessage.h | 144 +
.../LocalResetBandsMessage.h | 144 +
.../LocalSetBandLevelsMessage.h | 144 +
.../SetBandLevelsMessage.h | 144 +
.../ExternalMediaAdapter/AdjustSeekMessage.h | 144 +
.../ExternalMediaAdapter/AuthorizeMessage.h | 144 +
.../AuthorizedPlayerInfo.h | 67 +
.../DiscoveredPlayerInfo.h | 77 +
.../ExternalMediaAdapterState.h | 69 +
.../Alexa/ExternalMediaAdapter/Favorites.h | 85 +
.../ExternalMediaAdapter/GetStateMessage.h | 147 +
.../LoginCompleteMessage.h | 141 +
.../Alexa/ExternalMediaAdapter/LoginMessage.h | 153 +
.../LogoutCompleteMessage.h | 141 +
.../ExternalMediaAdapter/LogoutMessage.h | 141 +
.../Alexa/ExternalMediaAdapter/MediaType.h | 97 +
.../Alexa/ExternalMediaAdapter/MutedState.h | 81 +
.../MutedStateChangedMessage.h | 144 +
.../Alexa/ExternalMediaAdapter/Navigation.h | 85 +
.../ExternalMediaAdapter/PlayControlMessage.h | 147 +
.../ExternalMediaAdapter/PlayControlType.h | 133 +
.../Alexa/ExternalMediaAdapter/PlayMessage.h | 159 +
.../PlaybackStateExternal.h | 140 +
.../ExternalMediaAdapter/PlayerErrorMessage.h | 153 +
.../ExternalMediaAdapter/PlayerEventMessage.h | 144 +
.../RemoveDiscoveredPlayerMessage.h | 141 +
.../ReportDiscoveredPlayersMessage.h | 144 +
.../RequestTokenMessage.h | 141 +
.../Alexa/ExternalMediaAdapter/SeekMessage.h | 144 +
.../SessionStateExternal.h | 91 +
.../ExternalMediaAdapter/SetFocusMessage.h | 141 +
.../SupportedPlaybackOperation.h | 141 +
.../ExternalMediaAdapter/ValidationData.h | 64 +
.../ExternalMediaAdapter/ValidationMethod.h | 85 +
.../VolumeChangedMessage.h | 141 +
.../GlobalPreset/SetGlobalPresetMessage.h | 141 +
.../LocalMediaSource/AdjustSeekMessage.h | 147 +
.../Alexa/LocalMediaSource/ContentSelector.h | 87 +
.../Alexa/LocalMediaSource/GetSourceMessage.h | 136 +
.../Alexa/LocalMediaSource/GetStateMessage.h | 144 +
.../LocalMediaSource/GetStateMessageReply.h | 145 +
.../LocalMediaSource/LocalMediaSourceState.h | 71 +
.../MutedStateChangedMessage.h | 149 +
.../LocalMediaSource/PlayControlMessage.h | 149 +
.../Alexa/LocalMediaSource/PlayMessage.h | 152 +
.../Alexa/LocalMediaSource/PlaybackState.h | 142 +
.../LocalMediaSource/PlayerErrorMessage.h | 156 +
.../LocalMediaSource/PlayerEventMessage.h | 147 +
.../Alexa/LocalMediaSource/SeekMessage.h | 147 +
.../Alexa/LocalMediaSource/SessionState.h | 96 +
.../Alexa/LocalMediaSource/SetFocusMessage.h | 144 +
.../Message/Alexa/LocalMediaSource/Source.h | 111 +
.../LocalMediaSource/VolumeChangedMessage.h | 147 +
.../Alexa/Notifications/IndicatorState.h | 85 +
.../OnNotificationReceivedMessage.h | 136 +
.../Alexa/Notifications/SetIndicatorMessage.h | 144 +
.../PlaybackController/ButtonPressedMessage.h | 144 +
.../Alexa/PlaybackController/PlaybackButton.h | 97 +
.../Alexa/PlaybackController/PlaybackToggle.h | 93 +
.../PlaybackController/TogglePressedMessage.h | 147 +
.../EndOfSpeechDetectedMessage.h | 136 +
.../Alexa/SpeechRecognizer/Initiator.h | 85 +
.../SpeechRecognizer/StartCaptureMessage.h | 153 +
.../SpeechRecognizer/StopCaptureMessage.h | 136 +
.../WakewordDetectedMessage.h | 141 +
.../TemplateRuntime/ClearPlayerInfoMessage.h | 136 +
.../TemplateRuntime/ClearTemplateMessage.h | 136 +
.../DisplayCardClearedMessage.h | 136 +
.../Alexa/TemplateRuntime/FocusState.h | 85 +
.../TemplateRuntime/RenderPlayerInfoMessage.h | 155 +
.../TemplateRuntime/RenderTemplateMessage.h | 147 +
.../aasb-alexa/engine/src/AASBAlerts.cpp | 156 +
.../aasb-alexa/engine/src/AASBAlexaClient.cpp | 132 +
.../engine/src/AASBAlexaEngineService.cpp | 319 +
.../engine/src/AASBAlexaSpeaker.cpp | 138 +
.../aasb-alexa/engine/src/AASBAudioPlayer.cpp | 131 +
.../engine/src/AASBAuthProvider.cpp | 137 +
.../engine/src/AASBDoNotDisturb.cpp | 97 +
.../engine/src/AASBEqualizerController.cpp | 196 +
.../engine/src/AASBExternalMediaAdapter.cpp | 598 +
.../engine/src/AASBGlobalPreset.cpp | 78 +
.../engine/src/AASBLocalMediaSource.cpp | 284 +
.../engine/src/AASBNotifications.cpp | 94 +
.../engine/src/AASBPlaybackController.cpp | 99 +
.../engine/src/AASBSpeechRecognizer.cpp | 139 +
.../engine/src/AASBSpeechSynthesizer.cpp | 38 +
.../engine/src/AASBTemplateRuntime.cpp | 154 +
.../aasb/modules/aasb-apl/CMakeLists.txt | 46 +
.../aasb/modules/aasb-apl/aac-aasb-apl.bb | 7 +
.../modules/aasb-apl/engine/CMakeLists.txt | 65 +
.../engine/include/AASB/Engine/APL/AASBAPL.h | 52 +
.../AASB/Engine/APL/AASBAPLEngineService.h | 47 +
.../AASB/Message/Apl/APL/ActivityEvent.h | 93 +
.../Apl/APL/ClearAllExecuteCommandsMessage.h | 136 +
.../AASB/Message/Apl/APL/ClearCardMessage.h | 136 +
.../Message/Apl/APL/ClearDocumentMessage.h | 136 +
.../Message/Apl/APL/ExecuteCommandsMessage.h | 144 +
.../Apl/APL/ExecuteCommandsResultMessage.h | 147 +
.../Message/Apl/APL/GetVisualContextMessage.h | 136 +
.../Apl/APL/GetVisualContextMessageReply.h | 144 +
.../Apl/APL/InterruptCommandSequenceMessage.h | 136 +
.../Apl/APL/ProcessActivityEventMessage.h | 147 +
.../Message/Apl/APL/RenderDocumentMessage.h | 147 +
.../Apl/APL/RenderDocumentResultMessage.h | 147 +
.../Message/Apl/APL/SendUserEventMessage.h | 141 +
.../Message/Apl/APL/SetAPLMaxVersionMessage.h | 141 +
.../Apl/APL/SetDocumentIdleTimeoutMessage.h | 141 +
.../modules/aasb-apl/engine/src/AASBAPL.cpp | 309 +
.../engine/src/AASBAPLEngineService.cpp | 60 +
.../modules/aasb-car-control/CMakeLists.txt | 46 +
.../aasb-car-control/aac-aasb-car-control.bb | 7 +
.../aasb-car-control/engine/CMakeLists.txt | 58 +
.../AASB/Engine/CarControl/AASBCarControl.h | 81 +
.../CarControl/AASBCarControlEngineService.h | 47 +
.../AdjustControllerValueMessageReply.h | 144 +
.../AdjustModeControllerValueMessage.h | 156 +
.../AdjustRangeControllerValueMessage.h | 156 +
.../SetControllerValueMessageReply.h | 144 +
.../SetModeControllerValueMessage.h | 156 +
.../SetPowerControllerValueMessage.h | 153 +
.../SetRangeControllerValueMessage.h | 156 +
.../SetToggleControllerValueMessage.h | 156 +
.../engine/src/AASBCarControl.cpp | 411 +
.../src/AASBCarControlEngineService.cpp | 60 +
.../aasb/modules/aasb-cbl/CMakeLists.txt | 47 +
.../aasb/modules/aasb-cbl/aac-aasb-cbl.bb | 7 +
.../modules/aasb-cbl/engine/CMakeLists.txt | 61 +
.../engine/include/AASB/Engine/CBL/AASBCBL.h | 59 +
.../AASB/Engine/CBL/AASBCBLEngineService.h | 44 +
.../include/AASB/Message/Cbl/CBL/CBLState.h | 97 +
.../Message/Cbl/CBL/CBLStateChangedMessage.h | 155 +
.../Message/Cbl/CBL/CBLStateChangedReason.h | 97 +
.../AASB/Message/Cbl/CBL/CancelMessage.h | 136 +
.../Cbl/CBL/ClearRefreshTokenMessage.h | 136 +
.../Message/Cbl/CBL/GetRefreshTokenMessage.h | 136 +
.../Cbl/CBL/GetRefreshTokenMessageReply.h | 144 +
.../AASB/Message/Cbl/CBL/ResetMessage.h | 136 +
.../Message/Cbl/CBL/SetRefreshTokenMessage.h | 141 +
.../Message/Cbl/CBL/SetUserProfileMessage.h | 144 +
.../AASB/Message/Cbl/CBL/StartMessage.h | 136 +
.../modules/aasb-cbl/engine/src/AASBCBL.cpp | 208 +
.../engine/src/AASBCBLEngineService.cpp | 60 +
.../aasb/modules/aasb-core/CMakeLists.txt | 45 +
.../aasb/modules/aasb-core/aac-aasb-core.bb | 7 +
.../modules/aasb-core/engine/CMakeLists.txt | 127 +
.../Engine/Audio/AASBAudioEngineService.h | 49 +
.../AASB/Engine/Audio/AASBAudioInput.h | 94 +
.../Engine/Audio/AASBAudioInputProvider.h | 59 +
.../AASB/Engine/Audio/AASBAudioOutput.h | 97 +
.../Engine/Audio/AASBAudioOutputProvider.h | 56 +
.../Location/AASBLocationEngineService.h | 47 +
.../Engine/Location/AASBLocationProvider.h | 53 +
.../Engine/Network/AASBNetworkEngineService.h | 47 +
.../Engine/Network/AASBNetworkInfoProvider.h | 50 +
.../PropertyManager/AASBPropertyManager.h | 53 +
.../AASBPropertyManagerEngineService.h | 46 +
.../Audio/AudioInput/AudioInputAudioType.h | 85 +
.../Audio/AudioInput/StartAudioInputMessage.h | 150 +
.../Audio/AudioInput/StopAudioInputMessage.h | 141 +
.../Audio/AudioOutput/AudioOutputAudioType.h | 101 +
.../Audio/AudioOutput/AudioOutputSourceType.h | 81 +
.../Audio/AudioOutput/AudioStreamEncoding.h | 89 +
.../Audio/AudioOutput/AudioStreamProperty.h | 67 +
.../Audio/AudioOutput/GetDurationMessage.h | 144 +
.../AudioOutput/GetDurationMessageReply.h | 144 +
.../AudioOutput/GetNumBytesBufferedMessage.h | 144 +
.../GetNumBytesBufferedMessageReply.h | 144 +
.../Audio/AudioOutput/GetPositionMessage.h | 144 +
.../AudioOutput/GetPositionMessageReply.h | 144 +
.../Message/Audio/AudioOutput/MediaError.h | 93 +
.../Audio/AudioOutput/MediaErrorMessage.h | 150 +
.../Message/Audio/AudioOutput/MediaState.h | 85 +
.../AudioOutput/MediaStateChangedMessage.h | 150 +
.../Message/Audio/AudioOutput/MutedState.h | 81 +
.../AudioOutput/MutedStateChangedMessage.h | 147 +
.../Message/Audio/AudioOutput/PauseMessage.h | 144 +
.../Message/Audio/AudioOutput/PlayMessage.h | 144 +
.../Audio/AudioOutput/PrepareStreamMessage.h | 173 +
.../Audio/AudioOutput/PrepareURLMessage.h | 165 +
.../Message/Audio/AudioOutput/ResumeMessage.h | 144 +
.../Audio/AudioOutput/SetPositionMessage.h | 147 +
.../Message/Audio/AudioOutput/StopMessage.h | 144 +
.../Audio/AudioOutput/VolumeChangedMessage.h | 144 +
.../LocationProvider/GetCountryMessage.h | 136 +
.../LocationProvider/GetCountryMessageReply.h | 144 +
.../LocationProvider/GetLocationMessage.h | 136 +
.../GetLocationMessageReply.h | 147 +
.../Location/LocationProvider/Location.h | 67 +
.../GetNetworkStatusMessage.h | 136 +
.../GetNetworkStatusMessageReply.h | 147 +
.../GetWifiSignalStrengthMessage.h | 136 +
.../GetWifiSignalStrengthMessageReply.h | 144 +
.../NetworkInfoProvider/NetworkStatus.h | 93 +
.../NetworkStatusChangedMessage.h | 147 +
.../PropertyManager/GetPropertyMessage.h | 141 +
.../PropertyManager/GetPropertyMessageReply.h | 147 +
.../PropertyManager/PropertyChangedMessage.h | 144 +
.../PropertyManager/PropertyState.h | 81 +
.../PropertyStateChangedMessage.h | 150 +
.../PropertyManager/SetPropertyMessage.h | 144 +
.../src/Audio/AASBAudioEngineService.cpp | 73 +
.../engine/src/Audio/AASBAudioInput.cpp | 162 +
.../src/Audio/AASBAudioInputProvider.cpp | 82 +
.../engine/src/Audio/AASBAudioOutput.cpp | 458 +
.../src/Audio/AASBAudioOutputProvider.cpp | 83 +
.../Location/AASBLocationEngineService.cpp | 60 +
.../src/Location/AASBLocationProvider.cpp | 117 +
.../src/Network/AASBNetworkEngineService.cpp | 60 +
.../src/Network/AASBNetworkInfoProvider.cpp | 141 +
.../PropertyManager/AASBPropertyManager.cpp | 154 +
.../AASBPropertyManagerEngineService.cpp | 61 +
.../modules/aasb-messaging/CMakeLists.txt | 46 +
.../aasb-messaging/aac-aasb-messaging.bb | 7 +
.../aasb-messaging/engine/CMakeLists.txt | 62 +
.../AASB/Engine/Messaging/AASBMessaging.h | 59 +
.../Messaging/AASBMessagingEngineService.h | 44 +
.../Messaging/Messaging/ConnectionState.h | 81 +
.../Messaging/ConversationsReportMessage.h | 144 +
.../Message/Messaging/Messaging/ErrorCode.h | 85 +
.../Messaging/Messaging/PermissionState.h | 81 +
.../Messaging/SendMessageFailedMessage.h | 150 +
.../Messaging/Messaging/SendMessageMessage.h | 147 +
.../Messaging/SendMessageSucceededMessage.h | 141 +
.../UpdateMessagesStatusFailedMessage.h | 150 +
.../Messaging/UpdateMessagesStatusMessage.h | 147 +
.../UpdateMessagesStatusSucceededMessage.h | 141 +
.../UpdateMessagingEndpointStateMessage.h | 152 +
.../Messaging/UploadConversationsMessage.h | 141 +
.../engine/src/AASBMessaging.cpp | 233 +
.../engine/src/AASBMessagingEngineService.cpp | 60 +
.../modules/aasb-navigation/CMakeLists.txt | 47 +
.../aasb-navigation/aac-aasb-navigation.bb | 7 +
.../aasb-navigation/engine/CMakeLists.txt | 69 +
.../AASB/Engine/Navigation/AASBNavigation.h | 62 +
.../Navigation/AASBNavigationEngineService.h | 47 +
.../Navigation/AlternateRouteType.h | 87 +
.../Navigation/AnnounceManeuverMessage.h | 141 +
.../AnnounceRoadRegulationMessage.h | 144 +
.../Navigation/CancelNavigationMessage.h | 136 +
.../Navigation/Navigation/ControlDisplay.h | 139 +
.../Navigation/ControlDisplayMessage.h | 144 +
.../Message/Navigation/Navigation/ErrorCode.h | 95 +
.../Message/Navigation/Navigation/ErrorType.h | 191 +
.../Message/Navigation/Navigation/EventName.h | 191 +
.../Navigation/GetNavigationStateMessage.h | 136 +
.../GetNavigationStateMessageReply.h | 144 +
.../NavigateToPreviousWaypointMessage.h | 136 +
.../Navigation/NavigationErrorMessage.h | 152 +
.../Navigation/NavigationEventMessage.h | 144 +
.../Navigation/Navigation/RoadRegulation.h | 83 +
.../Navigation/ShowAlternativeRoutesMessage.h | 144 +
.../ShowAlternativeRoutesSucceededMessage.h | 141 +
.../Navigation/ShowPreviousWaypointsMessage.h | 136 +
.../Navigation/StartNavigationMessage.h | 141 +
.../engine/src/AASBNavigation.cpp | 302 +
.../src/AASBNavigationEngineService.cpp | 60 +
.../modules/aasb-phone-control/CMakeLists.txt | 47 +
.../aac-aasb-phone-control.bb | 7 +
.../aasb-phone-control/engine/CMakeLists.txt | 70 +
.../AASBPhoneCallController.h | 60 +
.../AASBPhoneCallControllerEngineService.h | 44 +
.../PhoneCallController/AnswerMessage.h | 141 +
.../PhoneCallController/CallError.h | 93 +
.../PhoneCallController/CallFailedMessage.h | 150 +
.../PhoneCallController/CallState.h | 97 +
.../CallStateChangedMessage.h | 150 +
.../CallerIdReceivedMessage.h | 144 +
.../CallingDeviceConfigurationProperty.h | 77 +
.../PhoneCallController/ConnectionState.h | 81 +
.../ConnectionStateChangedMessage.h | 144 +
.../PhoneCallController/CreateCallIdMessage.h | 136 +
.../CreateCallIdMessageReply.h | 144 +
.../PhoneCallController/DTMFError.h | 81 +
.../DeviceConfigurationUpdatedMessage.h | 141 +
.../PhoneCallController/DialMessage.h | 141 +
.../PhoneCallController/RedialMessage.h | 141 +
.../SendDTMFFailedMessage.h | 150 +
.../PhoneCallController/SendDTMFMessage.h | 141 +
.../SendDTMFSucceededMessage.h | 141 +
.../PhoneCallController/StopMessage.h | 141 +
.../engine/src/AASBPhoneCallController.cpp | 371 +
.../AASBPhoneCallControllerEngineService.cpp | 61 +
extensions/aasb/modules/aasb/CMakeLists.txt | 33 +
.../aasb/modules/aasb/aac-module-aasb.bb | 7 +
.../aasb/modules/aasb/engine/CMakeLists.txt | 58 +
.../include/AACE/Engine/AASB/AASBEngineImpl.h | 66 +
.../AACE/Engine/AASB/AASBEngineService.h | 89 +
.../Engine/AASB/AASBHandlerEngineService.h | 75 +
.../AACE/Engine/AASB/AASBServiceInterface.h | 46 +
.../engine/include/AACE/Engine/AASB/Message.h | 100 +
.../include/AACE/Engine/AASB/MessageBroker.h | 94 +
.../AACE/Engine/AASB/MessageBrokerInterface.h | 53 +
.../include/AACE/Engine/AASB/PublishMessage.h | 73 +
.../include/AACE/Engine/AASB/StreamManager.h | 58 +
.../AACE/Engine/AASB/StreamManagerInterface.h | 41 +
.../AASB/Message/AASB/StartServiceMessage.h | 126 +
.../AASB/Message/AASB/StopServiceMessage.h | 126 +
.../aasb/engine/src/AASBEngineImpl.cpp | 116 +
.../aasb/engine/src/AASBEngineService.cpp | 198 +
.../engine/src/AASBHandlerEngineService.cpp | 132 +
.../aasb/engine/src/AASBServiceInterface.cpp | 21 +-
.../aasb/modules/aasb/engine/src/Message.cpp | 131 +
.../modules/aasb/engine/src/MessageBroker.cpp | 298 +
.../aasb/engine/src/PublishMessage.cpp | 111 +
.../modules/aasb/engine/src/StreamManager.cpp | 82 +
.../aasb/modules/aasb/platform/CMakeLists.txt | 48 +
.../aasb/platform/include/AACE/AASB/AASB.h | 78 +
.../include/AACE/AASB/AASBEngineInterfaces.h | 25 +-
.../platform/include/AACE/AASB/AASBStream.h | 87 +
.../aasb/modules/aasb/platform/src/AASB.cpp | 42 +
.../modules/aasb/platform/src/AASBStream.cpp | 16 +-
extensions/aasb/platforms/android/.gitignore | 78 +
.../modules/aasb-address-book/CMakeLists.txt | 54 +
.../modules/aasb-address-book/build.gradle | 67 +
.../src/main/AndroidManifest.xml | 2 +-
.../assets/meta-aac/aasb-address-book.json | 5 +
.../aasb-address-book/src/main/cpp/dummy.cpp | 1 +
.../android/modules/aasb-alexa/CMakeLists.txt | 53 +
.../android/modules/aasb-alexa/build.gradle | 67 +
.../aasb-alexa/src/main/AndroidManifest.xml | 4 +
.../src/main/assets/meta-aac/aasb-alexa.json | 5 +
.../modules/aasb-alexa/src/main/cpp/dummy.cpp | 1 +
.../android/modules/aasb-apl/CMakeLists.txt | 53 +
.../android/modules/aasb-apl/build.gradle | 67 +
.../aasb-apl/src/main/AndroidManifest.xml | 4 +
.../src/main/assets/meta-aac/aasb-apl.json | 5 +
.../modules/aasb-apl/src/main/cpp/dummy.cpp | 1 +
.../modules/aasb-car-control/CMakeLists.txt | 54 +
.../modules/aasb-car-control/build.gradle | 67 +
.../src/main/AndroidManifest.xml | 4 +
.../assets/meta-aac/aasb-car-control.json | 5 +
.../aasb-car-control/src/main/cpp/dummy.cpp | 1 +
.../android/modules/aasb-cbl/CMakeLists.txt | 53 +
.../android/modules/aasb-cbl/build.gradle | 67 +
.../aasb-cbl/src/main/AndroidManifest.xml | 4 +
.../src/main/assets/meta-aac/aasb-cbl.json | 5 +
.../modules/aasb-cbl/src/main/cpp/dummy.cpp | 1 +
.../android/modules/aasb-core/CMakeLists.txt | 51 +
.../android/modules/aasb-core/build.gradle | 67 +
.../aasb-core/src/main/AndroidManifest.xml | 4 +
.../src/main/assets/meta-aac/aasb-core.json | 5 +
.../modules/aasb-core/src/main/cpp/dummy.cpp | 1 +
.../modules/aasb-messaging/CMakeLists.txt | 54 +
.../modules/aasb-messaging/build.gradle | 67 +
.../src/main/AndroidManifest.xml | 4 +
.../main/assets/meta-aac/aasb-messaging.json | 5 +
.../aasb-messaging/src/main/cpp/dummy.cpp | 1 +
.../modules/aasb-navigation/CMakeLists.txt | 54 +
.../modules/aasb-navigation/build.gradle | 67 +
.../src/main/AndroidManifest.xml | 4 +
.../main/assets/meta-aac/aasb-navigation.json | 5 +
.../aasb-navigation/src/main/cpp/dummy.cpp | 1 +
.../modules/aasb-phone-control/CMakeLists.txt | 54 +
.../modules/aasb-phone-control/build.gradle | 67 +
.../src/main/AndroidManifest.xml | 4 +
.../assets/meta-aac/aasb-phone-control.json | 5 +
.../aasb-phone-control/src/main/cpp/dummy.cpp | 1 +
.../android/modules/aasb/CMakeLists.txt | 54 +
.../android/modules/aasb}/build.gradle | 5 +-
.../modules/aasb/src/main/AndroidManifest.xml | 4 +
.../src/main/assets/meta-aac/aace-aasb.json | 5 +
.../cpp/include/AACE/JNI/AASB/AASBBinder.h | 57 +
.../include/AACE/JNI/AASB/AASBStreamBinder.h | 67 +
.../aasb/src/main/cpp/src/AASBBinder.cpp | 111 +
.../src/main/cpp/src/AASBStreamBinder.cpp | 115 +
.../main/java/com/amazon/aace/aasb/AASB.java | 50 +
.../java/com/amazon/aace/aasb/AASBStream.java | 136 +
.../experimental/system-audio/README.md | 4 +
.../modules/audio/engine/CMakeLists.txt | 3 +
.../AACE/Engine/SystemAudio/AudioOutputImpl.h | 24 +-
.../audio/engine/src/AudioOutputImpl.cpp | 323 +-
.../audio/lib/aal/src/gstreamer/core.c | 53 +-
.../modules/audio/lib/aal/src/qsa/core.c | 50 +-
.../modules/audio/lib/aal/src/qsa/player.c | 13 +-
.../platforms/android/.gitignore | 78 +
.../modules/loopback-detector/CMakeLists.txt | 50 +
.../modules/loopback-detector/build.gradle | 66 +
.../src/main/AndroidManifest.xml | 4 +
.../meta-aac/aace-loopback-detector.json | 5 +
.../LoopbackDetectorConfigurationBinder.cpp | 1 +
modules/address-book/README.md | 2 -
modules/alexa/README.md | 291 +-
modules/alexa/cmake/FindAVS.cmake | 2 +
modules/alexa/engine/CMakeLists.txt | 1 +
.../AACE/Engine/Alexa/AlexaEngineService.h | 1 -
.../Engine/Alexa/AudioChannelEngineImpl.h | 8 +-
.../AACE/Engine/Alexa/AudioDuckingConfig.h | 277 +
.../AACE/Engine/Alexa/ExternalMediaPlayer.h | 5 +-
.../Alexa/ExternalMediaPlayerInterface.h | 16 +-
.../Engine/Alexa/SpeechRecognizerEngineImpl.h | 5 +-
.../AACE/Engine/Alexa/SystemSoundPlayer.h | 1 -
modules/alexa/engine/src/AlertsEngineImpl.cpp | 3 +-
.../alexa/engine/src/AlexaEngineService.cpp | 107 +-
.../engine/src/AudioChannelEngineImpl.cpp | 90 +-
.../engine/src/AudioPlayerEngineImpl.cpp | 3 +-
.../alexa/engine/src/ExternalMediaPlayer.cpp | 5 +-
.../engine/src/LocalMediaSourceEngineImpl.cpp | 7 +
.../engine/src/NotificationsEngineImpl.cpp | 3 +-
.../engine/src/SpeechRecognizerEngineImpl.cpp | 2 +-
.../src/SpeechSynthesizerEngineImpl.cpp | 3 +-
.../alexa/engine/src/SystemSoundPlayer.cpp | 2 +-
.../include/AACE/Test/AVS/MockMessageRouter.h | 2 +-
.../AACE/Test/Alexa/MockSpeechRecognizer.h | 3 +-
.../AACE/Test/Alexa/MockTemplateRuntime.h | 10 +-
.../src/TemplateRuntimeEngineImplTest.cpp | 14 +-
.../AACE/Alexa/AlexaEngineInterfaces.h | 2 -
.../include/AACE/Alexa/AlexaProperties.h | 18 -
.../include/AACE/Alexa/ExternalMediaAdapter.h | 108 +-
.../include/AACE/Alexa/LocalMediaSource.h | 84 +-
.../include/AACE/Alexa/SpeechRecognizer.h | 53 +-
.../include/AACE/Alexa/TemplateRuntime.h | 34 +-
.../platform/src/ExternalMediaAdapter.cpp | 45 +
.../alexa/platform/src/LocalMediaSource.cpp | 2 +-
.../alexa/platform/src/SpeechRecognizer.cpp | 27 +-
.../alexa/platform/src/TemplateRuntime.cpp | 22 -
modules/car-control/assets/assets-1P.json | 387 +-
.../AACE/Engine/CarControl/AssetsDefault.h | 385 +-
.../CarControl/CarControlConfigurationImpl.h | 33 -
.../src/CarControlConfigurationImpl.cpp | 62 +-
.../engine/src/CarControlEngineService.cpp | 125 +-
.../engine/src/ToggleController.cpp | 5 -
.../AACE/CarControl/CarControlAssets.h | 4 -
.../AACE/CarControl/CarControlConfiguration.h | 54 -
modules/contact-uploader/README.md | 60 -
.../aac-module-contact-uploader.bb | 7 -
.../contact-uploader/engine/CMakeLists.txt | 57 -
.../ContactUploaderEngineImpl.h | 204 -
.../ContactUploaderEngineService.h | 61 -
.../ContactUploaderRESTAgent.h | 125 -
.../ContactUploaderEngineImpl.cpp | 672 -
.../ContactUploaderEngineService.cpp | 86 -
.../ContactUploaderRESTAgent.cpp | 748 -
.../engine/test/CMakeLists.txt | 24 -
.../test/ContactUploaderEngineImplTest.cpp | 116 -
.../contact-uploader/platform/CMakeLists.txt | 39 -
.../AACE/ContactUploader/ContactUploader.h | 155 -
.../ContactUploaderEngineInterface.h | 143 -
.../src/ContactUploader/ContactUploader.cpp | 64 -
modules/core/README.md | 6 +-
.../include/AACE/Engine/Core/EngineImpl.h | 2 -
.../include/AACE/Engine/Core/EngineService.h | 5 +-
.../engine/src/Audio/AudioEngineService.cpp | 2 +-
.../engine/src/Audio/AudioInputEngineImpl.cpp | 1 +
modules/core/engine/src/EngineImpl.cpp | 99 +-
modules/core/engine/src/EngineService.cpp | 10 +-
.../core/engine/test/src/EngineImplTest.cpp | 12 -
.../core/platform/include/AACE/Core/Engine.h | 32 -
.../AACE/Vehicle/VehicleConfiguration.h | 1 +
modules/navigation/README.md | 24 +
modules/navigation/engine/CMakeLists.txt | 1 +
.../src/NavigationConfigurationImpl.cpp | 47 +
.../engine/src/NavigationEngineService.cpp | 9 +-
modules/navigation/platform/CMakeLists.txt | 4 +-
.../AACE/Navigation/NavigationConfiguration.h | 57 +
.../Navigation/NavigationEngineInterfaces.h | 2 -
...PhoneCallControllerCapabilityAgentTest.cpp | 12 +-
.../PhoneCallControllerEngineImplTest.cpp | 12 +-
.../agl/alexa-voiceagent-service/.gitignore | 3 -
...fb-helpers-app-controller-submodules.patch | 630 -
.../alexa-voiceagent-service/CMakeLists.txt | 19 -
.../agl/alexa-voiceagent-service/License.txt | 202 -
.../agl/alexa-voiceagent-service/README.md | 147 -
.../assets/architecture.png | Bin 60122 -> 0 bytes
.../conf.d/CMakeLists.txt | 18 -
.../conf.d/cmake/00-debian-osconfig.cmake | 1 -
.../conf.d/cmake/00-default-osconfig.cmake | 1 -
.../conf.d/cmake/config.cmake | 260 -
.../conf.d/project/CMakeLists.txt | 18 -
.../conf.d/project/etc/CMakeLists.txt | 30 -
.../etc/alexa-alexa-voiceagent-api.json | 82 -
.../conf.d/wgt/config.xml.in | 29 -
.../alexa-voiceagent-service/htdocs/AFB.js | 217 -
.../htdocs/binding.css | 99 -
.../htdocs/binding.js | 145 -
.../htdocs/index.html | 43 -
.../libs/CMakeLists.txt | 137 -
.../src/CMakeLists.txt | 42 -
.../src/alexa-voiceagent-apidef.json | 109 -
.../src/alexa-voiceagent-binding.c | 125 -
.../src/plugins/AlexaConsts.cpp | 32 -
.../src/plugins/AlexaConsts.h | 37 -
.../src/plugins/AlexaVoiceagentApi.cpp | 598 -
.../src/plugins/AlexaVoiceagentApi.h | 59 -
.../src/plugins/CMakeLists.txt | 132 -
.../src/plugins/aac-services/.clang-format | 102 -
.../src/plugins/aac-services/CMakeLists.txt | 257 -
.../src/plugins/aac-services/README.md | 4 -
.../alexa/include/AlertsHandler.h | 65 -
.../alexa/include/AlexaClientHandler.h | 67 -
.../alexa/include/AudioPlayerHandler.h | 53 -
.../alexa/include/AuthProviderHandler.h | 62 -
.../alexa/include/LocalMediaSourceHandler.h | 102 -
.../include/LocalMediaSourceHandlerManager.h | 106 -
.../alexa/include/LocationProviderHandler.h | 107 -
.../alexa/include/NavigationHandler.h | 86 -
.../include/PhoneCallControllerHandler.h | 137 -
.../alexa/include/PlaybackControllerHandler.h | 85 -
.../alexa/include/SpeechRecognizerHandler.h | 69 -
.../alexa/include/SpeechSynthesizerHandler.h | 48 -
.../alexa/include/TemplateRuntimeHandler.h | 53 -
.../aac-platform/alexa/src/AlertsHandler.cpp | 64 -
.../alexa/src/AlexaClientHandler.cpp | 201 -
.../alexa/src/AudioPlayerHandler.cpp | 72 -
.../alexa/src/AuthProviderHandler.cpp | 97 -
.../alexa/src/LocalMediaSourceHandler.cpp | 742 -
.../src/LocalMediaSourceHandlerManager.cpp | 196 -
.../alexa/src/LocationProviderHandler.cpp | 176 -
.../alexa/src/NavigationHandler.cpp | 134 -
.../alexa/src/PhoneCallControllerHandler.cpp | 339 -
.../alexa/src/PlaybackControllerHandler.cpp | 128 -
.../alexa/src/SpeechRecognizerHandler.cpp | 68 -
.../alexa/src/TemplateRuntimeHandler.cpp | 83 -
.../aac-platform/cbl/include/CBLHandler.h | 80 -
.../aasb/aac-platform/cbl/src/CBLHandler.cpp | 217 -
.../aac-platform/core/include/LoggerHandler.h | 47 -
.../core/include/NetworkInfoProviderHandler.h | 54 -
.../aac-platform/core/src/LoggerHandler.cpp | 62 -
.../core/src/NetworkInfoProviderHandler.cpp | 50 -
.../gloria/include/CardRendererHandler.h | 52 -
.../gloria/include/ListRendererHandler.h | 78 -
.../gloria/src/CardRendererHandler.cpp | 76 -
.../gloria/src/ListRendererHandler.cpp | 155 -
.../car-control/include/CarControlHandler.h | 107 -
.../car-control/src/CarControlHandler.cpp | 450 -
.../aasb/bridge/include/AASBControllerImpl.h | 273 -
.../include/PlatformSpecificLoggingMacros.h | 49 -
.../aasb/bridge/include/ResponseDispatcher.h | 62 -
.../aasb/bridge/include/SyncOverAsync.h | 60 -
.../bridge/include/nlohmann/.clang-format | 2 -
.../aasb/bridge/include/nlohmann/json.hpp | 20842 ----------------
.../aasb/bridge/public/include/aasb/Consts.h | 332 -
.../include/aasb/interfaces/IAASBController.h | 133 -
.../IAlexaCapabilityDirectiveListener.h | 47 -
.../aasb/interfaces/IConfigurationProvider.h | 620 -
.../aasb/bridge/src/AASBConsts.cpp | 315 -
.../aasb/bridge/src/AASBControllerFactory.cpp | 29 -
.../aasb/bridge/src/AASBControllerImpl.cpp | 1021 -
.../aasb/bridge/src/ResponseDispatcher.cpp | 40 -
.../aasb/bridge/src/SyncOverAsync.cpp | 69 -
.../bridge/src/test/AASBControllerTest.cpp | 191 -
.../aasb/bridge/src/test/MockEngine.h | 50 -
.../aac-services/aasb/test/TestMain.cpp | 20 -
.../plugins/aac-services/cmake/gtest.cmake | 47 -
.../src/plugins/aac-services/tools/pre-commit | 140 -
.../AlexaCapabilityDirectiveRouterImpl.cpp | 403 -
.../AlexaCapabilityDirectiveRouterImpl.h | 220 -
.../config/AASBConfigProviderImpl.cpp | 725 -
.../config/AASBConfigProviderImpl.h | 162 -
.../src/plugins/afb/AFBApiImpl.cpp | 116 -
.../src/plugins/afb/AFBApiImpl.h | 64 -
.../src/plugins/afb/AFBRequestImpl.cpp | 33 -
.../src/plugins/afb/AFBRequestImpl.h | 49 -
.../src/plugins/afb/include/AFBEventImpl.h | 77 -
.../src/plugins/afb/src/AFBEventImpl.cpp | 86 -
.../src/plugins/agreement.sh | 43 -
.../src/plugins/audio/Audio.cpp | 51 -
.../src/plugins/audio/Audio.h | 54 -
.../src/plugins/cmake/gtest.cmake | 58 -
.../src/plugins/data/CMakeLists.txt | 12 -
.../config/AlexaAutoCoreEngineConfig.json | 64 -
.../car-control/CarControlDispatcher.cpp | 153 -
.../car-control/CarControlDispatcher.h | 93 -
.../LocalMediaSourceDispatcher.cpp | 143 -
.../LocalMediaSourceDispatcher.h | 106 -
.../LocationProviderDispatcher.cpp | 77 -
.../LocationProviderDispatcher.h | 77 -
.../navigation/NavigationDispatcher.cpp | 96 -
.../navigation/NavigationDispatcher.h | 79 -
.../phonecall/PhoneCallDispatcher.cpp | 167 -
.../phonecall/PhoneCallDispatcher.h | 121 -
.../playback/PlaybackDispatcher.cpp | 95 -
.../dispatchers/playback/PlaybackDispatcher.h | 94 -
.../src/plugins/interfaces/afb/IAFBApi.h | 113 -
.../capability/ICapabilityMessageDispatcher.h | 42 -
.../interfaces/utilities/logging/ILogger.h | 41 -
.../src/plugins/utilities/logging/Logger.cpp | 56 -
.../src/plugins/utilities/logging/Logger.h | 51 -
.../alexa-voiceagent-service/tools/pre-commit | 140 -
.../alexa-auto-client-service/README.md | 433 +
.../android-service/.gitignore | 9 +
.../android-service/README.md | 362 +
.../android-service/build.gradle | 29 +
.../android-service/gradle.properties | 14 +
.../modules/aacs-extra/.gitignore | 1 +
.../modules/aacs-extra/build.gradle | 32 +
.../modules/aacs-extra/consumer-rules.pro | 0
.../modules/aacs-extra/proguard-rules.pro | 21 +
.../aacs-extra/src/main/AndroidManifest.xml | 5 +
.../aacs_extra/AACSContext.java | 13 +
.../AACSModuleFactoryInterface.java | 11 +
.../android-service/service/.gitignore | 56 +
.../android-service/service/build.gradle | 101 +
.../assets/file-util-res/aacs_config.json | 226 +
.../assets/file-util-res/auto_sdk_config.json | 45 +
.../TestAlexaAutoClientService.java | 151 +
.../instrumentedtest/TestFileUtil.java | 353 +
.../instrumentedtest/TestUtil.java | 76 +
.../service/src/main/AndroidManifest.xml | 44 +
.../aidl/com/amazon/alexalve/ILVCClient.aidl | 107 +
.../aidl/com/amazon/alexalve/ILVCService.aidl | 64 +
.../service/src/main/assets/certs/09789157.0 | 24 +
.../service/src/main/assets/certs/3513523f.0 | 22 +
.../service/src/main/assets/certs/6d41d539.0 | 31 +
.../service/src/main/assets/certs/85cf5865.0 | 27 +
.../service/src/main/assets/certs/8cb5ee0f.0 | 12 +
.../service/src/main/assets/certs/b204d74a.0 | 28 +
.../service/src/main/assets/certs/ce5e74ef.0 | 20 +
.../service/src/main/assets/certs/de6d66f3.0 | 13 +
.../service/src/main/assets/certs/f387163d.0 | 24 +
.../alexaautoclientservice/AASBHandler.java | 219 +
.../AlexaAutoClientService.java | 674 +
.../ComponentRegistry.java | 239 +
.../ConfigMessageReceivedCallback.java | 54 +
.../LVCInteractionProvider.java | 173 +
.../constants/AudioSourceConstants.java | 9 +
.../constants/LVCServiceConstants.java | 25 +
.../mediaPlayer/AACSMediaPlayer.java | 49 +
.../mediaPlayer/AudioFocusAttributes.java | 68 +
.../mediaPlayer/EventReceiver.java | 8 +
.../mediaPlayer/exo/ExoPlayerHandler.java | 508 +
.../mediaPlayer/exo/MediaSourceFactory.java | 188 +
.../mediaPlayer/exo/PlaylistParser.java | 109 +
.../raw/RawAudioOutputHandler.java | 272 +
.../AlexaClientMessageHandler.java | 68 +
.../alexaClient/AuthStateObserver.java | 5 +
.../audioInput/AudioInputMessageHandler.java | 401 +
.../AudioOutputMessageHandler.java | 258 +
.../externalMediaPlayer/MACCPlayer.java | 385 +
.../LocationProviderHandler.java | 192 +
.../NetworkInfoProviderHandler.java | 106 +
.../receiver/LVCReceiver.java | 61 +
.../receiver/StartOnBootReceiver.java | 48 +
.../alexaautoclientservice/util/AASBUtil.java | 85 +
.../alexaautoclientservice/util/FileUtil.java | 625 +
.../util/MediaPlayerUtil.java | 53 +
.../res/drawable/alexa_notification_icon.png | Bin 0 -> 3635 bytes
.../service/src/main/res/values/strings.xml | 5 +
.../unittest/TestAASBHandler.java | 39 +
.../android-service/settings.gradle | 1 +
.../assets/AACSArchDetailed.png | Bin 0 -> 128039 bytes
.../assets/AACSInit.puml | 44 +
.../assets/AACSInitFlow.png | Bin 0 -> 85590 bytes
.../assets/AACSWakeword.png | Bin 0 -> 226421 bytes
.../assets/AACSWakeword.puml | 28 +
.../assets/AACS_CBLLogin.png | Bin 0 -> 40862 bytes
.../assets/AACS_CBLLogin.puml | 26 +
.../assets/config.json | 233 +
.../commonutils/.gitignore | 18 +
.../commonutils/README.md | 14 +
.../commonutils/aacscommonutils/.gitignore | 1 +
.../commonutils/aacscommonutils/build.gradle | 45 +
.../aacscommonutils/consumer-rules.pro | 0
.../aacscommonutils/proguard-rules.pro | 21 +
.../src/main/AndroidManifest.xml | 2 +
.../alexa/auto/aacs/common/AACSMessage.java | 32 +
.../auto/aacs/common/AACSMessageBuilder.java | 190 +
.../auto/aacs/common/AACSMessageSender.java | 104 +
.../auto/aacs/common/AACSReplyMessage.java | 27 +
.../common/DialogStateChangedMessages.java | 33 +
.../aacs/common/PlaybackControlMessages.java | 85 +
.../auto/aacs/common/RenderPlayerInfo.kt | 59 +
.../aacs/common/SpeechRecognizerMessages.java | 78 +
.../aacs/common/TemplateRuntimeMessages.java | 36 +
.../aacs/common/AACSMessageBuilderTest.java | 92 +
.../aacs/common/AACSMessageSenderTest.java | 146 +
.../DialogStateChangedMessagesTest.java | 20 +
.../common/PlaybackControlMessagesTest.java | 67 +
.../common/SpeechRecognizerMessagesTest.java | 50 +
.../common/TemplateRuntimeMessagesTest.java | 22 +
.../aacs/common/TestResourceFileReader.java | 25 +
.../aacs/TemplateRuntimePlayerRenderInfo.json | 72 +
.../commonutils/build.gradle | 30 +
.../commonutils/gradle.properties | 20 +
.../commonutils/settings.gradle | 2 +
.../constants/.gitignore | 18 +
.../constants/aacsconstants/.gitignore | 1 +
.../constants/aacsconstants/build.gradle | 32 +
.../aacsconstants/consumer-rules.pro | 0
.../aacsconstants/proguard-rules.pro | 21 +
.../ExampleInstrumentedTest.java | 27 +
.../src/main/AndroidManifest.xml | 2 +
.../amazon/aacsconstants/AACSConstants.java | 30 +
.../amazon/aacsconstants/AASBConstants.java | 154 +
.../java/com/amazon/aacsconstants/Action.java | 259 +
.../amazon/aacsconstants/MediaConstants.java | 40 +
.../aacsconstants/NavigationConstants.java | 105 +
.../aacsconstants/PlaybackConstants.java | 38 +
.../TemplateRuntimeConstants.java | 25 +
.../java/com/amazon/aacsconstants/Topic.java | 47 +
.../amazon/aacsconstants/ExampleUnitTest.java | 17 +
.../constants/build.gradle | 27 +
.../constants/gradle.properties | 20 +
.../constants/settings.gradle | 2 +
.../alexa-auto-client-service/ipc/.gitignore | 17 +
.../alexa-auto-client-service/ipc/README.md | 213 +
.../ipc/aacsipc/.gitignore | 1 +
.../ipc/aacsipc/build.gradle | 44 +
.../ipc/aacsipc/proguard-rules.pro | 21 +
.../aacsipc/ExampleInstrumentedTest.java | 27 +
.../ipc/aacsipc/src/main/AndroidManifest.xml | 4 +
.../java/com/amazon/aacsipc/AACSReceiver.java | 404 +
.../java/com/amazon/aacsipc/AACSSender.java | 501 +
.../java/com/amazon/aacsipc/IPCConstants.java | 62 +
.../java/com/amazon/aacsipc/SenderMap.java | 137 +
.../com/amazon/aacsipc/TargetComponent.java | 64 +
.../java/com/amazon/aacsipc/DummyService.java | 15 +
.../com/amazon/aacsipc/TestAACSReceiver.java | 164 +
.../com/amazon/aacsipc/TestAACSSender.java | 526 +
.../java/com/amazon/aacsipc/TestUtils.java | 21 +
.../ipc/build.gradle | 26 +
.../ipc/gradle.properties | 21 +
.../ipc/settings.gradle | 2 +
.../android/modules/addressbook/build.gradle | 2 +-
platforms/android/modules/alexa/README.md | 311 +-
platforms/android/modules/alexa/build.gradle | 2 +-
.../AACE/JNI/Alexa/AlexaConfigurationBinder.h | 4 +-
.../AACE/JNI/Alexa/SpeechRecognizerBinder.h | 4 +-
.../src/Alexa/AlexaConfigurationBinder.cpp | 8 +-
.../cpp/src/Alexa/SpeechRecognizerBinder.cpp | 51 +-
.../amazon/aace/alexa/AlexaProperties.java | 19 -
.../aace/alexa/ExternalMediaAdapter.java | 32 +-
.../amazon/aace/alexa/LocalMediaSource.java | 17 +-
.../amazon/aace/alexa/SpeechRecognizer.java | 49 +-
.../amazon/aace/alexa/TemplateRuntime.java | 38 +-
platforms/android/modules/apl/build.gradle | 2 +-
.../android/modules/car-control/build.gradle | 2 +-
.../CarControlConfigurationBinder.cpp | 17 -
.../aace/carControl/CarControlAssets.java | 4 -
.../carControl/CarControlConfiguration.java | 56 -
platforms/android/modules/cbl/build.gradle | 2 +-
.../modules/contactuploader/CMakeLists.txt | 53 -
.../android/modules/contactuploader/README.md | 58 -
.../assets/meta-aac/aace-contactuploader.json | 5 -
.../ContactUploader/ContactUploaderBinder.h | 90 -
.../ContactUploader/ContactUploaderBinder.cpp | 155 -
.../aace/contactuploader/ContactUploader.java | 215 -
platforms/android/modules/core/README.md | 6 +-
platforms/android/modules/core/build.gradle | 2 +-
.../core/src/main/cpp/src/EngineBinder.cpp | 30 -
.../java/com/amazon/aace/core/Engine.java | 38 -
.../aace/core/config/StreamConfiguration.java | 2 +-
.../android/modules/maccandroid/build.gradle | 2 +-
.../amazon/maccandroid/MACCAndroidClient.java | 8 +
.../android/modules/messaging/build.gradle | 2 +-
.../android/modules/navigation/CMakeLists.txt | 1 +
.../android/modules/navigation/README.md | 32 +-
.../android/modules/navigation/build.gradle | 2 +-
.../NavigationConfigurationBinder.cpp | 43 +
.../config/NavigationConfiguration.java | 51 +
.../android/modules/phonecontrol/build.gradle | 2 +-
samples/android/README.md | 53 +-
samples/android/app/build.gradle | 5 +-
.../com/amazon/sampleapp/MainActivity.java | 68 +-
.../impl/Audio/AudioOutputHandler.java | 16 +-
.../CarControl/CarControlDataProvider.java | 229 +-
.../impl/ExternalMediaPlayer/MACCPlayer.java | 90 +-
.../LocalMediaSource/AMLocalMediaSource.java | 8 +-
.../BluetoothLocalMediaSource.java | 9 +-
.../LocalMediaSource/CDLocalMediaSource.java | 8 +-
.../LocalMediaSource/DABLocalMediaSource.java | 8 +-
.../LocalMediaSource/FMLocalMediaSource.java | 8 +-
.../LineInLocalMediaSource.java | 8 +-
.../LocalMediaSourceHandler.java | 16 +-
.../SatelliteLocalMediaSource.java | 8 +-
.../SiriusXMLocalMediaSource.java | 8 +-
.../LocalMediaSource/USBLocalMediaSource.java | 8 +-
.../sampleapp/impl/Logger/LoggerHandler.java | 44 +-
.../NetworkInfoProviderHandler.java | 9 +-
.../SpeechRecognizerHandler.java | 12 +-
.../android/modules/sample-apl/build.gradle | 2 +-
.../android/modules/sample-core/build.gradle | 4 +-
.../core/LoggerControllerInterface.java | 6 +
.../sampleapp/core/SampleAppContext.java | 5 +
samples/android/settings.gradle | 3 +-
samples/cpp/README.md | 76 +-
.../SampleApp/Alexa/SpeechRecognizerHandler.h | 10 +-
.../src/Alexa/SpeechRecognizerHandler.cpp | 7 +-
samples/cpp/SampleApp/src/Application.cpp | 13 +-
.../src/CarControl/CarControlDataProvider.cpp | 174 +-
samples/cpp/assets/MENU.md | 2 +-
1528 files changed, 281002 insertions(+), 46538 deletions(-)
create mode 100644 GETSTARTED.md
delete mode 100644 OVERVIEW.md
create mode 100644 assets/aac-seq-ttt.plantuml
create mode 100644 assets/aac-seq-wwe.plantuml
delete mode 100644 builder/meta-aac-builder/conf/machine/aglarm64.conf
delete mode 100644 builder/meta-aac-builder/conf/machine/include/agl.inc
create mode 100755 builder/scripts/run-aacs-android.sh
delete mode 100644 docs/android/classcom_1_1amazon_1_1aace_1_1car_control_1_1_car_control_configuration_1_1_zone.html
delete mode 100644 docs/android/classcom_1_1amazon_1_1aace_1_1contactuploader_1_1_contact_uploader-members.html
delete mode 100644 docs/android/classcom_1_1amazon_1_1aace_1_1contactuploader_1_1_contact_uploader.html
rename docs/android/{classcom_1_1amazon_1_1aace_1_1car_control_1_1_car_control_configuration_1_1_zone-members.html => classcom_1_1amazon_1_1aace_1_1navigation_1_1config_1_1_navigation_configuration-members.html} (72%)
create mode 100644 docs/android/classcom_1_1amazon_1_1aace_1_1navigation_1_1config_1_1_navigation_configuration.html
delete mode 100644 docs/android/enumcom_1_1amazon_1_1aace_1_1contactuploader_1_1_contact_uploader_1_1_contact_upload_status-members.html
delete mode 100644 docs/android/enumcom_1_1amazon_1_1aace_1_1contactuploader_1_1_contact_uploader_1_1_contact_upload_status.html
delete mode 100644 docs/android/search/all_15.html
delete mode 100644 docs/android/search/all_15.js
delete mode 100644 docs/android/search/classes_d.html
delete mode 100644 docs/android/search/classes_d.js
delete mode 100644 docs/cpp/_contact_uploader_8h_source.html
delete mode 100644 docs/cpp/_contact_uploader_engine_interface_8h_source.html
create mode 100644 docs/cpp/_navigation_configuration_8h_source.html
delete mode 100644 docs/cpp/classaace_1_1contact_uploader_1_1_contact_uploader-members.html
delete mode 100644 docs/cpp/classaace_1_1contact_uploader_1_1_contact_uploader.html
rename docs/cpp/{namespaceaace_1_1car_control_1_1config_1_1zone.html => classaace_1_1navigation_1_1config_1_1_navigation_configuration-members.html} (70%)
create mode 100644 docs/cpp/classaace_1_1navigation_1_1config_1_1_navigation_configuration.html
create mode 100644 extensions/aasb/.gitignore
create mode 100644 extensions/aasb/CMakeLists.txt
create mode 100644 extensions/aasb/README.md
create mode 100644 extensions/aasb/assets/AASBNewArch.png
create mode 100644 extensions/aasb/assets/AASBOldArch.png
create mode 100644 extensions/aasb/docs/AASB/StartServiceMessage.html
create mode 100644 extensions/aasb/docs/AASB/StopServiceMessage.html
create mode 100644 extensions/aasb/docs/APL/ClearAllExecuteCommandsMessage.html
create mode 100644 extensions/aasb/docs/APL/ClearCardMessage.html
create mode 100644 extensions/aasb/docs/APL/ClearDocumentMessage.html
create mode 100644 extensions/aasb/docs/APL/ExecuteCommandsMessage.html
create mode 100644 extensions/aasb/docs/APL/ExecuteCommandsResultMessage.html
create mode 100644 extensions/aasb/docs/APL/GetVisualContextMessage.html
create mode 100644 extensions/aasb/docs/APL/GetVisualContextMessageReply.html
create mode 100644 extensions/aasb/docs/APL/InterruptCommandSequenceMessage.html
create mode 100644 extensions/aasb/docs/APL/ProcessActivityEventMessage.html
create mode 100644 extensions/aasb/docs/APL/RenderDocumentMessage.html
create mode 100644 extensions/aasb/docs/APL/RenderDocumentResultMessage.html
create mode 100644 extensions/aasb/docs/APL/SendUserEventMessage.html
create mode 100644 extensions/aasb/docs/APL/SetAPLMaxVersionMessage.html
create mode 100644 extensions/aasb/docs/APL/SetDocumentIdleTimeoutMessage.html
create mode 100644 extensions/aasb/docs/AddressBook/AddAddressBookMessage.html
create mode 100644 extensions/aasb/docs/AddressBook/AddAddressBookMessageReply.html
create mode 100644 extensions/aasb/docs/AddressBook/RemoveAddressBookMessage.html
create mode 100644 extensions/aasb/docs/AddressBook/RemoveAddressBookMessageReply.html
create mode 100644 extensions/aasb/docs/Alerts/AlertCreatedMessage.html
create mode 100644 extensions/aasb/docs/Alerts/AlertDeletedMessage.html
create mode 100644 extensions/aasb/docs/Alerts/AlertStateChangedMessage.html
create mode 100644 extensions/aasb/docs/Alerts/LocalStopMessage.html
create mode 100644 extensions/aasb/docs/Alerts/RemoveAllAlertsMessage.html
create mode 100644 extensions/aasb/docs/AlexaClient/AuthStateChangedMessage.html
create mode 100644 extensions/aasb/docs/AlexaClient/ConnectionStatusChangedMessage.html
create mode 100644 extensions/aasb/docs/AlexaClient/DialogStateChangedMessage.html
create mode 100644 extensions/aasb/docs/AlexaClient/StopForegroundActivityMessage.html
create mode 100644 extensions/aasb/docs/AlexaSpeaker/LocalAdjustVolumeMessage.html
create mode 100644 extensions/aasb/docs/AlexaSpeaker/LocalSetMuteMessage.html
create mode 100644 extensions/aasb/docs/AlexaSpeaker/LocalSetVolumeMessage.html
create mode 100644 extensions/aasb/docs/AlexaSpeaker/SpeakerSettingsChangedMessage.html
create mode 100644 extensions/aasb/docs/AudioInput/StartAudioInputMessage.html
create mode 100644 extensions/aasb/docs/AudioInput/StopAudioInputMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/GetDurationMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/GetDurationMessageReply.html
create mode 100644 extensions/aasb/docs/AudioOutput/GetNumBytesBufferedMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/GetNumBytesBufferedMessageReply.html
create mode 100644 extensions/aasb/docs/AudioOutput/GetPositionMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/GetPositionMessageReply.html
create mode 100644 extensions/aasb/docs/AudioOutput/MediaErrorMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/MediaStateChangedMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/MutedStateChangedMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/PauseMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/PlayMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/PrepareStreamMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/PrepareURLMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/ResumeMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/SetPositionMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/StopMessage.html
create mode 100644 extensions/aasb/docs/AudioOutput/VolumeChangedMessage.html
create mode 100644 extensions/aasb/docs/AudioPlayer/GetPlayerDurationMessage.html
create mode 100644 extensions/aasb/docs/AudioPlayer/GetPlayerDurationMessageReply.html
create mode 100644 extensions/aasb/docs/AudioPlayer/GetPlayerPositionMessage.html
create mode 100644 extensions/aasb/docs/AudioPlayer/GetPlayerPositionMessageReply.html
create mode 100644 extensions/aasb/docs/AudioPlayer/PlayerActivityChangedMessage.html
create mode 100644 extensions/aasb/docs/AuthProvider/AuthStateChangedMessage.html
create mode 100644 extensions/aasb/docs/AuthProvider/GetAuthStateMessage.html
create mode 100644 extensions/aasb/docs/AuthProvider/GetAuthStateMessageReply.html
create mode 100644 extensions/aasb/docs/AuthProvider/GetAuthTokenMessage.html
create mode 100644 extensions/aasb/docs/AuthProvider/GetAuthTokenMessageReply.html
create mode 100644 extensions/aasb/docs/CBL/CBLStateChangedMessage.html
create mode 100644 extensions/aasb/docs/CBL/CancelMessage.html
create mode 100644 extensions/aasb/docs/CBL/ClearRefreshTokenMessage.html
create mode 100644 extensions/aasb/docs/CBL/GetRefreshTokenMessage.html
create mode 100644 extensions/aasb/docs/CBL/GetRefreshTokenMessageReply.html
create mode 100644 extensions/aasb/docs/CBL/ResetMessage.html
create mode 100644 extensions/aasb/docs/CBL/SetRefreshTokenMessage.html
create mode 100644 extensions/aasb/docs/CBL/SetUserProfileMessage.html
create mode 100644 extensions/aasb/docs/CBL/StartMessage.html
create mode 100644 extensions/aasb/docs/CarControl/AdjustModeControllerValueMessage.html
create mode 100644 extensions/aasb/docs/CarControl/AdjustModeControllerValueMessageReply.html
create mode 100644 extensions/aasb/docs/CarControl/AdjustRangeControllerValueMessage.html
create mode 100644 extensions/aasb/docs/CarControl/AdjustRangeControllerValueMessageReply.html
create mode 100644 extensions/aasb/docs/CarControl/SetModeControllerValueMessage.html
create mode 100644 extensions/aasb/docs/CarControl/SetModeControllerValueMessageReply.html
create mode 100644 extensions/aasb/docs/CarControl/SetPowerControllerValueMessage.html
create mode 100644 extensions/aasb/docs/CarControl/SetPowerControllerValueMessageReply.html
create mode 100644 extensions/aasb/docs/CarControl/SetRangeControllerValueMessage.html
create mode 100644 extensions/aasb/docs/CarControl/SetRangeControllerValueMessageReply.html
create mode 100644 extensions/aasb/docs/CarControl/SetToggleControllerValueMessage.html
create mode 100644 extensions/aasb/docs/CarControl/SetToggleControllerValueMessageReply.html
create mode 100644 extensions/aasb/docs/DoNotDisturb/DoNotDisturbChangedMessage.html
create mode 100644 extensions/aasb/docs/DoNotDisturb/SetDoNotDisturbMessage.html
create mode 100644 extensions/aasb/docs/EqualizerController/GetBandLevelsMessage.html
create mode 100644 extensions/aasb/docs/EqualizerController/GetBandLevelsMessageReply.html
create mode 100644 extensions/aasb/docs/EqualizerController/LocalAdjustBandLevelsMessage.html
create mode 100644 extensions/aasb/docs/EqualizerController/LocalResetBandsMessage.html
create mode 100644 extensions/aasb/docs/EqualizerController/LocalSetBandLevelsMessage.html
create mode 100644 extensions/aasb/docs/EqualizerController/SetBandLevelsMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/AdjustSeekMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/AuthorizeMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/GetStateMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/LoginCompleteMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/LoginMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/LogoutCompleteMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/LogoutMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/MutedStateChangedMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/PlayControlMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/PlayMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/PlayerErrorMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/PlayerEventMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/RemoveDiscoveredPlayerMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/ReportDiscoveredPlayersMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/RequestTokenMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/SeekMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/SetFocusMessage.html
create mode 100644 extensions/aasb/docs/ExternalMediaAdapter/VolumeChangedMessage.html
create mode 100644 extensions/aasb/docs/GlobalPreset/SetGlobalPresetMessage.html
create mode 100644 extensions/aasb/docs/Introduction.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/AdjustSeekMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/GetSourceMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/GetStateMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/GetStateMessageReply.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/MutedStateChangedMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/PlayControlMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/PlayMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/PlayerErrorMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/PlayerEventMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/SeekMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/SetFocusMessage.html
create mode 100644 extensions/aasb/docs/LocalMediaSource/VolumeChangedMessage.html
create mode 100644 extensions/aasb/docs/LocationProvider/GetCountryMessage.html
create mode 100644 extensions/aasb/docs/LocationProvider/GetCountryMessageReply.html
create mode 100644 extensions/aasb/docs/LocationProvider/GetLocationMessage.html
create mode 100644 extensions/aasb/docs/LocationProvider/GetLocationMessageReply.html
create mode 100644 extensions/aasb/docs/Messaging/ConversationsReportMessage.html
create mode 100644 extensions/aasb/docs/Messaging/SendMessageFailedMessage.html
create mode 100644 extensions/aasb/docs/Messaging/SendMessageMessage.html
create mode 100644 extensions/aasb/docs/Messaging/SendMessageSucceededMessage.html
create mode 100644 extensions/aasb/docs/Messaging/UpdateMessagesStatusFailedMessage.html
create mode 100644 extensions/aasb/docs/Messaging/UpdateMessagesStatusMessage.html
create mode 100644 extensions/aasb/docs/Messaging/UpdateMessagesStatusSucceededMessage.html
create mode 100644 extensions/aasb/docs/Messaging/UpdateMessagingEndpointStateMessage.html
create mode 100644 extensions/aasb/docs/Messaging/UploadConversationsMessage.html
create mode 100644 extensions/aasb/docs/Navigation/AnnounceManeuverMessage.html
create mode 100644 extensions/aasb/docs/Navigation/AnnounceRoadRegulationMessage.html
create mode 100644 extensions/aasb/docs/Navigation/CancelNavigationMessage.html
create mode 100644 extensions/aasb/docs/Navigation/ControlDisplayMessage.html
create mode 100644 extensions/aasb/docs/Navigation/GetNavigationStateMessage.html
create mode 100644 extensions/aasb/docs/Navigation/GetNavigationStateMessageReply.html
create mode 100644 extensions/aasb/docs/Navigation/NavigateToPreviousWaypointMessage.html
create mode 100644 extensions/aasb/docs/Navigation/NavigationErrorMessage.html
create mode 100644 extensions/aasb/docs/Navigation/NavigationEventMessage.html
create mode 100644 extensions/aasb/docs/Navigation/ShowAlternativeRoutesMessage.html
create mode 100644 extensions/aasb/docs/Navigation/ShowAlternativeRoutesSucceededMessage.html
create mode 100644 extensions/aasb/docs/Navigation/ShowPreviousWaypointsMessage.html
create mode 100644 extensions/aasb/docs/Navigation/StartNavigationMessage.html
create mode 100644 extensions/aasb/docs/NetworkInfoProvider/GetNetworkStatusMessage.html
create mode 100644 extensions/aasb/docs/NetworkInfoProvider/GetNetworkStatusMessageReply.html
create mode 100644 extensions/aasb/docs/NetworkInfoProvider/GetWifiSignalStrengthMessage.html
create mode 100644 extensions/aasb/docs/NetworkInfoProvider/GetWifiSignalStrengthMessageReply.html
create mode 100644 extensions/aasb/docs/NetworkInfoProvider/NetworkStatusChangedMessage.html
create mode 100644 extensions/aasb/docs/Notifications/OnNotificationReceivedMessage.html
create mode 100644 extensions/aasb/docs/Notifications/SetIndicatorMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/AnswerMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/CallFailedMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/CallStateChangedMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/CallerIdReceivedMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/ConnectionStateChangedMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/CreateCallIdMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/CreateCallIdMessageReply.html
create mode 100644 extensions/aasb/docs/PhoneCallController/DeviceConfigurationUpdatedMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/DialMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/RedialMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/SendDTMFFailedMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/SendDTMFMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/SendDTMFSucceededMessage.html
create mode 100644 extensions/aasb/docs/PhoneCallController/StopMessage.html
create mode 100644 extensions/aasb/docs/PlaybackController/ButtonPressedMessage.html
create mode 100644 extensions/aasb/docs/PlaybackController/TogglePressedMessage.html
create mode 100644 extensions/aasb/docs/PropertyManager/GetPropertyMessage.html
create mode 100644 extensions/aasb/docs/PropertyManager/GetPropertyMessageReply.html
create mode 100644 extensions/aasb/docs/PropertyManager/PropertyChangedMessage.html
create mode 100644 extensions/aasb/docs/PropertyManager/PropertyStateChangedMessage.html
create mode 100644 extensions/aasb/docs/PropertyManager/SetPropertyMessage.html
create mode 100644 extensions/aasb/docs/Publish Message General Form.html
create mode 100644 extensions/aasb/docs/Reply Message General Form.html
create mode 100644 extensions/aasb/docs/SpeechRecognizer/EndOfSpeechDetectedMessage.html
create mode 100644 extensions/aasb/docs/SpeechRecognizer/StartCaptureMessage.html
create mode 100644 extensions/aasb/docs/SpeechRecognizer/StopCaptureMessage.html
create mode 100644 extensions/aasb/docs/SpeechRecognizer/WakewordDetectedMessage.html
create mode 100644 extensions/aasb/docs/TemplateRuntime/ClearPlayerInfoMessage.html
create mode 100644 extensions/aasb/docs/TemplateRuntime/ClearTemplateMessage.html
create mode 100644 extensions/aasb/docs/TemplateRuntime/DisplayCardClearedMessage.html
create mode 100644 extensions/aasb/docs/TemplateRuntime/RenderPlayerInfoMessage.html
create mode 100644 extensions/aasb/docs/TemplateRuntime/RenderTemplateMessage.html
create mode 100644 extensions/aasb/meta-aac-aasb/conf/layer.conf
rename {modules/contact-uploader => extensions/aasb/modules/aasb-address-book}/CMakeLists.txt (60%)
create mode 100644 extensions/aasb/modules/aasb-address-book/aac-aasb-address-book.bb
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Engine/AddressBook/AASBAddressBook.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Engine/AddressBook/AASBAddressBookEngineService.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/AddAddressBookMessage.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/AddAddressBookMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/AddressBook.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/AddressBookType.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/ContactName.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/NavigationName.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/PhoneData.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/PostalAddress.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/RemoveAddressBookMessage.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/include/AASB/Message/AddressBook/AddressBook/RemoveAddressBookMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/src/AASBAddressBook.cpp
create mode 100644 extensions/aasb/modules/aasb-address-book/engine/src/AASBAddressBookEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-alexa/aac-aasb-alexa.bb
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBAlerts.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBAlexaClient.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBAlexaEngineService.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBAlexaSpeaker.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBAudioPlayer.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBAuthProvider.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBDoNotDisturb.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBEqualizerController.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBExternalMediaAdapter.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBGlobalPreset.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBLocalMediaSource.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBNotifications.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBPlaybackController.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBSpeechRecognizer.h
rename platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/SpeechSynthesizerHandler.cpp => extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBSpeechSynthesizer.h (51%)
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Engine/Alexa/AASBTemplateRuntime.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Alerts/AlertCreatedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Alerts/AlertDeletedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Alerts/AlertState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Alerts/AlertStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Alerts/LocalStopMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Alerts/RemoveAllAlertsMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/AuthError.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/AuthState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/AuthStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/ConnectionChangedReason.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/ConnectionStatus.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/ConnectionStatusChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/DialogState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/DialogStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaClient/StopForegroundActivityMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaSpeaker/LocalAdjustVolumeMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaSpeaker/LocalSetMuteMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaSpeaker/LocalSetVolumeMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaSpeaker/SpeakerSettingsChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AlexaSpeaker/SpeakerType.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AudioPlayer/GetPlayerDurationMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AudioPlayer/GetPlayerDurationMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AudioPlayer/GetPlayerPositionMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AudioPlayer/GetPlayerPositionMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AudioPlayer/PlayerActivity.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AudioPlayer/PlayerActivityChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AuthProvider/AuthStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AuthProvider/GetAuthStateMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AuthProvider/GetAuthStateMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AuthProvider/GetAuthTokenMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/AuthProvider/GetAuthTokenMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/DoNotDisturb/DoNotDisturbChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/DoNotDisturb/SetDoNotDisturbMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/EqualizerBand.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/EqualizerBandLevel.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/GetBandLevelsMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/GetBandLevelsMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/LocalAdjustBandLevelsMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/LocalResetBandsMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/LocalSetBandLevelsMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/EqualizerController/SetBandLevelsMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/AdjustSeekMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/AuthorizeMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/AuthorizedPlayerInfo.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/DiscoveredPlayerInfo.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/ExternalMediaAdapterState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/Favorites.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/GetStateMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/LoginCompleteMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/LoginMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/LogoutCompleteMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/LogoutMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/MediaType.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/MutedState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/MutedStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/Navigation.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/PlayControlMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/PlayControlType.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/PlayMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/PlaybackStateExternal.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/PlayerErrorMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/PlayerEventMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/RemoveDiscoveredPlayerMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/ReportDiscoveredPlayersMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/RequestTokenMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/SeekMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/SessionStateExternal.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/SetFocusMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/SupportedPlaybackOperation.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/ValidationData.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/ValidationMethod.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/ExternalMediaAdapter/VolumeChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/GlobalPreset/SetGlobalPresetMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/AdjustSeekMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/ContentSelector.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/GetSourceMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/GetStateMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/GetStateMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/LocalMediaSourceState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/MutedStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/PlayControlMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/PlayMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/PlaybackState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/PlayerErrorMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/PlayerEventMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/SeekMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/SessionState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/SetFocusMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/Source.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/LocalMediaSource/VolumeChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Notifications/IndicatorState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Notifications/OnNotificationReceivedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/Notifications/SetIndicatorMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/PlaybackController/ButtonPressedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/PlaybackController/PlaybackButton.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/PlaybackController/PlaybackToggle.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/PlaybackController/TogglePressedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/SpeechRecognizer/EndOfSpeechDetectedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/SpeechRecognizer/Initiator.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/SpeechRecognizer/StartCaptureMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/SpeechRecognizer/StopCaptureMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/SpeechRecognizer/WakewordDetectedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/TemplateRuntime/ClearPlayerInfoMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/TemplateRuntime/ClearTemplateMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/TemplateRuntime/DisplayCardClearedMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/TemplateRuntime/FocusState.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/TemplateRuntime/RenderPlayerInfoMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/include/AASB/Message/Alexa/TemplateRuntime/RenderTemplateMessage.h
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBAlerts.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBAlexaClient.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBAlexaEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBAlexaSpeaker.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBAudioPlayer.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBAuthProvider.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBDoNotDisturb.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBEqualizerController.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBExternalMediaAdapter.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBGlobalPreset.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBLocalMediaSource.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBNotifications.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBPlaybackController.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBSpeechRecognizer.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBSpeechSynthesizer.cpp
create mode 100644 extensions/aasb/modules/aasb-alexa/engine/src/AASBTemplateRuntime.cpp
create mode 100644 extensions/aasb/modules/aasb-apl/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-apl/aac-aasb-apl.bb
create mode 100644 extensions/aasb/modules/aasb-apl/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Engine/APL/AASBAPL.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Engine/APL/AASBAPLEngineService.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/ActivityEvent.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/ClearAllExecuteCommandsMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/ClearCardMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/ClearDocumentMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/ExecuteCommandsMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/ExecuteCommandsResultMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/GetVisualContextMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/GetVisualContextMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/InterruptCommandSequenceMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/ProcessActivityEventMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/RenderDocumentMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/RenderDocumentResultMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/SendUserEventMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/SetAPLMaxVersionMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/include/AASB/Message/Apl/APL/SetDocumentIdleTimeoutMessage.h
create mode 100644 extensions/aasb/modules/aasb-apl/engine/src/AASBAPL.cpp
create mode 100644 extensions/aasb/modules/aasb-apl/engine/src/AASBAPLEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-car-control/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-car-control/aac-aasb-car-control.bb
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Engine/CarControl/AASBCarControl.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Engine/CarControl/AASBCarControlEngineService.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/AdjustControllerValueMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/AdjustModeControllerValueMessage.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/AdjustRangeControllerValueMessage.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/SetControllerValueMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/SetModeControllerValueMessage.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/SetPowerControllerValueMessage.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/SetRangeControllerValueMessage.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/include/AASB/Message/CarControl/CarControl/SetToggleControllerValueMessage.h
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/src/AASBCarControl.cpp
create mode 100644 extensions/aasb/modules/aasb-car-control/engine/src/AASBCarControlEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-cbl/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-cbl/aac-aasb-cbl.bb
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Engine/CBL/AASBCBL.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Engine/CBL/AASBCBLEngineService.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/CBLState.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/CBLStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/CBLStateChangedReason.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/CancelMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/ClearRefreshTokenMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/GetRefreshTokenMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/GetRefreshTokenMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/ResetMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/SetRefreshTokenMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/SetUserProfileMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/include/AASB/Message/Cbl/CBL/StartMessage.h
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/src/AASBCBL.cpp
create mode 100644 extensions/aasb/modules/aasb-cbl/engine/src/AASBCBLEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-core/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-core/aac-aasb-core.bb
create mode 100644 extensions/aasb/modules/aasb-core/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Audio/AASBAudioEngineService.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Audio/AASBAudioInput.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Audio/AASBAudioInputProvider.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Audio/AASBAudioOutput.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Audio/AASBAudioOutputProvider.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Location/AASBLocationEngineService.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Location/AASBLocationProvider.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Network/AASBNetworkEngineService.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/Network/AASBNetworkInfoProvider.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/PropertyManager/AASBPropertyManager.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Engine/PropertyManager/AASBPropertyManagerEngineService.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioInput/AudioInputAudioType.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioInput/StartAudioInputMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioInput/StopAudioInputMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/AudioOutputAudioType.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/AudioOutputSourceType.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/AudioStreamEncoding.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/AudioStreamProperty.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/GetDurationMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/GetDurationMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/GetNumBytesBufferedMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/GetNumBytesBufferedMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/GetPositionMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/GetPositionMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/MediaError.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/MediaErrorMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/MediaState.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/MediaStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/MutedState.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/MutedStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/PauseMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/PlayMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/PrepareStreamMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/PrepareURLMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/ResumeMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/SetPositionMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/StopMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Audio/AudioOutput/VolumeChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Location/LocationProvider/GetCountryMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Location/LocationProvider/GetCountryMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Location/LocationProvider/GetLocationMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Location/LocationProvider/GetLocationMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Location/LocationProvider/Location.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Network/NetworkInfoProvider/GetNetworkStatusMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Network/NetworkInfoProvider/GetNetworkStatusMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Network/NetworkInfoProvider/GetWifiSignalStrengthMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Network/NetworkInfoProvider/GetWifiSignalStrengthMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Network/NetworkInfoProvider/NetworkStatus.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/Network/NetworkInfoProvider/NetworkStatusChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/PropertyManager/PropertyManager/GetPropertyMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/PropertyManager/PropertyManager/GetPropertyMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/PropertyManager/PropertyManager/PropertyChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/PropertyManager/PropertyManager/PropertyState.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/PropertyManager/PropertyManager/PropertyStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/include/AASB/Message/PropertyManager/PropertyManager/SetPropertyMessage.h
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Audio/AASBAudioEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Audio/AASBAudioInput.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Audio/AASBAudioInputProvider.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Audio/AASBAudioOutput.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Audio/AASBAudioOutputProvider.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Location/AASBLocationEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Location/AASBLocationProvider.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Network/AASBNetworkEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/Network/AASBNetworkInfoProvider.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/PropertyManager/AASBPropertyManager.cpp
create mode 100644 extensions/aasb/modules/aasb-core/engine/src/PropertyManager/AASBPropertyManagerEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-messaging/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-messaging/aac-aasb-messaging.bb
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Engine/Messaging/AASBMessaging.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Engine/Messaging/AASBMessagingEngineService.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/ConnectionState.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/ConversationsReportMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/ErrorCode.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/PermissionState.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/SendMessageFailedMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/SendMessageMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/SendMessageSucceededMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/UpdateMessagesStatusFailedMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/UpdateMessagesStatusMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/UpdateMessagesStatusSucceededMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/UpdateMessagingEndpointStateMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/include/AASB/Message/Messaging/Messaging/UploadConversationsMessage.h
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/src/AASBMessaging.cpp
create mode 100644 extensions/aasb/modules/aasb-messaging/engine/src/AASBMessagingEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-navigation/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-navigation/aac-aasb-navigation.bb
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Engine/Navigation/AASBNavigation.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Engine/Navigation/AASBNavigationEngineService.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/AlternateRouteType.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/AnnounceManeuverMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/AnnounceRoadRegulationMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/CancelNavigationMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/ControlDisplay.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/ControlDisplayMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/ErrorCode.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/ErrorType.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/EventName.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/GetNavigationStateMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/GetNavigationStateMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/NavigateToPreviousWaypointMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/NavigationErrorMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/NavigationEventMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/RoadRegulation.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/ShowAlternativeRoutesMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/ShowAlternativeRoutesSucceededMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/ShowPreviousWaypointsMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/include/AASB/Message/Navigation/Navigation/StartNavigationMessage.h
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/src/AASBNavigation.cpp
create mode 100644 extensions/aasb/modules/aasb-navigation/engine/src/AASBNavigationEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb-phone-control/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-phone-control/aac-aasb-phone-control.bb
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Engine/PhoneCallController/AASBPhoneCallController.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Engine/PhoneCallController/AASBPhoneCallControllerEngineService.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/AnswerMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CallError.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CallFailedMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CallState.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CallStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CallerIdReceivedMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CallingDeviceConfigurationProperty.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/ConnectionState.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/ConnectionStateChangedMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CreateCallIdMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/CreateCallIdMessageReply.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/DTMFError.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/DeviceConfigurationUpdatedMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/DialMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/RedialMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/SendDTMFFailedMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/SendDTMFMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/SendDTMFSucceededMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/include/AASB/Message/PhoneCallController/PhoneCallController/StopMessage.h
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/src/AASBPhoneCallController.cpp
create mode 100644 extensions/aasb/modules/aasb-phone-control/engine/src/AASBPhoneCallControllerEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb/aac-module-aasb.bb
create mode 100644 extensions/aasb/modules/aasb/engine/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/AASBEngineImpl.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/AASBEngineService.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/AASBHandlerEngineService.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/AASBServiceInterface.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/Message.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/MessageBroker.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/MessageBrokerInterface.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/PublishMessage.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/StreamManager.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AACE/Engine/AASB/StreamManagerInterface.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AASB/Message/AASB/StartServiceMessage.h
create mode 100644 extensions/aasb/modules/aasb/engine/include/AASB/Message/AASB/StopServiceMessage.h
create mode 100644 extensions/aasb/modules/aasb/engine/src/AASBEngineImpl.cpp
create mode 100644 extensions/aasb/modules/aasb/engine/src/AASBEngineService.cpp
create mode 100644 extensions/aasb/modules/aasb/engine/src/AASBHandlerEngineService.cpp
rename platforms/agl/alexa-voiceagent-service/src/alexa-voiceagent-binding.h => extensions/aasb/modules/aasb/engine/src/AASBServiceInterface.cpp (65%)
create mode 100644 extensions/aasb/modules/aasb/engine/src/Message.cpp
create mode 100644 extensions/aasb/modules/aasb/engine/src/MessageBroker.cpp
create mode 100644 extensions/aasb/modules/aasb/engine/src/PublishMessage.cpp
create mode 100644 extensions/aasb/modules/aasb/engine/src/StreamManager.cpp
create mode 100644 extensions/aasb/modules/aasb/platform/CMakeLists.txt
create mode 100644 extensions/aasb/modules/aasb/platform/include/AACE/AASB/AASB.h
rename platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/public/include/aasb/AASBControllerFactory.h => extensions/aasb/modules/aasb/platform/include/AACE/AASB/AASBEngineInterfaces.h (56%)
create mode 100644 extensions/aasb/modules/aasb/platform/include/AACE/AASB/AASBStream.h
create mode 100644 extensions/aasb/modules/aasb/platform/src/AASB.cpp
rename platforms/agl/alexa-voiceagent-service/src/plugins/TestMain.cpp => extensions/aasb/modules/aasb/platform/src/AASBStream.cpp (71%)
create mode 100644 extensions/aasb/platforms/android/.gitignore
create mode 100644 extensions/aasb/platforms/android/modules/aasb-address-book/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-address-book/build.gradle
rename {platforms/android/modules/contactuploader => extensions/aasb/platforms/android/modules/aasb-address-book}/src/main/AndroidManifest.xml (75%)
create mode 100644 extensions/aasb/platforms/android/modules/aasb-address-book/src/main/assets/meta-aac/aasb-address-book.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-address-book/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-alexa/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-alexa/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-alexa/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-alexa/src/main/assets/meta-aac/aasb-alexa.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-alexa/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-apl/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-apl/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-apl/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-apl/src/main/assets/meta-aac/aasb-apl.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-apl/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-car-control/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-car-control/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-car-control/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-car-control/src/main/assets/meta-aac/aasb-car-control.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-car-control/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-cbl/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-cbl/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-cbl/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-cbl/src/main/assets/meta-aac/aasb-cbl.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-cbl/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-core/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-core/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-core/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-core/src/main/assets/meta-aac/aasb-core.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-core/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-messaging/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-messaging/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-messaging/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-messaging/src/main/assets/meta-aac/aasb-messaging.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-messaging/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-navigation/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-navigation/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-navigation/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-navigation/src/main/assets/meta-aac/aasb-navigation.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-navigation/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb-phone-control/CMakeLists.txt
create mode 100644 extensions/aasb/platforms/android/modules/aasb-phone-control/build.gradle
create mode 100644 extensions/aasb/platforms/android/modules/aasb-phone-control/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb-phone-control/src/main/assets/meta-aac/aasb-phone-control.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb-phone-control/src/main/cpp/dummy.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb/CMakeLists.txt
rename {platforms/android/modules/contactuploader => extensions/aasb/platforms/android/modules/aasb}/build.gradle (97%)
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/AndroidManifest.xml
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/assets/meta-aac/aace-aasb.json
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/cpp/include/AACE/JNI/AASB/AASBBinder.h
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/cpp/include/AACE/JNI/AASB/AASBStreamBinder.h
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/cpp/src/AASBBinder.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/cpp/src/AASBStreamBinder.cpp
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/java/com/amazon/aace/aasb/AASB.java
create mode 100644 extensions/aasb/platforms/android/modules/aasb/src/main/java/com/amazon/aace/aasb/AASBStream.java
create mode 100644 extensions/loopback-detector/platforms/android/.gitignore
create mode 100644 extensions/loopback-detector/platforms/android/modules/loopback-detector/CMakeLists.txt
create mode 100644 extensions/loopback-detector/platforms/android/modules/loopback-detector/build.gradle
create mode 100644 extensions/loopback-detector/platforms/android/modules/loopback-detector/src/main/AndroidManifest.xml
create mode 100644 extensions/loopback-detector/platforms/android/modules/loopback-detector/src/main/assets/meta-aac/aace-loopback-detector.json
create mode 100644 extensions/loopback-detector/platforms/android/modules/loopback-detector/src/main/cpp/LoopbackDetectorConfigurationBinder.cpp
create mode 100644 modules/alexa/engine/include/AACE/Engine/Alexa/AudioDuckingConfig.h
delete mode 100644 modules/contact-uploader/README.md
delete mode 100644 modules/contact-uploader/aac-module-contact-uploader.bb
delete mode 100644 modules/contact-uploader/engine/CMakeLists.txt
delete mode 100644 modules/contact-uploader/engine/include/AACE/Engine/ContactUploader/ContactUploaderEngineImpl.h
delete mode 100644 modules/contact-uploader/engine/include/AACE/Engine/ContactUploader/ContactUploaderEngineService.h
delete mode 100644 modules/contact-uploader/engine/include/AACE/Engine/ContactUploader/ContactUploaderRESTAgent.h
delete mode 100644 modules/contact-uploader/engine/src/ContactUploader/ContactUploaderEngineImpl.cpp
delete mode 100644 modules/contact-uploader/engine/src/ContactUploader/ContactUploaderEngineService.cpp
delete mode 100644 modules/contact-uploader/engine/src/ContactUploader/ContactUploaderRESTAgent.cpp
delete mode 100644 modules/contact-uploader/engine/test/CMakeLists.txt
delete mode 100644 modules/contact-uploader/engine/test/ContactUploaderEngineImplTest.cpp
delete mode 100644 modules/contact-uploader/platform/CMakeLists.txt
delete mode 100644 modules/contact-uploader/platform/include/AACE/ContactUploader/ContactUploader.h
delete mode 100644 modules/contact-uploader/platform/include/AACE/ContactUploader/ContactUploaderEngineInterface.h
delete mode 100644 modules/contact-uploader/platform/src/ContactUploader/ContactUploader.cpp
create mode 100644 modules/navigation/engine/src/NavigationConfigurationImpl.cpp
create mode 100644 modules/navigation/platform/include/AACE/Navigation/NavigationConfiguration.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/.gitignore
delete mode 100644 platforms/agl/alexa-voiceagent-service/0001-removed-afb-helpers-app-controller-submodules.patch
delete mode 100644 platforms/agl/alexa-voiceagent-service/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/License.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/README.md
delete mode 100644 platforms/agl/alexa-voiceagent-service/assets/architecture.png
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/cmake/00-debian-osconfig.cmake
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/cmake/00-default-osconfig.cmake
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/cmake/config.cmake
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/project/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/project/etc/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/project/etc/alexa-alexa-voiceagent-api.json
delete mode 100644 platforms/agl/alexa-voiceagent-service/conf.d/wgt/config.xml.in
delete mode 100644 platforms/agl/alexa-voiceagent-service/htdocs/AFB.js
delete mode 100644 platforms/agl/alexa-voiceagent-service/htdocs/binding.css
delete mode 100644 platforms/agl/alexa-voiceagent-service/htdocs/binding.js
delete mode 100644 platforms/agl/alexa-voiceagent-service/htdocs/index.html
delete mode 100644 platforms/agl/alexa-voiceagent-service/libs/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/alexa-voiceagent-apidef.json
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/alexa-voiceagent-binding.c
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/AlexaConsts.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/AlexaConsts.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/AlexaVoiceagentApi.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/AlexaVoiceagentApi.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/.clang-format
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/README.md
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/AlertsHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/AlexaClientHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/AudioPlayerHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/AuthProviderHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/LocalMediaSourceHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/LocalMediaSourceHandlerManager.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/LocationProviderHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/NavigationHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/PhoneCallControllerHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/PlaybackControllerHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/SpeechRecognizerHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/SpeechSynthesizerHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/include/TemplateRuntimeHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/AlertsHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/AlexaClientHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/AudioPlayerHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/AuthProviderHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/LocalMediaSourceHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/LocalMediaSourceHandlerManager.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/LocationProviderHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/NavigationHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/PhoneCallControllerHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/PlaybackControllerHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/SpeechRecognizerHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/alexa/src/TemplateRuntimeHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/cbl/include/CBLHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/cbl/src/CBLHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/core/include/LoggerHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/core/include/NetworkInfoProviderHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/core/src/LoggerHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/core/src/NetworkInfoProviderHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/gloria/include/CardRendererHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/gloria/include/ListRendererHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/gloria/src/CardRendererHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/gloria/src/ListRendererHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/local-voice-control/car-control/include/CarControlHandler.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/aac-platform/local-voice-control/car-control/src/CarControlHandler.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/include/AASBControllerImpl.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/include/PlatformSpecificLoggingMacros.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/include/ResponseDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/include/SyncOverAsync.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/include/nlohmann/.clang-format
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/include/nlohmann/json.hpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/public/include/aasb/Consts.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/public/include/aasb/interfaces/IAASBController.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/public/include/aasb/interfaces/IAlexaCapabilityDirectiveListener.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/public/include/aasb/interfaces/IConfigurationProvider.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/src/AASBConsts.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/src/AASBControllerFactory.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/src/AASBControllerImpl.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/src/ResponseDispatcher.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/src/SyncOverAsync.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/src/test/AASBControllerTest.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/bridge/src/test/MockEngine.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/aasb/test/TestMain.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/cmake/gtest.cmake
delete mode 100755 platforms/agl/alexa-voiceagent-service/src/plugins/aac-services/tools/pre-commit
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aasb-client/AlexaCapabilityDirectiveRouterImpl.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aasb-client/AlexaCapabilityDirectiveRouterImpl.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aasb-client/config/AASBConfigProviderImpl.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/aasb-client/config/AASBConfigProviderImpl.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/afb/AFBApiImpl.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/afb/AFBApiImpl.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/afb/AFBRequestImpl.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/afb/AFBRequestImpl.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/afb/include/AFBEventImpl.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/afb/src/AFBEventImpl.cpp
delete mode 100755 platforms/agl/alexa-voiceagent-service/src/plugins/agreement.sh
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/audio/Audio.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/audio/Audio.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/cmake/gtest.cmake
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/data/CMakeLists.txt
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/data/config/AlexaAutoCoreEngineConfig.json
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/local-voice-control/car-control/CarControlDispatcher.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/local-voice-control/car-control/CarControlDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/localmediasource/LocalMediaSourceDispatcher.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/localmediasource/LocalMediaSourceDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/locationprovider/LocationProviderDispatcher.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/locationprovider/LocationProviderDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/navigation/NavigationDispatcher.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/navigation/NavigationDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/phonecall/PhoneCallDispatcher.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/phonecall/PhoneCallDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/playback/PlaybackDispatcher.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/dispatchers/playback/PlaybackDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/interfaces/afb/IAFBApi.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/interfaces/capability/ICapabilityMessageDispatcher.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/interfaces/utilities/logging/ILogger.h
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/utilities/logging/Logger.cpp
delete mode 100644 platforms/agl/alexa-voiceagent-service/src/plugins/utilities/logging/Logger.h
delete mode 100755 platforms/agl/alexa-voiceagent-service/tools/pre-commit
create mode 100644 platforms/android/alexa-auto-client-service/README.md
create mode 100755 platforms/android/alexa-auto-client-service/android-service/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/android-service/README.md
create mode 100755 platforms/android/alexa-auto-client-service/android-service/build.gradle
create mode 100755 platforms/android/alexa-auto-client-service/android-service/gradle.properties
create mode 100644 platforms/android/alexa-auto-client-service/android-service/modules/aacs-extra/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/android-service/modules/aacs-extra/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/android-service/modules/aacs-extra/consumer-rules.pro
create mode 100644 platforms/android/alexa-auto-client-service/android-service/modules/aacs-extra/proguard-rules.pro
create mode 100644 platforms/android/alexa-auto-client-service/android-service/modules/aacs-extra/src/main/AndroidManifest.xml
create mode 100644 platforms/android/alexa-auto-client-service/android-service/modules/aacs-extra/src/main/java/com/amazon/alexaautoclientservice/aacs_extra/AACSContext.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/modules/aacs-extra/src/main/java/com/amazon/alexaautoclientservice/aacs_extra/AACSModuleFactoryInterface.java
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/androidTest/assets/file-util-res/aacs_config.json
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/androidTest/assets/file-util-res/auto_sdk_config.json
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/androidTest/java/com/amazon/alexaautoclientservice/instrumentedtest/TestAlexaAutoClientService.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/androidTest/java/com/amazon/alexaautoclientservice/instrumentedtest/TestFileUtil.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/androidTest/java/com/amazon/alexaautoclientservice/instrumentedtest/TestUtil.java
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/AndroidManifest.xml
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/aidl/com/amazon/alexalve/ILVCClient.aidl
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/aidl/com/amazon/alexalve/ILVCService.aidl
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/09789157.0
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/3513523f.0
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/6d41d539.0
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/85cf5865.0
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/8cb5ee0f.0
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/b204d74a.0
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/ce5e74ef.0
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/de6d66f3.0
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/assets/certs/f387163d.0
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/AASBHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/AlexaAutoClientService.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/ComponentRegistry.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/ConfigMessageReceivedCallback.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/LVCInteractionProvider.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/constants/AudioSourceConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/constants/LVCServiceConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/mediaPlayer/AACSMediaPlayer.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/mediaPlayer/AudioFocusAttributes.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/mediaPlayer/EventReceiver.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/mediaPlayer/exo/ExoPlayerHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/mediaPlayer/exo/MediaSourceFactory.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/mediaPlayer/exo/PlaylistParser.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/mediaPlayer/raw/RawAudioOutputHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/modules/alexaClient/AlexaClientMessageHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/modules/alexaClient/AuthStateObserver.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/modules/audioInput/AudioInputMessageHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/modules/audioOutput/AudioOutputMessageHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/modules/externalMediaPlayer/MACCPlayer.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/modules/locationProvider/LocationProviderHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/modules/networkInfoProvider/NetworkInfoProviderHandler.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/receiver/LVCReceiver.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/receiver/StartOnBootReceiver.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/util/AASBUtil.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/util/FileUtil.java
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/main/java/com/amazon/alexaautoclientservice/util/MediaPlayerUtil.java
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/res/drawable/alexa_notification_icon.png
create mode 100755 platforms/android/alexa-auto-client-service/android-service/service/src/main/res/values/strings.xml
create mode 100644 platforms/android/alexa-auto-client-service/android-service/service/src/test/java/com/amazon/alexaautoclientservice/unittest/TestAASBHandler.java
create mode 100755 platforms/android/alexa-auto-client-service/android-service/settings.gradle
create mode 100644 platforms/android/alexa-auto-client-service/assets/AACSArchDetailed.png
create mode 100644 platforms/android/alexa-auto-client-service/assets/AACSInit.puml
create mode 100644 platforms/android/alexa-auto-client-service/assets/AACSInitFlow.png
create mode 100644 platforms/android/alexa-auto-client-service/assets/AACSWakeword.png
create mode 100644 platforms/android/alexa-auto-client-service/assets/AACSWakeword.puml
create mode 100644 platforms/android/alexa-auto-client-service/assets/AACS_CBLLogin.png
create mode 100644 platforms/android/alexa-auto-client-service/assets/AACS_CBLLogin.puml
create mode 100644 platforms/android/alexa-auto-client-service/assets/config.json
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/README.md
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/consumer-rules.pro
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/proguard-rules.pro
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/AndroidManifest.xml
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/AACSMessage.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/AACSMessageBuilder.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/AACSMessageSender.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/AACSReplyMessage.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/DialogStateChangedMessages.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/PlaybackControlMessages.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/RenderPlayerInfo.kt
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/SpeechRecognizerMessages.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/main/java/com/amazon/alexa/auto/aacs/common/TemplateRuntimeMessages.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/java/com/amazon/alexa/auto/aacs/common/AACSMessageBuilderTest.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/java/com/amazon/alexa/auto/aacs/common/AACSMessageSenderTest.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/java/com/amazon/alexa/auto/aacs/common/DialogStateChangedMessagesTest.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/java/com/amazon/alexa/auto/aacs/common/PlaybackControlMessagesTest.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/java/com/amazon/alexa/auto/aacs/common/SpeechRecognizerMessagesTest.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/java/com/amazon/alexa/auto/aacs/common/TemplateRuntimeMessagesTest.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/java/com/amazon/alexa/auto/aacs/common/TestResourceFileReader.java
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/aacscommonutils/src/test/resources/aacs/TemplateRuntimePlayerRenderInfo.json
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/gradle.properties
create mode 100644 platforms/android/alexa-auto-client-service/commonutils/settings.gradle
create mode 100644 platforms/android/alexa-auto-client-service/constants/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/consumer-rules.pro
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/proguard-rules.pro
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/androidTest/java/com/amazon/aacsconstants/ExampleInstrumentedTest.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/AndroidManifest.xml
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/AACSConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/AASBConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/Action.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/MediaConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/NavigationConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/PlaybackConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/TemplateRuntimeConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/main/java/com/amazon/aacsconstants/Topic.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/aacsconstants/src/test/java/com/amazon/aacsconstants/ExampleUnitTest.java
create mode 100644 platforms/android/alexa-auto-client-service/constants/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/constants/gradle.properties
create mode 100644 platforms/android/alexa-auto-client-service/constants/settings.gradle
create mode 100644 platforms/android/alexa-auto-client-service/ipc/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/ipc/README.md
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/.gitignore
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/proguard-rules.pro
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/androidTest/java/com/amazon/aacsipc/ExampleInstrumentedTest.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/main/AndroidManifest.xml
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/main/java/com/amazon/aacsipc/AACSReceiver.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/main/java/com/amazon/aacsipc/AACSSender.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/main/java/com/amazon/aacsipc/IPCConstants.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/main/java/com/amazon/aacsipc/SenderMap.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/main/java/com/amazon/aacsipc/TargetComponent.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/test/java/com/amazon/aacsipc/DummyService.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/test/java/com/amazon/aacsipc/TestAACSReceiver.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/test/java/com/amazon/aacsipc/TestAACSSender.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/aacsipc/src/test/java/com/amazon/aacsipc/TestUtils.java
create mode 100644 platforms/android/alexa-auto-client-service/ipc/build.gradle
create mode 100644 platforms/android/alexa-auto-client-service/ipc/gradle.properties
create mode 100644 platforms/android/alexa-auto-client-service/ipc/settings.gradle
delete mode 100644 platforms/android/modules/contactuploader/CMakeLists.txt
delete mode 100644 platforms/android/modules/contactuploader/README.md
delete mode 100644 platforms/android/modules/contactuploader/src/main/assets/meta-aac/aace-contactuploader.json
delete mode 100644 platforms/android/modules/contactuploader/src/main/cpp/include/AACE/JNI/ContactUploader/ContactUploaderBinder.h
delete mode 100644 platforms/android/modules/contactuploader/src/main/cpp/src/ContactUploader/ContactUploaderBinder.cpp
delete mode 100644 platforms/android/modules/contactuploader/src/main/java/com/amazon/aace/contactuploader/ContactUploader.java
create mode 100644 platforms/android/modules/navigation/src/main/cpp/src/Navigation/NavigationConfigurationBinder.cpp
create mode 100644 platforms/android/modules/navigation/src/main/java/com/amazon/aace/navigation/config/NavigationConfiguration.java
create mode 100644 samples/android/modules/sample-core/src/main/java/com/amazon/sampleapp/core/LoggerControllerInterface.java
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b0ba4b236..2718d7d50 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,66 @@
# Change Log
___
+## v3.0.0 released on 2020-10-09
+
+### Enhancements
+* Added Alexa Auto Client Service (AACS), which enables OEMs of Android-based devices to simplify the process of integrating the Auto SDK. For more information about AACS, see the AACS [README](./platforms/android/alexa-auto-client-service/README.md).
+
+* Added support for removing local media sources at runtime, such as a USB drive or a Bluetooth device. Previously, if a user removed a USB drive and then requested to play music from the USB drive, the Auto SDK would attempt to play and not return an appropriate error message. This feature is enabled with an existing field in the `LocalMediaSource` platform interface state. For information about the platform interface state, see the `alexa` module [README](./modules/alexa/README.md).
+
+### Resolved Issues
+* On QNX, when a portion of music on Spotify is skipped, either by the user saying, "Skip forward," or by the user skipping to a different song, the volume is no longer reset to the default level.
+* A user barging in when music is playing no longer hears an Alexa response to the barge-in request. Previously, this issue happened if the System Audio extension was used.
+
+### Known Issues
+* General
+ * If the "locales" field of the "deviceSettings" node of the Alexa module configuration JSON is not specified, the Engine automatically declares support for the following locale combinations:
+ ["en-US", "es-US"],
+ ["es-US", "en-US"],
+ ["en-IN", "hi-IN"],
+ ["hi-IN", "en-IN"],
+ ["fr-CA", "en-CA"],
+ ["en-CA", "fr-CA"].
+
+ The Engine does not declare support for locale combinations if the "locales" field is assigned an empty value.
+
+* Car Control
+ * For car control, there is a limit of two Device Serial Numbers (DSN) per account or Customer ID (CID). Limit the number of devices for testing with a single account accordingly. If you use the Android sample app, be sure to configure a specific DSN.
+ * It can take up to 20 seconds from the time of user login to the time Alexa is available to accept utterances. The cloud uses this time to ingest the car control endpoint configurations sent by Auto SDK after login.
+ * If you configure the Auto SDK Engine and connect to Alexa using a set of endpoint configurations, you cannot delete any endpoint in a set in the cloud. For example, after you configure set A with endpoints 1, 2, and 3, if you change your car control configuration during development to set B with endpoints 2, 3, and 4, endpoint 1 from set A remains in the cloud and might interfere with resolving the correct endpoint ID for your utterances. However, any endpoint configurations with matching IDs override previous configurations. For example, the configuration of endpoint 2 in set B replaces endpoint 2 in set A. During development, limit configuration changes to create only supersets of previous endpoint configurations. Work with your Solutions Architect or Partner Manager to produce the correct configuration on the first try.
+ * Car control utterances that are variations of supported utterances but do not follow the supported utterance patterns return errors. Examples include “please turn on the light in the car” instead of the supported “turn on the light“, and ”put on the defroster“ or “defrost the windshield” instead of the supported ”turn on the defroster”.
+ * The air conditioner endpoint supports only Power Controller and Mode Controller capabilities, not Range Controller for numeric settings.
+
+* Communications
+ * A user request to send an SMS to an Alexa contact results in an Alexa-to-Alexa message instead. However ‘send message’ instead ‘send SMS’ to a contact works.
+ * When using LVC in online mode, users can redial a call when the phone connection state is OFF.
+ * DTMF utterances that include the letters "A", "B", "C", or "D" (for example "press A" or "dial 3*#B") are ignored.
+ * Calling numbers such as 1-800-xxx-xxxx by using utterances such as “Alexa call one eight double oh...” may return unexpected results. Similarly, when you call numbers by using utterances that include "triple," "hundred," and "thousand," or press special characters such as # or * by saying "Alexa press *#", you may experience unexpected results. We recommend that your client application ignore special characters, dots, and non-numeric characters when requesting Alexa to call or press digits.
+ * A user playing any skill with extended multi-turn dialogs (such as Jeopardy or Skyrim) cannot use voice to accept or reject incoming Alexa-to-Alexa calls.
+
+* Entertainment
+ * A user playing notifications while music is playing hears the music for a split second between the end of one notification and the start of the next.
+ * The word, "line-in," in an utterance is sometimes misinterpreted as "line" or other words. For example, if the user says, "Switch to line-in," the misinterpretation of "line-in" might cause an incorrect response.
+ * When an external player authorization is in progress at the exact moment of shutdown, a very rare race condition might occur, causing the Engine to crash.
+
+* Authentication
+ * The CBL module uses a backoff when refreshing the access token after expiry. If the internet is disconnected when the refresh is attempted, it could take up to a minute to refresh the token when the internet connection is restored.
+ * If you log out and log in, the client-side Do Not Disturb (DND) state may not be synchronized with the Alexa cloud.
+
+* AACS
+
+ * For some platform interface APIs in the Core module, when an application fails to handle a directive, there is no way to report the failure to the Engine. This is because AASB assumes that the application always handles messages correctly. When AASB incorrectly reports how the application handles the message, the Engine state might become inconsistent with the application state. For example, suppose the Engine sends a directive to the application to set the audio volume but the application fails to make the change. AASB does not report the failure to the Engine. As a result, the Engine's and the application's settings become out of sync. The following list shows the affected APIs:
+ * `AudioInput`:
+ * `startAudioInput()`
+ * `AudioOutput`:
+ * `setPosition(int64_t position)`
+ * `volumeChanged(float volume)`
+ * `mutedStateChanged(MutedState state)`
+
+ * In the commonutils library, the JSON parser (`RenderPlayerInfo.kt`) for the `renderPlayerInfo` message of `templateRuntime` can only parse the `payload` field of the AASB `RenderPlayerInfo` message payload. The `payload` field of `RenderPlayerInfo` is the inner payload of the nested payload structure. When using `TemplateRuntime.parseRenderInfo(String json)`, provide it with the embedded JSON as a string of the string value whose key is `payload` in the `RenderPlayerInfo` message’s payload instead of the overall AASB payload.
+
+### Additional Changes
+Starting with Auto SDK v3.0, we no longer support the Automotive Grade Linux (AGL) Alexa Voice agent in the Auto SDK. If you intend to use the AGL Alexa Voice Agent, continue using Auto SDK v2.3.0, which is the last version that provides AGL support.
+
## v2.3.0 released on 2020-07-31
### Enhancements
@@ -101,7 +162,7 @@ ___
* Fixed an External Media Player (EMP) Engine implementation that caused an unexpected sequence of Local Media Source playControl() method invocations such as play, then pause, followed by play again in quick succession.
* Fixed an issue where the Engine might hang during shutdown if it was shut down while TTS was being played or read.
* Fixed an issue where Auto SDK initialization failed at startup when applications using the optional LVC extension didn't register a NetworkInfoProvider platform interface.
-* Fixed an issue where building the Auto SDK with senstive logging enabled was not working as expected.
+* Fixed an issue where building the Auto SDK with sensitive logging enabled was not working as expected.
* Added alerts error enums (`DELETED` and `SCHEDULED_FOR_LATER`) to the [`Alerts.h`](./modules/alexa/platform/include/AACE/Alexa/Alerts.h) and [`Alerts.java`](./platforms/android/modules/alexa/src/main/java/com/amazon/aace/alexa/Alerts.java) files.
* With the exception of road regulation and maneuver events, the Alexa cloud no longer returns an `INVALID_REQUEST_EXCEPTION` or `INTERNAL_SERVICE_EXCEPTION` in response to navigation events sent by the Auto SDK.
* Alexa now prompts or notifies the clients and rejects the ping packet when the user deregisters from the companion app.
@@ -110,7 +171,7 @@ ___
* General
* If the local timezone of your device differs from the timezone that was configured through the Alexa companion app, the user may experience unexpected behavior. For example, if your device shows 12pm PST, but the device on the Alexa companion app is configured with an EST timezone, then asking "Alexa set an alarm for 1pm today," will return, "Sorry I can't set alarms in the past". Auto SDK v2.2.0 adds support for setting the timezone of the vehicle, which allows your device to synchronize with the timezone set in the Alexa companion app; however, the Auto SDK currently does not receive a `SetTimeZone` directive when the timezone is changed from the companion app.
* Navigation
- * The Alexa cloud currently returns an `INTERNAL_SERVICE_EXCEPTION` in response to any navigation road regulation or manuever event sent by the Auto SDK (triggered by an utterance such as "which lane should I take", for example). You may see a harmless error/exception in the logs.
+ * The Alexa cloud currently returns an `INTERNAL_SERVICE_EXCEPTION` in response to any navigation road regulation or maneuver event sent by the Auto SDK (triggered by an utterance such as "which lane should I take", for example). You may see a harmless error/exception in the logs.
* Car Control
* Certain car control utterances return errors. Problematic utterances include natural versions of certain test utterances (for example, “turn on the light“ instead of “please turn on the light in the car”); utterances that include the words “lights” or “my”; and utterances to control the defroster or defogger that use “put on” or “set on” rather than “turn on” or “switch on”.
* Setting the air conditioner using range controller control capabilities (for example “set the air conditioner to 65” or “set the air conditioner to low”) is not currently supported.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 543c9409f..2b34214d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,7 +34,6 @@ else()
add_subdirectory(modules/apl)
add_subdirectory(modules/car-control)
add_subdirectory(modules/cbl)
- add_subdirectory(modules/contact-uploader)
add_subdirectory(modules/core)
add_subdirectory(modules/messaging)
add_subdirectory(modules/navigation)
diff --git a/GETSTARTED.md b/GETSTARTED.md
new file mode 100644
index 000000000..b41e0570e
--- /dev/null
+++ b/GETSTARTED.md
@@ -0,0 +1,50 @@
+# Getting Started with the Alexa Auto SDK
+This document assumes that you have read the [README](./README.md) to understand the basic Auto SDK concepts. Complete the steps in this document to get started with the Auto SDK and to follow security best practices.
+
+
+## Table of Contents
+- [Before You Start](#before-you-start)
+- [Getting Started](#getting-started)
+- [Downloading Optional Extensions](#downloading-optional-extensions)
+
+## Before You Start
+Complete the following steps before you get started with the Auto SDK:
+
+1. Register for an [Amazon Developer Account](https://developer.amazon.com/home.html) and [create an Alexa device and security profile](./NEED_HELP.md#registering-a-product-and-creating-a-security-profile) to use the Auto SDK.
+2. Make sure that you meet the requirements for building the Auto SDK and understand the dependencies, as described in the SDK builder [README](./builder/README.md).
+
+## Getting Started
+Follow these steps to get started with the Auto SDK:
+
+1. Clone the `alexa-auto-sdk` repository into your project.
+2. If you want to use the optional Auto SDK modules, download the modules from the locations listed in [Downloading Optional Extensions](#downloading-optional-extensions).
+
+3. Build the Auto SDK as described in the builder [README](./builder/README.md).
+ >**Note:** If your target platform is Android and you want to implement any optional modules (such as wake word support and Alexa Communications), you must use the Android Archive (AAR) files generated by the Auto SDK Builder. Do not use the prebuilt platform .AARs and sample-core AAR available in JCenter; they are for the default Auto SDK modules only.
+
+4. Install the built package on your device as described in the builder [README](./builder/README.md).
+
+5. Create and configure an instance of the Engine. For details, see the [C++](./modules/core/README.md#creating-the-engine) or [Android](./platforms/android/modules/core/README.md#creating-the-engine) Core module documentation.
+
+6. Extend the Auto SDK interfaces by creating a custom handler for each interface that you want to implement and registering the handler with the Engine.
+
+7. Start the Engine using the `start()` command.
+
+8. Use the Sample App ([C++](./samples/cpp/README.md) or [Android](./samples/android/README.md)) to see how the Auto SDK works and to test end-to-end functionality.
+
+## Downloading Optional Extensions
+
+**NOTE**: The version of the optional extension archive must match the version of the Auto SDK that you are using. For example, if you are using Auto SDK 3.0 and want to install the Local Voice Control extension, you must download version 3.0 of the Local Voice Control extension archive.
+
+Click the link in the following list to go to the directory where the extension archive is located:
+
+* [AmazonLite Wake Word extension](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Amazonlite%20Extension)
+
+* [Alexa Communications extension](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Alexa%20Comms%20Extension)
+
+* [Local Voice Control extension](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Local%20Voice%20Control%20Extension)
+
+* [Device Client Metrics (DCM) extension](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Metric%20Upload%20Service%20Extension)
+
+* [Voice Chrome for Android extension](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Voice%20Chrome%20Extension)
+
diff --git a/MIGRATION.md b/MIGRATION.md
index 8685bf54c..4fbbac3c7 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -2,44 +2,77 @@
This guide outlines the changes you need to make to migrate from Auto SDK v2.0 to later versions of the Auto SDK.
->**Note:** If you upgrade more than one version, you must include the changes in all the relevant sections of this guide. For example, if you migrate from Auto SDK v2.0 to Auto SDK v2.2, you must include the changes described under [Migrating from Auto SDK v2.0 to v2.1](#migrating-from-auto-sdk-v20-to-v21) as well as the changes described under [Migrating from Auto SDK v2.1 to v2.2](#migrating-from-auto-sdk-v21-to-v22).
-
-**Table of Contents**
-
-* [Alexa Auto SDK Migration Guide](#alexa-auto-sdk-migration-guide)
- * [Migrating from Auto SDK v2.2.1 to v2.3.0](#migrating-from-auto-sdk-v221-to-v230)
- * [Car Control Enhancements and Breaking Changes](#car-control-enhancements-and-breaking-changes)
- * [Language Model Packaging](#language-model-packing)
- * [Android](#android-updates)
- * [Gradle](#android-gradle)
- * [Sample App](#android-sample-overrides)
- * [Clang Formatting](#clang-formatting)
- * [Migrating from Auto SDK v2.2 to v2.2.1](#migrating-from-auto-sdk-v22-to-v221)
- * [TemplateRuntime Enhancements](#templateruntime-enhancements)
- * [renderTemplate](#templateruntime-rendertemplate)
- * [renderPlayerInfo](#templateruntime-renderplayerinfo)
- * [Sample Apps](#templateruntime-sampleapps)
- * [Migrating from Auto SDK v2.1 to v2.2](#migrating-from-auto-sdk-v21-to-v22)
- * [Implementing the Property Manager Interface](#implementing-the-property-manager-interface)
- * [Car Control Changes](#car-control-changes)
- * [New Asset ID Prefix](#new-asset-id-prefix)
- * [Specifying the Path to Custom Car Control Assets](#specifying-the-path-to-custom-car-control-assets)
- * [Car Control Config Builder Asset Methods](#car-control-config-builder-asset-methods)
- * [Migrating from Auto SDK v2.0 to v2.1](#migrating-from-auto-sdk-v20-to-v21)
- * [Build Changes](#build-changes)
- * [Engine Configuration File Updates](#engine-configuration-file-updates)
- * [Navigation Enhancements](#navigation-enhancements)
- * [What's New](#whats-new)
- * [Implementing the New Navigation Features](#implementing-the-new-navigation-features)
- * [New TemplateRuntime Interface Version](#new-templateruntime-interface-version)
- * [Car Control Source File Relocation](#car-control-source-file-relocation)
- * [Code-Based-Linking (CBL) Handler in the Sample Apps](#code-based-linking-cbl-handler-in-the-sample-apps)
-
-## Migrating from Auto SDK v2.2.1 to v2.3.0
+>**Note:** If you migrate from a version earlier than v2.3, be sure to read the relevant sections of this guide to understand all changes introduced between your current version and v3.0. The information helps you decide what changes you must include. For example, if you migrate from v2.0, include the changes described in [Migrating from Auto SDK v2.0 to v2.1](#migrating-from-auto-sdk-v20-to-v21), the changes described in [Migrating from Auto SDK v2.1 to v2.2](#migrating-from-auto-sdk-v21-to-v22), and so on, taking into consideration the deprecated or removed features in v2.3 and v3.0.
+
+
+## Table of Contents
+
+- [Deprecated Features Removed in Auto SDK v3.0.0](#deprecated-features-removed-in-auto-sdk-v300)
+ - [Using the Address Book Module](#using-the-address-book-module)
+- [Migrating from Auto SDK v2.2.1 to v2.3.0](#migrating-from-auto-sdk-v221-to-v230)
+ - [Car Control Enhancements and Breaking Changes](#car-control-enhancements-and-breaking-changes)
+ - [Language Model Packaging](#language-model-packaging)
+ - [Android](#android)
+ - [Clang Formatting](#clang-formatting)
+- [Migrating from Auto SDK v2.2 to v2.2.1](#migrating-from-auto-sdk-v22-to-v221)
+ - [TemplateRuntime Enhancements](#templateruntime-enhancements)
+- [Migrating from Auto SDK v2.1 to v2.2](#migrating-from-auto-sdk-v21-to-v22)
+ - [Implementing the Property Manager Interface](#implementing-the-property-manager-interface)
+ - [Car Control Changes](#car-control-changes)
+- [Migrating from Auto SDK v2.0 to v2.1](#migrating-from-auto-sdk-v20-to-v21)
+ - [Build Changes](#build-changes)
+ - [Engine Configuration File Updates](#engine-configuration-file-updates)
+ - [Navigation Enhancements](#navigation-enhancements)
+ - [Car Control Source File Relocation](#car-control-source-file-relocation)
+ - [Code-Based-Linking (CBL) Handler in the Sample Apps](#code-based-linking-cbl-handler-in-the-sample-apps)
+
+## Deprecated Features Removed in Auto SDK v3.0.0
+* The following asset IDs for Car Control have been removed: "Alexa.Automotive.DeviceName.DriverSeat", "Alexa.Automotive.DeviceName.LeftSeat", "Alexa.Automotive.DeviceName.PassengerSeat", "Alexa.Automotive.DeviceName.RightSeat".
+* The `createControl()` method has been removed. Use `createEndpoint()` instead.
+* Support for the "isMemberOf" relationship for endpoint definition has been removed. You must list member endpoints in a zone definition.
+* Implicit zone definitions have been removed.
+* The following `TemplateRuntime` methods have been removed:
+ * The `renderTemplate(const std::string& payload)` method has been removed. Use renderTemplate(const std::string& payload, FocusState focusState) instead.
+ * The `renderPlayerInfo(const std::string& payload)` method has been removed. Use `renderPlayerInfo(const std::string& payload, PlayerActivity audioPlayerState, std::chrono::milliseconds offset, FocusState focusState)` instead.
+* In the Alexa module, `AlexaProperties::SUPPORTED_LOCALES` has been removed. For Alexa to recognize the locale setting, specify one of these values: de-DE, en-AU, en-CA, en-GB, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, pt-BR.
+* `Engine::setProperty()` and `Engine::getProperty()` have been removed. Use `PropertyManager::setProperty()` and `PropertyManager::getProperty()` instead. For details about the Property Manager platform interface, see "Managing Runtime Properties with the Property Manager" ([for C++](./modules/core/README.md#managing-runtime-properties-with-the-property-manager) or [for Android](./platforms/android/modules/core/README.md#managing-runtime-properties-with-the-property-manager)).
+* The `SpeechRecognizer::enableWakeWordDetection()`, `SpeechRecognizer::disableWakeWordDetection()`, and `SpeechRecognizer::isWakewordDetectionEnabled()` methods have been removed.
+* The Contact Uploader module has been removed. Use the [Address Book module](#using-the-address-book-module) instead.
+
+### Using the Address Book Module
+Address Book module enables the user to upload contacts from the phone that is paired with the car or the navigation favorites from the car head unit to Alexa cloud. For more information about how this module works, see the [Address Book README](./modules/address-book/README.md). Both the Android and C++ sample apps demonstrate the use of the `AddressBook` platform interface. See the sample app source code for specific implementation details.
+
+The following Address Book API descriptions help you transition from the Contact Uploader module to the Address Book module:
+
+`addAddressBook`
+
+```
+ bool addAddressBook(const std::string& addressBookSourceId, const std::string& name, AddressBookType type);
+```
+
+Use `addAddressBook` instead of `ContactUploader::addContactsBegin`. In addition, `addAddressBook` requires you to specify the source id to identify the address book, the friendly name of the address book, and the type of address book.
+
+`removeAddressBook`
+```
+ bool removeAddressBook(const std::string& addressBookSourceId);
+```
+
+Use `removeAddressBook` instead of `ContactUploader:: removeUploadedContacts`. You must specify the id of the address book to be removed.
+
+`getEntries`
+```
+ bool getEntries(
+ const std::string& addressBookSourceId,
+ std::weak_ptr factory)
+```
+
+When using the Address Book module, the Engine pulls the address book contents from the platform implementation. You must upload the address book contents through the factory class, `IAddressBookEntriesFactory`, for the specified address book source id.
+
+## Migrating from Auto SDK v2.2.1 to v2.3.0
This section outlines the changes you will need to make to migrate from Auto SDK v2.2.1 to Auto SDK v2.3.
-### Car Control Enhancements and Breaking Changes
+### Car Control Enhancements and Breaking Changes
Read the updated Car Control module README (for [C++ platforms](./modules/car-control/README.md) or [Android](./platforms/android/modules/car-control/README.md)) to get a complete understanding of all supported features and the current format of the "aace.carControl" configuration schema. Read the updated API documentation for the `CarControlConfiguration` builder class (for [C++ platforms](./modules/car-control/platform/include/AACE/CarControl/CarControlConfiguration.h) or [Android](./platforms/android/modules/car-control/src/main/java/com/amazon/aace/carControl/CarControlConfiguration.java)) if you construct your configuration programmatically. The changes to the "aace.carControl" configuration for v2.3 are backward-compatible, meaning your previous configuration (regardless of whether it was file-based or built programmatically with the `CarControlConfiguration` class) will still compile and produce a valid configuration to input to Auto SDK. However, several updates are recommended to ensure expected behavior, even if you do not want new features.
@@ -153,25 +186,25 @@ The Car Control module is updated to include many new assets in the default auto
It is a known issue that you cannot delete any previously configured endpoint IDs associated with your customer account in the cloud. When upgrading your configuration from v2.2 to v2.3, contact your SA or Partner Manager for help to reset your account's endpoint database in the cloud. This is especially important if you are updating to use new features. It is also recommended that your v2.3 configuration follows the configuration sample of supported features shown in the Car Control README. Refer to this document for reference.
-### Language Model Packaging
+### Language Model Packaging
Language models for the Local Voice Control extension are now decoupled from the LVC.sh (Linux) binaries. If you use the Local Voice Control extension, you must install the language models to successfully migrate to v2.3.0. Download the language model tar files. Installation instructions are provided in the Local Voice Control extension.
-### Android
+### Android
-#### Gradle
+#### Gradle
The gradle plugin has been updated to v3.6.2. This requires gradle v5.6.4 or above in order to build the Auto SDK for Android targets.
-#### Sample App
+#### Sample App
The Android sample app supports overriding the client configuration by pushing a file named app_config.json to the /sdcard folder on the device. If the /sdcard/app_config.json file existed on the device before you migrate to v2.3.0, the file overrides the client configuration included in the v2.3.0 Android sample app APK.
-### Clang Formatting
+### Clang Formatting
Auto SDK code has been formatted with `clang-format` version 9.0.0. This may lead to merge conflicts if changes have been made to v2.2.1 source code files and you migrate to v2.3.
-## Migrating from Auto SDK v2.2 to v2.2.1
+## Migrating from Auto SDK v2.2 to v2.2.1
This section outlines the changes you will need to make to migrate from Auto SDK v2.2 to Auto SDK v2.2.1.
-### TemplateRuntime Enhancements
+### TemplateRuntime Enhancements
Auto SDK v2.2.1 introduces additional TemplateRuntime platform interface features that you can integrate in your application to enrich the user's experience with Now Playing cards for AudioPlayer and ExternalMediaPlayer implementations. [Now Playing cards](https://developer.amazon.com/en-US/docs/alexa/alexa-voice-service/templateruntime.html#renderplayerinfo) are a form of display cards — visual aids that complement the Alexa voice experience — that contain media metadata, player controls and album art delivered in the TemplateRuntime RenderPlayerInfo directive.
Migration is only required to support the new features, but is highly recommended for the following reasons:
@@ -180,7 +213,7 @@ Migration is only required to support the new features, but is highly recommende
1. The `renderTemplate( const std::string& payload )` method is deprecated. Use `renderTemplate( const std::string& payload, FocusState focusState )` instead.
2. The `renderPlayerInfo( const std::string& payload )` method is deprecated. Use `renderPlayerInfo( const std::string& payload, PlayerActivity audioPlayerState, std::chrono::milliseconds offset, FocusState focusState )` instead.
-#### renderTemplate
+#### renderTemplate
**Method**
```
@@ -195,7 +228,7 @@ The new renderTemplate method provides visual metadata associated with a user re
- `FOREGROUND` Represents the highest focus a Channel can have
- `BACKGROUND` Represents the intermediate level focus a Channel can have
-#### renderPlayerInfo
+#### renderPlayerInfo
**Method**
```
@@ -221,21 +254,21 @@ The new renderPlayerInfo method provides visual metadata associated with a user
- `FOREGROUND` Represents the highest focus a Channel can have
- `BACKGROUND` Represents the intermediate level focus a Channel can have
-#### Sample Apps
+#### Sample Apps
The Android Sample App demonstrates the new features in `TemplateRuntimeHandler.java` in GUI form. Refer to sample app source code and [Alexa Voice Service documentation](https://developer.amazon.com/en-US/docs/alexa/alexa-voice-service/templateruntime.html#renderplayerinfo) for specific implementation details.
The C++ Sample App simply demonstrates the new features by printing `audioPlayerState`, `offset`, and `focusState` to the console in the `TemplateRuntimeHandler::renderPlayerInfo()` method of `TemplateRuntimeHandler.cpp`.
-## Migrating from Auto SDK v2.1 to v2.2
+## Migrating from Auto SDK v2.1 to v2.2
This section outlines the changes you will need to make to migrate from Auto SDK v2.1 to Auto SDK v2.2.
-### Implementing the Property Manager Interface
+### Implementing the Property Manager Interface
Auto SDK v2.2 introduces the Property Manager, a component that maintains runtime properties by storing property values and listeners and delegating the `setProperty()` and `getProperty()` calls from your application to the respective Engine services. The Engine invokes the PropertyManager platform interface method `propertyChanged()` to notify your application about property value changes originating internally. The property values may be set by Auto SDK modules that define constants (for example `FIRMWARE_VERSION` and `LOCALE`), or they may be initiated from the Alexa Voice Service (AVS), such as when the user changes the `TIMEZONE` setting in the Alexa Companion App.
`PropertyManager::setProperty()` and `PropertyManager::getProperty()` replace deprecated `Engine::setProperty()` and `Engine::getProperty()`. For details about the Property Manager platform interface, see "Managing Runtime Properties with the Property Manager" ([for C++](./modules/core/README.md#managing-runtime-properties-with-the-property-manager) or [for Android](./platforms/android/modules/core/README.md#managing-runtime-properties-with-the-property-manager)).
-### Car Control Changes
+### Car Control Changes
This section documents the changes you will need to make to migrate your Car Control implementation to Auto SDK v2.2.
#### New Asset ID Prefix
@@ -260,10 +293,10 @@ This implementation populates the `"aace.carControl"` configuration object with
`"assets.customAssetsPath"` and `"assets.defaultAssetsPath"` nodes.
-## Migrating from Auto SDK v2.0 to v2.1
+## Migrating from Auto SDK v2.0 to v2.1
This section outlines the changes you will need to make to migrate from Auto SDK v2.0 to Auto SDK v2.1.
-### Build Changes
+### Build Changes
The following build changes have been introduced in Auto SDK v2.1:
* The builder script usage has changed for Linux targets. All Linux targets now use the same platform name (`linux`), and `-t ` is mandatory. For example, to build for a Linux native target, use:
@@ -278,7 +311,7 @@ The following build changes have been introduced in Auto SDK v2.1:
* For QNX targets, you must cross-compile with the QNX multimedia software for the system audio extension (which is built by default for QNX targets). This requires a QNX Multimedia Suite license. See the [System Audio extension README](./extensions/experimental/system-audio/README.md) for details.
-### Engine Configuration File Updates
+### Engine Configuration File Updates
The AVS Device SDK portion of the Auto SDK Engine configuration (the `aace.alexa.avsDeviceSDK` node) has been updated. See the [`config.json.in`](./samples/cpp/assets/config.json.in) file for details.
@@ -289,7 +322,7 @@ The AVS Device SDK portion of the Auto SDK Engine configuration (the `aace.alexa
* `"deviceSettings"` now requires a `"defaultTimezone"`.
-### Navigation Enhancements
+### Navigation Enhancements
Auto SDK v2.1 introduces additional navigation features that you can integrate in your application to enrich the user's experience: add/cancel a waypoint, show/navigate to a previous destination, turn and lane guidance, and map display control. Implementing these enhancements required deprecating the `setDestination()` interface in favor of the `startNavigation()` interface and adding several additional interfaces.
@@ -585,13 +618,13 @@ The Auto SDK now implements version 1.2 of the TemplateRuntime interface to hand
The TemplateRuntime interface remains the same, but the `LocalSearchListTemplate1` template has been deprecated in favor of the new `LocalSearchListTemplate2` template. In addition, two new templates (`TrafficDetailsTemplate` and `LocalSearchDetailTemplate1`), are now supported. The `TrafficDetailsTemplate` includes commute information to favorite destinations such as home or work. The `LocalSearchDetailTemplate1` template includes information about specific locations or information in response to users asking for details about locations presented in the `LocalSearchListTemplate2` template. For details about the TemplateRuntime interface, see the [Alexa Voice Service (AVS) documentation](https://developer.amazon.com/en-US/docs/alexa/alexa-voice-service/templateruntime.html). For details about implementing TemplateRuntime in your Auto SDK implementation see the Alexa module README for [C++](./modules/alexa/README.md#handling-display-card-templates) or [Android](./platforms/android/modules/alexa/README.md#handling-display-card-templates).
-### Car Control Source File Relocation
+### Car Control Source File Relocation
The Car Control module platform interface files and documentation are now located in `aac-sdk/modules/car-control` for C++ and `aac-sdk/platforms/android/modules/car-control` for Android, rather than in the Local Voice Control (LVC) extension directory structure.
>**Note:** In addition, if you use custom assets for car control in an implementation with the optional Local Voice Control (LVC) extension, you must specify the path to the custom assets in both the Auto SDK car control configuration and the LVC configuration, not just the LVC configuration. For details, see [Path to Custom Car Control Assets for LVC Implementations](#path-to-custom-car-control-assets-for-lvc-implementations).
-### Code-Based-Linking (CBL) Handler in the Sample Apps
+### Code-Based-Linking (CBL) Handler in the Sample Apps
Both of the Auto SDK Sample Apps now include the Code-Based Linking (CBL) handler implementation (in favor of the `AuthProvider` handler implementation ) to handle obtaining access tokens from Login with Amazon (LWA). Changing from the `AuthProvider` handler to the CBL handler is *not a required change*, but we recommend that you use the Auto SDK CBL interface for ease of implementation. For details about the CBL handler, please see the CBL module README [for C++](./modules/cbl/README.md) or [for Android](./platforms/android/modules/cbl/README.md).
If you want to continue using the `AuthProvider` interface, we recommend that you implement the new `onAuthFailure()` method that exposes 403 "unauthorized request" exceptions from Alexa Voice Service (AVS). This method may be invoked, for example, when your product makes a request to AVS using an access token obtained for a device which has been deregistered from the Alexa companion app. In the Sample Apps, you can override the interface and unset your login credentials as if the user had done so with your GUI interface:
diff --git a/NOTICE b/NOTICE
index 155dd2f3c..4d2267a52 100644
--- a/NOTICE
+++ b/NOTICE
@@ -19,7 +19,6 @@ modules/core
modules/messaging
modules/navigation
modules/phone-control
-platforms/agl
platforms/android
samples/android
samples/cpp
diff --git a/OVERVIEW.md b/OVERVIEW.md
deleted file mode 100644
index 97c173b60..000000000
--- a/OVERVIEW.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# Alexa Auto SDK Overview
-
-The Alexa Auto SDK is designed to allow flexibility in the integration of Alexa as a part of the automotive in-cabin experience. The Alexa Auto SDK Engine provides runtime support for Alexa and other services and allows your application to integrate with platform-specific functionality. Platform-specific behavior in the Alexa Auto SDK is abstracted into interfaces called "platform interfaces." To implement the platform-specific functionality in your application, you extend the platform interfaces (by creating custom handlers) and register these platform interface handlers with the Engine.
-
-**Table of Contents**
-
-* [Alexa Auto SDK Architecture and Modules](#alexa-auto-sdk-architecture-and-modules)
-* [Optional Extensions](#optional-extensions)
-
-## Alexa Auto SDK Architecture and Modules
-
-> **Note**: This diagram shows only some of the available platform interfaces.
-
-
-
-###  Alexa Auto SDK Engine
-
-The runtime implementation of the Alexa Auto SDK is known as the Engine. Modules extend the Engine by providing services and defining the runtime behavior for platform interfaces that are registered by the application. The application software communicates with the Engine through the API defined by the platform interfaces.
-
-###  Core Module
-
-The Core module (for [C++](./modules/core/README.md) or [Android](./platforms/android/modules/core/README.md)) includes platform interfaces and runtime Engine support for Core features in the Alexa Auto SDK, such as logging, location, and network information. The services are used by components in other modules and are required by the Alexa Auto SDK.
-
-
-###  Alexa Module
-
-The Alexa module (for [C++](./modules/alexa/README.md) or [Android](./platforms/android/modules/alexa/README.md)) includes platform interfaces and runtime Engine support for Alexa features in the Alexa Auto SDK, including speech input and output, audio output, authorization, Alexa speaker, media playback, equalizer control, template and state rendering, local media sources, alerts, notifications, and Do Not Disturb (DND).
-
-###  Navigation Module
-
-The Navigation module (for [C++](./modules/navigation/README.md) or [Android](./platforms/android/modules/navigation/README.md)) includes platform interfaces and runtime Engine support for Alexa to interface with the onboard navigation system.
-
-
-###  Phone Call Controller Module
-
-The Phone Control module (for [C++](./modules/phone-control/README.md) or [Android](./platforms/android/modules/phonecontrol/README.md)) includes platform interfaces and runtime Engine support for Alexa to interface with the onboard telephony system.
-
-### Address Book Module
-
-The Address Book module (for [C++](./modules/address-book/README.md) or [Android](./platforms/android/modules/addressbook/README.md)) includes platform interfaces and runtime Engine support to augment the communications and navigation capabilities of Alexa with user data such as phone contacts and/or navigation favorites ("home", "work", etc.)
-
-### Code-Based Linking (CBL) Module
-
-The CBL module (for [C++](./modules/cbl/README.md) or [Android](./platforms/android/modules/cbl/README.md)) includes platform interfaces and runtime Engine support to implement the Code-Based Linking (CBL) mechanism of acquiring Login with Amazon (LWA) access tokens.
-
-### Alexa Presentation Language (APL) Module
-The APL module (for [C++](./modules/apl/README.md) or [Android](./platforms/android/modules/apl/README.md)) includes platform interfaces and runtime Engine support to enable devices with graphical user interface (GUI) support to implement APL directives and events.
-
->**Note:** APL rendering on the Android Sample App requires a component that is available by [request from your Amazon Solutions Architect (SA) or Partner Manager](./NEED_HELP.md#requesting-additional-functionality-whitelisting).
-
-### Messaging Module
-
-The Messaging module (for [C++](./modules/messaging/README.md) or [Android](./platforms/android/modules/messaging/README.md)) includes platform interfaces and runtime Engine support for Short Message Service (SMS) capabilities of Alexa such as sending and reading text messages.
-
-## Optional Extensions
-The following extensions to the Alexa Auto SDK are available by request. Please contact your Amazon Solutions Architect (SA) or Partner Manager for more information.
-
->**Important!** The optional extensions are provided as archives. In order to install an optional extension, you must first download the archive. The version of the optional extension archive must match the version of the Auto SDK that you are using. For example, if you are using Auto SDK 2.0 and want to install the Local Voice Control extension, you must download version 2.0 of the Local Voice Control extension archive from the link provided below.
-
-### AmazonLite Wake Word extension
-Wake Word enables hands-free, voice-initiated interactions with Alexa. The Wake Word extension enables AmazonLite Wake Word support in the Alexa Auto SDK.
-
-To install the optional AmazonLite Wake Word extension, you must download the appropriate archive version from the [Auto SDK AmazonLite Extension resources directory](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Amazonlite%20Extension).
-
-### Alexa Communications extension
-The Alexa Communications extension enables integration with Alexa-to-Alexa calling, Alexa-to-PSTN calling, and messaging capabilities.
-
-To install the optional Alexa Communications extension, you must download the appropriate archive version from the [Auto SDK Alexa Comms Extension resources directory](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Alexa%20Comms%20Extension).
-
-### Local Voice Control (LVC) extension
-The Local Voice Control (LVC) extension provides car control, communication, navigation, and entertainment functionality, with and without an internet connection. It includes components that run an Alexa endpoint inside the vehicle's head unit. Local Voice Control is currently supported on Linux x86 64-bit, Linux ARM 32/64-bit, Android x86 64-bit, and Android ARM 32/64-bit platforms.
-
-To install the optional LVC extension, you must download the appropriate archive version from the [Auto SDK Local Voice Control Extension resources directory](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Local%20Voice%20Control%20Extension).
-
-### Device Client Metrics (DCM) extension
-The Device Client Metrics (DCM) extension enables logging and uploading Alexa Auto SDK metrics to the Amazon cloud. Voice request metrics, for example, include start and end timestamps of user and Alexa speech and user perceived latency (UPL) between the request and Alexa’s response. Metrics may be tagged Beta, Gamma, or Prod depending on the vehicle lifecycle. The DCM extension is available for all Linux and Android platforms.
-
-To install the optional DCM extension, you must download the appropriate archive version from the [Auto SDK Device Metric Upload Service Extension resources directory](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Metric%20Upload%20Service%20Extension).
-
-### Voice Chrome for Android extension
-The Voice Chrome extension adds Voice Chrome support to the Auto SDK for Android x86 64-bit and Android ARM 32/64-bit platforms. Voice Chrome provides a consistent set of visual cues representing Alexa attention state across a range of Alexa-enabled devices. The Voice Chrome extension includes a prebuilt Android AAR library for easy integration with your applications, as well as a patch to the Android Sample App that adds the Voice Chrome functionality.
-
-To install the optional Voice Chrome for Android extension, you must download the appropriate archive version from the [Auto SDK Voice Chrome Extension resources directory](https://developer.amazon.com/alexa/console/avs/preview/resources/details/Auto%20SDK%20Voice%20Chrome%20Extension).
\ No newline at end of file
diff --git a/README.md b/README.md
index f6d7b3cac..244c00305 100644
--- a/README.md
+++ b/README.md
@@ -1,57 +1,105 @@
-# Get Started with the Alexa Auto SDK
+# Overview of the Alexa Auto SDK
-The [Alexa Auto SDK](./OVERVIEW.md) contains essential client-side software required to integrate Alexa into the automobile. It is modular and abstract, providing a runtime engine for communicating with the Alexa service as well as interfaces that allow you to implement platform-specific behavior such as audio input, media playback, template and state rendering, phone control, and navigation. The Auto SDK also includes two sample applications (one for [C++](./samples/cpp/README.md) and one for [Android](./samples/android/README.md)) that demonstrate how to use the Auto SDK interfaces and allow you to test interactions before integration.
+The Alexa Auto SDK contains essential client-side software required to integrate Alexa into the automobile. The software includes the source code and function libraries in C++ and Java. The Auto SDK is modular and abstract, providing a runtime engine for your vehicle to communicate with the Alexa service. It also provides interfaces for you to implement platform-specific behavior, such as audio input, media playback, template and state rendering, phone control, and navigation. After you build and install the Auto SDK, you can use the included sample applications, one for C++ and one for Android, to learn about the Auto SDK interfaces and to test interactions before integration.
-**To get started with the Auto SDK, follow these basic steps:**
+
+## Table of Contents
+- [Auto SDK Architecture and Modules](#auto-sdk-architecture-and-modules)
+- [Alexa Auto Client Service (AACS)](#alexa-auto-client-service-aacs)
+- [Security Best Practices](#security-best-practices)
+- [See Also](#see-also)
-> **Important!** You need to register for an [Amazon Developer Account](https://developer.amazon.com/home.html) and [create an Alexa device and security profile](./NEED_HELP.md#registering-a-product-and-creating-a-security-profile) to use the Alexa Auto SDK.
+## Auto SDK Architecture and Modules
-1. Clone the `alexa-auto-sdk` repository into your project and [build the Auto SDK package](./builder/README.md#using-the-auto-sdk-builder).
+> **Note**: This diagram shows only some of the available platform interfaces.
-2. Install the built package on your [target hardware](./builder/README.md#supported-target-platforms).
-3. Create and configure an instance of the Engine. For details, see the [C++](./modules/core/README.md#creating-the-engine) or [Android](./platforms/android/modules/core/README.md#creating-the-engine) Core module documentation.
-
-4. Extend the Auto SDK interfaces by creating a custom handler for each interface that you want to implement and registering the handler with the Engine. The Auto SDK modules provide platform interfaces and runtime Engine support for different capabilities:
+
+
+
+The following sections describe the Auto SDK modules and extensions, which are optional modules.
- * **Core** (for [C++](./modules/core/README.md) or [Android](./platforms/android/modules/core/README.md)) - enables you to implement core features such as system audio input and output integration, logging, location, and network information. The services are used by components in other modules and are required by the Alexa Auto SDK.
- * **Alexa** (for [C++](./modules/alexa/README.md) or [Android](./platforms/android/modules/alexa/README.md)) - enables you to implement Alexa features, including speech input and output, Alexa audio playback management, authorization, equalizer control, template and state rendering, local media sources, alerts, notifications, and Do Not Disturb (DND)).
- * **Navigation** (for [C++](./modules/navigation/README.md) or [Android](./platforms/android/modules/navigation/README.md)) - enables Alexa to interface with the onboard navigation system.
- * **Phone Call Controller** (for [C++](./modules/phone-control/README.md) or [Android](./platforms/android/modules/phonecontrol/README.md)) - enables Alexa to interface with the onboard telephony system.
- * **Address Book** (for [C++](./modules/address-book/README.md) or [Android](./platforms/android/modules/addressbook/README.md)) - enables you to augment the communications and navigation capabilities of Alexa with user data such as phone contacts and/or navigation favorites.
- * **CBL** (for [C++](./modules/cbl/README.md) or [Android](./platforms/android/modules/cbl/README.md)) - enables you to implement the Code-Based Linking (CBL) mechanism of acquiring Login with Amazon (LWA) access tokens.
- * **Alexa Presentation Language (APL)** (for [C++](./modules/apl/README.md) or [Android](./platforms/android/modules/apl/README.md)) - enables your application to support APL directives and events for devices with graphical user interface (GUI) support.
- * **Car Control** (for [C++](./modules/car-control/README.md) or [Android](./platforms/android/modules/car-control/README.md)) - enables your application to build a custom vehicle-control experience that allows the user to voice-control vehicle features using Alexa.
- * **Messaging** (for [C++](./modules/car-control/README.md) or [Android](./platforms/android/modules/messaging/README.md)) - enables your application to interface with the Short Message Service (SMS) capabilities of a connected phone using Alexa.
-5. Start the Engine using the `start()` command.
-6. Use the Sample App ([C++](./samples/cpp/README.md) or [Android](./samples/android/README.md)) to see how the Auto SDK works and to test end-to-end functionality.
+###  Alexa Auto SDK Engine
-[Additional functionality](./OVERVIEW.md#optional-extensions) (for example, Car Control, SMS, AmazonLite Wake Word, Alexa Communications, Local Voice Control (LVC), Device Client Metrics (DCM), and Voice Chrome for Android) is available with [help from your Amazon Solutions Architect (SA) or Partner Manager](./NEED_HELP.md#requesting-additional-functionality-whitelisting).
+The Auto SDK Engine is the runtime implementation of the Auto SDK. Platform-specific behavior in the Alexa Auto SDK is abstracted into interfaces called "platform interfaces." Modules in the Auto SDK extend the Engine by providing services and defining the runtime behavior for platform interfaces that are registered by the application. The platform interfaces define the API that determines how the application communicates with the Engine.
-## Release Notes and Known Issues
+###  Core Module
-For a summary of feature enhancements, updates, and resolved and known issues, see the the Auto SDK [Change Log](./CHANGELOG.md).
+The Core module (for [C++](./modules/core/README.md) or [Android](./platforms/android/modules/core/README.md) includes the Engine class and platform interfaces. It also provides the infrastructure for audio input and output. The infrastructure is necessary for any modules that provide platform interfaces involving audio (for example, the Alexa module). All modules depend on the Core module, which provides them with logging, location reporting, and network monitoring services.
->**Note:** [Android Sample App](./samples/android/README.md#v210-release-notes), [C++ Sample App](./samples/cpp/README.md#v210-release-notes), and [Automotive Grade Linux (AGL) Alexa Voice Agent](./platforms/agl/alexa-voiceagent-service/README.md#v210-release-notes) release notes are provided in their respective READMEs.
+The Auto SDK provides a Java version of each C++ platform interface in the Android platform portion of the SDK. The Java interfaces are built, using the Java Native Interface (JNI), on top of the core C++ interfaces. As a result, Android integrations can use Auto SDK interfaces directly.
-## Migration Guide
-For guidelines on migrating Auto SDK versions, see the [Migration Guide](./MIGRATION.md).
+###  Alexa Module
-## Learn More
+The Alexa module (for [C++](./modules/alexa/README.md) or [Android](./platforms/android/modules/alexa/README.md)) includes platform interfaces and runtime Engine support for Alexa features in the Auto SDK, including speech input and output, audio output, authorization, Alexa speaker, media playback, equalizer control, template and state rendering, local media sources, alerts, notifications, and Do Not Disturb (DND).
-For Auto SDK API documentation, see the interface reference documentation:
+###  Navigation Module
-* [Alexa Auto SDK for Android](https://alexa.github.io/alexa-auto-sdk/docs/android/)
-* [Alexa Auto SDK for C++](https://alexa.github.io/alexa-auto-sdk/docs/cpp/)
+The Navigation module (for [C++](./modules/navigation/README.md) or [Android](./platforms/android/modules/navigation/README.md)) includes platform interfaces and runtime Engine support for Alexa to interface with the onboard navigation system.
-For UX design requirements, recommendations, and best practices, see the [Alexa Automotive design documentation](https://developer.amazon.com/docs/alexa-auto/about-this-guide.html).
+###  Phone Call Controller Module
-## Important Considerations
+The Phone Control module (for [C++](./modules/phone-control/README.md) or [Android](./platforms/android/modules/phonecontrol/README.md)) includes platform interfaces and runtime Engine support for Alexa to interface with the onboard telephony system.
-### Security Best Practices
+### Address Book Module
+
+The Address Book module (for [C++](./modules/address-book/README.md) or [Android](./platforms/android/modules/addressbook/README.md)) includes platform interfaces and runtime Engine support to augment the communications and navigation capabilities of Alexa with user data such as phone contacts and navigation favorites ("home", "work", etc.)
+
+### Code-Based Linking (CBL) Module
+
+The CBL module (for [C++](./modules/cbl/README.md) or [Android](./platforms/android/modules/cbl/README.md)) includes platform interfaces and runtime Engine support to implement the CBL mechanism of acquiring Login with Amazon (LWA) access tokens.
+
+### Alexa Presentation Language (APL) Module
+The APL module (for [C++](./modules/apl/README.md) or [Android](./platforms/android/modules/apl/README.md)) includes platform interfaces and runtime Engine support to enable devices with graphical user interface (GUI) support to implement APL directives and events.
+
+>**Note:** APL rendering on the Android Sample App requires a component that is available by [request from your Amazon Solutions Architect (SA) or Partner Manager](./NEED_HELP.md#requesting-additional-functionality-whitelisting).
+
+### Messaging Module
+The Messaging module (for [C++](./modules/messaging/README.md) or [Android](./platforms/android/modules/messaging/README.md)) includes platform interfaces and runtime Engine support for Short Message Service (SMS) capabilities of Alexa such as sending and reading text messages.
+
+### Car Control Module
+The Car Control module (for [C++](./modules/car-control/README.md) or [Android](./platforms/android/modules/car-control/README.md)) enables your application to build a custom vehicle-control experience that allows the user to voice-control vehicle features using Alexa.
+
+### AmazonLite Wake Word Extension
+Wake Word enables hands-free, voice-initiated interactions with Alexa. The Wake Word extension enables AmazonLite Wake Word support in the Auto SDK.
+
+### Alexa Communications Extension
+The Alexa Communications extension enables integration with Alexa-to-Alexa calling, Alexa-to-PSTN calling, and messaging capabilities.
+
+### Local Voice Control (LVC) Extension
+The Local Voice Control (LVC) extension provides car control, communication, navigation, and entertainment functionality, with and without an internet connection. It includes components that run an Alexa endpoint inside the vehicle's head unit. Local Voice Control is currently supported on Linux x86 64-bit, Linux ARM 32/64-bit, Android x86 64-bit, and Android ARM 32/64-bit platforms.
+
+### Device Client Metrics (DCM) Extension
+The Device Client Metrics (DCM) extension enables logging and uploading Alexa Auto SDK metrics to the Amazon cloud. Voice request metrics, for example, include start and end timestamps of user and Alexa speech and user perceived latency (UPL) between the request and Alexa’s response. Metrics may be tagged Beta, Gamma, or Prod depending on the vehicle lifecycle. The DCM extension is available for all Linux and Android platforms.
+
+### Voice Chrome for Android Extension
+The Voice Chrome extension adds Voice Chrome support to the Auto SDK for Android x86 64-bit and Android ARM 32/64-bit platforms. Voice Chrome provides a consistent set of visual cues representing Alexa attention state across a range of Alexa-enabled devices. The Voice Chrome extension includes a prebuilt Android AAR library for easy integration with your applications, as well as a patch to the Android Sample App that adds the Voice Chrome functionality.
+
+>**Note:** Auto SDK extensions are available by request. Contact your Amazon Solutions Architect (SA) or Partner Manager for more information.
+
+## Alexa Auto Client Service (AACS)
+The Auto SDK includes AACS, an APK (Android package) that enables OEMs of Android-based devices to simplify the process of integrating the Auto SDK. After you install, configure, and initialize AACS, it communicates with the applications, providing an interface between the applications and various Alexa functions, such as navigation and car control. For more information about AACS, see the AACS [README](./platforms/android/alexa-auto-client-service/README.md).
+
+AACS requires the Alexa Auto Service Bridge (AASB) extension, which provides a message-based interface to the Auto SDK Engine. For more information about AASB, see the [AASB README](./extensions/aasb/README.md).
+
+## Security Best Practices
All Alexa products are required to follow the [Security Best Practices for Alexa](https://developer.amazon.com/en-US/docs/alexa/alexa-voice-service/avs-security-reqs.html). When building an Alexa experience using the Alexa Auto SDK, additionally adhere to the following security principles:
* Protect configuration files for the Auto SDK Engine from tampering and inspection.
* Protect configuration parameters, such as those found in Auto SDK Engine configuration files, from tampering and inspection, including but not limited to the following: SQLite database files, Unix Domain Sockets, wake word models, and metrics sink files.
* Protect components used for the Local Voice Control (LVC) extension, including associated LVC language model packages (Linux) and APKs (Android), from tampering and inspection, including but not limited to the following: Unix Domain Sockets, model directories, skill and service executables, prompts and assets JSON files, and all files configuring these components.
-* Follow additional SDK security best practices outlined [here](https://developer.amazon.com/en-US/docs/alexa/avs-device-sdk/overview.html#security-best-practices).
\ No newline at end of file
+* Your C++ implementation of Auto SDK interfaces must not retain locks, crash, hang, or throw exceptions.
+* Use exploit mitigation flags and memory randomization techniques when you compile your source code to prevent vulnerabilities from exploiting buffer overflows and memory corruptions.
+
+## See Also
+The following documents or websites provide more information about the Auto SDK.
+
+* [Getting Started Guide](./GETSTARTED.md) provides steps for getting started with the Auto SDK and for downloading extensions.
+* [Change Log](./CHANGELOG.md) provides a summary of feature enhancements, updates, and resolved and known issues.
+* [Android Sample App](./samples/android/README.md) and [C++ Sample App](./samples/cpp/README.md) READMEs provide release notes about the sample apps.
+* For Auto SDK API documentation, see the interface reference documentation:
+ * [Alexa Auto SDK for Android](https://alexa.github.io/alexa-auto-sdk/docs/android/)
+ * [Alexa Auto SDK for C++](https://alexa.github.io/alexa-auto-sdk/docs/cpp/)
+* [Migration Guide](./MIGRATION.md) describes how to migrate from one Auto SDK version to another.
+* For UX design requirements, recommendations, and best practices, see the [Alexa Automotive design documentation](https://developer.amazon.com/docs/alexa-auto/about-this-guide.html).
+
diff --git a/SEQUENCE_DIAGRAMS.md b/SEQUENCE_DIAGRAMS.md
index 3ede7911e..7dd785355 100644
--- a/SEQUENCE_DIAGRAMS.md
+++ b/SEQUENCE_DIAGRAMS.md
@@ -47,4 +47,4 @@ This diagram includes the actual names and syntax for the methods and functions
1. While in the listening state, audio data is sent to Alexa until the end of speech is detected. Once the end of speech is detected, Alexa sends a ```StopCapture``` directive to the Engine and the dialog state is changed to "thinking." Alexa then respond with additional directives in response to the speech request.
-1. The application should continue to send audio to the Engine until ```stopAudioInput()``` is received. When wake word is enabled, this happens when the Engine is stopped, or when ```disableWakewordDetection()``` is explicitly called by the application.
+1. The application should continue to send audio to the Engine until ```stopAudioInput()``` is received. When wake word is enabled, this happens when the Engine is stopped, or when wakeword detection is disabled explicitly by the application.
diff --git a/assets/aac-seq-ttt.plantuml b/assets/aac-seq-ttt.plantuml
new file mode 100644
index 000000000..9fa4d91e5
--- /dev/null
+++ b/assets/aac-seq-ttt.plantuml
@@ -0,0 +1,73 @@
+@startuml
+
+hide footbox
+
+skinparam sequence {
+ArrowColor black
+ActorBorderColor black
+ActorBackgroundColor white
+ActorFontName Arial
+LifeLineBorderColor black
+LifeLineBackgroundColor black
+ParticipantBorderColor black
+ParticipantBackgroundColor #eaf2f8
+}
+
+skinparam NoteBorderThickness 1
+skinparam NoteBorderColor black
+skinparam NoteBackgroundColor #01cafc
+skinparam NoteFontColor #bdf1fe
+
+
+actor "**Driver**\n(tap to talk)" as Driver order 10
+
+participant "**AlexaClientHandler**\naace::alexa::AlexaClient" as AlexaClient order 20
+participant "**SpeechRecognizerHandler**\naace::alexa::SpeechRecognizer" as SpeechRecognizer order 30
+participant "**AudioInputHandler**\naace::audio::AudioInput" as AudioInput order 32
+participant "**Microphone**\n(Native Implementation)" as Microphone order 35
+participant "**Alexa Auto SDK**\n**Engine**" as Engine order 100 #46c1cd
+participant "**AVS**\n(Alexa endpoint)" as AVS order 150 #FFFFF
+
+Driver->SpeechRecognizer : Initiate tap to talk
+SpeechRecognizer->Engine : tapToTalk()
+note left
+1
+end note
+
+Engine->AVS : Recognize(event)
+AlexaClient<--Engine : dialogStateChanged(LISTENING)
+Driver<--AlexaClient : Display Voice Chrome\nfor //listening// state
+AudioInput<--Engine : startAudioInput()
+note left #01cafc
+2
+end note
+
+AudioInput->Microphone : Open micropohone
+activate Microphone #add8e6
+loop until stopAudioInput() called
+ Driver->Microphone : //"What's the weather?"//
+ AudioInput<--Microphone : PCM data
+ AudioInput->Engine : write(data, size)
+ Engine->AVS : Write audio data
+end
+AVS-->Engine : StopCapture(directive)
+SpeechRecognizer<--Engine : endOfSpeechDetected()
+AudioInput<--Engine : stopAudioInput()
+AudioInput->Microphone : Close microphone
+deactivate Microphone
+AlexaClient<--Engine : dialogStateChanged(THINKING)
+note left #01cafc
+3
+end note
+
+Driver<--AlexaClient : Display Voice Chrome\nfor //thinking// state
+
+legend right
+|= Legend: |
+|<#eaf2f8>OEM Implementation|
+|<#46c1cd>Alexa Auto SDK Engine|
+|<#add8e6>Audio input buffer processing flow|
+endlegend
+
+@enduml
+
diff --git a/assets/aac-seq-ttt.png b/assets/aac-seq-ttt.png
index 1c358ad0d1dc49c7527b07eec67bf35cb610d32a..59354048b3e207b3bf23479c158a78e369c636dc 100644
GIT binary patch
literal 60400
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