+
+ /* for jumping view */
+ service_get_extra_data(service, "view_to_jump", &(ad->view_to_jump));
+ if(ad->view_to_jump)
+ {
+ SETTING_TRACE_DEBUG("view to jump is %s", ad->view_to_jump);
+ /* Jumping */
+ if(!safeStrCmp(ad->view_to_jump, KeyStr_Sounds))
+ {
+
+ SETTING_TRACE_DEBUG("Kill launched ug.");
+ if(ad->isInUGMode == TRUE && (safeStrCmp(ad->cur_loaded_ug, "setting-profile-efl") != 0))
+ {
+ ug_destroy_all();
+ ad->ug = NULL;
+ }
+ if(ad->isInUGMode == TRUE && (safeStrCmp(ad->cur_loaded_ug, "setting-profile-efl") == 0))
+ {
+ return;
+ }
+
+ struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs));
+ setting_retm_if(!cbs, "calloc failed");
+ cbs->layout_cb = setting_main_layout_ug_cb;
+ cbs->result_cb = setting_main_result_ug_cb;
+ cbs->destroy_cb = setting_main_destroy_ug_cb;
+ cbs->priv = (void *)ad;
+
+ SETTING_TRACE_DEBUG("call setting-profile-efl ug");
+ ad->ug = ug_create(NULL, "setting-profile-efl", UG_MODE_FULLVIEW, 0, cbs);
+ if (ad->ug) {
+ ad->isInUGMode = TRUE;
+ memset(ad->cur_loaded_ug, 0x00, MAX_DISPLAY_NAME_LEN_ON_UI);
+ safeCopyStr(ad->cur_loaded_ug, "setting-profile-efl", MAX_DISPLAY_NAME_LEN_ON_UI);
+ } else {
+ evas_object_show(ad->ly_main);
+
+ SETTING_TRACE_ERROR("errno:%d", errno);
+ setting_create_simple_popup(ad, ad->win_main, NULL, NO_UG_FOUND_MSG);
+ }
+ if (cbs)
+ FREE(cbs);
+ cbs = NULL;
+ ad->view_to_jump = NULL;
+ }
+ }
+ else
+ {
+ SETTING_TRACE_DEBUG("No need to jump view. Draw main.");
+ }