summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/application_manager_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/application_manager_impl.cc')
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc9
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());
}