summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Klimenko <dklimenko@luxoft.com>2015-04-22 11:58:52 -0700
committerDmitriy Klimenko <dklimenko@luxoft.com>2015-04-22 12:09:06 -0700
commit886bd056cdd100ebf6a606a4d0292f55daf04960 (patch)
treed3ea0ee0fd2f078e983e1231d2e78ac6dc50a7e6
parent21999852e8e9e8bc46f1681cac6384d0160254d8 (diff)
downloadsmartdevicelink-886bd056cdd100ebf6a606a4d0292f55daf04960.tar.gz
[RTC 548636 ] Software Defect:SDL;In RegisterAppInterfaceResponse, audioPassThruCapabilities & hmiZoneCapabilities values are not proper
-rw-r--r--src/components/application_manager/src/commands/mobile/register_app_interface_request.cc22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc b/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc
index b2c08b66b..a31cedab6 100644
--- a/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc
+++ b/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc
@@ -400,8 +400,15 @@ void RegisterAppInterfaceRequest::SendRegisterAppInterfaceResponseToMobile(
*hmi_capabilities.preset_bank_capabilities();
}
if (hmi_capabilities.hmi_zone_capabilities()) {
- response_params[hmi_response::hmi_zone_capabilities][0] =
- *hmi_capabilities.hmi_zone_capabilities();
+ if (smart_objects::SmartType_Array ==
+ hmi_capabilities.hmi_zone_capabilities()->getType()) {
+ // hmi_capabilities json contains array and HMI response object
+ response_params[hmi_response::hmi_zone_capabilities] =
+ *hmi_capabilities.hmi_zone_capabilities();
+ } else {
+ response_params[hmi_response::hmi_zone_capabilities][0] =
+ *hmi_capabilities.hmi_zone_capabilities();
+ }
}
if (hmi_capabilities.speech_capabilities()) {
response_params[strings::speech_capabilities] =
@@ -412,8 +419,15 @@ void RegisterAppInterfaceRequest::SendRegisterAppInterfaceResponseToMobile(
*hmi_capabilities.vr_capabilities();
}
if (hmi_capabilities.audio_pass_thru_capabilities()) {
- response_params[strings::audio_pass_thru_capabilities][0] =
- *hmi_capabilities.audio_pass_thru_capabilities();
+ if (smart_objects::SmartType_Array ==
+ hmi_capabilities.audio_pass_thru_capabilities()->getType()) {
+ // hmi_capabilities json contains array and HMI response object
+ response_params[strings::audio_pass_thru_capabilities] =
+ *hmi_capabilities.audio_pass_thru_capabilities();
+ } else {
+ response_params[strings::audio_pass_thru_capabilities][0] =
+ *hmi_capabilities.audio_pass_thru_capabilities();
+ }
}
if (hmi_capabilities.vehicle_type()) {
response_params[hmi_response::vehicle_type] =