[REFACTOR] Using static struct in the 'select-network' view. 87/115587/1
authorMichal Skorupinski <m.skorupinsk@samsung.com>
Mon, 6 Feb 2017 13:27:16 +0000 (14:27 +0100)
committerMichal Skorupinski <m.skorupinsk@samsung.com>
Mon, 20 Feb 2017 11:49:46 +0000 (12:49 +0100)
Change-Id: I45592617a53db56927257c7d4dd5d5e385424343
Signed-off-by: Michal Skorupinski <m.skorupinsk@samsung.com>
setting-network/src/setting-network-main.c
setting-network/src/setting-network-select-network.c

index 1d2fc76a419e4b28277d7cc7ba73636de410bcb9..27bb0685352f672fa56493b753280a08c3729f3b 100755 (executable)
@@ -988,6 +988,26 @@ static void _setting_network_popup_data_roaming_hide_cb(void *data,
        /*      elm_popup_dismiss(obj); */
 }
 
+static int _show_service_providers(SettingNetwork *ad)
+{
+       cm_call_status_e call_status = CM_CALL_STATUS_IDLE;
+       cm_client_h cm_handle = NULL;
+       cm_init(&cm_handle);
+       cm_get_call_status(cm_handle, &call_status);
+       cm_deinit(cm_handle);
+       if (CM_CALL_STATUS_IDLE != call_status) {
+               setting_create_popup(ad, ad->md.window, NULL, _("IDS_CST_POP_OPERATION_NOT_ALLOWED_DURING_CALLS"), NULL, 0, false, false, 0);
+               return SETTING_GENERAL_ERR_NULL_DATA_PARAMETER;
+       }
+
+       int value_use_packet;
+       vconf_get_int(VCONFKEY_DNET_STATE, &value_use_packet);
+       vconf_get_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT, &ad->sel_net); /*retrieve here */
+       SETTING_TRACE("ad->sel_net:%d", ad->sel_net);
+
+       return setting_view_change(&setting_view_network_main, &setting_view_network_select_network, ad);
+}
+
 static void _item_Gendial_mouse_up_cb(void *data,
                Evas_Object *obj, void *event_info)
 {
@@ -1010,30 +1030,8 @@ static void _item_Gendial_mouse_up_cb(void *data,
 
        if (!safeStrCmp("IDS_ST_BODY_NETWORK_MODE", list_item->keyStr)) {
                _mode_popup(ad);
-       } else if (!safeStrCmp("IDS_COM_BODY_NETWORK_OPERATORS",
-                       list_item->keyStr)) {
-               cm_call_status_e call_status = CM_CALL_STATUS_IDLE;
-               cm_client_h cm_handle = NULL;
-               cm_init(&cm_handle);
-               cm_get_call_status(cm_handle, &call_status);
-               cm_deinit(cm_handle);
-               if (CM_CALL_STATUS_IDLE != call_status) {
-                       setting_create_popup(ad, ad->md.window, NULL,
-                                       _("IDS_CST_POP_OPERATION_NOT_ALLOWED_DURING_CALLS"),
-                                       NULL, 0, false, false, 0);
-                       return;
-               }
-
-               int value_use_packet;
-               vconf_get_int(VCONFKEY_DNET_STATE, &value_use_packet);
-
-               vconf_get_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT,
-                               &ad->sel_net);/*retrieve here */
-               SETTING_TRACE("ad->sel_net:%d", ad->sel_net);
-
-               ret = setting_view_change(&setting_view_network_main,
-                               &setting_view_network_select_network, ad);
-
+       } else if (!safeStrCmp("Service providers", list_item->keyStr)) {
+               _show_service_providers(ad);
        } else if (!safeStrCmp(KeyStr_UseMobileData, list_item->keyStr)) {
                /* new status */
                setting_update_gl_item_chk_status(ad->data_mobile_data,
index 36ed50c2543f36b33d2cdc513bf29fd9e6fb8a5d..54157a9d1e84170bc3f4ea32de50d8da1fd013c0 100644 (file)
@@ -24,6 +24,12 @@ static int _view_create(void *cb);
 static int _view_destroy(void *cb);
 static Eina_Bool __naviframe_item_pop_cb(void *data, Elm_Object_Item *it);
 
+static struct select_network_info {
+       SettingNetwork *ad;
+} s_info = {
+       .ad = NULL,
+};
+
 setting_view setting_view_network_select_network = {
        .create = _view_create,
        .destroy = _view_destroy,
@@ -40,10 +46,10 @@ static void __network_main_gl_mouse_up(void *data, Evas *e, Evas_Object *obj,
 {
        SETTING_TRACE_BEGIN;
        ret_if(!data || !event_info);
-       SettingNetwork *ad = (SettingNetwork *)data;
+
        Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)event_info;
        Elm_Object_Item *selected_item = elm_genlist_at_xy_item_get(
-                       ad->genlist_sel_network, ev->output.x, ev->output.y,
+                       s_info.ad->genlist_sel_network, ev->output.x, ev->output.y,
                        NULL);
        ret_if(!selected_item);
        Setting_GenGroupItem_Data *data_Item = elm_object_item_data_get(
@@ -54,7 +60,7 @@ static void __network_main_gl_mouse_up(void *data, Evas *e, Evas_Object *obj,
                SETTING_TRACE("ev->output.x:%d, ev->output.y:%d", ev->output.x,
                                ev->output.y);
                Evas_Coord x, y, w, h;
-               evas_object_geometry_get(ad->data_auto_network_item->eo_check,
+               evas_object_geometry_get(s_info.ad->data_auto_network_item->eo_check,
                                &x, &y, &w, &h);
                SETTING_TRACE("x:%d, y:%d, w:%d, h:%d", x, y, w, h);
                if (x <= ev->output.x
@@ -63,25 +69,25 @@ static void __network_main_gl_mouse_up(void *data, Evas *e, Evas_Object *obj,
                                && ev->output.y <= (y + h)) {
                        return;
                }
-               if (ad->data_auto_network_item->chk_status) {
+               if (s_info.ad->data_auto_network_item->chk_status) {
                        char *sub_text = setting_customize_text(
-                                       ad->data_auto_network_item->sub_desc, 0,
+                                       s_info.ad->data_auto_network_item->sub_desc, 0,
                                        BLUE_COLOR, NULL);
-                       FREE(ad->data_auto_network_item->sub_desc);
-                       ad->data_auto_network_item->sub_desc = (char *)g_strdup(
+                       FREE(s_info.ad->data_auto_network_item->sub_desc);
+                       s_info.ad->data_auto_network_item->sub_desc = (char *)g_strdup(
                                        sub_text);
                        FREE(sub_text);
                } else {
                        char *sub_text = setting_customize_text(
-                                       ad->data_auto_network_item->sub_desc, 0,
+                                       s_info.ad->data_auto_network_item->sub_desc, 0,
                                        GRAY_COLOR, NULL);
-                       FREE(ad->data_auto_network_item->sub_desc);
-                       ad->data_auto_network_item->sub_desc = (char *)g_strdup(
+                       FREE(s_info.ad->data_auto_network_item->sub_desc);
+                       s_info.ad->data_auto_network_item->sub_desc = (char *)g_strdup(
                                        sub_text);
                        FREE(sub_text);
                }
 
-               elm_genlist_item_fields_update(ad->data_auto_network_item->item,
+               elm_genlist_item_fields_update(s_info.ad->data_auto_network_item->item,
                                "*", ELM_GENLIST_ITEM_FIELD_TEXT);
        }
 }
@@ -90,12 +96,11 @@ static void __network_main_gl_mouse_down(void *data, Evas *e, Evas_Object *obj,
 {
        SETTING_TRACE_BEGIN;
        ret_if(!data || !event_info);
-       SettingNetwork *ad = (SettingNetwork *)data;
        Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *)event_info;
-       ad->point_down.x = ev->output.x;
-       ad->point_down.y = ev->output.y;
+       s_info.ad->point_down.x = ev->output.x;
+       s_info.ad->point_down.y = ev->output.y;
        Elm_Object_Item *selected_item = elm_genlist_at_xy_item_get(
-                       ad->genlist_sel_network, ev->output.x, ev->output.y,
+                       s_info.ad->genlist_sel_network, ev->output.x, ev->output.y,
                        NULL);
        ret_if(!selected_item);
        Setting_GenGroupItem_Data *data_Item = elm_object_item_data_get(
@@ -106,7 +111,7 @@ static void __network_main_gl_mouse_down(void *data, Evas *e, Evas_Object *obj,
                SETTING_TRACE("ev->output.x:%d, ev->output.y:%d", ev->output.x,
                                ev->output.y);
                Evas_Coord x, y, w, h;
-               evas_object_geometry_get(ad->data_auto_network_item->eo_check,
+               evas_object_geometry_get(s_info.ad->data_auto_network_item->eo_check,
                                &x, &y, &w, &h);
                SETTING_TRACE("x:%d, y:%d, w:%d, h:%d", x, y, w, h);
                if (x <= ev->output.x
@@ -117,13 +122,13 @@ static void __network_main_gl_mouse_down(void *data, Evas *e, Evas_Object *obj,
                }
 
                char *sub_text = setting_customize_text(
-                               ad->data_auto_network_item->sub_desc, 0,
+                               s_info.ad->data_auto_network_item->sub_desc, 0,
                                WHITE_COLOR, NULL);
-               FREE(ad->data_auto_network_item->sub_desc);
-               ad->data_auto_network_item->sub_desc = (char *)g_strdup(
+               FREE(s_info.ad->data_auto_network_item->sub_desc);
+               s_info.ad->data_auto_network_item->sub_desc = (char *)g_strdup(
                                sub_text);
                FREE(sub_text);
-               elm_genlist_item_fields_update(ad->data_auto_network_item->item,
+               elm_genlist_item_fields_update(s_info.ad->data_auto_network_item->item,
                                "*", ELM_GENLIST_ITEM_FIELD_TEXT);
        }
 
@@ -133,10 +138,9 @@ static void __network_main_gl_mouse_move(void *data, Evas *e, Evas_Object *obj,
 {
        /*SETTING_TRACE_BEGIN; */
        ret_if(!data || !event_info);
-       SettingNetwork *ad = (SettingNetwork *)data;
        Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *)event_info;
-       int x_offset = ev->cur.output.x - ad->point_down.x;
-       int y_offset = ev->cur.output.y - ad->point_down.y;
+       int x_offset = ev->cur.output.x - s_info.ad->point_down.x;
+       int y_offset = ev->cur.output.y - s_info.ad->point_down.y;
        if (x_offset < 0)
                x_offset = -x_offset;
        if (y_offset < 0)
@@ -146,150 +150,141 @@ static void __network_main_gl_mouse_move(void *data, Evas *e, Evas_Object *obj,
                return;
 
        /*SETTING_TRACE("xxxxxxxxxx"); */
-       if (ad->data_auto_network_item->chk_status) {
+       if (s_info.ad->data_auto_network_item->chk_status) {
                char *sub_text = setting_customize_text(
-                               ad->data_auto_network_item->sub_desc, 0,
+                               s_info.ad->data_auto_network_item->sub_desc, 0,
                                BLUE_COLOR, NULL);
-               FREE(ad->data_auto_network_item->sub_desc);
-               ad->data_auto_network_item->sub_desc = (char *)g_strdup(
+               FREE(s_info.ad->data_auto_network_item->sub_desc);
+               s_info.ad->data_auto_network_item->sub_desc = (char *)g_strdup(
                                sub_text);
                FREE(sub_text);
        } else {
                char *sub_text = setting_customize_text(
-                               ad->data_auto_network_item->sub_desc, 0,
+                               s_info.ad->data_auto_network_item->sub_desc, 0,
                                GRAY_COLOR, NULL);
-               FREE(ad->data_auto_network_item->sub_desc);
-               ad->data_auto_network_item->sub_desc = (char *)g_strdup(
+               FREE(s_info.ad->data_auto_network_item->sub_desc);
+               s_info.ad->data_auto_network_item->sub_desc = (char *)g_strdup(
                                sub_text);
                FREE(sub_text);
        }
 
-       elm_genlist_item_fields_update(ad->data_auto_network_item->item, "*",
+       elm_genlist_item_fields_update(s_info.ad->data_auto_network_item->item, "*",
                        ELM_GENLIST_ITEM_FIELD_TEXT);
 }
 
 static int _view_create(void *cb)
 {
        SETTING_TRACE_BEGIN;
-       SettingNetwork *ad = (SettingNetwork *)cb;
-       retv_if(!ad, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
+       s_info.ad = (SettingNetwork *)cb;
 
        setting_create_genlist_and_push_to_naviframe(
                        "IDS_COM_BODY_NETWORK_OPERATORS",
-                       _("IDS_ST_BUTTON_BACK"), __naviframe_item_pop_cb, ad,
-                       &ad->genlist_sel_network, ad->md.naviframe);
+                       _("IDS_ST_BUTTON_BACK"), __naviframe_item_pop_cb, NULL,
+                       &s_info.ad->genlist_sel_network, s_info.ad->md.naviframe);
 
-       /*m_Object_Item *item = elm_genlist_item_append(ad->genlist_sel_network,
+       /*m_Object_Item *item = elm_genlist_item_append(s_info.ad->genlist_sel_network,
         &(itc_seperator), NULL, NULL,
         ELM_GENLIST_ITEM_NONE, NULL, NULL);
         elm_genlist_item_select_mode_set(item,
         ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);*/
 
        /* scroller is a genlist */
-       ad->chk_sel = elm_radio_add(ad->genlist_sel_network);
-       elm_radio_state_value_set(ad->chk_sel, -1);
+       s_info.ad->chk_sel = elm_radio_add(s_info.ad->genlist_sel_network);
+       elm_radio_state_value_set(s_info.ad->chk_sel, -1);
        /*retrieve here */
-       vconf_get_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT, &ad->sel_net);
-       SETTING_TRACE("ad->sel_net:%d", ad->sel_net);
+       vconf_get_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT, &s_info.ad->sel_net);
+       SETTING_TRACE("s_info.ad->sel_net:%d", s_info.ad->sel_net);
 
        /*retrieve here */
-       vconf_get_int(VCONFKEY_SETAPPL_SELECT_OLD_NT_ACT, &ad->sel_act);
-       SETTING_TRACE("ad->sel_act:%d", ad->sel_act);
-
-       FREE(ad->sel_network);
-       /*ad->sel_network = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME); */
-       ad->sel_network = get_pa_select_network();
-       SETTING_TRACE("pa_sel_net_name:%s", ad->sel_network);
-       if (!ad->sel_network) {
-               ad->sel_network = strndup(Keystr_UNKNOWN_NETWORK,
+       vconf_get_int(VCONFKEY_SETAPPL_SELECT_OLD_NT_ACT, &s_info.ad->sel_act);
+       SETTING_TRACE("s_info.ad->sel_act:%d", s_info.ad->sel_act);
+
+       FREE(s_info.ad->sel_network);
+       /*s_info.ad->sel_network = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME); */
+       s_info.ad->sel_network = get_pa_select_network();
+       SETTING_TRACE("pa_sel_net_name:%s", s_info.ad->sel_network);
+       if (!s_info.ad->sel_network) {
+               s_info.ad->sel_network = strndup(Keystr_UNKNOWN_NETWORK,
                                strlen(Keystr_UNKNOWN_NETWORK) + 1);
        }
 
        /* resolve abnormal height issue */
-       elm_genlist_mode_set(ad->genlist_sel_network, ELM_LIST_COMPRESS);
-
-       evas_object_event_callback_add(ad->genlist_sel_network,
-                       EVAS_CALLBACK_MOUSE_UP, __network_main_gl_mouse_up, ad);
-       evas_object_event_callback_add(ad->genlist_sel_network,
-                       EVAS_CALLBACK_MOUSE_DOWN, __network_main_gl_mouse_down,
-                       ad);
-       evas_object_event_callback_add(ad->genlist_sel_network,
-                       EVAS_CALLBACK_MOUSE_MOVE, __network_main_gl_mouse_move,
-                       ad);
-
-       if (TAPI_NETWORK_SELECTIONMODE_AUTOMATIC == ad->sel_net) {
-               char *sub_text = setting_customize_text(_(ad->sel_network), 0, BLUE_COLOR, NULL);
-
-               ad->data_auto_network_item = setting_create_Gendial_field_def(
-                               ad->genlist_sel_network, &itc_1text_1icon,
-                               setting_network_Gendial_select_plmn_cb, ad,
+       elm_genlist_mode_set(s_info.ad->genlist_sel_network, ELM_LIST_COMPRESS);
+
+       evas_object_event_callback_add(s_info.ad->genlist_sel_network, EVAS_CALLBACK_MOUSE_UP, __network_main_gl_mouse_up, NULL);
+       evas_object_event_callback_add(s_info.ad->genlist_sel_network, EVAS_CALLBACK_MOUSE_DOWN, __network_main_gl_mouse_down, NULL);
+       evas_object_event_callback_add(s_info.ad->genlist_sel_network, EVAS_CALLBACK_MOUSE_MOVE, __network_main_gl_mouse_move, NULL);
+
+       if (TAPI_NETWORK_SELECTIONMODE_AUTOMATIC == s_info.ad->sel_net) {
+               char *sub_text = setting_customize_text(_(s_info.ad->sel_network), 0, BLUE_COLOR, NULL);
+
+               s_info.ad->data_auto_network_item = setting_create_Gendial_field_def(
+                               s_info.ad->genlist_sel_network, &itc_1text_1icon,
+                               setting_network_Gendial_select_plmn_cb, NULL,
                                SWALLOW_Type_1ICON_1RADIO,
                                NULL, NULL, TRUE,
                                "IDS_ST_BODY_SELECT_AUTOMATICALLY", sub_text,
                                setting_network_select_network_chk_changed);
 
-               setting_retvm_if(NULL == ad->data_auto_network_item,
+               setting_retvm_if(NULL == s_info.ad->data_auto_network_item,
                                SETTING_RETURN_FAIL, "Failed to calloc memory");
                FREE(sub_text);
-               ad->data_auto_network_item->userdata = ad;
 
-       } else if (TAPI_NETWORK_SELECTIONMODE_MANUAL == ad->sel_net) {
-               char *sub_text = setting_customize_text(_(ad->sel_network), 0, BLUE_COLOR, NULL);
+       } else if (TAPI_NETWORK_SELECTIONMODE_MANUAL == s_info.ad->sel_net) {
+               char *sub_text = setting_customize_text(_(s_info.ad->sel_network), 0, BLUE_COLOR, NULL);
 
-               ad->data_auto_network_item = setting_create_Gendial_field_def(
-                               ad->genlist_sel_network, &itc_1text_1icon,
-                               setting_network_Gendial_select_plmn_cb, ad,
+               s_info.ad->data_auto_network_item = setting_create_Gendial_field_def(
+                               s_info.ad->genlist_sel_network, &itc_1text_1icon,
+                               setting_network_Gendial_select_plmn_cb, NULL,
                                SWALLOW_Type_1ICON_1RADIO,
                                NULL, NULL, FALSE,
                                "IDS_ST_BODY_SELECT_AUTOMATICALLY", sub_text,
                                setting_network_select_network_chk_changed);
 
-               setting_retvm_if(NULL == ad->data_auto_network_item,
+               setting_retvm_if(NULL == s_info.ad->data_auto_network_item,
                                SETTING_RETURN_FAIL, "Failed to calloc memory");
 
                FREE(sub_text);
-               ad->data_auto_network_item->userdata = ad;
 
                setting_view_network_select_network.is_create = TRUE;
-
-               setting_network_searching_network(ad->data_auto_network_item);
+               setting_network_searching_network(s_info.ad->data_auto_network_item);
 
                /* Searching icon appeared.
-                ad->data_search_network_item = setting_create_Gendial_field_1radio(
-                ad->genlist_sel_network,
+                s_info.ad->data_search_network_item = setting_create_Gendial_field_1radio(
+                s_info.ad->genlist_sel_network,
                 &itc_1icon,
                 NULL, NULL,
                 SWALLOW_Type_1RADIO_1SEARCH,
-                ad->chk_sel, -1, NULL, NULL);
-                __BACK_POINTER_SET(ad->data_search_network_item);
+                s_info.ad->chk_sel, -1, NULL, NULL);
+                __BACK_POINTER_SET(s_info.ad->data_search_network_item);
                 elm_genlist_item_select_mode_set(
-                ad->data_search_network_item->item,
+                s_info.ad->data_search_network_item->item,
                 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
                 */
 
                /*
-                if (0 == safeStrCmp("IDS_ST_BODY_NOSERVICE", ad->sel_network)
+                if (0 == safeStrCmp("IDS_ST_BODY_NOSERVICE", s_info.ad->sel_network)
                 || 0 == safeStrCmp(_("IDS_ST_BODY_NOSERVICE"),
-                _(ad->sel_network))
-                || 0 == safeStrCmp("EMERGENCY", ad->sel_network)
-                || 0 == safeStrCmp(_("EMERGENCY"), ad->sel_network)
-                || 0 == safeStrCmp("No service", ad->sel_network)
-                || 0 == safeStrCmp("No service", _(ad->sel_network))
+                _(s_info.ad->sel_network))
+                || 0 == safeStrCmp("EMERGENCY", s_info.ad->sel_network)
+                || 0 == safeStrCmp(_("EMERGENCY"), s_info.ad->sel_network)
+                || 0 == safeStrCmp("No service", s_info.ad->sel_network)
+                || 0 == safeStrCmp("No service", _(s_info.ad->sel_network))
                 || 0 == safeStrCmp(_("IDS_CALL_POP_CALLING_EMERG_ONLY"),
-                _(ad->sel_network))
-                || 0 == safeStrCmp("Emergency calls only", _(ad->sel_network))
+                _(s_info.ad->sel_network))
+                || 0 == safeStrCmp("Emergency calls only", _(s_info.ad->sel_network))
                 )
                 {
                 //no service case:
-                ad->data_search_network_item = setting_create_Gendial_field_1radio(
-                ad->genlist_sel_network,
+                s_info.ad->data_search_network_item = setting_create_Gendial_field_1radio(
+                s_info.ad->genlist_sel_network,
                 &itc_1icon,
                 NULL, NULL,
                 SWALLOW_Type_1RADIO_1SEARCH,
-                ad->chk_sel, -1, NULL, NULL);
-                __BACK_POINTER_SET(ad->data_search_network_item);
+                s_info.ad->chk_sel, -1, NULL, NULL);
+                __BACK_POINTER_SET(s_info.ad->data_search_network_item);
                 elm_genlist_item_select_mode_set(
-                ad->data_search_network_item->item,
+                s_info.ad->data_search_network_item->item,
                 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
                 }
                 else
@@ -300,30 +295,30 @@ static int _view_create(void *cb)
                 char sel_network_desc[MAX_COMMON_BUFFER_LEN] = { 0, };
 
                 snprintf(sel_network_desc, MAX_COMMON_BUFFER_LEN, "%s",
-                _(ad->sel_network));
+                _(s_info.ad->sel_network));
                 item_Data = setting_create_Gendial_field_1radio(
-                ad->genlist_sel_network,
+                s_info.ad->genlist_sel_network,
                 &itc_multiline_1text_1icon,
                 setting_network_Gendial_select_plmn_cb, ad,
                 SWALLOW_Type_1RADIO,
-                ad->chk_sel, TAPI_NETWORK_SELECTIONMODE_MANUAL,
+                s_info.ad->chk_sel, TAPI_NETWORK_SELECTIONMODE_MANUAL,
                 sel_network_desc,
                 setting_network_select_network_chk_changed);
                 setting_retvm_if(NULL == item_Data, SETTING_RETURN_FAIL,
                 "Failed to calloc memory");
                 item_Data->userdata = ad;
 
-                ad->data_search_network_item = setting_create_Gendial_field_1radio(
-                ad->genlist_sel_network,
+                s_info.ad->data_search_network_item = setting_create_Gendial_field_1radio(
+                s_info.ad->genlist_sel_network,
                 &itc_1icon,
                 NULL, NULL,
                 SWALLOW_Type_1RADIO_1SEARCH,
-                ad->chk_sel, -1, NULL, NULL);
-                __BACK_POINTER_SET(ad->data_search_network_item);
+                s_info.ad->chk_sel, -1, NULL, NULL);
+                __BACK_POINTER_SET(s_info.ad->data_search_network_item);
                 elm_genlist_item_select_mode_set(
-                ad->data_search_network_item->item,
+                s_info.ad->data_search_network_item->item,
                 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-                elm_radio_value_set(ad->chk_sel,
+                elm_radio_value_set(s_info.ad->chk_sel,
                 TAPI_NETWORK_SELECTIONMODE_MANUAL);
 
                 }
@@ -343,67 +338,61 @@ static int _view_destroy(void *cb)
 {
        SETTING_TRACE_BEGIN;
        /* error check */
-       retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
-
-       SettingNetwork *ad = (SettingNetwork *)cb;
 
-       evas_object_event_callback_del(ad->genlist_sel_network,
-                       EVAS_CALLBACK_MOUSE_UP, __network_main_gl_mouse_up);
-       evas_object_event_callback_del(ad->genlist_sel_network,
-                       EVAS_CALLBACK_MOUSE_DOWN, __network_main_gl_mouse_down);
-       evas_object_event_callback_del(ad->genlist_sel_network,
-                       EVAS_CALLBACK_MOUSE_MOVE, __network_main_gl_mouse_move);
+       evas_object_event_callback_del(s_info.ad->genlist_sel_network, EVAS_CALLBACK_MOUSE_UP, __network_main_gl_mouse_up);
+       evas_object_event_callback_del(s_info.ad->genlist_sel_network, EVAS_CALLBACK_MOUSE_DOWN, __network_main_gl_mouse_down);
+       evas_object_event_callback_del(s_info.ad->genlist_sel_network, EVAS_CALLBACK_MOUSE_MOVE, __network_main_gl_mouse_move);
 
-       if (ad->timer) {
-               ecore_timer_del(ad->timer);
-               ad->timer = NULL;
+       if (s_info.ad->timer) {
+               ecore_timer_del(s_info.ad->timer);
+               s_info.ad->timer = NULL;
        }
 
-       if (ad->popup) {
-               evas_object_del(ad->popup);
-               ad->popup = NULL;
+       if (s_info.ad->popup) {
+               evas_object_del(s_info.ad->popup);
+               s_info.ad->popup = NULL;
        }
 
        /*cancel the searching operation */
-       if (ad->b_searching_network) {
+       if (s_info.ad->b_searching_network) {
                int tapi_ret;
-               tapi_ret = tel_cancel_network_manual_search(ad->handle,
-                               setting_tapi_cancel_manual_search_cb, ad);
+               tapi_ret = tel_cancel_network_manual_search(s_info.ad->handle, setting_tapi_cancel_manual_search_cb, NULL);
                if (tapi_ret != TAPI_API_SUCCESS) {
                        SETTING_TRACE_ERROR(
                                        "*** [ERR] tel_cancel_network_manual_search. " "tapi_ret=%d ***",
                                        tapi_ret);
                }
-               ad->b_searching_network = FALSE;
+               s_info.ad->b_searching_network = FALSE;
        }
+
        /*roolback..*/
        if (0 != vconf_get_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT,
-                       &ad->sel_net)) {
+                       &s_info.ad->sel_net)) {
                SETTING_TRACE_ERROR("vconf get failed");
        }
 
        if (0 != vconf_get_int(VCONFKEY_SETAPPL_SELECT_OLD_NT_ACT,
-                       &ad->sel_act)) {
+                       &s_info.ad->sel_act)) {
                SETTING_TRACE_ERROR("vconf get failed");
        }
 
-       FREE(ad->sel_network);
-       ad->sel_network = get_pa_select_network();
-       if (!ad->sel_network) {
-               ad->sel_network = strndup(Keystr_UNKNOWN_NETWORK,
+       FREE(s_info.ad->sel_network);
+       s_info.ad->sel_network = get_pa_select_network();
+       if (!s_info.ad->sel_network) {
+               s_info.ad->sel_network = strndup(Keystr_UNKNOWN_NETWORK,
                                strlen(Keystr_UNKNOWN_NETWORK) + 1);
        }
 
        /*reset..*/
-       ad->b_set_manul_network = FALSE;
-       ad->b_set_auto_network = FALSE;
-       setting_network_update_sel_network(ad);
+       s_info.ad->b_set_manul_network = FALSE;
+       s_info.ad->b_set_auto_network = FALSE;
+       setting_network_update_sel_network(s_info.ad);
 
        /*Following handlers will be used by async listening callback. They
         * must be reset after genlist is 'popuped'. */
-       ad->data_auto_network_item = NULL;
+       s_info.ad->data_auto_network_item = NULL;
        /*data_sel_net was created in main view, it won't be destoryed. */
-       /*ad->data_sel_net = NULL; */
+       /*s_info.ad->data_sel_net = NULL; */
        setting_view_network_select_network.is_create = FALSE;
 
        return SETTING_RETURN_SUCCESS;
@@ -424,17 +413,14 @@ static int _view_destroy(void *cb)
 static Eina_Bool __naviframe_item_pop_cb(void *data, Elm_Object_Item *it)
 {
        SETTING_TRACE_BEGIN;
-       SettingNetwork *ad = (SettingNetwork *)data;
-       /* error check */
-       retv_if(!ad,  EINA_FALSE);
 
        /* If registering.. popup is displaying, Back must be ignored. */
-       if (ad->network_select_registering_pop) {
+       if (s_info.ad->network_select_registering_pop) {
                SETTING_TRACE("registering... popup is displaying. back key ignored");
                return EINA_TRUE;
        }
 
-       if (ad->view_to_load == &setting_view_network_select_network) {
+       if (s_info.ad->view_to_load == &setting_view_network_select_network) {
                ui_app_exit();
                return EINA_TRUE;
        }