summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYarikMamykin (GitHub) <ymamykin@luxoft.com>2020-01-30 22:18:19 +0200
committerYarikMamykin (GitHub) <ymamykin@luxoft.com>2020-01-30 22:18:19 +0200
commitdee832155ea1f9a4212812da057e493c766ff354 (patch)
tree42c547586a49eb8401d6b91a7f99e44b2ce67cdb
parent00cb6d046f3b0980fc91e09e655bdfd4594e59c3 (diff)
downloadsdl_core-dee832155ea1f9a4212812da057e493c766ff354.tar.gz
fixup! Fix processing of VR only PI response
-rw-r--r--src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc31
1 files changed, 27 insertions, 4 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc
index 4d7729c316..8572742d13 100644
--- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc
+++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/perform_interaction_request.cc
@@ -1111,18 +1111,41 @@ PerformInteractionRequest::PrepareResultCodeForResponse(
LOG4CXX_DEBUG(
logger_, "InteractionMode = " << static_cast<int32_t>(interaction_mode_));
+ auto mobile_vr_result_code =
+ MessageHelper::HMIToMobileResult(vr_result_code_);
+ auto mobile_ui_result_code =
+ MessageHelper::HMIToMobileResult(ui_result_code_);
+
+ {
+ bool vr_success =
+ mobile_apis::Result::eType::SUCCESS == mobile_vr_result_code;
+ bool vr_warnings =
+ mobile_apis::Result::eType::WARNINGS == mobile_vr_result_code;
+ bool ui_success =
+ mobile_apis::Result::eType::SUCCESS == mobile_ui_result_code;
+ bool ui_warnings =
+ mobile_apis::Result::eType::WARNINGS == mobile_ui_result_code;
+
+ bool is_vr_success_and_ui_warnings = vr_success && ui_warnings;
+ bool is_ui_success_and_vr_warnings = ui_success && vr_warnings;
+
+ if (is_vr_success_and_ui_warnings || is_ui_success_and_vr_warnings) {
+ return mobile_apis::Result::eType::WARNINGS;
+ }
+ }
+
if (mobile_apis::InteractionMode::VR_ONLY == interaction_mode_) {
- return MessageHelper::HMIToMobileResult(vr_result_code_);
+ return mobile_vr_result_code;
}
if (mobile_apis::InteractionMode::MANUAL_ONLY == interaction_mode_) {
- return MessageHelper::HMIToMobileResult(ui_result_code_);
+ return mobile_ui_result_code;
}
if (INVALID_CHOICE_ID != vr_choice_id_received_) {
- return MessageHelper::HMIToMobileResult(vr_result_code_);
+ return mobile_vr_result_code;
}
if (INVALID_CHOICE_ID != ui_choice_id_received_) {
- return MessageHelper::HMIToMobileResult(ui_result_code_);
+ return mobile_ui_result_code;
}
return CommandRequestImpl::PrepareResultCodeForResponse(ui_response,