summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitrii Trunov (GitHub) <dtrunov@luxoft.com>2016-10-12 22:18:19 +0300
committerAnton Hrytsevich (GitHub) <AGritsevich@users.noreply.github.com>2016-10-12 22:18:19 +0300
commit6d6394c3ebabd21edfa72944bd207cf8dbaa1828 (patch)
tree4f1d4df7dea369ed2da0a01e73afb25c91225777
parent7767e65c2009c0c5e9bdd219d1d936a0cfd2e4ef (diff)
downloadsdl_core-6d6394c3ebabd21edfa72944bd207cf8dbaa1828.tar.gz
Fix/sdl responds add command with incorrect info (#898)
* Fix problem with merging info Closes defect [APPLINK-28758](https://adc.luxoft.com/jira/browse/APPLINK-28758)
-rw-r--r--src/components/application_manager/src/commands/mobile/add_command_request.cc22
-rw-r--r--src/components/application_manager/src/commands/mobile/alert_request.cc6
-rw-r--r--src/components/application_manager/src/commands/mobile/perform_audio_pass_thru_request.cc4
-rw-r--r--src/components/application_manager/src/commands/mobile/perform_interaction_request.cc3
-rw-r--r--src/components/application_manager/src/commands/mobile/set_global_properties_request.cc6
5 files changed, 30 insertions, 11 deletions
diff --git a/src/components/application_manager/src/commands/mobile/add_command_request.cc b/src/components/application_manager/src/commands/mobile/add_command_request.cc
index 6c361c2ff4..a76f537a24 100644
--- a/src/components/application_manager/src/commands/mobile/add_command_request.cc
+++ b/src/components/application_manager/src/commands/mobile/add_command_request.cc
@@ -550,12 +550,26 @@ const std::string AddCommandRequest::GenerateMobileResponseInfo() {
// In case if ui_result_ is UNSUPPORTED_RESOURCE ui_info should be on the
// first place
// Other way order is doesn't matter
- if (hmi_apis::Common_Result::UNSUPPORTED_RESOURCE == vr_result_) {
- return MergeInfos(vr_info_, ui_info_);
+
+ HmiInterfaces& hmi_interfaces = application_manager_.hmi_interfaces();
+ HmiInterfaces::InterfaceState ui_interface_state =
+ hmi_interfaces.GetInterfaceState(HmiInterfaces::HMI_INTERFACE_UI);
+
+ HmiInterfaces::InterfaceState vr_interface_state =
+ hmi_interfaces.GetInterfaceState(HmiInterfaces::HMI_INTERFACE_VR);
+
+ if ((ui_interface_state == HmiInterfaces::STATE_NOT_AVAILABLE) &&
+ (vr_interface_state != HmiInterfaces::STATE_NOT_AVAILABLE) &&
+ !vr_info_.empty()) {
+ return vr_info_;
}
- if (hmi_apis::Common_Result::UNSUPPORTED_RESOURCE == ui_result_) {
- return MergeInfos(ui_info_, vr_info_);
+
+ if ((vr_interface_state == HmiInterfaces::STATE_NOT_AVAILABLE) &&
+ (ui_interface_state != HmiInterfaces::STATE_NOT_AVAILABLE) &&
+ !ui_info_.empty()) {
+ return ui_info_;
}
+
return MergeInfos(ui_info_, vr_info_);
}
diff --git a/src/components/application_manager/src/commands/mobile/alert_request.cc b/src/components/application_manager/src/commands/mobile/alert_request.cc
index 60113508f5..48eb45f9ce 100644
--- a/src/components/application_manager/src/commands/mobile/alert_request.cc
+++ b/src/components/application_manager/src/commands/mobile/alert_request.cc
@@ -224,11 +224,13 @@ bool AlertRequest::PrepareResponseParameters(
tts_alert_info.is_unsupported_resource &&
HmiInterfaces::STATE_AVAILABLE == tts_alert_info.interface_state) {
tts_response_info_ = "Unsupported phoneme type sent in a prompt";
- info = MergeInfos(ui_response_info_, tts_response_info_);
+ info = MergeInfos(
+ ui_alert_info, ui_response_info_, tts_alert_info, tts_response_info_);
return result;
}
result_code = PrepareResultCodeForResponse(ui_alert_info, tts_alert_info);
- info = MergeInfos(ui_response_info_, tts_response_info_);
+ info = MergeInfos(
+ ui_alert_info, ui_response_info_, tts_alert_info, tts_response_info_);
return result;
}
diff --git a/src/components/application_manager/src/commands/mobile/perform_audio_pass_thru_request.cc b/src/components/application_manager/src/commands/mobile/perform_audio_pass_thru_request.cc
index 28c7918f22..9f5fd937f9 100644
--- a/src/components/application_manager/src/commands/mobile/perform_audio_pass_thru_request.cc
+++ b/src/components/application_manager/src/commands/mobile/perform_audio_pass_thru_request.cc
@@ -203,11 +203,11 @@ bool PerformAudioPassThruRequest::PrepareResponseParameters(
HmiInterfaces::STATE_AVAILABLE == tts_perform_info.interface_state) {
result_code = mobile_apis::Result::WARNINGS;
tts_info_ = "Unsupported phoneme type sent in a prompt";
- info = MergeInfos(ui_info_, tts_info_);
+ info = MergeInfos(ui_perform_info, ui_info_, tts_perform_info, tts_info_);
return result;
}
result_code = PrepareResultCodeForResponse(ui_perform_info, tts_perform_info);
- info = MergeInfos(ui_info_, tts_info_);
+ info = MergeInfos(ui_perform_info, ui_info_, tts_perform_info, tts_info_);
return result;
}
diff --git a/src/components/application_manager/src/commands/mobile/perform_interaction_request.cc b/src/components/application_manager/src/commands/mobile/perform_interaction_request.cc
index 34ec2b4fe2..d094c3d80e 100644
--- a/src/components/application_manager/src/commands/mobile/perform_interaction_request.cc
+++ b/src/components/application_manager/src/commands/mobile/perform_interaction_request.cc
@@ -935,7 +935,8 @@ void PerformInteractionRequest::SendBothModeResponse(
PrepareResultCodeForResponse(ui_perform_info, vr_perform_info);
const smart_objects::SmartObject* response_params =
msg_param.empty() ? NULL : &msg_param;
- std::string info = MergeInfos(ui_info_, vr_info_);
+ std::string info =
+ MergeInfos(ui_perform_info, ui_info_, vr_perform_info, vr_info_);
DisablePerformInteraction();
SendResponse(result,
perform_interaction_result_code,
diff --git a/src/components/application_manager/src/commands/mobile/set_global_properties_request.cc b/src/components/application_manager/src/commands/mobile/set_global_properties_request.cc
index d198c115d5..fcfea5e744 100644
--- a/src/components/application_manager/src/commands/mobile/set_global_properties_request.cc
+++ b/src/components/application_manager/src/commands/mobile/set_global_properties_request.cc
@@ -292,12 +292,14 @@ bool SetGlobalPropertiesRequest::PrepareResponseParameters(
(tts_properties_info.is_unsupported_resource)) {
result_code = mobile_apis::Result::WARNINGS;
tts_response_info_ = "Unsupported phoneme type sent in a prompt";
- info = MergeInfos(tts_response_info_, ui_response_info_);
+ info = MergeInfos(tts_properties_info,
+ tts_response_info_,
+ ui_properties_info,
+ ui_response_info_);
return result;
}
result_code =
PrepareResultCodeForResponse(ui_properties_info, tts_properties_info);
-
info = MergeInfos(tts_properties_info,
tts_response_info_,
ui_properties_info,