summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/message_helper/message_helper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/message_helper/message_helper.cc')
-rw-r--r--src/components/application_manager/src/message_helper/message_helper.cc69
1 files changed, 20 insertions, 49 deletions
diff --git a/src/components/application_manager/src/message_helper/message_helper.cc b/src/components/application_manager/src/message_helper/message_helper.cc
index 2e60bb2c66..d5d87a6a2f 100644
--- a/src/components/application_manager/src/message_helper/message_helper.cc
+++ b/src/components/application_manager/src/message_helper/message_helper.cc
@@ -383,13 +383,10 @@ MessageHelper::CreateUIResetGlobalPropertiesRequest(
smart_objects::SmartType_Map);
if (reset_result.vr_help_title_items) {
- smart_objects::SmartObjectSPtr vr_help = CreateAppVrHelp(application);
- if (!vr_help.get()) {
- SDL_LOG_WARN("Failed to create vr_help");
- return smart_objects::SmartObjectSPtr();
- } else {
- ui_reset_global_prop_request = vr_help;
- }
+ (*ui_reset_global_prop_request)[strings::vr_help_title] =
+ *(application->vr_help_title());
+ (*ui_reset_global_prop_request)[strings::vr_help] =
+ *(application->vr_help());
}
if (reset_result.menu_name) {
(*ui_reset_global_prop_request)[hmi_request::menu_title] = "";
@@ -740,11 +737,16 @@ void MessageHelper::SendDeleteChoiceSetRequest(smart_objects::SmartObject* cmd,
DCHECK_OR_RETURN_VOID(cmd);
using namespace smart_objects;
- SmartObject msg_params = SmartObject(smart_objects::SmartType_Map);
+ if (!cmd->keyExists(strings::grammar_id) ||
+ (*cmd)[strings::grammar_id].asInt() == -1) {
+ return;
+ }
+ SmartObject msg_params = SmartObject(smart_objects::SmartType_Map);
msg_params[strings::app_id] = application->app_id();
msg_params[strings::type] = hmi_apis::Common_VRCommandType::Choice;
msg_params[strings::grammar_id] = (*cmd)[strings::grammar_id];
+
cmd = &((*cmd)[strings::choice_set]);
for (uint32_t i = 0; i < (*cmd).length(); ++i) {
msg_params[strings::cmd_id] = (*cmd)[i][strings::choice_id];
@@ -769,7 +771,10 @@ void MessageHelper::SendResetPropertiesRequest(ApplicationSharedPtr application,
using namespace smart_objects;
{
- SmartObject msg_params = *MessageHelper::CreateAppVrHelp(application);
+ auto& help_prompt_manager = application->help_prompt_manager();
+ smart_objects::SmartObject msg_params(smart_objects::SmartType_Map);
+ help_prompt_manager.CreateVRMsg(msg_params);
+
msg_params[hmi_request::menu_title] = "";
smart_objects::SmartObject keyboard_properties =
@@ -1410,46 +1415,6 @@ void MessageHelper::SendTTSGlobalProperties(ApplicationSharedPtr app,
}
}
-smart_objects::SmartObjectSPtr MessageHelper::CreateAppVrHelp(
- ApplicationConstSharedPtr app) {
- smart_objects::SmartObjectSPtr result =
- std::make_shared<smart_objects::SmartObject>(
- smart_objects::SmartType_Map);
-
- smart_objects::SmartObject& vr_help = *result;
- const smart_objects::SmartObjectSPtr vr_help_title = app->vr_help_title();
- if (vr_help_title) {
- vr_help[strings::vr_help_title] = vr_help_title->asString();
- }
-
- int32_t index = 0;
-
- smart_objects::SmartObject so_vr_help(smart_objects::SmartType_Map);
- so_vr_help[strings::position] = index + 1;
- so_vr_help[strings::text] = app->name();
- vr_help[strings::vr_help][index++] = so_vr_help;
-
- if (app->vr_synonyms()) {
- smart_objects::SmartObject item(smart_objects::SmartType_Map);
- item[strings::text] = (*(app->vr_synonyms())).getElement(0);
- item[strings::position] = index + 1;
- vr_help[strings::vr_help][index++] = item;
- }
-
- // copy all app VR commands
- const DataAccessor<CommandsMap> cmd_accessor = app->commands_map();
- const CommandsMap& commands = cmd_accessor.GetData();
- CommandsMap::const_iterator it = commands.begin();
-
- for (; commands.end() != it; ++it) {
- smart_objects::SmartObject item(smart_objects::SmartType_Map);
- item[strings::text] = (*it->second)[strings::vr_commands][0].asString();
- item[strings::position] = index + 1;
- vr_help[strings::vr_help][index++] = item;
- }
- return result;
-}
-
smart_objects::SmartObjectList MessageHelper::CreateShowRequestToHMI(
ApplicationConstSharedPtr app, const uint32_t correlation_id) {
smart_objects::SmartObjectList requests;
@@ -1567,6 +1532,7 @@ smart_objects::SmartObjectList MessageHelper::CreateAddCommandRequestToHMI(
smart_objects::SmartObjectList
MessageHelper::CreateAddVRCommandRequestFromChoiceToHMI(
ApplicationConstSharedPtr app, ApplicationManager& app_mngr) {
+ SDL_LOG_AUTO_TRACE();
smart_objects::SmartObjectList requests;
if (!app) {
SDL_LOG_ERROR("Invalid application");
@@ -1581,6 +1547,11 @@ MessageHelper::CreateAddVRCommandRequestFromChoiceToHMI(
(*(it->second))[strings::grammar_id].asUInt();
const size_t size = (*(it->second))[strings::choice_set].length();
for (size_t j = 0; j < size; ++j) {
+ if (!(*(it->second))[strings::choice_set][j].keyExists(
+ strings::vr_commands)) {
+ continue;
+ }
+
smart_objects::SmartObjectSPtr vr_command = CreateMessageForHMI(
hmi_apis::messageType::request, app_mngr.GetNextHMICorrelationID());
if (!vr_command) {