diff options
author | JackLivio <jack@livio.io> | 2018-04-18 10:55:48 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-18 10:55:48 -0400 |
commit | 7f7fcbb998fb17f2954fd103349af67ea9b71a3f (patch) | |
tree | 55640424c5774fce04f01876fa1a4d281002c52e /src/components/application_manager/src/application_manager_impl.cc | |
parent | 61fd83fed0dc584019b305bebc82512d2c42b9e7 (diff) | |
parent | 11ffe206ea3c114da3f45a5cbb9b23834d2996c8 (diff) | |
download | sdl_core-fix/check_transport_manager_init.tar.gz |
Merge pull request #2133 from smartdevicelink/release/4.5.14.5.1success,-HMI-show-radio-screenfix/check_transport_manager_initfeature/external_proprietary_policy
Release/4.5.1
Diffstat (limited to 'src/components/application_manager/src/application_manager_impl.cc')
-rw-r--r-- | src/components/application_manager/src/application_manager_impl.cc | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index f16c21ea84..248b54fee5 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -143,6 +143,7 @@ ApplicationManagerImpl::ApplicationManagerImpl( : settings_(am_settings) , applications_list_lock_(true) , audio_pass_thru_active_(false) + , audio_pass_thru_app_id_(0) , driver_distraction_state_( hmi_apis::Common_DriverDistractionState::INVALID_ENUM) , is_vr_session_strated_(false) @@ -784,6 +785,17 @@ bool ApplicationManagerImpl::BeginAudioPassThrough() { } } +bool ApplicationManagerImpl::BeginAudioPassThru(uint32_t app_id) { + sync_primitives::AutoLock lock(audio_pass_thru_lock_); + if (audio_pass_thru_active_) { + return false; + } else { + audio_pass_thru_active_ = true; + audio_pass_thru_app_id_ = app_id; + return true; + } +} + bool ApplicationManagerImpl::EndAudioPassThrough() { sync_primitives::AutoLock lock(audio_pass_thru_lock_); if (audio_pass_thru_active_) { @@ -794,6 +806,17 @@ bool ApplicationManagerImpl::EndAudioPassThrough() { } } +bool ApplicationManagerImpl::EndAudioPassThru(uint32_t app_id) { + sync_primitives::AutoLock lock(audio_pass_thru_lock_); + if (audio_pass_thru_active_ && audio_pass_thru_app_id_ == app_id) { + audio_pass_thru_active_ = false; + audio_pass_thru_app_id_ = 0; + return true; + } else { + return false; + } +} + hmi_apis::Common_DriverDistractionState::eType ApplicationManagerImpl::driver_distraction_state() const { return driver_distraction_state_; @@ -3222,9 +3245,8 @@ void ApplicationManagerImpl::UnregisterApplication( commands_holder_->Clear(app_to_remove); - if (audio_pass_thru_active_) { + if (EndAudioPassThru(app_id)) { // May be better to put this code in MessageHelper? - EndAudioPassThrough(); StopAudioPassThru(app_id); MessageHelper::SendStopAudioPathThru(*this); } @@ -4441,6 +4463,11 @@ void ApplicationManagerImpl::AddMockApplication(ApplicationSharedPtr mock_app) { apps_size_ = applications_.size(); applications_list_lock_.Release(); } + +void ApplicationManagerImpl::SetMockMediaManager( + media_manager::MediaManager* mock_media_manager) { + media_manager_ = mock_media_manager; +} #endif // BUILD_TESTS #ifdef SDL_REMOTE_CONTROL struct MobileAppIdPredicate { |