summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsniukalov <sniukaov@luxoft.com>2020-03-30 19:45:00 +0300
committersniukalov <sniukaov@luxoft.com>2020-03-30 19:45:00 +0300
commitcb8efd49cbe69d3133c7aad8ec70e2097c911444 (patch)
treefaa7f160b0d17e4867ab983f666d15c39c834226
parent9b9ab687834e5eb8e462ca8652ab81e322833451 (diff)
downloadsdl_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.cc39
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)) {