1 #include <setting-handler.h>
2 #include <setting-helper.h>
6 #include <bluetooth_internal.h>
8 #include <app_control_internal.h>
11 static Setting_GenGroupItem_Data *__mobileap_handler(void *data, char *keyStr, char *icon_path, char *ug_args, Evas_Object *genlist, Elm_Object_Item *parent)
13 /*SETTING_TRACE_BEGIN; */
14 setting_main_appdata *ad = (setting_main_appdata *)data;
16 ad->data_mobileApp = setting_create_Gendial_field_groupitem(genlist,
17 &(ad->itc[GENDIAL_Type_1text_1icon_2]),
19 setting_main_click_list_ex_ug_cb,
28 __BACK_POINTER_SET(ad->data_mobileApp);
29 if (ad->data_mobileApp) {
30 ad->data_mobileApp->userdata = ad;
33 return ad->data_mobileApp;
36 static Setting_GenGroupItem_Data *__backlight_time_handler(void *data, char *keyStr, char *icon_path, char *ug_args, Evas_Object *genlist, Elm_Object_Item *parent)
39 setting_main_appdata *ad = (setting_main_appdata *)data;
40 Setting_GenGroupItem_Data *obj = NULL;
42 char *pa_backlight = get_pa_backlight_time_str();
43 obj = setting_create_Gendial_field_groupitem(genlist,
44 &(ad->itc[GENDIAL_Type_1icon_2text]),
46 setting_main_click_list_ex_ug_cb,
56 __BACK_POINTER_SET(obj);
59 ad->data_backlight = obj;
65 static Setting_GenGroupItem_Data *__developer_option_handler(void *data, char *keyStr, char *icon_path, char *ug_args, Evas_Object *genlist, Elm_Object_Item *parent)
68 setting_main_appdata *ad = (setting_main_appdata *)data;
69 Setting_GenGroupItem_Data *obj = NULL;
70 #ifdef BINARY_RELEASE_TYPE_ENG
71 /*for eng binary: always show <developer option>*/
72 obj = setting_create_Gendial_field_groupitem(genlist,
73 &(ad->itc[GENDIAL_Type_1text_1icon_2]),
75 setting_main_click_list_ex_ug_cb,
85 /*for user binary: need to check develop_option_state vconf value*/
88 ret = vconf_get_bool(VCONFKEY_SETAPPL_DEVELOPER_OPTION_STATE, &dev_op_state);
90 SETTING_TRACE_ERROR("Failed to ger vconf value %d", ret);
93 obj = setting_create_Gendial_field_groupitem(genlist,
94 &(ad->itc[GENDIAL_Type_1text_1icon_2]),
96 setting_main_click_list_ex_ug_cb,
105 SETTING_TRACE("dev_op_state is 0");
111 static Setting_GenGroupItem_Data *__default_handler(void *data, char *keyStr, char *icon_path, char *ug_args, Evas_Object *genlist, Elm_Object_Item *parent)
113 /*SETTING_TRACE_BEGIN; */
114 setting_main_appdata *ad = (setting_main_appdata *)data;
115 Setting_GenGroupItem_Data *obj = setting_create_Gendial_field_groupitem(genlist,
116 &(ad->itc[GENDIAL_Type_1text_1icon_2]),
118 setting_main_click_list_ex_ug_cb,
120 SWALLOW_Type_INVALID,
130 /*//////////////////////////////////////////////////////////////////////////////////////////// */
132 static mainlist_entry mainlist_table[] = {
133 {KeyStr_FlightMode, __default_handler, UG_HANDLE, NULL}, /* 0 --> NOT UG */
134 {KeyStr_WiFi, __default_handler, UI_PROC, NULL}, /* 1 --> UG */
135 {KeyStr_Bluetooth, __default_handler, UI_PROC, NULL},
136 {KeyStr_MobileAP, __mobileap_handler, UG_HANDLE, NULL}, /* 1 --> UG */
137 {KeyStr_Location, __default_handler, UI_PROC, NULL}, /* 1 --> UG */
138 {KeyStr_Network, __default_handler, UG_HANDLE, NULL}, /* 1 --> UG */
139 {KeyStr_DeveloperOption, __developer_option_handler, UI_PROC, NULL},
140 {KeyStr_BacklightTime, __backlight_time_handler, UI_PROC, NULL},
141 {"Default", __default_handler, DEFAULT_UI, NULL}, /* 1 --> UG */
142 /*-------------------------------------------------------------- */
143 {NULL, NULL, ERROR_STATE, NULL},
146 /*----------------------------------------------------------------------------------------- */
147 /* hash table utility */
148 static void __list_hash_free_cb(void *obj)
151 /*const char *name = key; */
152 /*const char *number = data; */
153 /*printf("%s: %s\n", name, number); */
157 /* hash table utility */
158 void settinig_drawer_hash_init(void *cb)
162 setting_main_appdata *ad = (setting_main_appdata *) cb;
165 mainlist_entry *pnode = NULL;
166 ad->main_list_hash = eina_hash_string_superfast_new(__list_hash_free_cb);
168 for (pnode = &mainlist_table[0]; pnode->title != NULL; pnode++) {
169 eina_hash_add(ad->main_list_hash , pnode->title, pnode);
170 /*SETTING_TRACE("init and add data to hash : %s ", pnode->title); */
174 /* hash table utility */
175 mainlist_entry *settinig_drawer_hash_find(void *cb, char *search_str)
177 /*SETTING_TRACE_BEGIN; */
178 /*SETTING_TRACE("------------------ HASH SEARCH ----------------------, %s", search_str); */
179 setting_main_appdata *ad = (setting_main_appdata *) cb;
180 mainlist_entry *pnode = NULL;
182 pnode = eina_hash_find(ad->main_list_hash, search_str);
183 return pnode; /* statically allocated */
185 /*----------------------------------------------------------------------------------------- */
188 /* ***************************************************
192 ***************************************************/
195 /* obj is the layout clicked */
197 setting_main_click_list_item_ug_cb(void *data, Evas_Object *obj,
198 char *ug_to_load, app_control_h svc,
202 setting_main_appdata *ad = (setting_main_appdata *) data;
204 setting_create_simple_popup(ad, ad->win_main, NULL, NO_UG_FOUND_MSG);
207 SETTING_TRACE("to create libug-%s.so", ug_to_load);
208 elm_object_tree_focus_allow_set(ad->ly_main, EINA_FALSE);
210 /*setting_conformant_keypad_state(ad->win_main, TRUE); */
211 ad->ug = setting_ug_create(NULL, ug_to_load, UG_MODE_FULLVIEW, svc, cbs);
213 ad->isInUGMode = TRUE;
215 elm_object_tree_focus_allow_set(ad->ly_main, EINA_TRUE);
216 evas_object_show(ad->ly_main);
217 /*don't going to access globle var errno */
218 /*SETTING_TRACE_ERROR("errno:%d", errno); */
219 /*SETTING_TRACE_ERROR("Failed to load /usr/ug/lib/libug-%s.so", ug_to_load); */
220 /*SETTING_TRACE_ERROR("Failed to load lib-%s.so", ug_to_load); */
221 setting_create_simple_popup(ad, ad->win_main, NULL, NO_UG_FOUND_MSG);
225 void setting_main_click_list_ex_ug_cb(void *data, Evas_Object *obj,
229 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
230 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
232 elm_genlist_item_selected_set(item, EINA_FALSE);
235 SETTING_TRACE("g_main_ad->isInUGMode:%d", g_main_ad->isInUGMode);
236 SETTING_TRACE("g_main_ad->ug:%p", g_main_ad->ug);
237 if (g_main_ad->isInUGMode && g_main_ad->ug) {
239 ("[ad->ug non-NULL]skip genlist click event!!");
241 /*SETTING_TRACE_END; */
245 setting_main_appdata *ad = g_main_ad;
247 /* if UG is created by Setting app, setting_main_click_list_ex_ug_cb is diabled. */
248 if (ad->isInUGMode) {
249 SETTING_TRACE("isInUGMode : TRUE - another UG is running now.");
250 ad->isInUGMode = FALSE;
251 /*SETTING_TRACE_END; */
255 ("isInUGMode : FALSE - another UG is NOT running now.")
258 Setting_GenGroupItem_Data *selected_item_data =
259 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
260 setting_retm_if(NULL == selected_item_data, "selected_item_data is NULL");
261 setting_main_click_list_item_reset_data(ad, obj);
262 const char *item_name = _(selected_item_data->keyStr);
263 SETTING_TRACE("item_name:%s", item_name);
266 if (!safeStrCmp(selected_item_data->keyStr, KeyStr_Call)
267 || !safeStrCmp(selected_item_data->keyStr, KeyStr_WiFi)
268 || !safeStrCmp(selected_item_data->keyStr, KeyStr_Location)
269 || !safeStrCmp(selected_item_data->keyStr, KeyStr_Bluetooth)
270 || !safeStrCmp(selected_item_data->keyStr, KeyStr_MobileAP)
271 || !safeStrCmp(selected_item_data->keyStr, KeyStr_WiFiDirect)
272 || !safeStrCmp(selected_item_data->keyStr, KeyStr_Wallpaper)
273 || !safeStrCmp(selected_item_data->keyStr, KeyStr_Accessibility)
275 if (app_launcher(data) == 0) {
276 ad->event_freeze_timer = ecore_timer_add(1, setting_main_freeze_event_timer_cb, ad);
277 evas_object_freeze_events_set(ad->navibar_main, EINA_TRUE);
279 int click_times = setting_cfg_get_click_times(selected_item_data->keyStr);
280 setting_cfg_set_click_times(selected_item_data->keyStr, ++click_times);
284 /*2.Quick command cannot work when TTS on */
286 vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &tts_state);
288 if (!safeStrCmp(selected_item_data->keyStr, KeyStr_QUICK_CMD)) {
289 char noti_str[MAX_SPECIALIZITION_LEN + 1] = { 0, };
290 snprintf(noti_str, sizeof(noti_str), _(FEATURE_UNAVALIABLE_WHILE_TTS_ON), _(KeyStr_QUICK_CMD));
291 setting_create_popup_without_btn(NULL, ad->win_main, NULL, _(noti_str),
292 NULL, 0.0, TRUE, FALSE);
297 struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs));
298 setting_retm_if(!cbs, "calloc failed");
299 cbs->layout_cb = setting_main_layout_ug_cb;
300 cbs->result_cb = setting_main_result_ug_cb;
301 cbs->destroy_cb = setting_main_destroy_ug_cb;
302 cbs->priv = (void *)ad;
304 char *path = get_ug_path_from_ug_args(data);
305 app_control_h svc = get_bundle_from_ug_args(data);
306 setting_main_click_list_item_ug_cb(ad, obj, path, svc, cbs);
315 app_control_destroy(svc);
319 void setting_main_list_mouse_up_cb(void *data, Evas_Object *eo,
322 /*SETTING_TRACE_BEGIN; */
323 retm_if(data == NULL, "Data parameter is NULL");
324 Setting_GenGroupItem_Data *list_item =
325 (Setting_GenGroupItem_Data *) data;
326 SETTING_TRACE("process item [%s]", list_item->keyStr);
327 list_item->chk_status = elm_check_state_get(eo); /* for update new state */
329 SETTING_TRACE("change radio[%s], status is:%d", _(list_item->keyStr),
330 list_item->chk_status);
331 setting_main_appdata *ad = g_main_ad;
333 if (!safeStrCmp(KeyStr_UsePacketData, list_item->keyStr)) {
335 if (elm_check_state_get(eo)) {
336 setting_set_bool_slp_key
337 (BOOL_SLP_SETTING_USE_PACKET_DATA,
340 setting_set_bool_slp_key
341 (BOOL_SLP_SETTING_USE_PACKET_DATA,
351 #if SUPPORT_TETHERING
352 static void ___wifi_activated_cb(wifi_error_e result, void *user_data)
355 if (result == WIFI_ERROR_NONE) {
356 SETTING_TRACE("Wi-Fi Activation Succeeded");
358 SETTING_TRACE("Wi-Fi Activation Failed! error : %d", result);
361 (void)wifi_deinitialize();
364 static void __tethering_disabled_cb(tethering_error_e error, tethering_type_e type, tethering_disabled_cause_e code, void *data)
369 tethering_h th = (tethering_h)data;
370 tethering_destroy(th);
373 ret = wifi_initialize();
374 setting_retm_if(ret < 0, "*** [ERR] wifi_initialize() ***");
376 ret = wifi_activate(___wifi_activated_cb, NULL);
378 SETTING_TRACE_ERROR("*** [ERR] wifi_activate() ***");
379 (void)wifi_deinitialize();
385 static Eina_Bool __wifi_timeout(void *data)
387 /*SETTING_TRACE_BEGIN; */
388 retvm_if(!data, ECORE_CALLBACK_CANCEL, "Invalid argument: data is NULL");
389 Setting_GenGroupItem_Data *list_item = data;
390 setting_retm_if(NULL == list_item, "list_item is NULL");
392 setting_get_int_slp_key(INT_SLP_SETTING_WIFI_STATUS, &status, &err);
393 SETTING_TRACE("value:%d", status);
396 for (i = VIEW_All_List; i < VIEW_Max; i++) {
397 list_item = g_main_ad->gl_data_item[i][GL_WiFi];
399 list_item->chk_status = status;
400 list_item->swallow_type = SWALLOW_Type_1ICON_1RADIO;
401 elm_object_item_data_set(list_item->item, list_item);
402 elm_genlist_item_update(list_item->item);
407 setting_main_appdata *ad = list_item->userdata;
408 ad->wifi_timer = NULL;
411 return ECORE_CALLBACK_CANCEL;
414 #if SUPPORT_TETHERING
415 static void __tethering_turn_off_resp_cb(void *data, Evas_Object *obj, void *event_info)
417 setting_retm_if(NULL == obj, "NULL == obj");
418 int response_type = btn_type(obj);
419 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *)data;
422 evas_object_del(g_main_ad->popup_wifi_mode);
423 g_main_ad->popup_wifi_mode = NULL;
427 Setting_GenGroupItem_Data *update_item = NULL;
428 if (POPUP_RESPONSE_OK == response_type) {
429 /*add timeout strategy.. */
430 ret_if(!list_item->userdata);
431 setting_main_appdata *ad = list_item->userdata;
432 if (ad->wifi_timer) {
433 ecore_timer_del(ad->wifi_timer);
434 ad->wifi_timer = NULL;
436 ad->wifi_timer = ecore_timer_add(5.0, (Ecore_Task_Cb) __wifi_timeout, list_item);
438 /*#if SUPPORT_TETHERING*/
439 int type = tethering_is_enabled(NULL, TETHERING_TYPE_WIFI) ? TETHERING_TYPE_WIFI : TETHERING_TYPE_WIFI_AP;
441 tethering_h th = NULL;
442 tethering_error_e ret = TETHERING_ERROR_NONE;
444 ret = tethering_create(&th);
445 if (ret != TETHERING_ERROR_NONE) {
446 for (i = VIEW_All_List; i < VIEW_Max; i++) {
447 update_item = ad->gl_data_item[i][GL_WiFi];
449 update_item->chk_status = EINA_FALSE;
450 update_item->swallow_type = SWALLOW_Type_1ICON_1RADIO;
451 elm_object_item_data_set(update_item->item, update_item);
452 elm_genlist_item_update(update_item->item);
457 ret = tethering_set_disabled_cb(th, type, __tethering_disabled_cb, th);
458 if (ret != TETHERING_ERROR_NONE) {
459 for (i = VIEW_All_List; i < VIEW_Max; i++) {
460 update_item = ad->gl_data_item[i][GL_WiFi];
462 update_item->chk_status = EINA_FALSE;
463 update_item->swallow_type = SWALLOW_Type_1ICON_1RADIO;
464 elm_object_item_data_set(update_item->item, update_item);
465 elm_genlist_item_update(update_item->item);
469 tethering_destroy(th);
473 (void) tethering_disable(th, type);
475 } else if (POPUP_RESPONSE_CANCEL == response_type) {
476 for (i = VIEW_All_List; i < VIEW_Max; i++) {
477 update_item = g_main_ad->gl_data_item[i][GL_WiFi];
479 update_item->chk_status = EINA_FALSE;
480 update_item->swallow_type = SWALLOW_Type_1ICON_1RADIO;
481 elm_object_item_data_set(update_item->item, update_item);
482 elm_genlist_item_update(update_item->item);
490 void __alternate_wifi_mode(Setting_GenGroupItem_Data *list_item, Evas_Object *check)
492 /*SETTING_TRACE_BEGIN; */
494 Eina_Bool status = elm_check_state_get(check);
495 SETTING_TRACE("wifi mode status : %d", status);
499 Setting_GenGroupItem_Data *item_to_update = NULL;
501 #if SUPPORT_TETHERING
502 if (tethering_is_enabled(NULL, TETHERING_TYPE_WIFI)
503 || tethering_is_enabled(NULL, TETHERING_TYPE_WIFI_AP)) {
504 for (i = VIEW_All_List; i < VIEW_Max; i++) {
505 item_to_update = g_main_ad->gl_data_item[i][GL_WiFi];
506 if (item_to_update) {
507 item_to_update->swallow_type = SWALLOW_Type_1ICON_1PROCESS;
508 elm_object_item_data_set(item_to_update->item, item_to_update);
509 elm_genlist_item_fields_update(item_to_update->item, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
513 g_main_ad->popup_wifi_mode = setting_create_popup_with_btn(list_item,
514 g_main_ad->win_main, NULL,
515 "IDS_MOBILEAP_POP_TURNING_ON_WI_FI_WILL_DISABLE_MOBILE_HOTSPOT_CONTINUE_Q_VZW",
516 __tethering_turn_off_resp_cb,
517 0, 2, "IDS_ST_BUTTON_OK", "IDS_ST_BUTTON_CANCEL_ABB");
521 int wifi_state = VCONFKEY_WIFI_OFF;
522 vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_state);
523 DBusMessageIter iter;
524 DBusMessage *message = NULL;
525 DBusConnection *connection = NULL;
526 SETTING_TRACE("status:%d", status);
528 if (wifi_state != VCONFKEY_WIFI_OFF) {
529 /* Wi-Fi is enabled */
530 SETTING_TRACE("Wi-Fi is already enabled");
533 connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
534 if (connection == NULL) {
535 SETTING_TRACE_ERROR("Failed to get system bus");
539 message = dbus_message_new_method_call(NETCONFIG_SERVICE, NETCONFIG_WIFI_PATH,
540 NETCONFIG_WIFI_INTERFACE, "LoadDriver");
541 if (message == NULL) {
542 SETTING_TRACE_ERROR("Failed DBus method call");
543 dbus_connection_unref(connection);
547 g_main_ad->wifi_op = OP_WIFI_TURNING_ON;
549 dbus_message_iter_init_append(message, &iter);
550 dbus_bool_t val = FALSE;
551 dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &val);
553 dbus_connection_send_with_reply(connection, message, NULL, 10000);
555 dbus_message_unref(message);
556 dbus_connection_unref(connection);
559 if (wifi_state == VCONFKEY_WIFI_OFF) {
560 /* Wi-Fi is disabled */
561 SETTING_TRACE("Wi-Fi is already disabled");
565 connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
566 if (connection == NULL) {
567 SETTING_TRACE_ERROR("Failed to get system bus");
571 message = dbus_message_new_method_call(NETCONFIG_SERVICE, NETCONFIG_WIFI_PATH,
572 NETCONFIG_WIFI_INTERFACE, "RemoveDriver");
573 if (message == NULL) {
574 SETTING_TRACE_ERROR("Failed DBus method call");
575 dbus_connection_unref(connection);
578 g_main_ad->wifi_op = OP_WIFI_TURNING_OFF;
580 dbus_connection_send_with_reply(connection, message, NULL, 10000);
582 dbus_message_unref(message);
583 dbus_connection_unref(connection);
587 for (i = VIEW_All_List; i < VIEW_Max; i++) {
588 item_to_update = g_main_ad->gl_data_item[i][GL_WiFi];
589 if (item_to_update) {
590 item_to_update->swallow_type = SWALLOW_Type_1ICON_1PROCESS;
591 elm_object_item_data_set(item_to_update->item, item_to_update);
592 elm_genlist_item_fields_update(item_to_update->item, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
597 /*add timeout strategy.. */
598 ret_if(!list_item->userdata);
599 setting_main_appdata *ad = list_item->userdata;
600 if (ad->wifi_timer) {
601 ecore_timer_del(ad->wifi_timer);
602 ad->wifi_timer = NULL;
604 ad->wifi_timer = ecore_timer_add(5.0, (Ecore_Task_Cb) __wifi_timeout, list_item);
608 static Eina_Bool __bt_timeout(void *data)
610 /*SETTING_TRACE_BEGIN; */
611 retvm_if(!data, ECORE_CALLBACK_CANCEL, "Invalid argument: data is NULL");
613 setting_get_bool_slp_key(INT_SLP_SETTING_BT_STATUS, &status, &err);
614 SETTING_TRACE("value:%d", status);
616 setting_main_appdata *ad = data;
617 Setting_GenGroupItem_Data *item_to_update;
619 for (i = VIEW_All_List; i < VIEW_Max; i++) {
620 item_to_update = ad->gl_data_item[i][GL_BT];
621 SETTING_TRACE("[%d]item_to_update:%p", i, item_to_update);
622 if (item_to_update) {
623 item_to_update->chk_status = status;
624 item_to_update->swallow_type = SWALLOW_Type_1ICON_1RADIO;
625 elm_object_item_data_set(item_to_update->item, item_to_update);
626 /*elm_genlist_item_fields_update(item_to_update->item, "*", ELM_GENLIST_ITEM_FIELD_STATE); */
627 elm_genlist_item_update(item_to_update->item);
633 return ECORE_CALLBACK_CANCEL;
636 void __alternate_bt_mode(Setting_GenGroupItem_Data *list_item, Evas_Object *check)
638 /*SETTING_TRACE_BEGIN; */
640 Eina_Bool status = elm_check_state_get(check);
641 SETTING_TRACE("bt mode status : %d", status);
643 bt_adapter_state_e value;
644 ret = bt_initialize();
645 if (bt_adapter_get_state(&value) != BT_ERROR_NONE) {
646 SETTING_TRACE_ERROR("bt_adapter_get_state() failed ");
650 setting_main_appdata *ad = g_main_ad;
652 if (status == value) {
653 SETTING_TRACE("status == value");
655 for (i = VIEW_All_List; i < VIEW_Max; i++) {
656 setting_force_update_gl_item_chk_status(ad->gl_data_item[i][GL_BT], value);
661 /*add timeout strategy.. */
662 Setting_GenGroupItem_Data *item_to_update;
664 for (i = VIEW_All_List; i < VIEW_Max; i++) {
665 item_to_update = ad->gl_data_item[i][GL_BT];
666 SETTING_TRACE("[%d]item_to_update:%p", i, item_to_update);
667 if (item_to_update) {
668 item_to_update->swallow_type = SWALLOW_Type_1ICON_1PROCESS;
669 elm_object_item_data_set(item_to_update->item, item_to_update);
670 /*elm_genlist_item_update(list_item->item); */
671 elm_genlist_item_fields_update(item_to_update->item, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
674 SETTING_TRACE("1111");
676 ecore_timer_del(ad->bt_timer);
679 ad->bt_timer = ecore_timer_add(5.0, (Ecore_Task_Cb) __bt_timeout, ad);
684 status ? (ret = bt_adapter_enable()) : (ret = bt_adapter_disable());
688 ret = bt_deinitialize();
698 setting_get_int_slp_key(INT_SLP_SETTING_BT_STATUS, &val, &err);
699 setting_force_update_gl_item_chk_status(list_item, val);
703 void setting_main_high_touch_sens_chk_btn_cb(void *data, Evas_Object *obj, void *event_info)
706 /*SETTING_TRACE_BEGIN; */
708 retm_if(data == NULL, "Data parameter is NULL");
709 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
711 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
712 //display_set_enhanced_touch(list_item->chk_status);
714 //int status = display_get_enhanced_touch();
715 int status = display_get_enhanced_touch();
716 SETTING_TRACE("display_get_enhanced_touch():%d", status);
718 vconf_set_bool(VCONFKEY_SETAPPL_ENHANCED_TOUCH, (1 == status)); /*sync to vconf */
720 setting_create_simple_popup(NULL, g_main_ad->win_main,
721 NULL, "IDS_IM_POP_UNEXPECTED_ERROR");
724 for (i = VIEW_All_List; i < VIEW_Max; i++) {
725 setting_force_update_gl_item_chk_status(g_main_ad->gl_data_item[i][GL_TouchSens], !(list_item->chk_status));