Fix N_SE-15345 : set focus on back button when enter Certificates. .
[apps/core/preloaded/settings.git] / setting-about / src / setting-about.c
index 5e060d0..bf8cedc 100755 (executable)
  * - Device Info
  *  - Name
  *  - My number
+ *    - Get info from SIM card and display it.
+ *    - if there's no phone number, it shows 'unavailable'.
  *  - Model
  *  - Version
  *  - Bluetooth
  *  - Wi-Fi
  *  - Battery
  *  - CPU usage
- *  - Diagnostics and Usage
  *  - Software update
  *  - Certificates
  */
@@ -84,6 +85,8 @@ static void *setting_about_ug_on_create(ui_gadget_h ug, enum ug_mode mode,
        setting_retvm_if(aboutUG->win_main_layout == NULL, NULL,
                         "cannot get main window ");
 
+       setting_set_i18n(SETTING_PACKAGE, SETTING_LOCALEDIR);
+
        /* register view node table */
        setting_view_node_table_intialize();
        setting_view_node_table_register(&setting_view_about_main, NULL);
@@ -92,27 +95,21 @@ static void *setting_about_ug_on_create(ui_gadget_h ug, enum ug_mode mode,
 
        /*  creating a view. */
        setting_create_Gendial_itc("dialogue/1text", &(aboutUG->itc_1text));
-       setting_create_Gendial_itc("dialogue/2text.3", &(aboutUG->itc_2text_2));
-       setting_create_Gendial_itc("dialogue/title",
-                                  &(aboutUG->itc_group_item));
-       setting_create_Gendial_itc("dialogue/1icon", &(aboutUG->itc_1icon));
-       setting_create_Gendial_itc("dialogue/2text.3/expandable",
-                                  &(aboutUG->itc_2text_3_parent));
-       setting_create_Gendial_itc("dialogue/1text.1icon/expandable2",
-                                  &(aboutUG->itc_1icon_1text_sub));
-       setting_create_Gendial_itc("multiline/1text",
-                                  &(aboutUG->itc_help_style));
-
-       aboutUG->itc_seperator.item_style = "dialogue/separator/21/with_line";
+       setting_create_Gendial_itc("dialogue/multiline/2text", &(aboutUG->itc_2text_2));
+       setting_create_Gendial_itc("dialogue/title", &(aboutUG->itc_group_item));
+       setting_create_Gendial_itc("dialogue/2text.3/expandable", &(aboutUG->itc_2text_3_parent));
+       setting_create_Gendial_itc("dialogue/1text.1icon/expandable2", &(aboutUG->itc_1icon_1text_sub));
+       setting_create_Gendial_itc("multiline/1text", &(aboutUG->itc_help_style));
+
+       aboutUG->itc_seperator.item_style = "dialogue/separator";
        aboutUG->itc_seperator.func.text_get = NULL;
        aboutUG->itc_seperator.func.content_get = NULL;
        aboutUG->itc_seperator.func.state_get = NULL;
        aboutUG->itc_seperator.func.del = NULL;
+
        setting_view_node_set_cur_view(&setting_view_about_main);
        setting_view_create(&setting_view_about_main, (void *)aboutUG);
-       evas_object_event_callback_add(aboutUG->win_main_layout,
-                                      EVAS_CALLBACK_RESIZE,
-                                      setting_about_ug_cb_resize, aboutUG);
+       evas_object_event_callback_add(aboutUG->win_main_layout, EVAS_CALLBACK_RESIZE, setting_about_ug_cb_resize, aboutUG);
 
        aboutUG->popup_showed_flag = FALSE;
        return aboutUG->ly_main;
@@ -126,6 +123,9 @@ static void setting_about_ug_on_start(ui_gadget_h ug, service_h service,
 static void setting_about_ug_on_pause(ui_gadget_h ug, service_h service,
                                      void *priv)
 {
+       SETTING_TRACE_BEGIN;
+       SettingAboutUG *SettingAboutUG = priv;
+       SettingAboutUG->pause_flag = TRUE;
 }
 
 static void setting_about_ug_on_resume(ui_gadget_h ug, service_h service,
@@ -134,6 +134,7 @@ static void setting_about_ug_on_resume(ui_gadget_h ug, service_h service,
        SETTING_TRACE_BEGIN;
        setting_retm_if((!priv), "!priv");
        SettingAboutUG *aboutUG = priv;
+       aboutUG->pause_flag = FALSE;
 
        char str[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = { 0, };
 
@@ -251,6 +252,9 @@ static void __about_gl_sel_expand(void *data, Evas_Object *obj,
        elm_genlist_item_expanded_set(item, status);
 }
 
+/**
+ * @see __on_sim_get_msisdn (caller)
+ */
 Eina_Bool __insert_item_idler(void *data)
 {
        SETTING_TRACE_BEGIN;
@@ -300,6 +304,10 @@ Eina_Bool __insert_item_idler(void *data)
        return FALSE;
 }
 
+/**
+ * called at initialization of About UG
+ * @see tel_get_sim_msisdn
+ */
 static void __on_sim_get_msisdn(TapiHandle *handle, int result, void *data, void *user_data)
 {
        SETTING_TRACE_BEGIN;
@@ -316,7 +324,6 @@ static void __on_sim_get_msisdn(TapiHandle *handle, int result, void *data, void
        memcpy(&(ad->my_numbers), data, sizeof(TelSimMsisdnList_t));
        #else
        TelSimMsisdnList_t r_numbers;
-       /////////r_numbers.count = 3;
        r_numbers.count = 3;
        safeCopyStr(r_numbers.list[0].name, "n1", 30);
        safeCopyStr(r_numbers.list[1].name, "n2", 30);
@@ -332,7 +339,7 @@ static void __on_sim_get_msisdn(TapiHandle *handle, int result, void *data, void
        setting_get_string_slp_key(STR_SLP_SETTING_SELECT_NUM, sel_num, &err);
 
        bool isFound = FALSE;
-       //SETTING_TRACE("ad->my_numbers.count[%d]", ad->my_numbers.count);
+       SETTING_TRACE("ad->my_numbers.count[%d]", ad->my_numbers.count);
 
        for (i = 0; i < ad->my_numbers.count && i < SETTING_ABOUT_MY_NUMBERS_LEN; i++) {
                SETTING_TRACE("index[%d] - name[%s], num[%s]", i, ad->my_numbers.list[i].name, ad->my_numbers.list[i].num);
@@ -350,8 +357,7 @@ static void __on_sim_get_msisdn(TapiHandle *handle, int result, void *data, void
                evas_object_del(ad->popup);
                ad->popup = NULL;
        }
-       //setting_about_generate_genlist((void *)ad);
-       ecore_idler_add(__insert_item_idler, ad);
+       setting_about_generate_genlist((void *)ad);
 }
 
 UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
@@ -371,19 +377,22 @@ UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
        ops->priv = aboutUG;
        ops->opt = UG_OPT_INDICATOR_ENABLE;
 
+       // init aboutUG
+
        int err = 0;
        int value;
        setting_get_int_slp_key(INT_SLP_SETTING_SIM_SLOT, &value, &err);
        if (VCONFKEY_TELEPHONY_SIM_INSERTED == value)//There is a sim card, so do display to user
        {
                aboutUG->handle = tel_init(NULL);
+
+
                SETTING_TRACE("aboutUG->handle:%p", aboutUG->handle);
                if (aboutUG->handle) {
                        SETTING_TRACE("tel_init sucessed, and there is at least one sim card, now trying to get misidns");
                        if (tel_get_sim_msisdn(aboutUG->handle, __on_sim_get_msisdn, aboutUG) == TAPI_API_SUCCESS) {
                                SETTING_TRACE("tel_get_sim_msisdn sent");
                        }
-
                }
        }
        else
@@ -511,7 +520,8 @@ void setting_about_main_exp_cb(void *data, Evas_Object *obj, void *event_info)
        int i = 0;
        int sel_idx = -1;
        Setting_GenGroupItem_Data *item_data = NULL;
-       for(; i < SETTING_ABOUT_MY_NUMBERS_LEN; i++) {
+
+       for(; i < ad->my_numbers.count; i++) {
                if (ad->my_numbers.list[i].num == NULL) {
                        break;
                }