3 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * Licensed under the Flora License, Version 1.1 (the License);
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://floralicense.org/license/
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an AS IS BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 #include <setting-network-main.h>
19 #define MOBILE_DATA_WITHOUT_WIFI_STR "IDS_ST_BODY_MOBILE_DATA_WILL_BE_USED_IF_YOU_DOWNLOAD_OR_UPLOAD_DATA_WITHOUT_WI_FI_CONNECTION"
20 #define UMTS_MODE_WORK_OUTSIDE_STR "IDS_ST_BODY_UMTS_MODE_ONLY_WORKS_INSIDE_3G_COVERAGE_AREA"
21 #define BAND_OPERATE_OUTSIDE_USA_CANADA_STR "IDS_ST_BODY_THIS_BAND_MAY_NOT_WORK_OUTSIDE_THE_USA_AND_CANADA"
23 static int setting_network_main_create(void *cb);
24 static int setting_network_main_destroy(void *cb);
25 static int setting_network_main_update(void *cb);
26 static int setting_network_main_cleanup(void *cb);
28 setting_view setting_view_network_main = {
29 .create = setting_network_main_create,
30 .destroy = setting_network_main_destroy,
31 .update = setting_network_main_update,
32 .cleanup = setting_network_main_cleanup,
35 static void setting_network_main_item_Gendial_mouse_up_cb(void *data,
38 static void setting_network_main_click_softkey_help_cb(void *data,
41 static void setting_network_main_click_softkey_back_cb(void *data,
44 static void setting_network_main_chk_btn_cb(void *data, Evas_Object *obj,
46 static void setting_network_use_packet_resp_cb(void *data, Evas_Object *obj,
48 static void __setting_network_data_roaming_resp_cb(void *data, Evas_Object *obj,
52 /* ***************************************************
56 ***************************************************/
57 void __network_sub_list_sel_cb(void *data, Evas_Object *obj, void *event_info)
61 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
63 SettingNetworkUG *ad = (SettingNetworkUG *) data;
64 Elm_Object_Item *subitem = (Elm_Object_Item *) event_info;
65 elm_genlist_item_selected_set(subitem, 0);
66 Setting_GenGroupItem_Data *data_subItem = elm_object_item_data_get(subitem);
67 SETTING_TRACE("data_subItem->chk_status:%d", data_subItem->chk_status);
68 SETTING_TRACE("elm_radio_value_get(ad->data_net_mode->rgd):%d", elm_radio_value_get(ad->data_net_mode->rgd));
69 if (data_subItem->chk_status == elm_radio_value_get(ad->data_net_mode->rgd))
73 elm_radio_value_set(ad->data_net_mode->rgd, data_subItem->chk_status);
75 ad->net_mode = data_subItem->chk_status;
76 int tapi_ret = tel_set_network_mode(ad->handle, data_subItem->chk_status, setting_tapi_set_band_cb, ad);
77 if (tapi_ret != TAPI_API_SUCCESS) {
79 ("%s*** [ERR] tel_set_network_mode. tapi_ret=%d ***%s",
80 SETTING_FONT_RED, tapi_ret, SETTING_FONT_BLACK);
81 setting_create_popup_without_btn(ad, ad->win_get, NULL, _(Invok_API_Failed_Desc), NULL, POPUP_INTERVAL, FALSE, FALSE);
84 setting_get_int_slp_key(ad->data_net_mode->int_slp_setting_binded,
85 &(ad->net_mode), &err);
86 /** @todo check 'err' variable for exception handling */
87 elm_radio_value_set(ad->data_net_mode->rgd, ad->net_mode);
91 //it will be deleted in callback set by tel_set_network_mode(that is setting_tapi_set_band_cb.)
92 ad->network_ug_pop = setting_create_popup_without_btn(ad, ad->win_get, NULL,
93 _("IDS_COM_POP_PROCESSING"), NULL,
99 __setting_network_main_exp_cb(void *data, Evas_Object *obj, void *event_info)
101 ret_if(NULL == data || NULL == event_info);
103 SettingNetworkUG *ad = (SettingNetworkUG *) data;
104 Elm_Object_Item *parentItem = event_info; /* parent item */
105 Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem); /* parent data */
106 Evas_Object *scroller = elm_object_item_widget_get(parentItem);
109 if (data_parentItem == ad->data_net_mode) {
110 rgd = elm_radio_add(scroller);
111 elm_radio_value_set(rgd, -1);
113 setting_create_Gendial_exp_sub_field(scroller,
114 &itc_1icon_1text_sub,
115 __network_sub_list_sel_cb,
117 SWALLOW_Type_1RADIO, rgd,
118 TAPI_NETWORK_MODE_AUTO,
119 Keystr_NetBrand_Auto, NULL);
121 setting_create_Gendial_exp_sub_field(scroller,
122 &itc_1icon_1text_sub,
123 __network_sub_list_sel_cb,
125 SWALLOW_Type_1RADIO, rgd,
126 TAPI_NETWORK_MODE_GSM,
127 Keystr_NetBrand_GSM, NULL);
129 setting_create_Gendial_exp_sub_field(scroller,
130 &itc_1icon_1text_sub,
131 __network_sub_list_sel_cb,
133 SWALLOW_Type_1RADIO, rgd,
134 TAPI_NETWORK_MODE_WCDMA,
135 Keystr_NetBrand_WCDMA, NULL);
137 data_parentItem->rgd = rgd;
138 setting_update_chk_status(rgd, data_parentItem->int_slp_setting_binded);
143 #define __switch_radio_state(cur_data, dst_state, dst_key) do { \
146 old_status = cur_data->chk_status;\
147 cur_data->chk_status = dst_state;\
148 elm_radio_state_value_set(cur_data->eo_check, cur_data->chk_status);\
149 if (sel_mode == old_status)\
151 sel_item_data = cur_data;\
154 G_FREE(cur_data->keyStr);\
155 cur_data->keyStr = g_strdup(dst_key);\
156 elm_genlist_item_fields_update(cur_data->item, "*", ELM_GENLIST_ITEM_FIELD_TEXT);\
160 static void __3g_change_cb(keynode_t *key, void *data)
163 ret_if(NULL == data);
164 SettingNetworkUG *ad = data;
165 int status = vconf_keynode_get_bool(key);
166 char *vconf_name = vconf_keynode_get_name(key);
167 SETTING_TRACE("vconf_name:%s, status:%d", vconf_name, status);
169 if (!safeStrCmp(vconf_name, VCONFKEY_3G_ENABLE)) {
170 if(ad->data_use_packet)
172 ad->data_use_packet->chk_status = status;
173 elm_check_state_set(ad->data_use_packet->eo_check, ad->data_use_packet->chk_status);
177 static void __data_roaming_change_cb(keynode_t *key, void *data)
180 ret_if(NULL == data);
181 SettingNetworkUG *ad = data;
182 int status = vconf_keynode_get_bool(key);
183 char *vconf_name = vconf_keynode_get_name(key);
184 SETTING_TRACE("vconf_name:%s, status:%d", vconf_name, status);
186 if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL) && ad->data_roaming) {
187 ad->data_roaming->chk_status = status;
188 elm_check_state_set(ad->data_roaming->eo_check, ad->data_roaming->chk_status);
193 setting_get_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA, &value, &err);
194 setting_retm_if(err != 0, "get vconf failed");
196 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
197 SETTING_ON_OFF_BTN_ON, &err);
203 static int setting_network_main_create(void *cb)
206 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
208 SettingNetworkUG *ad = (SettingNetworkUG *) cb;
209 /* ***BEGIN*** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
212 /* ****END**** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
214 Evas_Object *scroller;
217 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
219 _("IDS_ST_BODY_NETWORK"),
220 dgettext("sys_string",
221 "IDS_COM_BODY_BACK"),
222 NULL,//_("IDS_COM_BODY_HELP"),
223 setting_network_main_click_softkey_back_cb,
224 setting_network_main_click_softkey_help_cb,
228 setting_enable_expandable_genlist(scroller, ad,
229 __setting_network_main_exp_cb, NULL);
231 Elm_Object_Item *item = NULL;;
234 elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL,
235 ELM_GENLIST_ITEM_NONE, NULL, NULL);
236 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
238 int value_use_packet;
240 setting_get_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
241 &value_use_packet, &err_use_packet);
242 /** @todo check 'err_use_packet' variable for exception handling */
243 ad->data_use_packet =
244 setting_create_Gendial_field_def(scroller, &itc_1text_1icon,
245 setting_network_main_item_Gendial_mouse_up_cb,
246 ad, SWALLOW_Type_1TOGGLE, NULL,
247 NULL, value_use_packet,
248 KeyStr_UsePacketData, NULL,
249 setting_network_main_chk_btn_cb);
250 if (ad->data_use_packet) {
251 ad->data_use_packet->userdata = ad;
253 SETTING_TRACE_ERROR("ad->data_use_packet is NULL");
256 setting_create_Gendial_field_def(scroller, &itc_multiline_text, NULL,
257 ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
258 NULL, NULL, 0, Data_packet_Desc, NULL,
260 elm_genlist_item_select_mode_set(elm_genlist_item_append(scroller, &(itc_seperator), NULL, NULL,ELM_GENLIST_ITEM_NONE, NULL, NULL),
261 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
264 int value_data_roaming = 0;
265 int err_data_roaming = 0;
266 setting_get_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
267 &value_data_roaming, &err_data_roaming);
268 if (err_data_roaming != 0) {
269 SETTING_TRACE_ERROR("get vconf failed");
271 ad->data_roaming = setting_create_Gendial_field_def(scroller, &itc_1text_1icon,
272 setting_network_main_item_Gendial_mouse_up_cb,
273 ad, SWALLOW_Type_1TOGGLE, NULL,
274 NULL, value_data_roaming,
275 KeyStr_DataRoaming, NULL,
276 setting_network_main_chk_btn_cb);
277 if (ad->data_roaming) {
278 ad->data_roaming->userdata = ad;
280 SETTING_TRACE_ERROR("ad->data_roaming is NULL");
283 setting_create_Gendial_field_def(scroller, &itc_multiline_text, NULL,
284 ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
285 NULL, NULL, 0, SETTING_NETWORK_DATA_ROMING_DESC, NULL,
287 elm_genlist_item_select_mode_set(elm_genlist_item_append(scroller, &(itc_seperator), NULL, NULL,ELM_GENLIST_ITEM_NONE, NULL, NULL),
288 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
291 /* (void)setting_create_Gendial_field_titleItem(scroller, &(ad->itc_group_item), speciliztion, NULL); */
293 /* Don't need to check flight mode,if flight mode is on, thw whole Network function will be disable*/
294 /* ***BEGIN*** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
295 ad->sel_net = TAPI_NETWORK_SELECTIONMODE_AUTOMATIC;
296 ad->sel_act = TAPI_NETWORK_SYSTEM_NO_SRV;
297 vconf_get_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT, &ad->sel_net);
298 vconf_get_int(VCONFKEY_SETAPPL_SELECT_OLD_NT_ACT, &ad->sel_act);
300 FREE(ad->sel_network);
301 //ad->sel_network = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);
302 ad->sel_network = get_pa_select_network();
303 SETTING_TRACE("pa_sel_net_name:%s", ad->sel_network);
304 if (isEmptyStr(ad->sel_network)) {
305 ad->sel_network = strndup(Keystr_UNKNOWN_NETWORK, strlen(Keystr_UNKNOWN_NETWORK)+1);
307 SETTING_TRACE("pa_net_name:%s", ad->sel_network);
308 SETTING_TRACE("old act:%d", ad->sel_act);
309 SETTING_TRACE("old network mode:%d", ad->sel_net);
311 char sel_network_desc[MAX_COMMON_BUFFER_LEN] = { 0, };
312 if (TAPI_NETWORK_SELECTIONMODE_MANUAL == value) {
313 snprintf(sel_network_desc, MAX_COMMON_BUFFER_LEN,
314 "%s, %s (%s)", _("IDS_COM_BODY_MANUAL"), _(ad->sel_network),
315 setting_network_get_act_str(ad->sel_act));
318 snprintf(sel_network_desc, MAX_COMMON_BUFFER_LEN,
319 "%s, %s", _("IDS_COM_BODY_AUTOMATIC"), _(ad->sel_network));
322 ad->data_sel_net = setting_create_Gendial_field_def(scroller,
324 setting_network_main_item_Gendial_mouse_up_cb,
325 ad, SWALLOW_Type_INVALID,
327 "IDS_ST_BODY_SELECT_NETWORK",
328 sel_network_desc, NULL);
329 if (ad->data_sel_net) {
330 ad->data_sel_net->userdata = ad;
332 SETTING_TRACE_ERROR("ad->data_sel_net is NULL");
334 /* ***BEGIN*** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */
335 /* hide NETWORK MODE in Emulator*/
336 char *sub_des = NULL;
337 value = TAPI_NETWORK_MODE_AUTO;
338 k = vconf_get_int(VCONFKEY_SETAPPL_NETWORK_MODE_INT, &value);
340 SETTING_TRACE("VCONFKEY_SETAPPL_NETWORK_MODE_INT value:%d", value);
342 case TAPI_NETWORK_MODE_AUTO:
343 case TAPI_NETWORK_MODE_LTE|TAPI_NETWORK_MODE_GSM|TAPI_NETWORK_MODE_WCDMA:
345 sub_des = _(Keystr_NetBrand_Auto);
349 case TAPI_NETWORK_MODE_GSM:
350 sub_des = _(Keystr_NetBrand_GSM);
352 case TAPI_NETWORK_MODE_WCDMA:
353 sub_des = _(Keystr_NetBrand_WCDMA);
355 case TAPI_NETWORK_MODE_LTE|TAPI_NETWORK_MODE_WCDMA:
356 sub_des = _(Keystr_NetBrand_LTE_WCDMA);
358 case TAPI_NETWORK_MODE_GSM|TAPI_NETWORK_MODE_WCDMA:
359 sub_des = _(Keystr_NetBrand_Auto_WCDMA_GSM);
367 setting_create_Gendial_exp_parent_field(scroller,
370 SWALLOW_Type_INVALID,
371 "IDS_ST_BODY_NETWORK_MODE",
373 if (ad->data_net_mode) {
374 ad->data_net_mode->int_slp_setting_binded =
375 INT_SLP_SETTING_NETWORK_MODE;
376 ad->data_net_mode->userdata = ad;
378 SETTING_TRACE_ERROR("ad->data_back is NULL");
381 setting_create_Gendial_field_def(scroller, &itc_1text,
382 setting_network_main_item_Gendial_mouse_up_cb,
383 ad, SWALLOW_Type_INVALID, NULL, NULL,
387 item = elm_genlist_item_append(scroller, &itc_bottom_seperator, NULL, NULL,
388 ELM_GENLIST_ITEM_NONE, NULL, NULL);
389 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
391 vconf_notify_key_changed(VCONFKEY_3G_ENABLE, __3g_change_cb, ad);
392 vconf_notify_key_changed(VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL, __data_roaming_change_cb, ad);
394 setting_view_network_main.is_create = 1;
395 setting_view_update(&setting_view_network_main, ad);
396 return SETTING_RETURN_SUCCESS;
399 static int setting_network_main_destroy(void *cb)
402 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
404 SettingNetworkUG *ad = (SettingNetworkUG *) cb;
405 vconf_ignore_key_changed(VCONFKEY_3G_ENABLE, __3g_change_cb);
406 vconf_ignore_key_changed(VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL, __data_roaming_change_cb);
408 if (ad->ly_main != NULL) {
409 evas_object_del(ad->ly_main);
411 if(ad->network_ug_pop)
413 evas_object_del(ad->network_ug_pop);
414 ad->network_ug_pop = NULL;
416 ad->data_sel_net = NULL;//reset NULL after genlis destoryed with ly_main.
418 setting_view_network_main.is_create = 0;
419 return SETTING_RETURN_SUCCESS;
422 static int setting_network_main_update(void *cb)
426 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
428 SettingNetworkUG *ad = (SettingNetworkUG *) cb;
430 if (ad->ly_main != NULL) {
432 evas_object_show(ad->ly_main);
436 return SETTING_RETURN_SUCCESS;
439 static int setting_network_main_cleanup(void *cb)
442 /* retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER); */
444 /* SettingNetworkUG *ad = (SettingNetworkUG *)cb; */
446 /* all the view in view stack shared the ad->ly_main, it cannot be hided!!! */
447 /* if(ad->ly_main != NULL) */
449 /* evas_object_hide(ad->ly_main); */
452 return SETTING_RETURN_SUCCESS;
455 /* ***************************************************
459 ***************************************************/
461 /* ***************************************************
465 ***************************************************/
468 setting_network_main_click_softkey_help_cb(void *data, Evas_Object *obj,
473 retm_if(data == NULL, "Data parameter is NULL");
475 SettingNetworkUG *ad = (SettingNetworkUG *) data;
476 setting_view_change(&setting_view_network_main,
477 &setting_view_network_main_help, ad);
481 setting_network_main_click_softkey_back_cb(void *data, Evas_Object *obj,
486 retm_if(data == NULL, "Data parameter is NULL");
488 SettingNetworkUG *ad = (SettingNetworkUG *) data;
489 /* Send destroy request */
490 ug_destroy_me(ad->ug);
494 setting_network_main_item_Gendial_mouse_up_cb(void *data, Evas_Object *obj,
499 setting_retm_if(data == NULL, "Data parameter is NULL");
500 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
501 elm_genlist_item_selected_set(item, 0);
502 Setting_GenGroupItem_Data *list_item =
503 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
505 SettingNetworkUG *ad = (SettingNetworkUG *) data;
507 SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
510 if (!safeStrCmp("IDS_ST_BODY_SELECT_NETWORK", list_item->keyStr)) {
512 setting_view_change(&setting_view_network_main,
513 &setting_view_network_select_network,
516 else if (!safeStrCmp(KeyStr_UsePacketData, list_item->keyStr)) {
517 int old_status = elm_check_state_get(list_item->eo_check);
519 list_item->chk_status = !old_status;
520 elm_check_state_set(list_item->eo_check, list_item->chk_status);
521 if (!list_item->chk_status) {
523 setting_create_popup_with_btn(ad, ad->win_get,
524 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_OFF_DESC),
525 setting_network_use_packet_resp_cb,
526 0, 2, _("IDS_COM_SK_YES"),_("IDS_COM_SK_NO"));
529 setting_create_popup_with_btn(ad, ad->win_get,
530 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_ON_DESC),
531 setting_network_use_packet_resp_cb,
532 0, 1, _("IDS_COM_SK_OK"));
535 } else if (!safeStrCmp(KeyStr_DataRoaming, list_item->keyStr)) {
536 int old_status = elm_check_state_get(list_item->eo_check);
538 list_item->chk_status = !old_status;
539 elm_check_state_set(list_item->eo_check, list_item->chk_status);
541 char *notify_str = NULL;
542 if (!list_item->chk_status) {
543 notify_str = SETTING_NETWORK_DATA_ROMING_OFF_DESC;
544 ad->popup = setting_create_popup_with_btn(ad, ad->win_get,
546 __setting_network_data_roaming_resp_cb, 0,
547 1, _("IDS_COM_SK_OK"));
550 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
551 SETTING_ON_OFF_BTN_ON, &err);
553 } else if(!safeStrCmp(CONNECTION_DSC, list_item->keyStr)) {
554 ret = setting_view_change(&setting_view_network_main,
555 &setting_view_network_con, ad);
560 setting_network_main_chk_btn_cb(void *data, Evas_Object *obj, void *event_info)
564 retm_if(data == NULL, "Data parameter is NULL");
565 SettingNetworkUG *ad = NULL;
566 Setting_GenGroupItem_Data *list_item =
567 (Setting_GenGroupItem_Data *) data;
568 ad = list_item->userdata;
569 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
571 if (obj == ad->data_use_packet->eo_check) {
572 if (!list_item->chk_status) {
574 setting_create_popup_with_btn(ad, ad->win_get,
575 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_OFF_DESC),
576 setting_network_use_packet_resp_cb,
577 0, 2, _("IDS_COM_SK_YES"),_("IDS_COM_SK_NO"));
580 setting_create_popup_with_btn(ad, ad->win_get,
581 NULL, _(SETTING_NETWORK_USE_PACKET_DATA_ON_DESC),
582 setting_network_use_packet_resp_cb,
583 0, 1, _("IDS_COM_SK_OK"));
585 }else if (obj == ad->data_roaming->eo_check) {
586 char *notify_str = NULL;
587 if (!list_item->chk_status) {
588 notify_str = SETTING_NETWORK_DATA_ROMING_OFF_DESC;
589 ad->popup = setting_create_popup_with_btn(ad, ad->win_get,
591 __setting_network_data_roaming_resp_cb, 0,
592 1, _("IDS_COM_SK_OK"));
595 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
596 SETTING_ON_OFF_BTN_ON, &err);
602 setting_network_use_packet_resp_cb(void *data, Evas_Object *obj,
606 retm_if(data == NULL, "Data parameter is NULL");
608 SettingNetworkUG *ad = (SettingNetworkUG *) data;
609 int err = 0; /* error check */
610 int response_type = btn_type(obj);
613 setting_get_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA, &value, &err);
614 setting_retm_if(err != 0, "get vconf failed");
615 SETTING_TRACE("value = %d", value);
616 if (POPUP_RESPONSE_OK == response_type) {
618 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
619 SETTING_ON_OFF_BTN_ON, &err);
620 setting_retm_if(err != 0, "set vconf failed");
622 elm_check_state_set(ad->data_use_packet->eo_check, 1);
623 ad->data_use_packet->chk_status = 1;
625 /* if called by other apps, destroy ug */
626 if (!safeStrCmp(ad->view_type_string, "DATA_ROAMING")) {
628 evas_object_del(ad->popup);
631 ug_destroy_me(ad->ug);
635 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
636 SETTING_ON_OFF_BTN_OFF, &err);
637 setting_retm_if(err != 0, "set vconf failed");
639 elm_check_state_set(ad->data_use_packet->eo_check, 0);
640 ad->data_use_packet->chk_status = 0;
642 /* should set data_roming as same as status of use_packet_data */
643 int data_roaming_value = 0;
644 setting_get_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING, &data_roaming_value, &err);
645 setting_retm_if(err != 0, "get vconf failed");
646 if (data_roaming_value) {
647 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
648 SETTING_ON_OFF_BTN_OFF, &err);
649 setting_retm_if(err != 0, "set vconf failed");
651 elm_check_state_set(ad->data_roaming->eo_check, 0);
652 ad->data_roaming->chk_status = 0;
655 } else if (POPUP_RESPONSE_CANCEL == response_type) {
658 setting_set_bool_slp_key(BOOL_SLP_SETTING_USE_PACKET_DATA,
659 SETTING_ON_OFF_BTN_ON, &err);
660 setting_retm_if(err != 0, "set vconf failed");
661 elm_check_state_set(ad->data_use_packet->eo_check, 1);
662 ad->data_use_packet->chk_status = 1;
667 evas_object_del(ad->popup);
673 static void __setting_network_data_roaming_resp_cb(void *data, Evas_Object *obj,
677 retm_if(data == NULL, "Data parameter is NULL");
679 SettingNetworkUG *ad = (SettingNetworkUG *) data;
680 int response_type = btn_type(obj);
681 SETTING_TRACE("elm_object_parent_widget_get(obj):%p", elm_object_parent_widget_get(obj));
682 SETTING_TRACE("obj:%p", obj);
683 if (POPUP_RESPONSE_OK == response_type) {
686 setting_get_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING, &value, &err);
689 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
690 SETTING_ON_OFF_BTN_ON, &err);
691 setting_retm_if(err != 0, "set vconf failed");
693 elm_check_state_set(ad->data_roaming->eo_check, 1);
694 ad->data_roaming->chk_status = 1;
696 /* if called by other apps, destroy ug */
697 if (!safeStrCmp(ad->view_type_string, "DATA_ROAMING")) {
700 evas_object_del(ad->popup);
703 ug_destroy_me(ad->ug);
707 setting_set_bool_slp_key(BOOL_SLP_SETTING_DATA_ROAMING,
708 SETTING_ON_OFF_BTN_OFF, &err);
709 setting_retm_if(err != 0, "set vconf failed");
711 elm_check_state_set(ad->data_roaming->eo_check, 0);
712 ad->data_roaming->chk_status = 0;
718 evas_object_del(ad->popup);