diff options
author | Shobhit Adlakha <ShobhitAd@users.noreply.github.com> | 2019-09-20 13:35:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-20 13:35:52 -0400 |
commit | e833e65ec42ee9a99eb4488e5bff4f23d9789768 (patch) | |
tree | 070d0ba5bf5387e4e42d91d0fec6eee7f015c0ec | |
parent | a93c9c6412b10bcd5130b48b1c4269917ff986f7 (diff) | |
download | sdl_core-e833e65ec42ee9a99eb4488e5bff4f23d9789768.tar.gz |
Add fix to update RC capabilities on OnSystemCapabilityUpdated(REMOTE_CONTROL) (#3032)
-rw-r--r-- | src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification_from_hmi.cc | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification_from_hmi.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification_from_hmi.cc index 6077425c07..f32aef1102 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification_from_hmi.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_bc_system_capability_updated_notification_from_hmi.cc @@ -106,20 +106,34 @@ void OnBCSystemCapabilityUpdatedNotificationFromHMI::Run() { const auto& system_capability = (*message_)[strings::msg_params][strings::system_capability]; - if (mobile_apis::SystemCapabilityType::DISPLAYS == - system_capability[strings::system_capability_type].asInt() && - system_capability.keyExists(strings::display_capabilities)) { - const auto result = ProcessSystemDisplayCapabilities( - system_capability[strings::display_capabilities]); - if (ProcessSystemDisplayCapabilitiesResult::FAIL == result) { - LOG4CXX_ERROR(logger_, - "Failed to process display capabilities. Notification will " - "be ignored"); - return; - } else if (ProcessSystemDisplayCapabilitiesResult::CAPABILITIES_CACHED == - result) { - LOG4CXX_TRACE(logger_, "Capabilities are being cached for resuming app"); - return; + + switch (system_capability[strings::system_capability_type].asInt()) { + case mobile_apis::SystemCapabilityType::DISPLAYS: { + if (system_capability.keyExists(strings::display_capabilities)) { + const auto result = ProcessSystemDisplayCapabilities( + system_capability[strings::display_capabilities]); + if (ProcessSystemDisplayCapabilitiesResult::FAIL == result) { + LOG4CXX_ERROR( + logger_, + "Failed to process display capabilities. Notification will " + "be ignored"); + return; + } else if (ProcessSystemDisplayCapabilitiesResult:: + CAPABILITIES_CACHED == result) { + LOG4CXX_TRACE(logger_, + "Capabilities are being cached for resuming app"); + return; + } + } + break; + } + case mobile_apis::SystemCapabilityType::REMOTE_CONTROL: { + if (system_capability.keyExists(strings::rc_capability)) { + LOG4CXX_DEBUG(logger_, "Updating RC Capabilities"); + hmi_capabilities_.set_rc_capability( + system_capability[strings::rc_capability]); + } + break; } } |