diff options
author | JackLivio <jack@livio.io> | 2018-10-19 15:05:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-19 15:05:09 -0400 |
commit | d36316738785c96dab2ee892762ed08c059fffde (patch) | |
tree | 168a7c0705b5bc8f0dee7ce4b511ccf71759d9b4 /src/components/application_manager/src/commands/mobile/on_hmi_status_notification_from_mobile.cc | |
parent | 7f7fcbb998fb17f2954fd103349af67ea9b71a3f (diff) | |
parent | 83c5e805346d55ec7fb9f4ba8b6f6855d992273e (diff) | |
download | sdl_core-hotfix/templates_updates.tar.gz |
Merge pull request #2572 from smartdevicelink/release/5.0.05.0.0hotfix/templates_updatesfeature/show_app_menufeature/progress_bar_seekfeature/open-menu-rpcfeature/open-menu-rfeature/button
Release 5.0.0
Diffstat (limited to 'src/components/application_manager/src/commands/mobile/on_hmi_status_notification_from_mobile.cc')
-rw-r--r-- | src/components/application_manager/src/commands/mobile/on_hmi_status_notification_from_mobile.cc | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/src/components/application_manager/src/commands/mobile/on_hmi_status_notification_from_mobile.cc b/src/components/application_manager/src/commands/mobile/on_hmi_status_notification_from_mobile.cc deleted file mode 100644 index 4bb6cfe9d5..0000000000 --- a/src/components/application_manager/src/commands/mobile/on_hmi_status_notification_from_mobile.cc +++ /dev/null @@ -1,126 +0,0 @@ -/* - - Copyright (c) 2013, Ford Motor Company - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following - disclaimer in the documentation and/or other materials provided with the - distribution. - - Neither the name of the Ford Motor Company nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - */ - -#include "application_manager/commands/mobile/on_hmi_status_notification_from_mobile.h" -#include "application_manager/message_helper.h" -#include "application_manager/message.h" - -namespace application_manager { -namespace commands { - -OnHMIStatusNotificationFromMobile::OnHMIStatusNotificationFromMobile( - const MessageSharedPtr& message, ApplicationManager& application_manager) - : CommandNotificationFromMobileImpl(message, application_manager) {} - -OnHMIStatusNotificationFromMobile::~OnHMIStatusNotificationFromMobile() {} - -void OnHMIStatusNotificationFromMobile::Run() { - LOG4CXX_AUTO_TRACE(logger_); - - (*message_)[strings::params][strings::message_type] = - static_cast<int32_t>(application_manager::MessageType::kNotification); - ApplicationSharedPtr app = application_manager_.application(connection_key()); - - if (!app.valid()) { - LOG4CXX_ERROR( - logger_, "OnHMIStatusNotificationFromMobile application doesn't exist"); - return; - } - - mobile_apis::HMILevel::eType current_hmi_state = - static_cast<mobile_apis::HMILevel::eType>( - (*message_)[strings::msg_params][strings::hmi_level].asUInt()); - - bool is_current_state_foreground = - mobile_apis::HMILevel::HMI_FULL == current_hmi_state; - - app->set_foreground(is_current_state_foreground); - - connection_handler::DeviceHandle handle = app->device(); - bool is_apps_requested_before = - application_manager_.IsAppsQueriedFrom(handle); - - LOG4CXX_DEBUG(logger_, - "Mobile HMI state notication came for connection key:" - << connection_key() << " and handle: " << handle); - - if (!is_apps_requested_before && - Message::is_sufficient_version( - protocol_handler::MajorProtocolVersion::PROTOCOL_VERSION_4, - app->protocol_version()) && - app->is_foreground()) { - // In case this notification will be received from mobile side with - // foreground level for app on mobile, this should trigger remote - // apps list query for SDL 4.0+ app - MessageHelper::SendQueryApps(connection_key(), application_manager_); - return; - } - - if (is_apps_requested_before) { - LOG4CXX_DEBUG(logger_, - "Remote apps list had been requested already " - " for handle: " - << handle); - - if (Message::is_sufficient_version( - protocol_handler::MajorProtocolVersion::PROTOCOL_VERSION_4, - app->protocol_version())) { - const ApplicationSet& accessor = - application_manager_.applications().GetData(); - - bool is_another_foreground_sdl4_app = false; - ApplicationSetConstIt it = accessor.begin(); - for (; accessor.end() != it; ++it) { - if (connection_key() != (*it)->app_id() && - Message::is_sufficient_version( - protocol_handler::MajorProtocolVersion::PROTOCOL_VERSION_4, - (*it)->protocol_version()) && - (*it)->is_foreground()) { - is_another_foreground_sdl4_app = true; - break; - } - } - - if (!is_another_foreground_sdl4_app) { - application_manager_.MarkAppsGreyOut(handle, - !is_current_state_foreground); - application_manager_.SendUpdateAppList(); - } - } - return; - } -} - -} // namespace commands - -} // namespace application_manager |