summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAKalinich-Luxoft <AKalinich@luxoft.com>2018-08-31 14:47:02 +0300
committerAKalinich-Luxoft <AKalinich@luxoft.com>2018-08-31 14:47:02 +0300
commitc70ce73f88a4f45112f4f1044f77d4c331cdd2f2 (patch)
treea8acbe799f641552eb1b37166d94277f1534d05c
parent6aa1400309c2e7c56c77a9b067b0eee7fb8b9c94 (diff)
downloadsdl_core-c70ce73f88a4f45112f4f1044f77d4c331cdd2f2.tar.gz
Extract VR items generation to the separate function
-rw-r--r--src/components/application_manager/include/application_manager/help_prompt_manager_impl.h9
-rw-r--r--src/components/application_manager/src/help_prompt_manager_impl.cc46
2 files changed, 32 insertions, 23 deletions
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();