diff options
Diffstat (limited to 'src/components/application_manager/src/application_manager_impl.cc')
-rw-r--r-- | src/components/application_manager/src/application_manager_impl.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 471348c119..459dfab7eb 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -196,6 +196,7 @@ ApplicationManagerImpl::ApplicationManagerImpl( this, &ApplicationManagerImpl::ClearTimerPool)) , is_low_voltage_(false) , apps_size_(0) + , is_registered_in_timeout_(false) , is_stopping_(false) { std::srand(std::time(nullptr)); AddPolicyObserver(this); @@ -3827,7 +3828,7 @@ bool ApplicationManagerImpl::IsHMICooperating() const { void ApplicationManagerImpl::OnApplicationListUpdateTimer() { LOG4CXX_DEBUG(logger_, "Application list update timer finished"); - + is_registered_in_timeout_ = false; apps_to_register_list_lock_ptr_->Acquire(); const bool trigger_ptu = apps_size_ != applications_.size(); apps_to_register_list_lock_ptr_->Release(); @@ -4289,6 +4290,12 @@ void ApplicationManagerImpl::AddAppToRegisteredAppList( logger_, "App with app_id: " << application->app_id() << " has been added to registered applications list"); + if (application_list_update_timer_.is_running() && + !is_registered_in_timeout_) { + GetPolicyHandler().OnAddedNewApplicationToAppList( + application->app_id(), application->policy_app_id()); + is_registered_in_timeout_ = true; + } apps_size_ = static_cast<uint32_t>(applications_.size()); } |