diff options
Diffstat (limited to 'src/components/application_manager/src')
7 files changed, 62 insertions, 46 deletions
diff --git a/src/components/application_manager/src/application_impl.cc b/src/components/application_manager/src/application_impl.cc index 03f39d6844..2d848ad2c3 100644 --- a/src/components/application_manager/src/application_impl.cc +++ b/src/components/application_manager/src/application_impl.cc @@ -35,6 +35,7 @@ #include "application_manager/application_impl.h" #include "application_manager/message_helper.h" #include "application_manager/application_manager_impl.h" +#include "protocol_handler/protocol_handler.h" #include "config_profile/profile.h" #include "interfaces/MOBILE_API.h" #include "utils/file_system.h" @@ -438,7 +439,9 @@ bool ApplicationImpl::audio_streaming_allowed() const { return audio_streaming_allowed_; } -void ApplicationImpl::StartStreaming(ServiceType service_type) { +void ApplicationImpl::StartStreaming( + protocol_handler::ServiceType service_type) { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); std::pair<uint32_t, int32_t> stream_retry = @@ -459,7 +462,9 @@ void ApplicationImpl::StartStreaming(ServiceType service_type) { } } -void ApplicationImpl::StopStreaming(ServiceType service_type) { +void ApplicationImpl::StopStreaming( + protocol_handler::ServiceType service_type) { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); if (ServiceType::kMobileNav == service_type) { @@ -479,7 +484,9 @@ void ApplicationImpl::StopStreaming(ServiceType service_type) { } } -void ApplicationImpl::SuspendStreaming(ServiceType service_type) { +void ApplicationImpl::SuspendStreaming( + protocol_handler::ServiceType service_type) { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); if (ServiceType::kMobileNav == service_type) { @@ -496,7 +503,9 @@ void ApplicationImpl::SuspendStreaming(ServiceType service_type) { MessageHelper::SendOnDataStreaming(service_type, false); } -void ApplicationImpl::WakeUpStreaming(ServiceType service_type) { +void ApplicationImpl::WakeUpStreaming( + protocol_handler::ServiceType service_type) { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); if (ServiceType::kMobileNav == service_type) { @@ -549,12 +558,14 @@ void ApplicationImpl::OnAudioStartStreamRetry() { } void ApplicationImpl::OnVideoStreamSuspend() { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); LOG4CXX_INFO(logger_, "Suspend video streaming by timer"); SuspendStreaming(ServiceType::kMobileNav); } void ApplicationImpl::OnAudioStreamSuspend() { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); LOG4CXX_INFO(logger_, "Suspend audio streaming by timer"); SuspendStreaming(ServiceType::kAudio); diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 59cb689e0b..f1537c8f35 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -44,6 +44,7 @@ #include "application_manager/message_helper.h" #include "application_manager/mobile_message_handler.h" #include "application_manager/policies/policy_handler.h" +#include "protocol_handler/protocol_handler.h" #include "hmi_message_handler/hmi_message_handler.h" #include "connection_handler/connection_handler_impl.h" #include "formatters/formatter_json_rpc.h" @@ -53,7 +54,6 @@ #include "utils/threads/thread.h" #include "utils/file_system.h" #include "utils/helpers.h" -#include "protocol/service_type.h" #include "smart_objects/enum_schema_item.h" #include "interfaces/HMI_API_schema.h" #include "application_manager/application_impl.h" @@ -77,7 +77,6 @@ namespace formatters = NsSmartDeviceLink::NsJSONHandler::Formatters; namespace jhs = NsSmartDeviceLink::NsJSONHandler::strings; using namespace NsSmartDeviceLink::NsSmartObjects; -using protocol_handler::ServiceType; ApplicationManagerImpl::ApplicationManagerImpl() : applications_list_lock_(true), @@ -970,7 +969,7 @@ void ApplicationManagerImpl::ReplaceHMIByMobileAppId( } bool ApplicationManagerImpl::StartNaviService( - uint32_t app_id, ServiceType service_type) { + uint32_t app_id, protocol_handler::ServiceType service_type) { using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); @@ -991,7 +990,10 @@ bool ApplicationManagerImpl::StartNaviService( } it = res.first; } - service_type == kMobileNav ? it->second.first = + // Fill NaviServices map. Set true to first value of pair if + // we've started video service or to second value if we've + // started audio service + service_type == ServiceType::kMobileNav ? it->second.first = true : it->second.second = true; application(app_id)->StartStreaming(service_type); @@ -1003,7 +1005,7 @@ bool ApplicationManagerImpl::StartNaviService( } void ApplicationManagerImpl::StopNaviService( - uint32_t app_id, ServiceType service_type) { + uint32_t app_id, protocol_handler::ServiceType service_type) { using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); @@ -1013,7 +1015,10 @@ void ApplicationManagerImpl::StopNaviService( LOG4CXX_WARN(logger_, "No Information about navi service " << service_type); } else { - service_type == kMobileNav ? it->second.first = + // Fill NaviServices map. Set false to first value of pair if + // we've stopped video service or to second value if we've + // stopped audio service + service_type == ServiceType::kMobileNav ? it->second.first = false : it->second.second = false; } @@ -1035,8 +1040,8 @@ bool ApplicationManagerImpl::OnServiceStartedCallback( const connection_handler::DeviceHandle& device_handle, const int32_t& session_key, const protocol_handler::ServiceType& type) { - using namespace protocol_handler; using namespace helpers; + using namespace protocol_handler; LOG4CXX_DEBUG(logger_, "OnServiceStartedCallback " << type @@ -1052,7 +1057,8 @@ bool ApplicationManagerImpl::OnServiceStartedCallback( return false; } - if (Compare<ServiceType, EQ, ONE>(type, kMobileNav, kAudio)) { + if (Compare<ServiceType, EQ, ONE>(type, + ServiceType::kMobileNav, ServiceType::kAudio)) { if (app->is_navi()) { return StartNaviService(session_key, type); } @@ -1062,8 +1068,8 @@ bool ApplicationManagerImpl::OnServiceStartedCallback( void ApplicationManagerImpl::OnServiceEndedCallback(const int32_t& session_key, const protocol_handler::ServiceType& type) { - using namespace protocol_handler; using namespace helpers; + using namespace protocol_handler; LOG4CXX_DEBUG( logger_, @@ -1081,7 +1087,8 @@ void ApplicationManagerImpl::OnServiceEndedCallback(const int32_t& session_key, return; } - if (Compare<ServiceType, EQ, ONE>(type, kMobileNav, kAudio)) { + if (Compare<ServiceType, EQ, ONE>(type, + ServiceType::kMobileNav, ServiceType::kAudio)) { StopNaviService(session_key, type); } } @@ -2474,8 +2481,7 @@ bool ApplicationManagerImpl::IsLowVoltage() { } bool ApplicationManagerImpl::IsStreamingAllowed( - uint32_t app_id, ServiceType service_type) const { - + uint32_t app_id, protocol_handler::ServiceType service_type) const { using namespace mobile_apis::HMILevel; using namespace helpers; @@ -2489,7 +2495,8 @@ bool ApplicationManagerImpl::IsStreamingAllowed( } bool ApplicationManagerImpl::CanAppStream( - uint32_t app_id, ServiceType service_type) const { + uint32_t app_id, protocol_handler::ServiceType service_type) const { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); ApplicationSharedPtr app = application(app_id); @@ -2512,13 +2519,12 @@ bool ApplicationManagerImpl::CanAppStream( void ApplicationManagerImpl::ForbidStreaming(uint32_t app_id) { using namespace mobile_apis::AppInterfaceUnregisteredReason; using namespace mobile_apis::Result; - using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); ApplicationSharedPtr app = application(app_id); if (!app || !app->is_navi()) { - LOG4CXX_DEBUG(logger_, "There is no application with id: " << app_id); + LOG4CXX_DEBUG(logger_, "There is no navi application with id: " << app_id); return; } @@ -2545,7 +2551,7 @@ void ApplicationManagerImpl::OnAppStreaming(uint32_t app_id, bool state) { ApplicationSharedPtr app = application(app_id); if (!app || !app->is_navi()) { - LOG4CXX_DEBUG(logger_, " There is no application with id: " << app_id); + LOG4CXX_DEBUG(logger_, " There is no navi application with id: " << app_id); return; } state ? state_ctrl_.OnNaviStreamingStarted() : @@ -2554,12 +2560,11 @@ void ApplicationManagerImpl::OnAppStreaming(uint32_t app_id, bool state) { void ApplicationManagerImpl::EndNaviServices(uint32_t app_id) { using namespace protocol_handler; - LOG4CXX_AUTO_TRACE(logger_); ApplicationSharedPtr app = application(app_id); if (!app || !app->is_navi()) { - LOG4CXX_DEBUG(logger_, "There is no application with id: " << app_id); + LOG4CXX_DEBUG(logger_, "There is no navi application with id: " << app_id); return; } @@ -2572,11 +2577,11 @@ void ApplicationManagerImpl::EndNaviServices(uint32_t app_id) { if (connection_handler_) { if (it->second.first) { LOG4CXX_DEBUG(logger_, "Going to end video service"); - connection_handler_->SendEndService(app_id, kMobileNav); + connection_handler_->SendEndService(app_id, ServiceType::kMobileNav); } if (it->second.second) { LOG4CXX_DEBUG(logger_, "Going to end audio service"); - connection_handler_->SendEndService(app_id, kAudio); + connection_handler_->SendEndService(app_id, ServiceType::kAudio); } navi_app_to_stop_.push_back(app_id); @@ -2594,7 +2599,6 @@ void ApplicationManagerImpl::OnHMILevelChanged(uint32_t app_id, mobile_apis::HMILevel::eType to) { using namespace mobile_apis::HMILevel; using namespace helpers; - using namespace protocol_handler; if (from == to) { return; @@ -2608,7 +2612,7 @@ void ApplicationManagerImpl::OnHMILevelChanged(uint32_t app_id, if (to == HMI_FULL || to == HMI_LIMITED) { if (from == HMI_BACKGROUND) { - RestoreStreamingAbility(app_id); + AllowStreaming(app_id); } } else if (to == HMI_BACKGROUND) { if (from == HMI_FULL || from == HMI_LIMITED) { @@ -2651,7 +2655,6 @@ void ApplicationManagerImpl::CloseNaviApp() { LOG4CXX_AUTO_TRACE(logger_); using namespace mobile_apis::AppInterfaceUnregisteredReason; using namespace mobile_apis::Result; - using namespace protocol_handler; uint32_t app_id = navi_app_to_stop_.front(); navi_app_to_stop_.pop_front(); @@ -2670,20 +2673,19 @@ void ApplicationManagerImpl::EndNaviStreaming() { LOG4CXX_AUTO_TRACE(logger_); using namespace mobile_apis::AppInterfaceUnregisteredReason; using namespace mobile_apis::Result; - using namespace protocol_handler; uint32_t app_id = navi_app_to_end_stream_.front(); navi_app_to_end_stream_.pop_front(); if (navi_app_to_stop_.end() == std::find(navi_app_to_stop_.begin(), navi_app_to_stop_.end(), app_id)) { - SuspendStreamingAbility(app_id); + DisallowStreaming(app_id); } } -void ApplicationManagerImpl::SuspendStreamingAbility(uint32_t app_id) { - LOG4CXX_AUTO_TRACE(logger_); +void ApplicationManagerImpl::DisallowStreaming(uint32_t app_id) { using namespace protocol_handler; + LOG4CXX_AUTO_TRACE(logger_); ApplicationSharedPtr app = application(app_id); if (!app || !app->is_navi()) { @@ -2696,22 +2698,22 @@ void ApplicationManagerImpl::SuspendStreamingAbility(uint32_t app_id) { if (navi_service_status_.end() != it) { if (it->second.first) { if (media_manager_) { - media_manager_->StopStreaming(app_id, kMobileNav); + media_manager_->StopStreaming(app_id, ServiceType::kMobileNav); } app->set_video_streaming_allowed(false); } if (it->second.second) { if (media_manager_) { - media_manager_->StopStreaming(app_id, kAudio); + media_manager_->StopStreaming(app_id, ServiceType::kAudio); } app->set_audio_streaming_allowed(false); } } } -void ApplicationManagerImpl::RestoreStreamingAbility(uint32_t app_id) { - LOG4CXX_AUTO_TRACE(logger_); +void ApplicationManagerImpl::AllowStreaming(uint32_t app_id) { using namespace protocol_handler; + LOG4CXX_AUTO_TRACE(logger_); ApplicationSharedPtr app = application(app_id); if (!app || !app->is_navi()) { @@ -2724,13 +2726,13 @@ void ApplicationManagerImpl::RestoreStreamingAbility(uint32_t app_id) { if (navi_service_status_.end() != it) { if (it->second.first) { if (media_manager_) { - media_manager_->StartStreaming(app_id, kMobileNav); + media_manager_->StartStreaming(app_id, ServiceType::kMobileNav); } app->set_video_streaming_allowed(true); } if (it->second.second) { if (media_manager_) { - media_manager_->StartStreaming(app_id, kAudio); + media_manager_->StartStreaming(app_id, ServiceType::kAudio); } app->set_audio_streaming_allowed(true); } diff --git a/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_request.cc b/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_request.cc index 1e0d69f3e1..0f7a2a475f 100644 --- a/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_request.cc +++ b/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_request.cc @@ -32,6 +32,7 @@ #include "application_manager/commands/hmi/navi_audio_start_stream_request.h" #include "application_manager/application_manager_impl.h" +#include "protocol_handler/protocol_handler.h" namespace application_manager { @@ -54,6 +55,7 @@ void AudioStartStreamRequest::Run() { } void AudioStartStreamRequest::on_event(const event_engine::Event& event) { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); ApplicationManagerImpl* app_mgr = ApplicationManagerImpl::instance(); @@ -72,18 +74,18 @@ void AudioStartStreamRequest::on_event(const event_engine::Event& event) { const smart_objects::SmartObject& message = event.smart_object(); switch (event.id()) { case hmi_apis::FunctionID::Navigation_StartAudioStream: { - LOG4CXX_INFO(logger_, "Received StartStream event"); + LOG4CXX_DEBUG(logger_, "Received StartStream event"); const hmi_apis::Common_Result::eType code = static_cast<hmi_apis::Common_Result::eType>( message[strings::params][hmi_response::code].asInt()); if (hmi_apis::Common_Result::SUCCESS == code) { - LOG4CXX_INFO(logger_, "StartAudioStreamResponse SUCCESS"); + LOG4CXX_DEBUG(logger_, "StartAudioStreamResponse SUCCESS"); if (app_mgr->IsStreamingAllowed(app->app_id(), ServiceType::kAudio)) { app->set_audio_streaming_started(true); } else { - LOG4CXX_INFO(logger_, + LOG4CXX_DEBUG(logger_, "StartAudioStreamRequest aborted. Application can not stream"); } } diff --git a/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_response.cc b/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_response.cc index 9f9a3e0ec0..5547057a1f 100644 --- a/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_response.cc +++ b/src/components/application_manager/src/commands/hmi/navi_audio_start_stream_response.cc @@ -30,7 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include "application_manager/commands/hmi/navi_audio_start_stream_response.h" -#include "application_manager/event_engine/event_dispatcher.h" namespace application_manager { diff --git a/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc b/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc index ef6c6a41bd..328e6a5481 100644 --- a/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc +++ b/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc @@ -32,6 +32,7 @@ #include "application_manager/commands/hmi/navi_start_stream_request.h" #include "application_manager/application_manager_impl.h" +#include "protocol_handler/protocol_handler.h" namespace application_manager { @@ -55,6 +56,7 @@ void NaviStartStreamRequest::Run() { } void NaviStartStreamRequest::on_event(const event_engine::Event& event) { + using namespace protocol_handler; LOG4CXX_AUTO_TRACE(logger_); ApplicationManagerImpl* app_mgr = ApplicationManagerImpl::instance(); @@ -73,18 +75,18 @@ void NaviStartStreamRequest::on_event(const event_engine::Event& event) { const smart_objects::SmartObject& message = event.smart_object(); switch (event.id()) { case hmi_apis::FunctionID::Navigation_StartStream: { - LOG4CXX_INFO(logger_, "Received StartStream event"); + LOG4CXX_DEBUG(logger_, "Received StartStream event"); const hmi_apis::Common_Result::eType code = static_cast<hmi_apis::Common_Result::eType>( message[strings::params][hmi_response::code].asInt()); if (hmi_apis::Common_Result::SUCCESS == code) { - LOG4CXX_INFO(logger_, "NaviStartStreamResponse SUCCESS"); + LOG4CXX_DEBUG(logger_, "NaviStartStreamResponse SUCCESS"); if (app_mgr->IsStreamingAllowed(app->app_id(), ServiceType::kMobileNav)) { app->set_video_streaming_started(true); } else { - LOG4CXX_INFO(logger_, + LOG4CXX_DEBUG(logger_, "NaviStartStreamRequest aborted. Application can not stream"); } } diff --git a/src/components/application_manager/src/commands/hmi/navi_start_stream_response.cc b/src/components/application_manager/src/commands/hmi/navi_start_stream_response.cc index a65e116796..a283891054 100644 --- a/src/components/application_manager/src/commands/hmi/navi_start_stream_response.cc +++ b/src/components/application_manager/src/commands/hmi/navi_start_stream_response.cc @@ -30,7 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include "application_manager/commands/hmi/navi_start_stream_response.h" -#include "application_manager/event_engine/event_dispatcher.h" namespace application_manager { diff --git a/src/components/application_manager/src/hmi_state.cc b/src/components/application_manager/src/hmi_state.cc index ea54057aa6..16c0c09af2 100644 --- a/src/components/application_manager/src/hmi_state.cc +++ b/src/components/application_manager/src/hmi_state.cc @@ -64,7 +64,8 @@ NaviStreamingHmiState::audio_streaming_state() const { using namespace helpers; using namespace mobile_apis; AudioStreamingState::eType expected_state = parent()->audio_streaming_state(); - if (Compare<HMILevel::eType, EQ, ONE> (hmi_level(), HMILevel::HMI_FULL)) { + if (Compare<HMILevel::eType, EQ, ONE> (hmi_level(), HMILevel::HMI_FULL) && + !state_context_.is_navi_app(app_id_)) { if (state_context_.is_attenuated_supported()) { expected_state = AudioStreamingState::ATTENUATED; } else { |