diff options
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 | 11 |
1 files changed, 10 insertions, 1 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 89ccfb8bd7..71bf867054 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 @@ -94,7 +94,12 @@ void AddSubMenuRequest::Run() { const std::string& menu_name = received_msg_params[strings::menu_name].asString(); - if (app->IsSubMenuNameAlreadyExist(menu_name)) { + const uint32_t parent_id = + received_msg_params.keyExists(strings::parent_id) + ? received_msg_params[strings::parent_id].asUInt() + : 0; + + if (app->IsSubMenuNameAlreadyExist(menu_name, parent_id)) { LOG4CXX_ERROR(logger_, "Menu name " << menu_name << " is duplicated."); SendResponse(false, mobile_apis::Result::DUPLICATE_NAME); return; @@ -130,6 +135,10 @@ void AddSubMenuRequest::Run() { } msg_params[strings::menu_params][strings::menu_name] = received_msg_params[strings::menu_name]; + if (received_msg_params.keyExists(strings::parent_id)) { + msg_params[strings::menu_params][strings::parent_id] = parent_id; + } + msg_params[strings::app_id] = app->app_id(); StartAwaitForInterface(HmiInterfaces::HMI_INTERFACE_UI); |