added dir check for the installed UG
[apps/core/preloaded/settings.git] / setting-common / src / setting-cfg.c
index cb3b9b9..fa2cf55 100755 (executable)
@@ -113,6 +113,7 @@ int setting_cfg_create(void)
 
        __create_an_item(KeyStr_FlightMode, IMG_FlightMode, NULL, Cfg_Item_Pos_Level0, Cfg_Item_unResetable);
        __create_an_item(KeyStr_WiFi, IMG_WiFi, "wifi-efl-UG", Cfg_Item_Pos_Level0, Cfg_Item_Resetable);
+       __create_an_item(KeyStr_MobileAP, IMG_MobileAP, "setting-mobile-ap-ug", Cfg_Item_Pos_Level0, Cfg_Item_Resetable);
        __create_an_item(KeyStr_Location, IMG_Location, "setting-location-efl", Cfg_Item_Pos_Level0, Cfg_Item_Resetable);
        __create_an_item(KeyStr_Network, IMG_Network, "setting-network-efl", Cfg_Item_Pos_Level0, Cfg_Item_Resetable);
        __create_an_item(KeyStr_Bluetooth, IMG_Bluetooth, "setting-bluetooth-efl", Cfg_Item_Pos_Level1, Cfg_Item_Resetable);
@@ -123,7 +124,7 @@ int setting_cfg_create(void)
 #endif
 
 #if SUPPORT_WIFI_DIRECT
-       __create_an_item(KeyStr_WiFiDirect, IMG_WiFiDirect, "setting-wifidirect-efl", Cfg_Item_Pos_Level1, Cfg_Item_Resetable);
+       __create_an_item(KeyStr_WiFiDirect, IMG_WiFiDirect, "setting-wifidirect-efl", Cfg_Item_Pos_Level1, Cfg_Item_unResetable);
 #endif
 
        /* System */
@@ -164,7 +165,7 @@ int setting_cfg_create(void)
 
        __create_an_item(KeyStr_Display, IMG_Dispaly, "setting-display-efl|viewtype:main", Cfg_Item_Pos_Level1, Cfg_Item_Resetable);
 #if SUPPORT_MENUSCREEN
-       __create_an_item(KeyStr_Menuscreen, IMG_Menuscreen, "setting-homescreen-efl", Cfg_Item_Pos_Level1, Cfg_Item_Resetable);
+       __create_an_item(KeyStr_Menuscreen, IMG_Menuscreen, "setting-homescreen-efl", Cfg_Item_Pos_Level1, Cfg_Item_unResetable);
 #endif
        __create_an_item(KeyStr_Landscape, IMG_Landscape, NULL, Cfg_Item_Pos_Level1, Cfg_Item_Resetable);
        __create_an_item(KeyStr_DateTime, IMG_DateTime, "setting-time-efl", Cfg_Item_Pos_Level1, Cfg_Item_Resetable);
@@ -660,27 +661,51 @@ void setting_cfg_remove_downloaded_app( char * keyname )
 
 bool is_ug_installed_by_ug_args(void *data)
 {
-       retv_if(!data, TRUE);//if passing NULL,drawing it
-       char* ug_args = data;
-       char *ug_name = get_ug_path_from_ug_args(ug_args);
-
-       //1.first do exist-checking in /opt/ug/lib
-       char ug_file[PATH_MAX + 1];
-       snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH, ug_name);
-       struct stat st;
-       if(stat(ug_file, &st) != 0) { 
-
-               //2.if it does not exit in /opt/ug/lib, then do exist-checking in /usr/ug/lib
-               memset(ug_file, 0x00, PATH_MAX + 1);
-               snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_USR, ug_name);
-               if(stat(ug_file, &st) != 0) {
-                       //both not exist,skip it
-                       SETTING_TRACE_ERROR(" libug-%s.so is *NOT* present, so skip it..\n", ug_name);
-                       return FALSE;
-               }
-       }
+   retv_if(!data, TRUE);//if passing NULL,drawing it
+    char* ug_args = data;
+    char *ug_name = get_ug_path_from_ug_args(ug_args);
+
+    bool is_installed_in_usr = false;
+    bool is_installed_in_opt = false;
+
+    //1.first do exist-checking in /usr/ug/lib
+    char ug_file[PATH_MAX + 1];
+    snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH, ug_name);
+    struct stat st;
+    if(stat(ug_file, &st) != 0) {
+
+        //2.if it does not exit in /usr/ug/lib, then do exist-checking in /usr/ug/lib
+        memset(ug_file, 0x00, PATH_MAX + 1);
+        snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_USR, ug_name);
+        if(stat(ug_file, &st) != 0) {
+            //both not exist,skip it
+            SETTING_TRACE_ERROR(" libug-%s.so is *NOT* present, so skip it..\n", ug_name);
+            //return FALSE;
+            is_installed_in_usr = false;
+        }
+    }
+    is_installed_in_usr = true;
+
+    //2.first do exist-checking in /opt/ug/lib
+    //char ug_file[PATH_MAX + 1];
+    memset(ug_file, 0x00, PATH_MAX + 1);
+    snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_OPT, ug_name);
+    //struct stat st;
+    if(stat(ug_file, &st) != 0) {
+
+        //2.if it does not exit in /usr/ug/lib, then do exist-checking in /usr/ug/lib
+        memset(ug_file, 0x00, PATH_MAX + 1);
+        snprintf(ug_file, PATH_MAX, "%s/libug-%s.so", SETTING_UG_PATH_USR_OPT, ug_name);
+        if(stat(ug_file, &st) != 0) {
+            //both not exist,skip it
+            SETTING_TRACE_ERROR(" libug-%s.so is *NOT* present, so skip it..\n", ug_name);
+            //return FALSE;
+            is_installed_in_opt = false;
+        }
+    }
+    is_installed_in_opt = true;
 
-       return TRUE;
+    return (is_installed_in_opt || is_installed_in_opt);
 }
 
 /*other relative function*/