fix depends vui bug
[apps/agl-service-homescreen.git] / src / hs-vuiadapter.cpp
index 6cb4f46..e6837ba 100644 (file)
@@ -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)
 {
+    this->removeListenAppId(appid);
     if(isListenAppId(appid)) {
         if (appid == _poi) {
             m_start_flg.first = true;
@@ -204,8 +205,8 @@ void Vui_Navigation::notify(afb_api_t api, std::string appid)
         }
     }
     if(m_start_flg.first && m_start_flg.second) {
-        HS_ClientManager::instance()->removeListener(this);
         clearListenAppSet();
+        HS_ClientManager::instance()->removeListener(this);
     }
 }
 
@@ -277,6 +278,11 @@ 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;
+    }
+
     std::string uid = std::string(_vui_prefixe) + std::string("-") + _navigation;
     module_list[uid] = new Vui_Navigation(uid);