recover 1s sleep
[apps/agl-service-homescreen.git] / src / hs-vuiadapter.cpp
index 6cb4f46..08efd6c 100644 (file)
@@ -172,7 +172,7 @@ void Vui_Navigation::set_destination(afb_api_t api, struct json_object *object)
  */
 void Vui_Navigation::cancel_navigation(afb_api_t api, struct json_object *object)
 {
-    HS_ClientManager::instance()->pushEvent(_stopNavigation, nullptr);
+    HS_ClientManager::instance()->pushEvent(_stopNavigation, nullptr, _navigation);
 }
 
 /**
@@ -188,6 +188,7 @@ void Vui_Navigation::cancel_navigation(afb_api_t api, struct json_object *object
  */
 void Vui_Navigation::notify(afb_api_t api, std::string appid)
 {
+    AFB_INFO("recover appid=[%s].", appid.c_str());
     if(isListenAppId(appid)) {
         if (appid == _poi) {
             m_start_flg.first = true;
@@ -203,9 +204,10 @@ void Vui_Navigation::notify(afb_api_t api, std::string appid)
             return;
         }
     }
+
     if(m_start_flg.first && m_start_flg.second) {
-        HS_ClientManager::instance()->removeListener(this);
         clearListenAppSet();
+        // HS_ClientManager::instance()->removeListener(this);
     }
 }
 
@@ -224,7 +226,7 @@ void Vui_Navigation::set_destination2poi(afb_api_t api)
     struct json_object *param = json_object_new_object();
     json_object_object_add(param, _latitudeInDegrees, json_object_new_double(m_dest.first));
     json_object_object_add(param, _longitudeInDegrees, json_object_new_double(m_dest.second));
-    HS_ClientManager::instance()->pushEvent(_setDestination, param);
+    HS_ClientManager::instance()->pushEvent(_setDestination, param, _poi);
 }
 
 /**
@@ -239,7 +241,7 @@ void Vui_Navigation::set_destination2poi(afb_api_t api)
  */
 void Vui_Navigation::start_navigation(afb_api_t api)
 {
-    HS_ClientManager::instance()->pushEvent(_startNavigation, nullptr);
+    HS_ClientManager::instance()->pushEvent(_startNavigation, nullptr, _navigation);
     HS_ClientManager::instance()->pushEvent("showWindow", nullptr, _navigation);
 }
 
@@ -277,6 +279,14 @@ HS_VuiAdapter* HS_VuiAdapter::instance(void)
  */
 void HS_VuiAdapter::init(afb_api_t api)
 {
+    if(afb_api_require_api(api, _vshl_capabilities, 0)) {
+        AFB_INFO("%s api isn't existing.", _vshl_capabilities);
+        return;
+    }
+    else {
+        AFB_INFO("%s api is existing.", _vshl_capabilities);
+    }
+
     std::string uid = std::string(_vui_prefixe) + std::string("-") + _navigation;
     module_list[uid] = new Vui_Navigation(uid);