From c70ce73f88a4f45112f4f1044f77d4c331cdd2f2 Mon Sep 17 00:00:00 2001 From: AKalinich-Luxoft Date: Fri, 31 Aug 2018 14:47:02 +0300 Subject: Extract VR items generation to the separate function --- .../application_manager/help_prompt_manager_impl.h | 9 +++++ .../src/help_prompt_manager_impl.cc | 46 +++++++++++----------- 2 files changed, 32 insertions(+), 23 deletions(-) (limited to 'src/components') diff --git a/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h b/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h index 42125375e2..81754a60b0 100644 --- a/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h +++ b/src/components/application_manager/include/application_manager/help_prompt_manager_impl.h @@ -174,6 +174,15 @@ class HelpPromptManagerImpl : public HelpPromptManager { */ size_t GetCommandsCount(VRCommandPairs::const_iterator end_element) const; + /** + * @brief Generate help prompt/vr help items array and write it into provided + * smart object + * @param out_msg_params output smart object + * @param vr_key name of vr item in response + */ + void GenerateVrItems(smart_objects::SmartObject& out_msg_params, + const char* vr_key) const; + Application& app_; ApplicationManager& app_manager_; VRCommandPairs vr_commands_; diff --git a/src/components/application_manager/src/help_prompt_manager_impl.cc b/src/components/application_manager/src/help_prompt_manager_impl.cc index 40def63656..81532f71d5 100644 --- a/src/components/application_manager/src/help_prompt_manager_impl.cc +++ b/src/components/application_manager/src/help_prompt_manager_impl.cc @@ -203,6 +203,27 @@ size_t HelpPromptManagerImpl::GetCommandsCount( return std::distance(vr_commands_.begin(), end_element); } +void HelpPromptManagerImpl::GenerateVrItems( + smart_objects::SmartObject& out_msg_params, const char* vr_key) const { + out_msg_params[vr_key] = + smart_objects::SmartObject(smart_objects::SmartType_Array); + + const size_t count_to_add = std::min(vr_commands_.size(), kLimitCommand); + for (size_t i = 0; i < count_to_add; ++i) { + const VRCommandPair& pair = vr_commands_[i]; + + smart_objects::SmartObject item(smart_objects::SmartType_Map); + item[strings::text] = pair.second->asString(); + if (strings::help_prompt == vr_key) { + item[strings::type] = mobile_apis::SpeechCapabilities::SC_TEXT; + } else { + item[strings::position] = i + 1; + } + + out_msg_params[vr_key][i] = item; + } +} + void HelpPromptManagerImpl::SendTTSRequest() { LOG4CXX_AUTO_TRACE(logger_); LOG4CXX_DEBUG(logger_, "TTS request for appID:" << app_.app_id()); @@ -302,18 +323,7 @@ void HelpPromptManagerImpl::SendRequests() { void HelpPromptManagerImpl::CreatePromptMsg( smart_objects::SmartObject& out_msg_params) { LOG4CXX_AUTO_TRACE(logger_); - out_msg_params[strings::help_prompt] = - smart_objects::SmartObject(smart_objects::SmartType_Array); - const size_t count_to_add = std::min(vr_commands_.size(), kLimitCommand); - for (size_t i = 0; i < count_to_add; ++i) { - const VRCommandPair& pair = vr_commands_[i]; - - smart_objects::SmartObject item(smart_objects::SmartType_Map); - item[strings::text] = pair.second->asString(); - item[strings::type] = mobile_apis::SpeechCapabilities::SC_TEXT; - - out_msg_params[strings::help_prompt][i] = item; - } + GenerateVrItems(out_msg_params, strings::help_prompt); app_.set_help_prompt(out_msg_params[strings::help_prompt]); } @@ -328,18 +338,8 @@ void HelpPromptManagerImpl::CreateVRMsg( } } - out_msg_params[strings::vr_help] = - smart_objects::SmartObject(smart_objects::SmartType_Array); - const size_t count_to_add = std::min(vr_commands_.size(), kLimitCommand); - for (size_t i = 0; i < count_to_add; ++i) { - const VRCommandPair& pair = vr_commands_[i]; + GenerateVrItems(out_msg_params, strings::vr_help); - smart_objects::SmartObject item(smart_objects::SmartType_Map); - item[strings::text] = pair.second->asString(); - item[strings::position] = i + 1; - - out_msg_params[strings::vr_help][i] = item; - } if (out_msg_params[strings::vr_help].empty()) { out_msg_params.erase(strings::vr_help); app_.reset_vr_help(); -- cgit v1.2.1