change to push event after navi and poi started
[apps/agl-service-homescreen.git] / src / hs-vuiadapter.cpp
index 4bfc24d..aba009d 100644 (file)
@@ -134,7 +134,7 @@ void Vui_Navigation::set_destination(afb_api_t api, struct json_object *object)
     auto b_pair = std::make_pair<bool, bool>(false, false);
     if(HS_ClientManager::instance()->isAppStarted(std::string(_poi))) {
         b_pair.first = true;
-        set_destination2poi(api);
+        // set_destination2poi(api);
     }
     else {
         this->addListenAppId(_poi);
@@ -145,7 +145,7 @@ void Vui_Navigation::set_destination(afb_api_t api, struct json_object *object)
 
     if(HS_ClientManager::instance()->isAppStarted(std::string(_navigation))) {
         b_pair.second = true;
-        start_navigation(api);
+        // start_navigation(api);
     }
     else {
         this->addListenAppId(_navigation);
@@ -153,8 +153,14 @@ void Vui_Navigation::set_destination(afb_api_t api, struct json_object *object)
         HS_AfmMainProxy afm_proxy;
         afm_proxy.start(api, id);
     }
+
     m_start_flg.swap(b_pair);
-    if (!listenAppEmpty()) {
+    if(m_start_flg.first && m_start_flg.second) {
+        clearListenAppSet();
+        set_destination2poi(api);
+        start_navigation(api);
+    }
+    else if (!listenAppEmpty()) {
         HS_ClientManager::instance()->addListener(this);
     }
 }
@@ -193,11 +199,11 @@ void Vui_Navigation::notify(afb_api_t api, std::string appid)
         if (appid == _poi) {
             m_start_flg.first = true;
             // sleep(1);
-            set_destination2poi(api);
+            // set_destination2poi(api);
         }
         else if(appid == _navigation) {
             m_start_flg.second = true;
-            start_navigation(api);
+            // start_navigation(api);
         }
         else {
             AFB_WARNING("%s isn't interest app.", appid.c_str());
@@ -207,6 +213,8 @@ void Vui_Navigation::notify(afb_api_t api, std::string appid)
 
     if(m_start_flg.first && m_start_flg.second) {
         clearListenAppSet();
+        set_destination2poi(api);
+        start_navigation(api);
         // HS_ClientManager::instance()->removeListener(this);
     }
 }