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.
22 #include <setting-common-data-type.h>
23 #include <setting-common-data-slp-setting.h>
24 #include <setting-common-draw-widget.h>
25 #include <setting-common-view.h>
27 #include <setting-security-main.h>
28 #include <setting-debug.h>
30 #include <efl_assist.h>
32 static int setting_view_security_update_create(void *cb);
33 static int setting_view_security_update_destroy(void *cb);
34 static int setting_view_security_update_update(void *cb);
35 static int setting_view_security_update_cleanup(void *cb);
37 static Eina_Bool setting_security_update_click_softkey_back_cb(void *data, Evas_Object *obj, void *event_info);
38 static void setting_security_update_mouse_up_Gendial_chk_cb(void *data, Evas_Object *obj, void *event_info);
39 static void setting_security_update_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj, void *event_info);
40 static void __get_toggle_status_form_msa(void *data);
41 static void setting_security_update_gl_item_chk_status(Setting_GenGroupItem_Data *item_data, int status);
45 setting_view setting_view_security_update = {
46 .create = setting_view_security_update_create,
47 .destroy = setting_view_security_update_destroy,
48 .update = setting_view_security_update_update,
49 .cleanup = setting_view_security_update_cleanup,
53 /* ***************************************************
57 ****************************************************/
58 static int setting_view_security_update_create(void *cb)
60 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
62 SettingSecurityUG *ad = (SettingSecurityUG *) cb;
64 Evas_Object *scroller;
65 Elm_Object_Item *item = NULL;
67 /* add basic layout */
68 char setBtnStr[MAX_DISPLAY_NAME_LEN_ON_UI];
69 snprintf(setBtnStr, sizeof(setBtnStr), "%s",
70 (char *)dgettext("sys_string", "IDS_COM_BODY_BACK"));
72 if (&setting_view_security_update == ad->view_to_load) {
74 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
76 "IDS_EMAIL_POP_SECURITY_UPDATE_ABB",
79 (setting_call_back_func)setting_security_update_click_softkey_back_cb,
84 setting_push_layout_navi_bar_genlist(ad->win_main_layout,
86 "IDS_EMAIL_POP_SECURITY_UPDATE_ABB",
88 (setting_call_back_func)setting_security_update_click_softkey_back_cb,
89 NULL, ad, &scroller, ad->navi_bar);
92 ad->genlist = scroller;
93 evas_object_smart_callback_add(ad->genlist, "realized", __gl_realized_cb, ad);
96 item = elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
97 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
101 ad->data_security_update_bt = setting_create_Gendial_field_def(scroller, &(ad->itc_1text_1icon),
102 setting_security_update_mouse_up_Gendial_list_cb, ad,
103 SWALLOW_Type_INVALID,
105 1, _(UPDATE_TEXT), NULL, NULL);
106 if (ad->data_security_update_bt) {
107 __BACK_POINTER_SET(ad->data_security_update_bt);
109 /* Update button desc*/
110 /*D_GL_HELP(scroller,CHECK_UPDATES); */
112 item = elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
113 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
114 /*button with toggle*/
115 ad->data_security_update_chk =
116 setting_create_Gendial_field_def(scroller, &itc_1text_1icon,
117 setting_security_update_mouse_up_Gendial_list_cb,
118 ad, SWALLOW_Type_1ICON_1RADIO, NULL,
122 setting_security_update_mouse_up_Gendial_chk_cb);
123 if (ad->data_security_update_chk) {
124 __BACK_POINTER_SET(ad->data_security_update_chk);
125 ad->data_security_update_chk->userdata = ad;
127 SETTING_TRACE_ERROR("ad->data_security_update_chk is NULL");
129 ADD_GL_HELP(scroller, CHECK_UPDATE_AUTO_MSG);
132 item = elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
133 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
136 ad->data_security_wifi_update_chk =
137 setting_create_Gendial_field_def(scroller, &itc_1text_1icon,
138 setting_security_update_mouse_up_Gendial_list_cb,
139 ad, SWALLOW_Type_1ICON_1RADIO, NULL,
141 _(SECURITY_VIA_WIFI),
143 setting_security_update_mouse_up_Gendial_chk_cb);
144 if (ad->data_security_wifi_update_chk) {
145 __BACK_POINTER_SET(ad->data_security_wifi_update_chk);
146 ad->data_security_wifi_update_chk->userdata = ad;
148 SETTING_TRACE_ERROR("ad->data_security_update_chk is NULL");
150 ADD_GL_HELP(scroller, SECURITY_VIA_WIFI_HELP_MSG);
152 /*get auto update & via wifi value */
153 __get_toggle_status_form_msa(cb);
155 setting_view_security_update.is_create = 1;
156 return SETTING_RETURN_SUCCESS;
159 static int setting_view_security_update_destroy(void *cb)
163 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
165 SettingSecurityUG *ad = (SettingSecurityUG *) cb;
166 if (&setting_view_security_update == ad->view_to_load) {
168 evas_object_del(ad->ly_main);
172 elm_naviframe_item_pop(ad->navi_bar);
175 /*evas_object_smart_callback_del(ad->genlist, "realized", __gl_realized_cb); */
177 setting_view_security_update.is_create = 0;
179 return SETTING_RETURN_SUCCESS;
182 static int setting_view_security_update_update(void *cb)
186 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
188 return SETTING_RETURN_SUCCESS;
191 static int setting_view_security_update_cleanup(void *cb)
195 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
196 SettingSecurityUG *ad = (SettingSecurityUG *) cb;
197 return setting_view_security_update_destroy(ad);
198 /*return SETTING_RETURN_SUCCESS; */
201 /* ***************************************************
205 ****************************************************/
207 setting_security_update_click_softkey_back_cb(void *data, Evas_Object *obj,
212 retvm_if(data == NULL, EINA_FALSE, "[Setting > Security update] Data parameter is NULL");
213 SettingSecurityUG *ad = (SettingSecurityUG *) data;
214 if (&setting_view_security_update == ad->view_to_load) {
215 /* Send destroy request */
216 ug_destroy_me(ad->ug);
218 setting_view_change(&setting_view_security_update, &setting_view_security_main, ad);
223 static Eina_Bool __delete_pop_progress_on_idler(void *data)
226 retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "Data parameter is NULL");
227 SettingSecurityUG *ad = (SettingSecurityUG *)data;
229 if (ad->pop_progress) {
230 evas_object_del(ad->pop_progress);
231 ad->pop_progress = NULL;
233 return ECORE_CALLBACK_CANCEL;
236 static void security_update_manual_service_reply_cb(app_control_h request,
238 app_control_result_e result,
242 retm_if(request == NULL, "request is NULL");
243 retm_if(reply == NULL, "reply is NULL");
245 SETTING_TRACE_DEBUG("result:[%d]", result);
247 if (result == APP_CONTROL_RESULT_SUCCEEDED) {
248 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_SUCCEEDED");
249 } else if (result == APP_CONTROL_RESULT_FAILED) {
250 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_FAILED");
251 } else if (result == APP_CONTROL_RESULT_CANCELED) {
252 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_CANCELED");
254 ecore_timer_add(0.5, (Ecore_Task_Cb) __delete_pop_progress_on_idler, user_data);
258 static void setting_security_update_gl_item_chk_status(Setting_GenGroupItem_Data *item_data, int status)
261 if (item_data && item_data->chk_status != status) {
262 item_data->chk_status = status;
263 elm_genlist_item_update(item_data->item);
268 static void security_update_get_status_service_reply_cb(app_control_h request,
270 app_control_result_e result,
274 retm_if(request == NULL, "request is NULL");
275 retm_if(reply == NULL, "reply is NULL");
276 SettingSecurityUG *ad = (SettingSecurityUG *)user_data;
277 char *resultMsa = NULL;
279 SETTING_TRACE_DEBUG("result:[%d]", result);
281 if (result == APP_CONTROL_RESULT_SUCCEEDED) {
282 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_SUCCEEDED");
283 /*for auto update value */
284 app_control_get_extra_data(reply, "AUTO", &resultMsa);
285 SETTING_TRACE_DEBUG("resultCode:[%s]", resultMsa);
286 if (!safeStrCmp(_("AUTO_ON"), resultMsa)) {
287 SETTING_TRACE_DEBUG("auto update - on");
288 setting_security_update_gl_item_chk_status(ad->data_security_update_chk, 1);
289 if (ad->data_security_wifi_update_chk) {
290 elm_object_item_disabled_set(ad->data_security_wifi_update_chk->item, EINA_FALSE);
292 } else if (!safeStrCmp(_("AUTO_OFF"), resultMsa)) {
293 SETTING_TRACE_DEBUG("auto update - off");
294 setting_security_update_gl_item_chk_status(ad->data_security_update_chk, 0);
295 if (ad->data_security_wifi_update_chk) {
296 elm_object_item_disabled_set(ad->data_security_wifi_update_chk->item, EINA_TRUE);
300 /*for via wifi value */
301 app_control_get_extra_data(reply, "WIFI", &resultMsa);
302 SETTING_TRACE_DEBUG("resultCode:[%s]", resultMsa);
303 if (!safeStrCmp(_("WIFI_ON"), resultMsa)) {
304 SETTING_TRACE_DEBUG(" wifi only - on");
305 setting_security_update_gl_item_chk_status(ad->data_security_wifi_update_chk, 1);
306 } else if (!safeStrCmp(_("WIFI_OFF"), resultMsa)) {
307 SETTING_TRACE_DEBUG("wifi only - off");
308 setting_security_update_gl_item_chk_status(ad->data_security_wifi_update_chk, 0);
311 } else if (result == APP_CONTROL_RESULT_FAILED) {
312 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_FAILED");
313 } else if (result == APP_CONTROL_RESULT_CANCELED) {
314 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_CANCELED");
320 static void __get_toggle_status_form_msa(void *data)
323 ret_if(NULL == data);
326 app_control_h service = NULL;
328 ret = app_control_create(&service);
329 if (ret != APP_CONTROL_ERROR_NONE) {
330 SETTING_TRACE_DEBUG("service_create fail!! ret=%d", ret);
334 app_control_set_app_id(service, "org.tizen.msa");
335 app_control_set_operation(service, "http://org.tizen.msa/appcontrol/operation/query");
337 ret = app_control_add_extra_data(service, "KEY", "STATUS");
338 SETTING_TRACE_DEBUG("add extra data (KEY,STATUS) to service ret=%d", ret);
340 ret = app_control_send_launch_request(service, security_update_get_status_service_reply_cb, (void *)data);
341 SETTING_TRACE_DEBUG("send launch service (KEY,STATUS) request ret=%d", ret);
342 if (ret != APP_CONTROL_ERROR_NONE) {
343 SETTING_TRACE_ERROR("Cannot launch app");
345 app_control_destroy(service);
348 static void security_update_on_service_reply_cb(app_control_h request,
350 app_control_result_e result,
354 retm_if(request == NULL, "request is NULL");
355 retm_if(reply == NULL, "reply is NULL");
356 retm_if(user_data == NULL, "user_data is NULL");
357 SettingSecurityUG *ad = (SettingSecurityUG *) user_data;
359 SETTING_TRACE_DEBUG("result:[%d]", result);
361 if (result == APP_CONTROL_RESULT_SUCCEEDED) {
362 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_SUCCEEDED");
363 setting_update_gl_item_chk_status(ad->data_security_update_chk, 1);
364 } else if (result == APP_CONTROL_RESULT_FAILED) {
365 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_FAILED");
366 setting_update_gl_item_chk_status(ad->data_security_update_chk, 0);
367 } else if (result == APP_CONTROL_RESULT_CANCELED) {
368 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_CANCELED");
369 setting_update_gl_item_chk_status(ad->data_security_update_chk, 0);
374 static void security_update_off_service_reply_cb(app_control_h request,
376 app_control_result_e result,
380 retm_if(request == NULL, "request is NULL");
381 retm_if(reply == NULL, "reply is NULL");
382 retm_if(user_data == NULL, "user_data is NULL");
383 SettingSecurityUG *ad = (SettingSecurityUG *) user_data;
385 SETTING_TRACE_DEBUG("result:[%d]", result);
387 if (result == APP_CONTROL_RESULT_SUCCEEDED) {
388 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_SUCCEEDED");
389 setting_update_gl_item_chk_status(ad->data_security_update_chk, 0);
390 if (ad->data_security_wifi_update_chk) {
391 elm_object_item_disabled_set(ad->data_security_wifi_update_chk->item, EINA_TRUE);
392 elm_object_disabled_set(ad->data_security_wifi_update_chk->eo_check, EINA_TRUE);
394 } else if (result == APP_CONTROL_RESULT_FAILED) {
395 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_FAILED");
396 setting_update_gl_item_chk_status(ad->data_security_update_chk, 1);
397 } else if (result == APP_CONTROL_RESULT_CANCELED) {
398 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_CANCELED");
399 setting_update_gl_item_chk_status(ad->data_security_update_chk, 1);
404 static void security_wifi_update_on_service_reply_cb(app_control_h request,
406 app_control_result_e result,
410 retm_if(request == NULL, "request is NULL");
411 retm_if(reply == NULL, "reply is NULL");
412 retm_if(user_data == NULL, "user_data is NULL");
413 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) user_data;
415 SETTING_TRACE_DEBUG("result:[%d]", result);
417 if (result == APP_CONTROL_RESULT_SUCCEEDED) {
418 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_SUCCEEDED");
419 setting_update_gl_item_chk_status(list_item, 1);
420 } else if (result == APP_CONTROL_RESULT_FAILED) {
421 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_FAILED");
422 setting_update_gl_item_chk_status(list_item, 0);
423 } else if (result == APP_CONTROL_RESULT_CANCELED) {
424 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_CANCELED");
425 setting_update_gl_item_chk_status(list_item, 0);
430 static void security_wifi_update_off_service_reply_cb(app_control_h request,
432 app_control_result_e result,
436 retm_if(request == NULL, "request is NULL");
437 retm_if(reply == NULL, "reply is NULL");
438 retm_if(user_data == NULL, "user_data is NULL");
439 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) user_data;
441 SETTING_TRACE_DEBUG("result:[%d]", result);
443 if (result == APP_CONTROL_RESULT_SUCCEEDED) {
444 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_SUCCEEDED");
445 setting_update_gl_item_chk_status(list_item, 0);
446 } else if (result == APP_CONTROL_RESULT_FAILED) {
447 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_FAILED");
448 setting_update_gl_item_chk_status(list_item, 1);
449 } else if (result == APP_CONTROL_RESULT_CANCELED) {
450 SETTING_TRACE_DEBUG("APP_CONTROL_RESULT_CANCELED");
451 setting_update_gl_item_chk_status(list_item, 1);
456 static void __ask_create_auto_update_pop_on_cb(void *data, Evas_Object *obj,
460 SettingSecurityUG *ad = (SettingSecurityUG *) data;
461 ret_if(NULL == data);
462 int response_type = btn_type(obj);
464 if (POPUP_RESPONSE_OK == response_type) {
467 app_control_h service = NULL;
468 /*if(ad->data_security_update_chk->chk_status == 0) { */
469 /* SETTING_TRACE_DEBUG("set auto update state to 1"); */
470 /* setting_update_gl_item_chk_status(ad->data_security_update_chk, 1); */
472 ret = app_control_create(&service);
473 if (ret != APP_CONTROL_ERROR_NONE) {
474 SETTING_TRACE_DEBUG("service_create fail!! ret=%d", ret);
475 SETTING_TRACE_ERROR("Cannot launch app");
477 app_control_set_app_id(service, "org.tizen.msa");
478 app_control_set_operation(service, "http://org.tizen.msa/appcontrol/operation/query");
480 ret = app_control_add_extra_data(service, "KEY", "AUTO_ON");
481 SETTING_TRACE_DEBUG("add extra data (KEY,AUTO_ON) to service ret=%d", ret);
483 ret = app_control_send_launch_request(service, security_update_on_service_reply_cb, (void *)data);
484 SETTING_TRACE_DEBUG("send launch service (KEY,AUTO_ON) request ret=%d", ret);
485 if (ret != APP_CONTROL_ERROR_NONE) {
486 SETTING_TRACE_ERROR("Cannot launch app");
488 if (ad->data_security_wifi_update_chk) {
489 elm_object_item_disabled_set(ad->data_security_wifi_update_chk->item, EINA_FALSE);
490 elm_object_disabled_set(ad->data_security_wifi_update_chk->eo_check, EINA_FALSE);
493 app_control_destroy(service);
494 } else if (POPUP_RESPONSE_CANCEL == response_type) {
495 SETTING_TRACE("CANCEL");
496 setting_update_gl_item_chk_status(ad->data_security_update_chk, 0);
499 evas_object_del(ad->pop_auto_update_on);
500 ad->pop_auto_update_on = NULL;
503 static void __ask_create_auto_update_pop_off_cb(void *data, Evas_Object *obj,
507 SettingSecurityUG *ad = (SettingSecurityUG *) data;
508 ret_if(NULL == data);
509 int response_type = btn_type(obj);
511 if (POPUP_RESPONSE_OK == response_type) {
514 app_control_h service = NULL;
515 /*if(ad->data_security_update_chk->chk_status == 1) */
516 /* setting_update_gl_item_chk_status(ad->data_security_update_chk, 0); */
517 ret = app_control_create(&service);
518 if (ret != APP_CONTROL_ERROR_NONE) {
519 SETTING_TRACE_DEBUG("service_create fail!! ret=%d", ret);
520 SETTING_TRACE_ERROR("Cannot launch app");
522 app_control_set_app_id(service, "org.tizen.msa");
523 app_control_set_operation(service, "http://org.tizen.msa/appcontrol/operation/query");
525 ret = app_control_add_extra_data(service, "KEY", "AUTO_OFF");
526 SETTING_TRACE_DEBUG("add extra data (KEY,AUTO_OFF) to service ret=%d", ret);
528 ret = app_control_send_launch_request(service, security_update_off_service_reply_cb, (void *)data);
529 SETTING_TRACE_DEBUG("send launch service (KEY,AUTO_OFF) request ret=%d", ret);
530 if (ret != APP_CONTROL_ERROR_NONE) {
531 SETTING_TRACE_ERROR("Cannot launch app");
533 /*if (ad->data_security_wifi_update_chk) { */
534 /* elm_object_item_disabled_set(ad->data_security_wifi_update_chk->item, EINA_TRUE); */
535 /* elm_object_disabled_set(ad->data_security_wifi_update_chk->eo_check, EINA_TRUE); */
538 app_control_destroy(service);
539 } else if (POPUP_RESPONSE_CANCEL == response_type) {
540 SETTING_TRACE("CANCEL");
541 setting_update_gl_item_chk_status(ad->data_security_update_chk, 1);
544 evas_object_del(ad->pop_auto_update_off);
545 ad->pop_auto_update_off = NULL;
548 static void __ask_create_manual_update_pop_cb(void *data, Evas_Object *obj,
552 SettingSecurityUG *ad = (SettingSecurityUG *) data;
553 ret_if(NULL == data);
554 int response_type = btn_type(obj);
555 if (POPUP_RESPONSE_OK == response_type) {
558 /*request manual update */
560 app_control_h service = NULL;
561 ret = app_control_create(&service);
562 if (ret != APP_CONTROL_ERROR_NONE) {
563 SETTING_TRACE_DEBUG("service_create fail!! ret=%d", ret);
564 evas_object_del(ad->pop_manual_update);
565 ad->pop_manual_update = NULL;
566 SETTING_TRACE_ERROR("Cannot launch app");
569 app_control_set_app_id(service, "org.tizen.msa");
570 app_control_set_operation(service, "http://org.tizen.msa/appcontrol/operation/query");
571 ret = app_control_add_extra_data(service, "KEY", "MANUAL_UPDATE");
572 SETTING_TRACE_DEBUG("add extra data to service ret=%d", ret);
573 ret = app_control_send_launch_request(service, NULL, NULL);
574 SETTING_TRACE_DEBUG("send launch service request ret=%d", ret);
575 if (ret != APP_CONTROL_ERROR_NONE) {
576 evas_object_del(ad->pop_manual_update);
577 ad->pop_manual_update = NULL;
578 SETTING_TRACE_ERROR("Cannot launch app");
579 app_control_destroy(service);
584 app_control_destroy(service);
589 ad->pop_progress = elm_popup_add(ad->win_get);
590 ea_object_event_callback_add(ad->pop_progress, EA_CALLBACK_BACK, ea_popup_back_cb_2, NULL);
591 setting_add_hardkey_features(ad->pop_progress, ad);
592 evas_object_size_hint_weight_set(ad->pop_progress, EVAS_HINT_EXPAND,
594 Evas_Object *box = NULL;
595 Evas_Object *progressbar = NULL;
596 Evas_Object *label = NULL;
599 label = elm_label_add(ad->pop_progress);
600 elm_object_text_set(label, _(CONNECT_TO_SERVER));
601 evas_object_show(label);
602 box = elm_box_add(ad->pop_progress);
605 progressbar = elm_progressbar_add(ad->pop_progress);
606 elm_object_style_set(progressbar, PROGRESSBAR_STYLE);
607 elm_progressbar_pulse(progressbar, EINA_TRUE);
608 evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
609 evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND,
611 elm_progressbar_pulse(progressbar, EINA_TRUE);
612 evas_object_show(progressbar);
615 Evas_Object *blank = setting_create_blank_rect_customize(ad->pop_progress, 10, 30);
616 elm_box_pack_end(box, blank);
617 elm_box_pack_end(box, label);
618 elm_box_pack_end(box, blank);
619 elm_box_pack_end(box, progressbar);
620 elm_box_pack_end(box, blank);
621 /*elm_box_pack_end(box, btn); */
622 evas_object_show(box);
623 elm_object_content_set(ad->pop_progress, box);
624 evas_object_show(ad->pop_progress);
627 } else if (POPUP_RESPONSE_CANCEL == response_type) {
628 SETTING_TRACE("CANCEL");
632 evas_object_del(ad->pop_manual_update);
633 ad->pop_manual_update = NULL;
637 setting_security_update_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj,
642 setting_retm_if(data == NULL, "Data parameter is NULL");
644 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
645 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
646 elm_genlist_item_selected_set(item, 0);
647 Setting_GenGroupItem_Data *list_item =
648 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
650 SettingSecurityUG *ad = (SettingSecurityUG *) data;
652 SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
654 if (!safeStrCmp(_(AUTO_UPDATE), list_item->keyStr)) {
655 SETTING_TRACE_DEBUG("There is auto update");
656 if (ad->data_security_update_chk->chk_status == 1) {
657 SETTING_TRACE_DEBUG("set auto update state to 0");
659 SETTING_TRACE_DEBUG("There is auto update toggle on->off");
660 ad->pop_auto_update_off = setting_create_popup_with_btn(ad,
662 NULL, _(SECURITY_UPDATE_TOGGLE_OFF),
663 __ask_create_auto_update_pop_off_cb,
664 0, 2, _("IDS_ST_BODY_TURN_OFF"), _("IDS_COM_SK_CANCEL"));
666 SETTING_TRACE_DEBUG("set auto update state to 1");
668 SETTING_TRACE_DEBUG("There is auto update toggle off->on");
669 ad->pop_auto_update_on = setting_create_popup_with_btn(ad,
671 NULL, _(SECURITY_UPDATE_TOGGLE_ON),
672 __ask_create_auto_update_pop_on_cb,
673 0, 2, _("IDS_ST_BUTTON_OK"), _("IDS_COM_SK_CANCEL"));
675 } else if (!safeStrCmp(_(UPDATE_TEXT), list_item->keyStr)) {
676 SETTING_TRACE_DEBUG("There is manual update");
677 ad->pop_manual_update = setting_create_popup_with_btn(ad,
679 NULL, _(SECURITY_MANUAL_UPDATE_TEXT),
680 __ask_create_manual_update_pop_cb,
681 0, 2, _("IDS_ST_BUTTON_OK"), _("IDS_COM_SK_CANCEL"));
682 } else if (!safeStrCmp(_(SECURITY_VIA_WIFI), list_item->keyStr)) {
684 app_control_h service = NULL;
685 int chk_status = !list_item->chk_status;
686 setting_update_gl_item_chk_status(list_item, chk_status);
687 ret = app_control_create(&service);
688 if (ret != APP_CONTROL_ERROR_NONE) {
689 SETTING_TRACE_DEBUG("service_create fail!! ret=%d", ret);
691 app_control_set_app_id(service, "org.tizen.msa");
692 app_control_set_operation(service, "http://org.tizen.msa/appcontrol/operation/query");
699 ret = app_control_add_extra_data(service, "KEY", type);
702 ret = app_control_send_launch_request(service, security_wifi_update_on_service_reply_cb, list_item);
704 ret = app_control_send_launch_request(service, security_wifi_update_off_service_reply_cb, list_item);
705 SETTING_TRACE_DEBUG("send launch service (MSA_QUERY, %s) request ret=%d", type, ret);
706 if (ret != APP_CONTROL_ERROR_NONE) {
707 SETTING_TRACE_ERROR("Cannot launch app");
710 app_control_destroy(service);
714 static void __setting_security_update_toggle_automatic_chk(void *data, int chk_status, char *keyStr)
717 SettingSecurityUG *ad = (SettingSecurityUG *) data;
721 SETTING_TRACE_DEBUG("There is auto update toggle off->on");
722 ad->pop_auto_update_on = setting_create_popup_with_btn(ad,
724 NULL, _(SECURITY_UPDATE_TOGGLE_ON),
725 __ask_create_auto_update_pop_on_cb,
726 0, 2, _("IDS_ST_BUTTON_OK"), _("IDS_COM_SK_CANCEL"));
729 SETTING_TRACE_DEBUG("There is auto update toggle on->off");
730 ad->pop_auto_update_off = setting_create_popup_with_btn(ad,
732 NULL, _(SECURITY_UPDATE_TOGGLE_OFF),
733 __ask_create_auto_update_pop_off_cb,
734 0, 2, _("IDS_ST_BODY_TURN_OFF"), _("IDS_COM_SK_CANCEL"));
739 static void setting_security_update_mouse_up_Gendial_chk_cb(void *data, Evas_Object *obj, void *event_info)
743 retm_if(data == NULL, "Data parameter is NULL");
744 Setting_GenGroupItem_Data *list_item =
745 (Setting_GenGroupItem_Data *) data;
746 SettingSecurityUG *ad = list_item->userdata;
747 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
748 SETTING_TRACE_DEBUG("auto update toggle cb");
750 /* enable /disable toggle button */
751 if (!safeStrCmp(_(AUTO_UPDATE), list_item->keyStr)) {
752 __setting_security_update_toggle_automatic_chk(ad, list_item->chk_status, list_item->keyStr);
753 list_item->chk_status = !list_item->chk_status;
754 elm_check_state_set(obj, list_item->chk_status);
755 } else if (!safeStrCmp(_(SECURITY_VIA_WIFI), list_item->keyStr)) {
757 app_control_h service = NULL;
758 int chk_status = list_item->chk_status;
759 /*setting_update_gl_item_chk_status(ad->data_security_wifi_update_chk, chk_status); */
760 ret = app_control_create(&service);
761 if (ret != APP_CONTROL_ERROR_NONE) {
762 SETTING_TRACE_DEBUG("service_create fail!! ret=%d", ret);
763 SETTING_TRACE_ERROR("Cannot launch app");
765 app_control_set_app_id(service, "org.tizen.msa");
766 app_control_set_operation(service, "http://org.tizen.msa/appcontrol/operation/query");
773 ret = app_control_add_extra_data(service, "KEY", type);
776 ret = app_control_send_launch_request(service, security_wifi_update_on_service_reply_cb, list_item);
778 ret = app_control_send_launch_request(service, security_wifi_update_off_service_reply_cb, list_item);
779 SETTING_TRACE_DEBUG("send launch service (KEY, %s) request ret=%d", type, ret);
780 if (ret != APP_CONTROL_ERROR_NONE) {
781 SETTING_TRACE_ERROR("Cannot launch app");
784 list_item->chk_status = !list_item->chk_status;
785 elm_check_state_set(obj, list_item->chk_status);
786 app_control_destroy(service);