summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShobhit Adlakha <ShobhitAd@users.noreply.github.com>2019-09-20 13:35:52 -0400
committerGitHub <noreply@github.com>2019-09-20 13:35:52 -0400
commite833e65ec42ee9a99eb4488e5bff4f23d9789768 (patch)
tree070d0ba5bf5387e4e42d91d0fec6eee7f015c0ec
parenta93c9c6412b10bcd5130b48b1c4269917ff986f7 (diff)
downloadsdl_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.cc42
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;
}
}