4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
6 * Contact: MyoungJune Park <mj2004.park@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
21 #include <setting-network-main.h>
23 #define MOBILE_DATA_WITHOUT_WIFI_STR "IDS_ST_BODY_MOBILE_DATA_WILL_BE_USED_IF_YOU_DOWNLOAD_OR_UPLOAD_DATA_WITHOUT_WI_FI_CONNECTION"
24 #define UMTS_MODE_WORK_OUTSIDE_STR "IDS_ST_BODY_UMTS_MODE_ONLY_WORKS_INSIDE_3G_COVERAGE_AREA"
25 #define BAND_OPERATE_OUTSIDE_USA_CANADA_STR "IDS_ST_BODY_THIS_BAND_MAY_NOT_WORK_OUTSIDE_THE_USA_AND_CANADA"
27 static int setting_network_main_create(void *cb);
28 static int setting_network_main_destroy(void *cb);
29 static int setting_network_main_update(void *cb);
30 static int setting_network_main_cleanup(void *cb);
32 setting_view setting_view_network_main = {
33 .create = setting_network_main_create,
34 .destroy = setting_network_main_destroy,
35 .update = setting_network_main_update,
36 .cleanup = setting_network_main_cleanup,
39 static void setting_network_main_item_Gendial_mouse_up_cb(void *data,
42 static void setting_network_main_click_softkey_help_cb(void *data,
45 static void setting_network_main_click_softkey_back_cb(void *data,
48 static void setting_network_main_chk_btn_cb(void *data, Evas_Object *obj,
50 static void setting_network_use_packet_resp_cb(void *data, Evas_Object *obj,
52 static void __setting_network_data_roaming_resp_cb(void *data, Evas_Object *obj,
56 /* ***************************************************
60 ***************************************************/
61 void __network_sub_list_sel_cb(void *data, Evas_Object *obj, void *event_info)
65 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
67 SettingNetworkUG *ad = (SettingNetworkUG *) data;
68 Elm_Object_Item *subitem = (Elm_Object_Item *) event_info;
69 elm_genlist_item_selected_set(subitem, 0);
70 Setting_GenGroupItem_Data *data_subItem = elm_object_item_data_get(subitem);
71 SETTING_TRACE("data_subItem->chk_status:%d", data_subItem->chk_status);
72 SETTING_TRACE("elm_radio_value_get(ad->data_net_mode->rgd):%d", elm_radio_value_get(ad->data_net_mode->rgd));
73 if (data_subItem->chk_status == elm_radio_value_get(ad->data_net_mode->rgd))
77 elm_radio_value_set(ad->data_net_mode->rgd, data_subItem->chk_status);
79 ad->net_mode = data_subItem->chk_status;
80 int tapi_ret = tel_set_network_mode(ad->handle, data_subItem->chk_status, setting_tapi_set_band_cb, ad);
81 if (tapi_ret != TAPI_API_SUCCESS) {
83 ("%s*** [ERR] tel_set_network_mode. tapi_ret=%d ***%s",
84 SETTING_FONT_RED, tapi_ret, SETTING_FONT_BLACK);
85 setting_create_popup_without_btn(ad, ad->win_get, NULL, _(Invok_API_Failed_Desc), NULL, POPUP_INTERVAL, FALSE, FALSE);
88 setting_get_int_slp_key(ad->data_net_mode->int_slp_setting_binded,
89 &(ad->net_mode), &err);
90 /** @todo check 'err' variable for exception handling */
91 elm_radio_value_set(ad->data_net_mode->rgd, ad->net_mode);
95 //it will be deleted in callback set by tel_set_network_mode(that is setting_tapi_set_band_cb.)
96 ad->network_ug_pop = setting_create_popup_without_btn(ad, ad->win_get, NULL,
97 _("IDS_COM_POP_PROCESSING"), NULL,
103 __setting_network_main_exp_cb(void *data, Evas_Object *obj, void *event_info)
105 ret_if(NULL == data || NULL == event_info);
107 SettingNetworkUG *ad = (SettingNetworkUG *) data;
108 Elm_Object_Item *parentItem = event_info; /* parent item */
109 Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem); /* parent data */
110 Evas_Object *scroller = elm_object_item_widget_get(parentItem);
113 if (data_parentItem == ad->data_net_mode) {
114 rgd = elm_radio_add(scroller);
115 elm_radio_value_set(rgd, -1);
117 setting_create_Gendial_exp_sub_field(scroller,
118 &itc_1icon_1text_sub,
119 __network_sub_list_sel_cb,
121 SWALLOW_Type_1RADIO, rgd,
122 TAPI_NETWORK_MODE_AUTO,
123 Keystr_NetBrand_Auto, NULL);
125 setting_create_Gendial_exp_sub_field(scroller,
126 &itc_1icon_1text_sub,
127 __network_sub_list_sel_cb,
129 SWALLOW_Type_1RADIO, rgd,
130 TAPI_NETWORK_MODE_GSM,
131 Keystr_NetBrand_GSM, NULL);
133 setting_create_Gendial_exp_sub_field(scroller,
134 &itc_1icon_1text_sub,
135 __network_sub_list_sel_cb,
137 SWALLOW_Type_1RADIO, rgd,
138 TAPI_NETWORK_MODE_WCDMA,
139 Keystr_NetBrand_WCDMA, NULL);
141 data_parentItem->rgd = rgd;
142 setting_update_chk_status(rgd, data_parentItem->int_slp_setting_binded);
147 #define __switch_radio_state(cur_data, dst_state, dst_key) do { \
150 old_status = cur_data->chk_status;\
151 cur_data->chk_status = dst_state;\
152 elm_radio_state_value_set(cur_data->eo_check, cur_data->chk_status);\
153 if (sel_mode == old_status)\
155 sel_item_data = cur_data;\
158 G_FREE(cur_data->keyStr);\
159 cur_data->keyStr = g_strdup(dst_key);\
160 elm_genlist_item_fields_update(cur_data->item, "*", ELM_GENLIST_ITEM_FIELD_TEXT);\
164 static void __3g_change_cb(keynode_t *key, void *data)
167 ret_if(NULL == data);
168 SettingNetworkUG *ad = data;
169 int status = vconf_keynode_get_bool(key);
170 char *vconf_name = vconf_keynode_get_name(key);
171 SETTING_TRACE("vconf_name:%s, status:%d", vconf_name, status);
173 if (!safeStrCmp(vconf_name, VCONFKEY_3G_ENABLE)) {
174 if(ad->data_use_packet)
176 ad->data_use_packet->chk_status = status;
177 elm_check_state_set(ad->data_use_packet->eo_check, ad->data_use_packet->chk_status);
181 static void __data_roaming_change_cb(keynode_t *key, void *data)
184 ret_if(NULL == data);
185 SettingNetworkUG *ad = data;
186 int status = vconf_keynode_get_bool(key);
187 char *vconf_name = vconf_keynode_get_name(key);
188 SETTING_TRACE("vconf_name:%s, status:%d", vconf_name, status);
190 if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL) && ad->data_roaming) {
191 ad->data_roaming->chk_status = status;
192 elm_check_state_set(ad->data_roaming->eo_check, ad->data_roaming->chk_status);
197 setting_get_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA, &value, &err);
198 setting_retm_if(err != 0, "get vconf failed");
200 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
201 SETTING_ON_OFF_BTN_ON, &err);
207 static int setting_network_main_create(void *cb)
210 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
212 SettingNetworkUG *ad = (SettingNetworkUG *) cb;
213 /* ***BEGIN*** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
216 /* ****END**** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
218 Evas_Object *scroller;
221 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
223 _("IDS_ST_BODY_NETWORK"),
224 dgettext("sys_string",
225 "IDS_COM_BODY_BACK"),
226 NULL,//_("IDS_COM_BODY_HELP"),
227 setting_network_main_click_softkey_back_cb,
228 setting_network_main_click_softkey_help_cb,
232 setting_enable_expandable_genlist(scroller, ad,
233 __setting_network_main_exp_cb, NULL);
235 Elm_Object_Item *item = NULL;;
238 elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL,
239 ELM_GENLIST_ITEM_NONE, NULL, NULL);
240 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
242 int value_use_packet;
244 setting_get_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
245 &value_use_packet, &err_use_packet);
246 /** @todo check 'err_use_packet' variable for exception handling */
247 ad->data_use_packet =
248 setting_create_Gendial_field_def(scroller, &itc_1text_1icon,
249 setting_network_main_item_Gendial_mouse_up_cb,
250 ad, SWALLOW_Type_1TOGGLE, NULL,
251 NULL, value_use_packet,
252 KeyStr_UsePacketData, NULL,
253 setting_network_main_chk_btn_cb);
254 if (ad->data_use_packet) {
255 ad->data_use_packet->userdata = ad;
257 SETTING_TRACE_ERROR("ad->data_use_packet is NULL");
260 setting_create_Gendial_field_def(scroller, &itc_multiline_text, NULL,
261 ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
262 NULL, NULL, 0, Data_packet_Desc, NULL,
264 elm_genlist_item_select_mode_set(elm_genlist_item_append(scroller, &(itc_seperator), NULL, NULL,ELM_GENLIST_ITEM_NONE, NULL, NULL),
265 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
268 int value_data_roaming = 0;
269 int err_data_roaming = 0;
270 setting_get_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
271 &value_data_roaming, &err_data_roaming);
272 if (err_data_roaming != 0) {
273 SETTING_TRACE_ERROR("get vconf failed");
275 ad->data_roaming = setting_create_Gendial_field_def(scroller, &itc_1text_1icon,
276 setting_network_main_item_Gendial_mouse_up_cb,
277 ad, SWALLOW_Type_1TOGGLE, NULL,
278 NULL, value_data_roaming,
279 KeyStr_DataRoaming, NULL,
280 setting_network_main_chk_btn_cb);
281 if (ad->data_roaming) {
282 ad->data_roaming->userdata = ad;
284 SETTING_TRACE_ERROR("ad->data_roaming is NULL");
287 setting_create_Gendial_field_def(scroller, &itc_multiline_text, NULL,
288 ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
289 NULL, NULL, 0, SETTING_NETWORK_DATA_ROMING_DESC, NULL,
291 elm_genlist_item_select_mode_set(elm_genlist_item_append(scroller, &(itc_seperator), NULL, NULL,ELM_GENLIST_ITEM_NONE, NULL, NULL),
292 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
295 /* (void)setting_create_Gendial_field_titleItem(scroller, &(ad->itc_group_item), speciliztion, NULL); */
297 /* Don't need to check flight mode,if flight mode is on, thw whole Network function will be disable*/
298 /* ***BEGIN*** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
299 ad->sel_net = TAPI_NETWORK_SELECTIONMODE_AUTOMATIC;
300 ad->sel_act = TAPI_NETWORK_SYSTEM_NO_SRV;
301 vconf_get_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT, &ad->sel_net);
302 vconf_get_int(VCONFKEY_SETAPPL_SELECT_OLD_NT_ACT, &ad->sel_act);
304 FREE(ad->sel_network);
305 //ad->sel_network = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);
306 ad->sel_network = get_pa_select_network();
307 SETTING_TRACE("pa_sel_net_name:%s", ad->sel_network);
308 if (isEmptyStr(ad->sel_network)) {
309 ad->sel_network = strndup(Keystr_UNKNOWN_NETWORK, strlen(Keystr_UNKNOWN_NETWORK)+1);
311 SETTING_TRACE("pa_net_name:%s", ad->sel_network);
312 SETTING_TRACE("old act:%d", ad->sel_act);
313 SETTING_TRACE("old network mode:%d", ad->sel_net);
315 char sel_network_desc[MAX_COMMON_BUFFER_LEN] = { 0, };
316 if (TAPI_NETWORK_SELECTIONMODE_MANUAL == value) {
317 snprintf(sel_network_desc, MAX_COMMON_BUFFER_LEN,
318 "%s, %s (%s)", _("IDS_COM_BODY_MANUAL"), _(ad->sel_network),
319 setting_network_get_act_str(ad->sel_act));
322 snprintf(sel_network_desc, MAX_COMMON_BUFFER_LEN,
323 "%s, %s", _("IDS_COM_BODY_AUTOMATIC"), _(ad->sel_network));
326 ad->data_sel_net = setting_create_Gendial_field_def(scroller,
328 setting_network_main_item_Gendial_mouse_up_cb,
329 ad, SWALLOW_Type_INVALID,
331 "IDS_ST_BODY_SELECT_NETWORK",
332 sel_network_desc, NULL);
333 if (ad->data_sel_net) {
334 ad->data_sel_net->userdata = ad;
336 SETTING_TRACE_ERROR("ad->data_sel_net is NULL");
338 /* ***BEGIN*** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
339 /* hide NETWORK MODE in Emulator*/
340 char *sub_des = NULL;
341 value = TAPI_NETWORK_MODE_AUTO;
342 k = vconf_get_int(VCONFKEY_SETAPPL_NETWORK_MODE_INT, &value);
344 SETTING_TRACE("VCONFKEY_SETAPPL_NETWORK_MODE_INT value:%d", value);
346 case TAPI_NETWORK_MODE_AUTO:
347 case TAPI_NETWORK_MODE_LTE|TAPI_NETWORK_MODE_GSM|TAPI_NETWORK_MODE_WCDMA:
349 sub_des = _(Keystr_NetBrand_Auto);
353 case TAPI_NETWORK_MODE_GSM:
354 sub_des = _(Keystr_NetBrand_GSM);
356 case TAPI_NETWORK_MODE_WCDMA:
357 sub_des = _(Keystr_NetBrand_WCDMA);
359 case TAPI_NETWORK_MODE_LTE|TAPI_NETWORK_MODE_WCDMA:
360 sub_des = _(Keystr_NetBrand_LTE_WCDMA);
362 case TAPI_NETWORK_MODE_GSM|TAPI_NETWORK_MODE_WCDMA:
363 sub_des = _(Keystr_NetBrand_Auto_WCDMA_GSM);
371 setting_create_Gendial_exp_parent_field(scroller,
374 SWALLOW_Type_INVALID,
375 "IDS_ST_BODY_NETWORK_MODE",
377 if (ad->data_net_mode) {
378 ad->data_net_mode->int_slp_setting_binded =
379 INT_SLP_SETTING_NETWORK_MODE;
380 ad->data_net_mode->userdata = ad;
382 SETTING_TRACE_ERROR("ad->data_back is NULL");
385 setting_create_Gendial_field_def(scroller, &itc_1text,
386 setting_network_main_item_Gendial_mouse_up_cb,
387 ad, SWALLOW_Type_INVALID, NULL, NULL,
391 item = elm_genlist_item_append(scroller, &itc_bottom_seperator, NULL, NULL,
392 ELM_GENLIST_ITEM_NONE, NULL, NULL);
393 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
395 vconf_notify_key_changed(VCONFKEY_3G_ENABLE, __3g_change_cb, ad);
396 vconf_notify_key_changed(VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL, __data_roaming_change_cb, ad);
398 setting_view_network_main.is_create = 1;
399 setting_view_update(&setting_view_network_main, ad);
400 return SETTING_RETURN_SUCCESS;
403 static int setting_network_main_destroy(void *cb)
406 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
408 SettingNetworkUG *ad = (SettingNetworkUG *) cb;
409 vconf_ignore_key_changed(VCONFKEY_3G_ENABLE, __3g_change_cb);
410 vconf_ignore_key_changed(VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL, __data_roaming_change_cb);
412 if (ad->ly_main != NULL) {
413 evas_object_del(ad->ly_main);
415 if(ad->network_ug_pop)
417 evas_object_del(ad->network_ug_pop);
418 ad->network_ug_pop = NULL;
420 ad->data_sel_net = NULL;//reset NULL after genlis destoryed with ly_main.
422 setting_view_network_main.is_create = 0;
423 return SETTING_RETURN_SUCCESS;
426 static int setting_network_main_update(void *cb)
430 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
432 SettingNetworkUG *ad = (SettingNetworkUG *) cb;
434 if (ad->ly_main != NULL) {
436 evas_object_show(ad->ly_main);
440 return SETTING_RETURN_SUCCESS;
443 static int setting_network_main_cleanup(void *cb)
446 /* retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER); */
448 /* SettingNetworkUG *ad = (SettingNetworkUG *)cb; */
450 /* all the view in view stack shared the ad->ly_main, it cannot be hided!!! */
451 /* if(ad->ly_main != NULL) */
453 /* evas_object_hide(ad->ly_main); */
456 return SETTING_RETURN_SUCCESS;
459 /* ***************************************************
463 ***************************************************/
465 /* ***************************************************
469 ***************************************************/
472 setting_network_main_click_softkey_help_cb(void *data, Evas_Object *obj,
477 retm_if(data == NULL, "Data parameter is NULL");
479 SettingNetworkUG *ad = (SettingNetworkUG *) data;
480 setting_view_change(&setting_view_network_main,
481 &setting_view_network_main_help, ad);
485 setting_network_main_click_softkey_back_cb(void *data, Evas_Object *obj,
490 retm_if(data == NULL, "Data parameter is NULL");
492 SettingNetworkUG *ad = (SettingNetworkUG *) data;
493 /* Send destroy request */
494 ug_destroy_me(ad->ug);
498 setting_network_main_item_Gendial_mouse_up_cb(void *data, Evas_Object *obj,
503 setting_retm_if(data == NULL, "Data parameter is NULL");
504 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
505 elm_genlist_item_selected_set(item, 0);
506 Setting_GenGroupItem_Data *list_item =
507 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
509 SettingNetworkUG *ad = (SettingNetworkUG *) data;
511 SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
514 if (!safeStrCmp("IDS_ST_BODY_SELECT_NETWORK", list_item->keyStr)) {
516 setting_view_change(&setting_view_network_main,
517 &setting_view_network_select_network,
520 else if (!safeStrCmp(KeyStr_UsePacketData, list_item->keyStr)) {
521 int old_status = elm_check_state_get(list_item->eo_check);
523 list_item->chk_status = !old_status;
524 elm_check_state_set(list_item->eo_check, list_item->chk_status);
525 if (!list_item->chk_status) {
527 setting_create_popup_with_btn(ad, ad->win_get,
528 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_OFF_DESC),
529 setting_network_use_packet_resp_cb,
530 0, 2, _("IDS_COM_SK_YES"),_("IDS_COM_SK_NO"));
533 setting_create_popup_with_btn(ad, ad->win_get,
534 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_ON_DESC),
535 setting_network_use_packet_resp_cb,
536 0, 1, _("IDS_COM_SK_OK"));
539 } else if (!safeStrCmp(KeyStr_DataRoaming, list_item->keyStr)) {
540 int old_status = elm_check_state_get(list_item->eo_check);
542 list_item->chk_status = !old_status;
543 elm_check_state_set(list_item->eo_check, list_item->chk_status);
545 char *notify_str = NULL;
546 if (!list_item->chk_status) {
547 notify_str = SETTING_NETWORK_DATA_ROMING_OFF_DESC;
548 ad->popup = setting_create_popup_with_btn(ad, ad->win_get,
550 __setting_network_data_roaming_resp_cb, 0,
551 1, _("IDS_COM_SK_OK"));
554 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
555 SETTING_ON_OFF_BTN_ON, &err);
557 } else if(!safeStrCmp(CONNECTION_DSC, list_item->keyStr)) {
558 ret = setting_view_change(&setting_view_network_main,
559 &setting_view_network_con, ad);
564 setting_network_main_chk_btn_cb(void *data, Evas_Object *obj, void *event_info)
568 retm_if(data == NULL, "Data parameter is NULL");
569 SettingNetworkUG *ad = NULL;
570 Setting_GenGroupItem_Data *list_item =
571 (Setting_GenGroupItem_Data *) data;
572 ad = list_item->userdata;
573 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
575 if (obj == ad->data_use_packet->eo_check) {
576 if (!list_item->chk_status) {
578 setting_create_popup_with_btn(ad, ad->win_get,
579 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_OFF_DESC),
580 setting_network_use_packet_resp_cb,
581 0, 2, _("IDS_COM_SK_YES"),_("IDS_COM_SK_NO"));
584 setting_create_popup_with_btn(ad, ad->win_get,
585 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_ON_DESC),
586 setting_network_use_packet_resp_cb,
587 0, 1, _("IDS_COM_SK_OK"));
589 }else if (obj == ad->data_roaming->eo_check) {
590 char *notify_str = NULL;
591 if (!list_item->chk_status) {
592 notify_str = SETTING_NETWORK_DATA_ROMING_OFF_DESC;
593 ad->popup = setting_create_popup_with_btn(ad, ad->win_get,
595 __setting_network_data_roaming_resp_cb, 0,
596 1, _("IDS_COM_SK_OK"));
599 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
600 SETTING_ON_OFF_BTN_ON, &err);
606 setting_network_use_packet_resp_cb(void *data, Evas_Object *obj,
610 retm_if(data == NULL, "Data parameter is NULL");
612 SettingNetworkUG *ad = (SettingNetworkUG *) data;
613 int err = 0; /* error check */
614 int response_type = btn_type(obj);
617 setting_get_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA, &value, &err);
618 setting_retm_if(err != 0, "get vconf failed");
619 SETTING_TRACE("value = %d", value);
620 if (POPUP_RESPONSE_OK == response_type) {
622 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
623 SETTING_ON_OFF_BTN_ON, &err);
624 setting_retm_if(err != 0, "set vconf failed");
626 elm_check_state_set(ad->data_use_packet->eo_check, 1);
627 ad->data_use_packet->chk_status = 1;
629 /* if called by other apps, destroy ug */
630 if (!safeStrCmp(ad->view_type_string, "DATA_ROAMING")) {
632 evas_object_del(ad->popup);
635 ug_destroy_me(ad->ug);
639 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
640 SETTING_ON_OFF_BTN_OFF, &err);
641 setting_retm_if(err != 0, "set vconf failed");
643 elm_check_state_set(ad->data_use_packet->eo_check, 0);
644 ad->data_use_packet->chk_status = 0;
646 /* should set data_roming as same as status of use_packet_data */
647 int data_roaming_value = 0;
648 setting_get_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING, &data_roaming_value, &err);
649 setting_retm_if(err != 0, "get vconf failed");
650 if (data_roaming_value) {
651 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
652 SETTING_ON_OFF_BTN_OFF, &err);
653 setting_retm_if(err != 0, "set vconf failed");
655 elm_check_state_set(ad->data_roaming->eo_check, 0);
656 ad->data_roaming->chk_status = 0;
659 } else if (POPUP_RESPONSE_CANCEL == response_type) {
662 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
663 SETTING_ON_OFF_BTN_ON, &err);
664 setting_retm_if(err != 0, "set vconf failed");
665 elm_check_state_set(ad->data_use_packet->eo_check, 1);
666 ad->data_use_packet->chk_status = 1;
671 evas_object_del(ad->popup);
677 static void __setting_network_data_roaming_resp_cb(void *data, Evas_Object *obj,
681 retm_if(data == NULL, "Data parameter is NULL");
683 SettingNetworkUG *ad = (SettingNetworkUG *) data;
684 int response_type = btn_type(obj);
685 SETTING_TRACE("elm_object_parent_widget_get(obj):%p", elm_object_parent_widget_get(obj));
686 SETTING_TRACE("obj:%p", obj);
687 if (POPUP_RESPONSE_OK == response_type) {
690 setting_get_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING, &value, &err);
693 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
694 SETTING_ON_OFF_BTN_ON, &err);
695 setting_retm_if(err != 0, "set vconf failed");
697 elm_check_state_set(ad->data_roaming->eo_check, 1);
698 ad->data_roaming->chk_status = 1;
700 /* if called by other apps, destroy ug */
701 if (!safeStrCmp(ad->view_type_string, "DATA_ROAMING")) {
704 evas_object_del(ad->popup);
707 ug_destroy_me(ad->ug);
711 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
712 SETTING_ON_OFF_BTN_OFF, &err);
713 setting_retm_if(err != 0, "set vconf failed");
715 elm_check_state_set(ad->data_roaming->eo_check, 0);
716 ad->data_roaming->chk_status = 0;
722 evas_object_del(ad->popup);