summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShobhit Adlakha <adlakhashobhit@gmail.com>2019-09-17 13:44:53 -0400
committerShobhit Adlakha <adlakhashobhit@gmail.com>2019-09-17 13:44:53 -0400
commit1d1c149c874a4cd79c993c34d22f0ec42cff9183 (patch)
tree9bbf384e189c1f0cff27519da3e5854560e5c2f5
parent3ea6b1a35c2ff77220e2915ff9efdf6226115314 (diff)
downloadsdl_core-fix/rc_capabilities_not_updated.tar.gz
Add fix to update RC capabilities on OnSystemCapabilityUpdated(REMOTE_CONTROL)fix/rc_capabilities_not_updated
-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;
}
}