diff options
author | YarikMamykin (GitHub) <ymamykin@luxoft.com> | 2020-01-30 22:18:19 +0200 |
---|---|---|
committer | YarikMamykin (GitHub) <ymamykin@luxoft.com> | 2020-01-30 22:18:19 +0200 |
commit | dee832155ea1f9a4212812da057e493c766ff354 (patch) | |
tree | 42c547586a49eb8401d6b91a7f99e44b2ce67cdb | |
parent | 00cb6d046f3b0980fc91e09e655bdfd4594e59c3 (diff) | |
download | sdl_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.cc | 31 |
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, |