Change the registering time of input pannel event callback and fix S1-9994 and N_SE...
[apps/core/preloaded/settings.git] / setting-about / src / setting-about-main.c
index 1194cd2..539f60a 100755 (executable)
@@ -76,6 +76,7 @@ static void setting_about_main_mouse_up_Gendial_list_cb(void *data,
                                                        Evas_Object *obj,
                                                        void *event_info);
 
+static void _input_panel_event_cb(void *data, Ecore_IMF_Context *ctx, int value);
 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);
@@ -110,7 +111,7 @@ static void __device_name_changed_cb(void *data, Evas_Object *obj)
 {
        retm_if(!data || !obj, "Data parameter is NULL");
        //return if entry is not focused too
-
+       SETTING_TRACE_BEGIN;
        Setting_GenGroupItem_Data *list_item =
            (Setting_GenGroupItem_Data *) data;
        SettingAboutUG *ad = list_item->userdata;
@@ -177,8 +178,11 @@ static void __device_name_changed_cb(void *data, Evas_Object *obj)
                        if (navi_it)
                        {
                                Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
-                               setting_disable_evas_object(back_btn);
-                               setting_dim_evas_object(back_btn, TRUE);
+                               if(back_btn)
+                               {
+                                       setting_disable_evas_object(back_btn);
+                                       setting_dim_evas_object(back_btn, TRUE);
+                               }
 
                                Evas_Object *top_r_btn = elm_object_item_part_content_get(navi_it, "title_right_btn");
                                if(top_r_btn)
@@ -198,8 +202,11 @@ static void __device_name_changed_cb(void *data, Evas_Object *obj)
                        if (navi_it)
                        {
                                Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
-                               setting_enable_evas_object(back_btn);
-                               setting_undo_dim_evas_object(back_btn, TRUE);
+                               if(back_btn)
+                               {
+                                       setting_enable_evas_object(back_btn);
+                                       setting_undo_dim_evas_object(back_btn, TRUE);
+                               }
 
                                Evas_Object *top_r_btn = elm_object_item_part_content_get(navi_it, "title_right_btn");
                                if(top_r_btn)
@@ -317,7 +324,7 @@ void setting_about_main_get_battery_string(char *str, int size)
 
        int bat_level = -1;
 
-       /* Read battery level from vconf, as system-server sets that key using a 
+       /* 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) {
@@ -653,6 +660,7 @@ int setting_about_generate_genlist(void *data)
                        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->maxlength_reached_cb = __max_len_reached;
+                       ad->item_dev_name->x_callback_cb = _input_panel_event_cb;
                        ad->item_dev_name->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
 
                        if (ad->item_dev_name->limit_filter_data) {
@@ -1135,7 +1143,8 @@ static void _input_panel_event_cb(void *data, Ecore_IMF_Context *ctx, int value)
 
                if (ad->item_dev_name) {
                        elm_object_focus_set(ad->item_dev_name->eo_check, EINA_FALSE);
-               }//if Setting is overlapped by other app,the entry will lost its focus,
+               }
+               //if Setting is overlapped by other app,the entry will lost its focus,
                //the input pannel will be hided and any popup should be removed to fix blinking issue.
                if (ad->pause_flag)
                        ecore_idler_add(__delay_remove, ad);
@@ -1153,10 +1162,10 @@ static void __setting_about_main_device_name_clicked(void *data, Evas_Object *ob
                elm_object_focus_set(obj, EINA_TRUE);
        }
 
-       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);
 }