diff options
author | JackLivio <jack@livio.io> | 2018-06-27 10:50:28 -0400 |
---|---|---|
committer | JackLivio <jack@livio.io> | 2018-06-27 10:50:28 -0400 |
commit | de1f0e371bc514464cd3ed343c4cc45e355c16f9 (patch) | |
tree | 69fb4bcdadab46c99876a1c13366165bff37813c /src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc | |
parent | 22d3d2e92cb084d4987e52f148b1328e7a843952 (diff) | |
download | sdl_core-de1f0e371bc514464cd3ed343c4cc45e355c16f9.tar.gz |
Merge Develop
Diffstat (limited to 'src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc')
-rw-r--r-- | src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc index 9e945e6d5f..d9075b707e 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc @@ -67,8 +67,27 @@ void AddSubMenuRequest::Run() { return; } + + smart_objects::SmartObject received_msg_params = + (*message_)[strings::msg_params]; + mobile_apis::Result::eType verification_result = + mobile_apis::Result::INVALID_ENUM; + + if (received_msg_params.keyExists(strings::menu_icon)) { + verification_result = MessageHelper::VerifyImage( + received_msg_params[strings::menu_icon], + app, + application_manager_); + + if (mobile_apis::Result::SUCCESS != verification_result) { + LOG4CXX_ERROR(logger_,"MessageHelper::VerifyImage return " << verification_result); + SendResponse(false, verification_result); + return; + } + } + const int32_t menu_id = - (*message_)[strings::msg_params][strings::menu_id].asInt(); + received_msg_params[strings::menu_id].asInt(); if (app->FindSubMenu(menu_id)) { LOG4CXX_ERROR(logger_, "Menu with id " << menu_id << " is not found."); SendResponse(false, mobile_apis::Result::INVALID_ID); @@ -76,7 +95,7 @@ void AddSubMenuRequest::Run() { } const std::string& menu_name = - (*message_)[strings::msg_params][strings::menu_name].asString(); + received_msg_params[strings::menu_name].asString(); if (app->IsSubMenuNameAlreadyExist(menu_name)) { LOG4CXX_ERROR(logger_, "Menu name " << menu_name << " is duplicated."); @@ -94,15 +113,19 @@ void AddSubMenuRequest::Run() { smart_objects::SmartObject(smart_objects::SmartType_Map); msg_params[strings::menu_id] = - (*message_)[strings::msg_params][strings::menu_id]; - if ((*message_)[strings::msg_params].keyExists(strings::position)) { + received_msg_params[strings::menu_id]; + if (received_msg_params.keyExists(strings::position)) { msg_params[strings::menu_params][strings::position] = - (*message_)[strings::msg_params][strings::position]; + received_msg_params[strings::position]; } msg_params[strings::menu_params][strings::menu_name] = - (*message_)[strings::msg_params][strings::menu_name]; + received_msg_params[strings::menu_name]; msg_params[strings::app_id] = app->app_id(); + if (mobile_apis::Result::SUCCESS == verification_result) { + msg_params[strings::menu_icon] = received_msg_params[strings::menu_icon]; + } + StartAwaitForInterface(HmiInterfaces::HMI_INTERFACE_UI); SendHMIRequest(hmi_apis::FunctionID::UI_AddSubMenu, &msg_params, true); } |