diff options
Diffstat (limited to 'src/components/application_manager/src/commands/mobile/on_button_press_notification.cc')
-rw-r--r--[-rwxr-xr-x] | src/components/application_manager/src/commands/mobile/on_button_press_notification.cc | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/components/application_manager/src/commands/mobile/on_button_press_notification.cc b/src/components/application_manager/src/commands/mobile/on_button_press_notification.cc index b789b7c7e9..ae6658b93a 100755..100644 --- a/src/components/application_manager/src/commands/mobile/on_button_press_notification.cc +++ b/src/components/application_manager/src/commands/mobile/on_button_press_notification.cc @@ -56,8 +56,7 @@ void OnButtonPressNotification::Run() { const bool is_app_id_exists = (*message_)[strings::msg_params].keyExists(strings::app_id); - const ApplicationSharedPtr app = application_manager_.application( - (*message_)[strings::msg_params][strings::app_id].asUInt()); + ApplicationSharedPtr app; // CUSTOM_BUTTON notification if (static_cast<uint32_t>(mobile_apis::ButtonName::CUSTOM_BUTTON) == btn_id) { @@ -67,6 +66,9 @@ void OnButtonPressNotification::Run() { return; } + app = application_manager_.application( + (*message_)[strings::msg_params][strings::app_id].asUInt()); + // custom_button_id is mandatory for CUSTOM_BUTTON notification if (false == (*message_)[strings::msg_params].keyExists( @@ -92,6 +94,15 @@ void OnButtonPressNotification::Run() { return; } + // Send ButtonPress notification only in HMI_FULL or HMI_LIMITED mode + if ((mobile_api::HMILevel::HMI_FULL != app->hmi_level()) && + (mobile_api::HMILevel::HMI_LIMITED != app->hmi_level())) { + LOG4CXX_WARN(logger_, + "CUSTOM_BUTTON OnButtonPress notification is allowed only " + << "in FULL or LIMITED hmi level"); + return; + } + SendButtonPress(app); return; } |