summaryrefslogtreecommitdiff
path: root/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-06-27 10:50:28 -0400
committerJackLivio <jack@livio.io>2018-06-27 10:50:28 -0400
commitde1f0e371bc514464cd3ed343c4cc45e355c16f9 (patch)
tree69fb4bcdadab46c99876a1c13366165bff37813c /src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_sub_menu_request.cc
parent22d3d2e92cb084d4987e52f148b1328e7a843952 (diff)
downloadsdl_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.cc35
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);
}