1 #include <setting-helper.h>
3 static bool __vcui_doc_rcs_ug_account_cb(account_h account, void *user_data)
6 bool *temp = (bool *)user_data;
11 bool vcui_doc_rcs_get_install_status(void)
15 bool b_rcs_support = FALSE;
17 ret = account_connect();
18 if (ret != ACCOUNT_ERROR_NONE) {
19 SETTING_TRACE_ERROR("Failed to connect [%d]", ret);
23 ret = account_query_account_by_capability_type(__vcui_doc_rcs_ug_account_cb, "joyn.samsung.com", (void *)&b_rcs_support);
25 case ACCOUNT_ERROR_INVALID_PARAMETER:
26 SETTING_TRACE("Failed to query account [INVALID PARAM]");
28 case ACCOUNT_ERROR_DB_FAILED:
29 SETTING_TRACE("Failed to query account [DB OP FAIL]");
31 case ACCOUNT_ERROR_NONE:
32 SETTING_TRACE("Success to query account");
35 SETTING_TRACE("Failed to query account [0x%08X]", ret);
39 ret = account_disconnect();
40 if (ret != ACCOUNT_ERROR_NONE) {
41 SETTING_TRACE_ERROR("Failed to disconnect [%d]", ret);
44 SETTING_TRACE("b_rcs_support is (%d)...", b_rcs_support);
47 bool is_selected_menu(Eina_List *list, const char *keystr)
50 char *str = eina_list_data_get(list);
53 if (0 == safeStrCmp(keystr, str))
55 list = eina_list_next(list);
60 Eina_Bool setting_main_freeze_event_timer_cb(void *cb)
63 retv_if(cb == NULL, EINA_FALSE);
65 setting_main_appdata *ad = (setting_main_appdata *)cb;
67 evas_object_freeze_events_set(ad->navibar_main, EINA_FALSE);
68 ad->event_freeze_timer = NULL;
73 * @brief preset all pointers to NULL
77 * @bug this code may make dangling pointers,
78 * in setting_vconf_int_xxx callback refer to ad->data_xxxx ptrs.
79 * if it's NULL, what happen?
81 void setting_main_genlist_handler_reset(void *data)
84 retm_if(data == NULL, "Invalid argument: data is NULL");
85 setting_main_appdata *ad = data;
88 ad->data_flight = NULL;
89 ad->data_multi_window = NULL;
90 ad->data_netrestrictionmode = NULL;
93 ad->data_mobileApp = NULL;
94 ad->data_bright = NULL;
95 ad->data_backlight = NULL;
96 ad->data_battery = NULL;
97 ad->data_landscape = NULL;
98 ad->data_screentone = NULL;
99 ad->data_screenmode = NULL;
100 ad->data_touchkey_light_duration = NULL;
101 ad->data_powersaving = NULL;
102 ad->data_driving = NULL;
103 ad->data_blocking = NULL;
104 ad->data_personalpage = NULL;
105 ad->data_guest = NULL;
106 ad->data_high_touch_sensitivity = NULL;
108 ad->data_moreSystem = NULL;
109 ad->data_moreConnect = NULL;
111 ad->data_sbeam = NULL;
112 ad->data_motion = NULL;
113 ad->data_palmmotion = NULL;
114 ad->data_nearby_devices = NULL;
115 ad->data_network = NULL;
120 void setting_main_genlist_handler_set(void *data, int viewtype)
122 retm_if(data == NULL, "Invalid argument: data is NULL");
123 setting_main_appdata *ad = data;
126 ad->gl_data_item[viewtype][GL_Joyn] = ad->data_joyn;
127 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Joyn]);
129 if (ad->data_flight) {
130 ad->gl_data_item[viewtype][GL_FlightMode] = ad->data_flight;
131 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_FlightMode]);
133 if (ad->data_multi_window) {
134 ad->gl_data_item[viewtype][GL_MultiWin] = ad->data_multi_window;
135 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_MultiWin]);
137 if (ad->data_netrestrictionmode) {
138 ad->gl_data_item[viewtype][GL_NetRestriction] = ad->data_netrestrictionmode;
139 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_NetRestriction]);
142 ad->gl_data_item[viewtype][GL_WiFi] = ad->data_wifi;
143 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_WiFi]);
146 ad->gl_data_item[viewtype][GL_BT] = ad->data_bt;
147 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_BT]);
149 if (ad->data_mobileApp) {
150 ad->gl_data_item[viewtype][GL_MobileApp] = ad->data_mobileApp;
151 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_MobileApp]);
153 if (ad->data_bright) {
155 ad->gl_data_item[viewtype][GL_Bright] = ad->data_bright;
156 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Bright]);
158 if (ad->data_backlight) {
159 ad->gl_data_item[viewtype][GL_Backlight] = ad->data_backlight;
160 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Backlight]);
162 if (ad->data_battery) {
163 ad->gl_data_item[viewtype][GL_Battery] = ad->data_battery;
164 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Battery]);
166 if (ad->data_landscape) {
167 ad->gl_data_item[viewtype][GL_Landscape] = ad->data_landscape;
168 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Landscape]);
170 if (ad->data_screentone) {
171 ad->gl_data_item[viewtype][GL_Screentone] = ad->data_screentone;
172 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Screentone]);
174 if (ad->data_screenmode) {
175 ad->gl_data_item[viewtype][GL_Screenmode] = ad->data_screenmode;
176 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Screenmode]);
178 if (ad->data_touchkey_light_duration) {
179 ad->gl_data_item[viewtype][GL_TouchkeyLight] = ad->data_touchkey_light_duration;
180 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_TouchkeyLight]);
182 if (ad->data_powersaving) {
183 ad->gl_data_item[viewtype][GL_PM] = ad->data_powersaving;
184 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_PM]);
186 if (ad->data_driving) {
187 ad->gl_data_item[viewtype][GL_DM] = ad->data_driving;
188 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_DM]);
190 if (ad->data_blocking) {
191 ad->gl_data_item[viewtype][GL_BM] = ad->data_blocking;
192 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_BM]);
194 if (ad->data_personalpage) {
195 ad->gl_data_item[viewtype][GL_PersonalPage] = ad->data_personalpage;
196 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_PersonalPage]);
198 if (ad->data_guest) {
199 ad->gl_data_item[viewtype][GL_GuestMode] = ad->data_guest;
200 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_GuestMode]);
202 if (ad->data_high_touch_sensitivity) {
203 ad->gl_data_item[viewtype][GL_TouchSens] = ad->data_high_touch_sensitivity;
204 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_TouchSens]);
207 ad->gl_data_item[viewtype][GL_NFC] = ad->data_nfc;
208 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_NFC]);
210 if (ad->data_sbeam) {
211 ad->gl_data_item[viewtype][GL_SBeam] = ad->data_sbeam;
212 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_SBeam]);
214 if (ad->data_motion) {
215 ad->gl_data_item[viewtype][GL_Motion] = ad->data_motion;
216 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Motion]);
218 if (ad->data_palmmotion) {
219 ad->gl_data_item[viewtype][GL_PalmMotion] = ad->data_palmmotion;
220 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_PalmMotion]);
223 if (ad->data_nearby_devices) {
224 ad->gl_data_item[viewtype][GL_NearByDev] = ad->data_nearby_devices;
225 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_NearByDev]);
227 if (ad->data_network) {
228 ad->gl_data_item[viewtype][GL_Network] = ad->data_network;
229 __BACK_POINTER_SET(ad->gl_data_item[viewtype][GL_Network]);
233 bool is_searchmode_app(Cfg_Item_Type type)
238 case Cfg_Item_Ug_Node: /* ug run */
239 case Cfg_Item_App_Node: /* docomo run */
240 case Cfg_Item_View_Node: /* n-depth search */
241 case Cfg_Item_AppLauncher_Node: /* app launch */
245 case Cfg_Item_Ui_Node:
246 case Cfg_Item_Title_Node:
257 void setting_main_click_list_item_reset_data(void *data,
260 /*SETTING_TRACE_BEGIN; */
261 setting_main_appdata *ad = (setting_main_appdata *) data;
263 ad->isInUGMode = FALSE;
265 /*SETTING_TRACE_END; */
269 void setting_main_destroy_ug_cb(ui_gadget_h ug, void *priv)
271 setting_main_appdata *ad = (setting_main_appdata *) priv;
272 setting_retm_if(!ad, "ad is NULL");
274 if (ad->search_selected_item_data && ad->search_selected_item_data->item) {
275 elm_genlist_item_fields_update(ad->search_selected_item_data->item,
276 "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
277 ad->search_selected_item_data = NULL;
281 setting_ug_destroy(ug);
284 SETTING_TRACE("ad->ug:%p", ad->ug);
285 SETTING_TRACE("g_main_ad->isInUGMode:%d", g_main_ad->isInUGMode);
286 SETTING_TRACE("g_main_ad->ug:%p", g_main_ad->ug);
288 if (is_searchmode_app(ad->is_searchmode)) {
289 /*ug_destroy(parent); */
291 ug_destroy_me(ad->ug);
295 /*SETTING_TRACE("terminate app !!!!!! "); */
300 elm_object_tree_focus_allow_set(ad->ly_main, TRUE);
301 ea_screen_reader_support_set(ad->ly_main, TRUE);
303 /* restoring keypad state */
304 /*setting_conformant_keypad_state(ad->win_main, FALSE); */
306 setting_main_click_list_item_reset_data(ad, NULL);
307 Evas_Object *eo = elm_object_item_access_object_get(ad->ctrl_item[ad->view_type]);
309 elm_object_focus_set(eo, TRUE);
311 SETTING_TRACE("update main genlist in unloading UG");
312 SETTING_TRACE("ad->ug:%p", ad->ug);
313 SETTING_TRACE("g_main_ad->isInUGMode:%d", g_main_ad->isInUGMode);
314 SETTING_TRACE("g_main_ad->ug:%p", g_main_ad->ug);
318 void setting_main_result_ug_cb(ui_gadget_h ug, app_control_h service,
325 setting_main_appdata *ad = (setting_main_appdata *) priv;
328 char *webkit_address = NULL;
329 app_control_get_extra_data(service, "webkit_address", &webkit_address);
330 if (webkit_address == NULL) {
331 SETTING_TRACE("webkit_address is NULL");
335 SETTING_TRACE("webkit_address = %s", webkit_address);
337 int adress = (int) g_ascii_strtod(webkit_address, NULL);
338 if (errno == ERANGE) {
339 SETTING_TRACE_ERROR("fail to call g_ascii_strtod");
342 SETTING_TRACE("adress = %d", adress);
343 ad->webkit = (Evas_Object *)adress;
344 SETTING_TRACE("webkit = %p", ad->webkit);
346 FREE(webkit_address);
352 void setting_main_layout_ug_cb(ui_gadget_h ug, enum ug_mode mode,
355 /*setting_main_appdata *ad = (setting_main_appdata *) priv; */
363 base = (Evas_Object *) ug_get_layout(ug);
370 case UG_MODE_FULLVIEW:
371 evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
373 /*elm_win_resize_object_add(ad->win_main, base); */
374 evas_object_show(base);
380 /*SETTING_TRACE_END; */