diff options
Diffstat (limited to 'src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification.cc')
-rw-r--r-- | src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification.cc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification.cc index d0c33e76d9..73ec1137a8 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification.cc @@ -70,9 +70,21 @@ void OnBCSystemCapabilityUpdatedNotification::Run() { [strings::system_capability_type].asInt()); switch (system_capability_type) { case hmi_apis::Common_SystemCapabilityType::NAVIGATION: { + smart_objects::SmartObject nav_capability(smart_objects::SmartType_Map); + bool has_nav_capability = false; if (hmi_capabilities_.navigation_capability()) { + has_nav_capability = true; + nav_capability = *hmi_capabilities_.navigation_capability(); + } + has_nav_capability = application_manager_.GetAppServiceManager() + .UpdateNavigationCapabilities(nav_capability) || + has_nav_capability; + + if (has_nav_capability) { msg_params[strings::system_capability][strings::navigation_capability] = - *hmi_capabilities_.navigation_capability(); + nav_capability; + } else { + return; } break; } @@ -80,6 +92,8 @@ void OnBCSystemCapabilityUpdatedNotification::Run() { if (hmi_capabilities_.phone_capability()) { msg_params[strings::system_capability][strings::phone_capability] = *hmi_capabilities_.phone_capability(); + } else { + return; } break; } @@ -90,6 +104,8 @@ void OnBCSystemCapabilityUpdatedNotification::Run() { if (hmi_capabilities_.rc_capability()) { msg_params[strings::system_capability][strings::rc_capability] = *hmi_capabilities_.rc_capability(); + } else { + return; } break; } @@ -98,6 +114,8 @@ void OnBCSystemCapabilityUpdatedNotification::Run() { msg_params[strings::system_capability] [strings::video_streaming_capability] = *hmi_capabilities_.video_streaming_capability(); + } else { + return; } break; case hmi_apis::Common_SystemCapabilityType::APP_SERVICES: { |