From ef607e4d41e8030826dce02481347b85eb5af20e Mon Sep 17 00:00:00 2001 From: JackLivio Date: Thu, 11 Feb 2021 17:40:37 -0500 Subject: Main Menu UI Updates (#3612) * Main Menu UI Updates * Verify secondaryImage * Fix Style * Update capabilities file with new text fields * Re-order text field enum --- .../src/commands/mobile/add_command_request.cc | 35 ++++++++++++++++++++++ .../src/commands/mobile/add_sub_menu_request.cc | 26 ++++++++++++++++ 2 files changed, 61 insertions(+) (limited to 'src/components/application_manager') diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_command_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_command_request.cc index 7460197904..03b0ee20fc 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_command_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/add_command_request.cc @@ -107,6 +107,20 @@ void AddCommandRequest::Run() { } } + if ((*message_)[strings::msg_params].keyExists(strings::secondary_image)) { + mobile_apis::Result::eType verification_result = MessageHelper::VerifyImage( + (*message_)[strings::msg_params][strings::secondary_image], + app, + application_manager_); + + if (mobile_apis::Result::INVALID_DATA == verification_result) { + SDL_LOG_ERROR("MessageHelper::VerifyImage return " + << verification_result); + SendResponse(false, verification_result); + return; + } + } + if (!((*message_)[strings::msg_params].keyExists(strings::cmd_id))) { SDL_LOG_ERROR("INVALID_DATA"); SendResponse(false, mobile_apis::Result::INVALID_DATA); @@ -187,6 +201,17 @@ void AddCommandRequest::Run() { (*message_)[strings::msg_params][strings::cmd_icon]; } + if (((*message_)[strings::msg_params].keyExists( + strings::secondary_image)) && + ((*message_)[strings::msg_params][strings::secondary_image].keyExists( + strings::value)) && + (0 < (*message_)[strings::msg_params][strings::secondary_image] + [strings::value] + .length())) { + ui_msg_params[strings::secondary_image] = + (*message_)[strings::msg_params][strings::secondary_image]; + } + send_ui_ = true; } @@ -520,6 +545,16 @@ bool AddCommandRequest::IsWhiteSpaceExist() { return true; } } + + if ((*message_)[strings::msg_params].keyExists(strings::secondary_image)) { + str = (*message_)[strings::msg_params][strings::secondary_image] + [strings::value] + .asCharArray(); + if (!CheckSyntax(str)) { + SDL_LOG_ERROR("Invalid secondaryImage value syntax check failed"); + return true; + } + } return false; } 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 efc1a6ee18..309f07e443 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 @@ -86,6 +86,20 @@ void AddSubMenuRequest::Run() { } } + if (received_msg_params.keyExists(strings::secondary_image)) { + verification_result = MessageHelper::VerifyImage( + received_msg_params[strings::secondary_image], + app, + application_manager_); + + if (mobile_apis::Result::INVALID_DATA == verification_result) { + SDL_LOG_ERROR("MessageHelper::VerifyImage return " + << verification_result); + SendResponse(false, verification_result); + return; + } + } + const int32_t menu_id = received_msg_params[strings::menu_id].asInt(); const auto sub_menu = app->FindSubMenu(menu_id); @@ -142,11 +156,23 @@ void AddSubMenuRequest::Run() { if (received_msg_params.keyExists(strings::menu_icon)) { msg_params[strings::menu_icon] = received_msg_params[strings::menu_icon]; } + if (received_msg_params.keyExists(strings::secondary_image)) { + msg_params[strings::secondary_image] = + received_msg_params[strings::secondary_image]; + } 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; } + if (received_msg_params.keyExists(strings::secondary_text)) { + msg_params[strings::menu_params][strings::secondary_text] = + received_msg_params[strings::secondary_text]; + } + if (received_msg_params.keyExists(strings::tertiary_text)) { + msg_params[strings::menu_params][strings::tertiary_text] = + received_msg_params[strings::tertiary_text]; + } msg_params[strings::app_id] = app->app_id(); -- cgit v1.2.1