summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Nosach <ANosach@luxoft.com>2015-04-09 15:49:40 +0300
committerArtem Nosach <ANosach@luxoft.com>2015-04-23 15:33:25 +0300
commitb0795c8b20a54f0e18e671d1b52925bbbf3890e6 (patch)
treebbcfe276b93c2ea64920184e1b905080169187a1
parentd59ac12d764cf33196e256db3b9a50dd739a2e5d (diff)
downloadsmartdevicelink-b0795c8b20a54f0e18e671d1b52925bbbf3890e6.tar.gz
Post review changes.
-rw-r--r--src/components/application_manager/include/application_manager/application.h15
-rw-r--r--src/components/application_manager/include/application_manager/application_impl.h15
-rw-r--r--src/components/application_manager/include/application_manager/application_manager_impl.h38
-rw-r--r--src/components/application_manager/include/application_manager/commands/hmi/navi_audio_start_stream_request.h1
-rw-r--r--src/components/application_manager/include/application_manager/commands/hmi/navi_start_stream_request.h1
-rw-r--r--src/components/application_manager/src/application_impl.cc19
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc68
-rw-r--r--src/components/application_manager/src/commands/hmi/navi_audio_start_stream_request.cc8
-rw-r--r--src/components/application_manager/src/commands/hmi/navi_audio_start_stream_response.cc1
-rw-r--r--src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc8
-rw-r--r--src/components/application_manager/src/commands/hmi/navi_start_stream_response.cc1
-rw-r--r--src/components/application_manager/src/hmi_state.cc3
-rw-r--r--src/components/application_manager/test/mock/include/application_manager/application_manager_impl.h1
-rw-r--r--src/components/media_manager/include/media_manager/media_manager.h11
-rw-r--r--src/components/media_manager/include/media_manager/media_manager_impl.h14
-rw-r--r--src/components/media_manager/src/media_manager_impl.cc19
16 files changed, 125 insertions, 98 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h
index 8b387eaa6..d18ca599f 100644
--- a/src/components/application_manager/include/application_manager/application.h
+++ b/src/components/application_manager/include/application_manager/application.h
@@ -43,7 +43,7 @@
#include "connection_handler/device.h"
#include "application_manager/message.h"
#include "application_manager/hmi_state.h"
-#include "protocol/service_type.h"
+#include "protocol_handler/protocol_handler.h"
namespace NsSmartDeviceLink {
namespace NsSmartObjects {
@@ -53,7 +53,6 @@ class SmartObject;
}
namespace application_manager {
-using protocol_handler::ServiceType;
namespace mobile_api = mobile_apis;
@@ -421,25 +420,29 @@ class Application : public virtual InitialApplicationData,
* @brief Starts streaming service for application
* @param service_type Type of streaming service
*/
- virtual void StartStreaming(ServiceType service_type) = 0;
+ virtual void StartStreaming(
+ protocol_handler::ServiceType service_type) = 0;
/**
* @brief Stops streaming service for application
* @param service_type Type of streaming service
*/
- virtual void StopStreaming(ServiceType service_type) = 0;
+ virtual void StopStreaming(
+ protocol_handler::ServiceType service_type) = 0;
/**
* @brief Suspends streaming process for application
* @param service_type Type of streaming service
*/
- virtual void SuspendStreaming(ServiceType service_type) = 0;
+ virtual void SuspendStreaming(
+ protocol_handler::ServiceType service_type) = 0;
/**
* @brief Wakes up streaming process for application
* @param service_type Type of streaming service
*/
- virtual void WakeUpStreaming(ServiceType service_type) = 0;
+ virtual void WakeUpStreaming(
+ protocol_handler::ServiceType service_type) = 0;
virtual bool is_voice_communication_supported() const = 0;
virtual void set_voice_communication_supported(
diff --git a/src/components/application_manager/include/application_manager/application_impl.h b/src/components/application_manager/include/application_manager/application_impl.h
index b58939f2d..974cd2a15 100644
--- a/src/components/application_manager/include/application_manager/application_impl.h
+++ b/src/components/application_manager/include/application_manager/application_impl.h
@@ -43,11 +43,11 @@
#include "application_manager/application_data_impl.h"
#include "application_manager/usage_statistics.h"
#include "application_manager/hmi_state.h"
+#include "protocol_handler/protocol_handler.h"
#include "connection_handler/device.h"
#include "utils/timer_thread.h"
#include "utils/lock.h"
-#include "protocol/service_type.h"
namespace usage_statistics {
@@ -57,7 +57,6 @@ class StatisticsManager;
namespace application_manager {
using namespace utils;
using namespace timer;
-using protocol_handler::ServiceType;
namespace mobile_api = mobile_apis;
@@ -98,11 +97,15 @@ class ApplicationImpl : public virtual InitialApplicationDataImpl,
bool audio_streaming_allowed() const;
void set_audio_streaming_allowed(bool state);
- void StartStreaming(ServiceType service_type);
- void StopStreaming(ServiceType service_type);
+ void StartStreaming(
+ protocol_handler::ServiceType service_type);
+ void StopStreaming(
+ protocol_handler::ServiceType service_type);
- void SuspendStreaming(ServiceType service_type);
- void WakeUpStreaming(ServiceType service_type);
+ void SuspendStreaming(
+ protocol_handler::ServiceType service_type);
+ void WakeUpStreaming(
+ protocol_handler::ServiceType service_type);
virtual bool is_voice_communication_supported() const;
virtual void set_voice_communication_supported(
diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h
index e1acf9ca1..6bcac4abc 100644
--- a/src/components/application_manager/include/application_manager/application_manager_impl.h
+++ b/src/components/application_manager/include/application_manager/application_manager_impl.h
@@ -50,7 +50,7 @@
#include "application_manager/vehicle_info_data.h"
#include "application_manager/state_controller.h"
#include "protocol_handler/protocol_observer.h"
-#include "protocol/service_type.h"
+#include "protocol_handler/protocol_handler.h"
#include "hmi_message_handler/hmi_message_observer.h"
#include "hmi_message_handler/hmi_message_sender.h"
#include "application_manager/policies/policy_handler_observer.h"
@@ -79,8 +79,6 @@
#include "utils/singleton.h"
#include "utils/data_accessor.h"
-
-
namespace NsSmartDeviceLink {
namespace NsSmartObjects {
class SmartObject;
@@ -97,7 +95,6 @@ namespace application_manager {
namespace mobile_api = mobile_apis;
using namespace utils;
using namespace timer;
-using protocol_handler::ServiceType;
class ApplicationManagerImpl;
@@ -665,7 +662,8 @@ class ApplicationManagerImpl : public ApplicationManager,
* @param service_type Service type to check
* @return True if streaming is allowed, false in other case
*/
- bool IsStreamingAllowed(uint32_t app_id, ServiceType service_type) const;
+ bool IsStreamingAllowed(
+ uint32_t app_id, protocol_handler::ServiceType service_type) const;
/**
* @brief Checks if application can stream (streaming service is started and
@@ -674,7 +672,8 @@ class ApplicationManagerImpl : public ApplicationManager,
* @param service_type Service type to check
* @return True if streaming is allowed, false in other case
*/
- bool CanAppStream(uint32_t app_id, ServiceType service_type) const;
+ bool CanAppStream(
+ uint32_t app_id, protocol_handler::ServiceType service_type) const;
/**
* @brief Ends opened navi services (audio/video) for application
@@ -1156,7 +1155,14 @@ class ApplicationManagerImpl : public ApplicationManager,
bool IsLowVoltage();
private:
+ /*
+ * NaviServiceStatusMap shows which navi service (audio/video) is opened
+ * for specified application. Two bool values in std::pair mean:
+ * 1st value - is video service opened or not
+ * 2nd value - is audio service opened or not
+ */
typedef std::map<uint32_t, std::pair<bool, bool> > NaviServiceStatusMap;
+
typedef SharedPtr<TimerThread<ApplicationManagerImpl> > ApplicationManagerTimerPtr;
/**
@@ -1172,7 +1178,7 @@ class ApplicationManagerImpl : public ApplicationManager,
/**
* @brief Suspends streaming ability of application in case application's HMI level
- * has been changed to BACKGROUND
+ * has been changed to not allowed for streaming
*/
void EndNaviStreaming();
@@ -1182,28 +1188,30 @@ class ApplicationManagerImpl : public ApplicationManager,
* @param service_type Type of service to start
* @return True on success, false on fail
*/
- bool StartNaviService(uint32_t app_id, ServiceType service_type);
+ bool StartNaviService(
+ uint32_t app_id, protocol_handler::ServiceType service_type);
/**
* @brief Stops specified navi service for application
* @param app_id Application to proceed
* @param service_type Type of service to stop
*/
- void StopNaviService(uint32_t app_id, ServiceType service_type);
+ void StopNaviService(
+ uint32_t app_id, protocol_handler::ServiceType service_type);
/**
- * @brief Suspends streaming ability for application, but doesn't close
- * opened services. Streaming ability could be restored by RestoreStreamingAbility()
+ * @brief Allows streaming for application if it was disallowed by
+ * DisallowStreaming()
* @param app_id Application to proceed
*/
- void SuspendStreamingAbility(uint32_t app_id);
+ void AllowStreaming(uint32_t app_id);
/**
- * @brief Restores streaming ability for application if it was suspended by
- * SuspendStreamingAbility()
+ * @brief Disallows streaming for application, but doesn't close
+ * opened services. Streaming ability could be restored by AllowStreaming();
* @param app_id Application to proceed
*/
- void RestoreStreamingAbility(uint32_t app_id);
+ void DisallowStreaming(uint32_t app_id);
/**
* @brief Function returns supported SDL Protocol Version
diff --git a/src/components/application_manager/include/application_manager/commands/hmi/navi_audio_start_stream_request.h b/src/components/application_manager/include/application_manager/commands/hmi/navi_audio_start_stream_request.h
index 61f3680f8..30b5e2165 100644
--- a/src/components/application_manager/include/application_manager/commands/hmi/navi_audio_start_stream_request.h
+++ b/src/components/application_manager/include/application_manager/commands/hmi/navi_audio_start_stream_request.h
@@ -34,7 +34,6 @@
#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_NAVI_AUDIO_START_STREAM_REQUEST_H_
#include "application_manager/commands/hmi/request_to_hmi.h"
-#include "application_manager/event_engine/event_observer.h"
namespace application_manager {
diff --git a/src/components/application_manager/include/application_manager/commands/hmi/navi_start_stream_request.h b/src/components/application_manager/include/application_manager/commands/hmi/navi_start_stream_request.h
index eb5624c0e..07a6de7f6 100644
--- a/src/components/application_manager/include/application_manager/commands/hmi/navi_start_stream_request.h
+++ b/src/components/application_manager/include/application_manager/commands/hmi/navi_start_stream_request.h
@@ -34,7 +34,6 @@
#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_NAVI_START_STREAM_REQUEST_H_
#include "application_manager/commands/hmi/request_to_hmi.h"
-#include "application_manager/event_engine/event_observer.h"
namespace application_manager {
diff --git a/src/components/application_manager/src/application_impl.cc b/src/components/application_manager/src/application_impl.cc
index 03f39d684..2d848ad2c 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 59cb689e0..f1537c8f3 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 1e0d69f3e..0f7a2a475 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 9f9a3e0ec..5547057a1 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 ef6c6a41b..328e6a548 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 a65e11679..a28389105 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 ea54057aa..16c0c09af 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 {
diff --git a/src/components/application_manager/test/mock/include/application_manager/application_manager_impl.h b/src/components/application_manager/test/mock/include/application_manager/application_manager_impl.h
index 3d5d0c752..8ef18a4d0 100644
--- a/src/components/application_manager/test/mock/include/application_manager/application_manager_impl.h
+++ b/src/components/application_manager/test/mock/include/application_manager/application_manager_impl.h
@@ -48,6 +48,7 @@
#include "application_manager/vehicle_info_data.h"
#include "application_manager/state_controller.h"
#include "protocol_handler/protocol_observer.h"
+#include "protocol_handler/protocol_handler.h"
#include "hmi_message_handler/hmi_message_observer.h"
#include "hmi_message_handler/hmi_message_sender.h"
diff --git a/src/components/media_manager/include/media_manager/media_manager.h b/src/components/media_manager/include/media_manager/media_manager.h
index af6aa857f..b4f5c9c28 100644
--- a/src/components/media_manager/include/media_manager/media_manager.h
+++ b/src/components/media_manager/include/media_manager/media_manager.h
@@ -34,10 +34,9 @@
#define SRC_COMPONENTS_MEDIA_MANAGER_INCLUDE_MEDIA_MANAGER_MEDIA_MANAGER_H_
#include <string>
-#include "protocol/service_type.h"
+#include "protocol_handler/protocol_handler.h"
namespace media_manager {
-using protocol_handler::ServiceType;
class MediaManager {
public:
@@ -49,10 +48,10 @@ class MediaManager {
int32_t duration) = 0;
virtual void StopMicrophoneRecording(int32_t application_key) = 0;
- virtual void StartStreaming(int32_t application_key,
- ServiceType service_type) = 0;
- virtual void StopStreaming(int32_t application_key,
- ServiceType service_type) = 0;
+ virtual void StartStreaming(
+ int32_t application_key, protocol_handler::ServiceType service_type) = 0;
+ virtual void StopStreaming(
+ int32_t application_key, protocol_handler::ServiceType service_type) = 0;
virtual ~MediaManager(){}
};
diff --git a/src/components/media_manager/include/media_manager/media_manager_impl.h b/src/components/media_manager/include/media_manager/media_manager_impl.h
index de9a16e9a..153ef4205 100644
--- a/src/components/media_manager/include/media_manager/media_manager_impl.h
+++ b/src/components/media_manager/include/media_manager/media_manager_impl.h
@@ -37,13 +37,11 @@
#include "utils/singleton.h"
#include "protocol_handler/protocol_observer.h"
#include "protocol_handler/protocol_handler.h"
-#include "protocol/service_type.h"
#include "media_manager/media_manager.h"
#include "media_manager/media_adapter_impl.h"
#include "media_manager/media_adapter_listener.h"
namespace media_manager {
-using protocol_handler::ServiceType;
class MediaManagerImpl : public MediaManager,
public protocol_handler::ProtocolObserver,
@@ -59,10 +57,10 @@ class MediaManagerImpl : public MediaManager,
int32_t duration);
virtual void StopMicrophoneRecording(int32_t application_key);
- virtual void StartStreaming(int32_t application_key,
- ServiceType service_type);
- virtual void StopStreaming(int32_t application_key,
- ServiceType service_type);
+ virtual void StartStreaming(
+ int32_t application_key, protocol_handler::ServiceType service_type);
+ virtual void StopStreaming(
+ int32_t application_key, protocol_handler::ServiceType service_type);
virtual void SetProtocolHandler(
protocol_handler::ProtocolHandler* protocol_handler);
@@ -82,8 +80,8 @@ class MediaManagerImpl : public MediaManager,
MediaAdapterImpl* from_mic_recorder_;
MediaListenerPtr from_mic_listener_;
- std::map<ServiceType, MediaAdapterImplPtr> streamer_;
- std::map<ServiceType, MediaListenerPtr> streamer_listener_;
+ std::map<protocol_handler::ServiceType, MediaAdapterImplPtr> streamer_;
+ std::map<protocol_handler::ServiceType, MediaListenerPtr> streamer_listener_;
private:
DISALLOW_COPY_AND_ASSIGN(MediaManagerImpl);
diff --git a/src/components/media_manager/src/media_manager_impl.cc b/src/components/media_manager/src/media_manager_impl.cc
index 387b39eb6..a4de33737 100644
--- a/src/components/media_manager/src/media_manager_impl.cc
+++ b/src/components/media_manager/src/media_manager_impl.cc
@@ -38,6 +38,7 @@
#include "application_manager/application.h"
#include "application_manager/application_manager_impl.h"
#include "application_manager/application_impl.h"
+#include "protocol_handler/protocol_handler.h"
#include "utils/file_system.h"
#include "utils/logger.h"
#if defined(EXTENDED_MEDIA_MODE)
@@ -53,6 +54,7 @@
namespace media_manager {
using profile::Profile;
+using timer::TimerThread;
CREATE_LOGGERPTR_GLOBAL(logger_, "MediaManagerImpl")
@@ -76,6 +78,7 @@ MediaManagerImpl::~MediaManagerImpl() {
}
void MediaManagerImpl::Init() {
+ using namespace protocol_handler;
LOG4CXX_INFO(logger_, "MediaManagerImpl::Init()");
#if defined(EXTENDED_MEDIA_MODE)
@@ -200,8 +203,8 @@ void MediaManagerImpl::StopMicrophoneRecording(int32_t application_key) {
#endif
}
-void MediaManagerImpl::StartStreaming(int32_t application_key,
- ServiceType service_type) {
+void MediaManagerImpl::StartStreaming(
+ int32_t application_key, protocol_handler::ServiceType service_type) {
LOG4CXX_AUTO_TRACE(logger_);
if (streamer_[service_type]) {
@@ -212,8 +215,8 @@ void MediaManagerImpl::StartStreaming(int32_t application_key,
}
}
-void MediaManagerImpl::StopStreaming(int32_t application_key,
- ServiceType service_type) {
+void MediaManagerImpl::StopStreaming(
+ int32_t application_key, protocol_handler::ServiceType service_type) {
LOG4CXX_AUTO_TRACE(logger_);
if (streamer_listener_[service_type]) {
@@ -231,9 +234,10 @@ void MediaManagerImpl::SetProtocolHandler(
void MediaManagerImpl::OnMessageReceived(
const ::protocol_handler::RawMessagePtr message) {
- LOG4CXX_AUTO_TRACE(logger_);
+ using namespace protocol_handler;
using namespace application_manager;
using namespace helpers;
+ LOG4CXX_AUTO_TRACE(logger_);
const uint32_t streaming_app_id = message->connection_key();
const ServiceType service_type = message->service_type();
@@ -245,10 +249,7 @@ void MediaManagerImpl::OnMessageReceived(
}
ApplicationManagerImpl* app_mgr = ApplicationManagerImpl::instance();
- if (!app_mgr) {
- LOG4CXX_ERROR(logger_, "Application manager not found");
- return;
- }
+ DCHECK_OR_RETURN_VOID(app_mgr);
if (!app_mgr->CanAppStream(streaming_app_id, service_type)) {
app_mgr->ForbidStreaming(streaming_app_id);