fix bug : P120921-6157
[apps/core/preloaded/settings.git] / setting-about / src / setting-about-main.c
index 7181576..3818715 100755 (executable)
@@ -24,7 +24,9 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <bluetooth-api.h>
+//#include <bluetooth-api.h>
+
+#include <bluetooth.h>
 
 
 #include <app_manager.h>
@@ -74,10 +76,6 @@ static void setting_about_main_mouse_up_Gendial_list_cb(void *data,
                                                        Evas_Object *obj,
                                                        void *event_info);
 
-static void __setting_about_main_mobile_ap_turn_off_ask_resp_cb(void *data,
-                                                   Evas_Object *obj,
-                                                   void *event_info);
-
 static void __setting_about_main_certificates_clicked(void *data);
 static void __setting_about_main_device_name_clicked(void *data, Evas_Object *obj);
 static void __setting_about_main_diagnostics_usage_clicked(void *data, Evas_Object *obj);
@@ -143,8 +141,8 @@ static void __device_name_changed_cb(void *data, Evas_Object *obj)
                if (!ad->empty_flag)
                {
                        ad->empty_flag = TRUE;
-                       elm_entry_context_menu_disabled_set(obj, TRUE); //disable the copy&paste&search popup
-                       elm_entry_magnifier_disabled_set(obj, TRUE);
+                       //elm_entry_context_menu_disabled_set(obj, TRUE); //disable the copy&paste&search popup
+                       //elm_entry_magnifier_disabled_set(obj, TRUE);
                        Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
                        if (navi_it)
                        {
@@ -164,8 +162,8 @@ static void __device_name_changed_cb(void *data, Evas_Object *obj)
                if (ad->empty_flag)
                {
                        ad->empty_flag = FALSE;
-                       elm_entry_context_menu_disabled_set(obj, FALSE); //enable the copy&paste&search popup
-                       elm_entry_magnifier_disabled_set(obj, FALSE);
+                       //elm_entry_context_menu_disabled_set(obj, FALSE); //enable the copy&paste&search popup
+                       //elm_entry_magnifier_disabled_set(obj, FALSE);
                        Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
                        if (navi_it)
                        {
@@ -228,29 +226,32 @@ void setting_about_main_get_sw_version(char* szStr, int nSize)
 {
        retm_if(szStr == NULL, "szStr parameter is NULL");
 
-       char *version = NULL;
-       int ret = system_info_get_value_string(SYSTEM_INFO_KEY_TIZEN_VERSION, &version);
+       // ex) TIZEN
+       char *platform = NULL;
+       int ret = system_info_get_value_string(SYSTEM_INFO_KEY_PLATFORM_NAME, &platform);
        if (ret != SYSTEM_INFO_ERROR_NONE) {
                SETTING_TRACE_ERROR("fail to call system_info_get_value_string");
-               FREE(version);
+               FREE(platform);
                snprintf(szStr, nSize, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
                return;
        }
 
-       char *build_info = NULL;
-       ret = system_info_get_value_string(SYSTEM_INFO_KEY_BUILD_STRING, &build_info);
+       // ex) 2.0.0b
+       char *version = NULL;
+       ret = system_info_get_value_string(SYSTEM_INFO_KEY_TIZEN_VERSION, &version);
        if (ret != SYSTEM_INFO_ERROR_NONE) {
                SETTING_TRACE_ERROR("fail to call system_info_get_value_string");
+
+               FREE(platform);
                FREE(version);
-               FREE(build_info);
+
                snprintf(szStr, nSize, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
                return;
        }
+       snprintf(szStr, nSize, "%s %s", platform, version);
 
-       snprintf(szStr, nSize, "SLP%s (%s)", version, build_info);
-
+       FREE(platform);
        FREE(version);
-       FREE(build_info);
 }
 
 void setting_about_main_get_wifi_mac_address_string(char *str, int size)
@@ -284,30 +285,16 @@ void setting_about_main_get_battery_string(char *str, int size)
 {
        setting_retm_if(str == NULL, "str parameter is NULL");
 
-       int val = -1;
-       char file[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = { 0, };
-       snprintf(file, MAX_DISPLAY_STR_LEN_ON_PHONE_INFO,
-                "%s/%s/%s", SETTING_ABOUT_POWER_SUPPLY_PATH, "battery", "capacity");
-
-       char buf[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = { 0, };
-       int fd = 0;
-       int r = 0;
-
-       fd = open(file, O_RDONLY);
-       if (fd != -1) {
-               r = read(fd, buf, MAX_DISPLAY_STR_LEN_ON_PHONE_INFO);
-               if ((r >= 0) && (r < MAX_DISPLAY_STR_LEN_ON_PHONE_INFO)) {
-                       buf[r] = '\0';
-                       val = atoi(buf);
-                       snprintf(str, size, "%d%s", val, "\%");
-               } else {
-                       SETTING_TRACE_ERROR("read file fail");
-                       snprintf(str, size, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
-               }
+       int bat_level = -1;
 
-               close(fd);
-       } else {
-               SETTING_TRACE_ERROR("open file fail");
+       /* Read battery level from vconf, as system-server sets that key using a 
+         device-specific plugin. Reading directly from /sys fails on different
+         devices */
+       if (vconf_get_int(VCONFKEY_SYSMAN_BATTERY_CAPACITY, &bat_level) == 0) {
+               snprintf(str, size, "%d%s", bat_level, "\%");
+       }
+       else {
+               SETTING_TRACE_ERROR("Reading VCONFKEY_SYSMAN_BATTERY_CAPACITY failed.");
                snprintf(str, size, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
        }
 }
@@ -316,26 +303,27 @@ void setting_about_main_get_bluetooth_address_string(char *str, int size)
 {
        setting_retm_if(str == NULL, "str parameter is NULL");
 
-       bluetooth_device_address_t local_address;
-       memset(&local_address, 0x0, sizeof(local_address));
        int ret = 0;
 
-       /* for fixing BS of dbus signal */
-       bluetooth_register_callback(NULL, NULL);
+       ret = bt_initialize();
+       setting_retm_if(ret != 0, "bluetooth initialization failed");
 
-       ret = bluetooth_get_local_address(&local_address);
+       char *local_address = NULL;
+       ret = bt_adapter_get_address(&local_address);
 
-       /* for fixing BS of dbus signal */
-       bluetooth_unregister_callback();
+       bt_deinitialize();
 
        if (ret < 0) {
                snprintf(str, size, "%s", _("IDS_ST_HEADER_UNAVAILABLE"));
+               SETTING_TRACE_DEBUG("bt address : %s", str);
        } else {
-               snprintf(str, size, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X",
-                        local_address.addr[0], local_address.addr[1], local_address.addr[2],
-                        local_address.addr[3], local_address.addr[4], local_address.addr[5]);
+               SETTING_TRACE_DEBUG("bt address : %s", local_address);
+               snprintf(str, size, "%s", local_address);
+       }
+
+       if (local_address) {
+               free(local_address);
        }
-       SETTING_TRACE_DEBUG("bt address : %s", str);
 }
 
 int __stat_get_cpuinfo(float *usr_pct, float *sys_pct)
@@ -513,10 +501,11 @@ static void __entry_unfocus_cb(void *data, Evas_Object *obj, void *event_info)
        Setting_GenGroupItem_Data *item_dev_name = data;
        SettingAboutUG *ad = item_dev_name->userdata;
        __device_name_changed_cb(item_dev_name, item_dev_name->eo_check);
+#if 0
        //after unfocus,need updating..
        elm_object_item_data_set(item_dev_name->item, item_dev_name);
        elm_genlist_item_update(item_dev_name->item);
-
+#endif
 
        if(ad->navi_item
           && elm_object_item_part_content_get(ad->navi_item, "title_right_btn")) {
@@ -553,17 +542,10 @@ static void __entry_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *eve
        SettingAboutUG *ad = (SettingAboutUG*)data;
        Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event_info;
        SETTING_TRACE_DEBUG("ev->key : %s", ev->key);
-
-       SETTING_TRACE("ad->item_dev_name->eo_check:%p", ad->item_dev_name->eo_check);
-       SETTING_TRACE("obj:%p, %s", obj, elm_entry_entry_get(obj));
        if(safeStrCmp(ev->key, "Return") == 0)
        {
                // if entry has 1 char at list, hide ime.
-               if(safeStrLen(elm_entry_entry_get(obj)) > 0)
-               {
-                       ecore_imf_context_input_panel_hide((Ecore_IMF_Context*)elm_entry_imf_context_get(obj));
-               }
-               else
+               if(safeStrLen(elm_entry_entry_get(obj)) == 0)
                {
                        if (ad->popup) {
                                evas_object_del(ad->popup);
@@ -572,18 +554,9 @@ static void __entry_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *eve
                        ad->popup = setting_create_popup_without_btn(ad, ad->win_get, NULL, _(EMPTY_LIMITATION_STR),
                                             __about_popup_rsp_cb, POPUP_INTERVAL, FALSE, FALSE);
                }
-       } else {
-               Evas_Object *entry_container = elm_object_parent_widget_get(obj);
-               if(safeStrLen(elm_entry_entry_get(obj)) > 0) {
-                       elm_object_signal_emit(entry_container, "elm,state,guidetext,hide", "elm");
-               } else {
-                       //elm_object_part_text_set(entry_container, "elm.guidetext", _("IDS_ST_BODY_TAP_TO_INSERT"));
-                       elm_object_signal_emit(entry_container, "elm,state,guidetext,show", "elm");
-               }
        }
 }
 
-
 int setting_about_generate_genlist(void *data)
 {
        SETTING_TRACE_BEGIN;
@@ -636,7 +609,7 @@ int setting_about_generate_genlist(void *data)
                                                         __setting_about_device_name_changed_cb);
                if (ad->item_dev_name) {
                        ad->item_dev_name->userdata = ad;
-                       ad->item_dev_name->isSinglelineFlag = 1;
+                       ad->item_dev_name->isSinglelineFlag = 0;
                        ad->item_dev_name->start_change_cb = (setting_call_back_func)__entry_key_down_cb;
                        ad->item_dev_name->stop_change_cb = __entry_unfocus_cb;
                        ad->item_dev_name->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
@@ -800,16 +773,6 @@ int setting_about_generate_genlist(void *data)
        }
 #endif
 
-#ifdef SUPPORT_FOTA
-       // [UI] Software update
-       if (!is_emul_bin) {
-               setting_create_Gendial_field_def(scroller, &(ad->itc_1text),
-                                        setting_about_main_mouse_up_Gendial_list_cb,
-                                        ad, SWALLOW_Type_INVALID, NULL, NULL,
-                                        0, SOFTWARE_UPDATE_STR,
-                                        NULL, NULL);
-       }
-#endif
        // [UI] Certificates
        // implementation is in progress.
        if (is_ug_installed_by_ug_args("setting-manage-applications-efl"))
@@ -1009,19 +972,6 @@ setting_about_main_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj,
                __setting_about_main_device_name_clicked(data, list_item->eo_check);
        } else if (!safeStrCmp(DIAGNOSTICS_USAGE_STR, list_item->keyStr)) {
                __setting_about_main_diagnostics_usage_clicked(data, list_item->eo_check);
-       } else if (!safeStrCmp(SOFTWARE_UPDATE_STR, list_item->keyStr)) {
-#ifdef SUPPORT_FOTA
-               if(aul_app_is_running("com.samsung.oma-dm-ui"))
-               {
-                       SETTING_TRACE_DEBUG("oma-dm-ui is already launched. ");
-                       aul_open_app("com.samsung.oma-dm-ui");
-               }
-               else
-               {
-                       SETTING_TRACE_DEBUG("oma-dm-ui will be launched. ");
-                       aul_launch_app("com.samsung.oma-dm-ui", NULL);
-               }
-#endif
        }
 }
 
@@ -1122,30 +1072,14 @@ static void __setting_about_main_device_name_clicked(void *data, Evas_Object *ob
        retm_if(obj == NULL, "obj parameter is NULL");
        SettingAboutUG *ad = (SettingAboutUG *)data;
 
-       int mobile_ap_status = VCONFKEY_MOBILE_HOTSPOT_MODE_NONE;
-       int err = -1;
-       int ret = setting_get_int_slp_key(INT_SLP_SETTING_MOBILE_AP_STATUS, &mobile_ap_status, &err);
-       //setting_retm_if(ret == SETTING_RETURN_FAIL, "Get vconf failed");
-
        if (!elm_object_focus_get(obj)) {
                elm_object_focus_set(obj, EINA_TRUE);
        }
 
-       if ((mobile_ap_status & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI) && !ad->popup_showed_flag) {
-               if (ad->popup) {
-                       evas_object_del(ad->popup);
-                       ad->popup = NULL;
-               }
-               ad->popup = setting_create_popup_with_btn(ad, ad->win_get,
-                                        NULL, _(SETTING_ABOUT_MOBILE_AP_TURNED_OFF),
-                                        __setting_about_main_mobile_ap_turn_off_ask_resp_cb, 0,
-                                        1, _("IDS_COM_SK_OK"));
-       } else {
-               Ecore_IMF_Context *imf_context = (Ecore_IMF_Context *)elm_entry_imf_context_get(obj);
-               setting_retm_if(imf_context == NULL, "imf_context is NULL");
-               ecore_imf_context_input_panel_event_callback_add(imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_cb, ad);
-               ecore_imf_context_input_panel_show(imf_context);
-       }
+       Ecore_IMF_Context *imf_context = (Ecore_IMF_Context *)elm_entry_imf_context_get(obj);
+       setting_retm_if(imf_context == NULL, "imf_context is NULL");
+       ecore_imf_context_input_panel_event_callback_add(imf_context, ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_cb, ad);
+       ecore_imf_context_input_panel_show(imf_context);
 }
 
 
@@ -1200,31 +1134,3 @@ static void __setting_about_main_diagnostics_usage_clicked(void *data, Evas_Obje
        }
        FREE(cbs);
 }
-
-static void __setting_about_main_mobile_ap_turn_off_ask_resp_cb(void *data,
-                                                   Evas_Object *obj,
-                                                   void *event_info)
-{
-       SETTING_TRACE_BEGIN;
-       setting_retm_if(data == NULL, "Data parameter is NULL");
-       SettingAboutUG *ad = (SettingAboutUG *)data;
-       int response_type = btn_type(obj);
-
-       if (POPUP_RESPONSE_OK == response_type) {
-               ad->popup_showed_flag = TRUE;
-
-               if (ad->item_dev_name) {
-                       Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ad->item_dev_name->eo_check);
-                       setting_retm_if(imf_context == NULL, "imf_context is NULL");
-                       ecore_imf_context_input_panel_show(imf_context);
-               }
-       }
-
-       if (ad->popup)
-       {
-               evas_object_del(ad->popup);
-               ad->popup = NULL;
-       }
-}
-
-