Preserve wakeup manager state on proactive default assistant change
[platform/core/uifw/multi-assistant-service.git] / src / service_main.cpp
index 78500f1..70a7b3e 100644 (file)
@@ -30,6 +30,7 @@
 #include <list>
 #include <sstream>
 #include <tuple>
+#include <vector>
 
 #include "service_common.h"
 #include "service_main.h"
@@ -778,6 +779,16 @@ int CServiceMain::deinitialize_service_plugin(void)
        if (0 != mServicePlugin.deinitialize()) {
                MAS_LOGE("Fail to deinitialize");
        }
+
+       std::vector<pid_t> clients;
+       int client_num = mClientManager.get_client_num();
+       for (int loop = 0;loop < client_num;loop++) {
+               clients.push_back(mClientManager.find_client_pid_by_index(loop));
+       }
+
+       for (auto pid : clients) {
+               on_deinitialize(pid, mClientManager.find_sender_info_by_pid(pid));
+       }
        MAS_LOGI("[END]");
        return 0;
 }