diff options
author | sniukalov <sniukaov@luxoft.com> | 2020-03-30 19:45:00 +0300 |
---|---|---|
committer | sniukalov <sniukaov@luxoft.com> | 2020-03-30 19:45:00 +0300 |
commit | cb8efd49cbe69d3133c7aad8ec70e2097c911444 (patch) | |
tree | faa7f160b0d17e4867ab983f666d15c39c834226 | |
parent | 9b9ab687834e5eb8e462ca8652ab81e322833451 (diff) | |
download | sdl_core-fix/unexpected_value_in_hmicapabilitiescachefile.tar.gz |
Update to save system capabilities to the cache filefix/unexpected_value_in_hmicapabilitiescachefile
-rw-r--r-- | src/components/application_manager/src/hmi_capabilities_impl.cc | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/src/components/application_manager/src/hmi_capabilities_impl.cc b/src/components/application_manager/src/hmi_capabilities_impl.cc index a3ae894778..31d361b72f 100644 --- a/src/components/application_manager/src/hmi_capabilities_impl.cc +++ b/src/components/application_manager/src/hmi_capabilities_impl.cc @@ -1783,22 +1783,29 @@ void HMICapabilitiesImpl::PrepareUiJsonValueForSaving( } if (helpers::in_range(sections_to_update, strings::system_capabilities)) { - save_hmi_capability_field_to_json(strings::navigation_capability, - schema, - navigation_capability(), - out_node[strings::system_capabilities]); - save_hmi_capability_field_to_json(strings::phone_capability, - schema, - phone_capability(), - out_node[strings::system_capabilities]); - save_hmi_capability_field_to_json(strings::video_streaming_capability, - schema, - video_streaming_capability(), - out_node[strings::system_capabilities]); - save_hmi_capability_field_to_json(strings::display_capabilities, - schema, - system_display_capabilities(), - out_node[strings::system_capabilities]); + smart_objects::SmartObject capability(smart_objects::SmartType_Map); + auto system_capabilities = std::make_shared<smart_objects::SmartObject>( + capability[strings::system_capabilities]); + + auto const navigation_capabilities = navigation_capability(); + if (navigation_capabilities) { + (*system_capabilities)[strings::navigation_capability] = + *navigation_capabilities; + } + + auto const phone_capabilities = phone_capability(); + if (phone_capabilities) { + (*system_capabilities)[strings::phone_capability] = *phone_capabilities; + } + + auto const video_streaming_capabilities = video_streaming_capability(); + if (video_streaming_capabilities) { + (*system_capabilities)[strings::video_streaming_capability] = + *video_streaming_capabilities; + } + + save_hmi_capability_field_to_json( + strings::system_capabilities, schema, system_capabilities, out_node); } if (helpers::in_range(sections_to_update, hmi_response::language)) { |