summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostiantyn Grygoriev <KVGrygoriev@luxoft.com>2020-05-19 22:14:44 +0300
committerGitHub <noreply@github.com>2020-05-19 15:14:44 -0400
commitbb4a6fb4d44bf86bd66d4827718d393244b8078e (patch)
treecd4024ef19349ba89d4a8fc6193db35327e36184
parent99e8ddcf6cff8d205d5544e4a9ae84de3b2645c9 (diff)
downloadsdl_core-bb4a6fb4d44bf86bd66d4827718d393244b8078e.tar.gz
Fix SendUpdateAppList and SendOnAppUnreg order (#2517)
Co-authored-by: collin <collin@livio.io>
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc
index 00873e199c..bf5eeef65c 100644
--- a/src/components/application_manager/src/application_manager_impl.cc
+++ b/src/components/application_manager/src/application_manager_impl.cc
@@ -3316,6 +3316,11 @@ void ApplicationManagerImpl::UnregisterApplication(
RemoveAppsWaitingForRegistration(handle);
}
}
+
+ MessageHelper::SendOnAppUnregNotificationToHMI(
+ app_to_remove, is_unexpected_disconnect, *this);
+ commands_holder_->Clear(app_to_remove);
+
const auto enabled_local_apps = policy_handler_->GetEnabledLocalApps();
if (helpers::in_range(enabled_local_apps, app_to_remove->policy_app_id())) {
LOG4CXX_DEBUG(logger_,
@@ -3328,8 +3333,6 @@ void ApplicationManagerImpl::UnregisterApplication(
SendUpdateAppList();
}
- commands_holder_->Clear(app_to_remove);
-
if (EndAudioPassThru(app_id)) {
// May be better to put this code in MessageHelper?
StopAudioPassThru(app_id);
@@ -3340,11 +3343,10 @@ void ApplicationManagerImpl::UnregisterApplication(
plugin.OnApplicationEvent(plugin_manager::kApplicationUnregistered,
app_to_remove);
};
- plugin_manager_->ForEachPlugin(on_app_unregistered);
- MessageHelper::SendOnAppUnregNotificationToHMI(
- app_to_remove, is_unexpected_disconnect, *this);
+ plugin_manager_->ForEachPlugin(on_app_unregistered);
request_ctrl_.terminateAppRequests(app_id);
+
if (applications_.empty()) {
policy_handler_->StopRetrySequence();
}