2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Flora License, Version 1.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 * Created on: Oct 8, 2013
25 #include <vconf-keys.h>
27 #include "setting-info.h"
28 #include "setting-battery.h"
32 static struct _info_menu_item info_menu_its[] = {
33 { "IDS_ST_BODY_ABOUT_GEAR_ABB", 0, _gl_info_cb },
34 #ifndef FEATURE_SETTING_SDK
35 { "IDS_ST_HEADER_USB_DEBUGGING_ABB", 0, _gl_usb_debug_cb },
39 static struct _info_menu_item _info_detail_menu_list[] = {
40 #ifndef FEATURE_SETTING_SDK
41 { "IDS_ST_BODY_MODEL_NUMBER_ABB", 0, NULL },
43 { "IDS_SM_TAB4_SOFTWARE_VERSION", 1, NULL },
44 #ifndef FEATURE_SETTING_SDK
45 { "IDS_ST_BODY_SERIAL_NUMBER", 2, NULL },
46 { "Barcode Number", 3, NULL },
47 { "IDS_ST_HEADER_OPEN_SOURCE_LICENCES_ABB", 4, _info_open_src_gl_cb },
48 { "IDS_ST_OPT_SAFETY_INFORMATION", 4, _info_safety_inform_gl_cb }
52 static void _usb_debug_popup_cb(void *data, Evas_Object *obj, void *event_info);
53 static Eina_Bool _get_imei_serial_info(char *pszBuf, int bufSize);
55 static Evas_Object *g_info_genlist = NULL;
56 static int is_enable_usb_debug = 0;
59 Eina_Bool _clear_info_cb(void *data, Elm_Object_Item *it)
61 g_info_genlist = NULL;
62 is_enable_usb_debug = 0;
67 int get_enable_USB_debugging()
69 if (vconf_get_bool(VCONFKEY_SETAPPL_USB_DEBUG_MODE_BOOL, &is_enable_usb_debug) != 0) {
70 DBG("Setting - USB debugging's info do not get!!!");
72 return is_enable_usb_debug;
75 void set_enable_USB_debugging(int is_enable)
77 if (vconf_set_bool(VCONFKEY_SETAPPL_USB_DEBUG_MODE_BOOL, is_enable) != 0) {
78 DBG("Setting - USB debugging do not set!!!");
82 void _gl_usb_debug_cb(void *data, Evas_Object *obj, void *event_info)
84 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
86 if (!is_enable_usb_debug) {
87 _usb_debug_popup_cb(data, obj, event_info);
89 is_enable_usb_debug = DISABLE;
90 set_enable_USB_debugging(is_enable_usb_debug);
92 if (g_info_genlist != NULL) {
93 elm_genlist_realized_items_update(g_info_genlist);
98 void _usb_debug_chk_changed_cb(void *data, Evas_Object *obj, void *event_info)
103 static void _info_gl_del(void *data, Evas_Object *obj)
105 /* FIXME: Unrealized callback can be called after this. */
106 /* Accessing Item_Data can be dangerous on unrealized callback. */
107 Info_Item_Data *id = data;
112 char *_gl_info_title_get(void *data, Evas_Object *obj, const char *part)
114 char buf[1024] = {0,};
115 Info_Item_Data *id = data;
116 int index = id->index;
118 if (!strcmp(part, "elm.text")) {
119 snprintf(buf, sizeof(buf) - 1, "%s", _(info_menu_its[index].name));
125 Evas_Object *_gl_info_check_get(void *data, Evas_Object *obj, const char *part)
127 Evas_Object *check = NULL;
128 /*appdata *ad = data; */
130 Info_Item_Data *id = data;
131 int index = id->index;
133 if (!strcmp(part, "elm.icon") && index == (ITEM_COUNT - 1)) {
134 check = elm_check_add(obj);
135 elm_object_style_set(check, "list");
136 is_enable_usb_debug = get_enable_USB_debugging();
137 elm_check_state_set(check, (is_enable_usb_debug) ? EINA_TRUE : EINA_FALSE);
138 evas_object_smart_callback_add(check, "changed", _usb_debug_chk_changed_cb, (void *)1);
139 evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
140 evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
141 evas_object_propagate_events_set(check, EINA_FALSE);
142 evas_object_repeat_events_set(check, EINA_TRUE);
151 Evas_Object *_create_info_list(void *data)
155 DBG("%s", "_create_info_list - appdata is null");
158 Evas_Object *genlist = NULL;
159 struct _info_menu_item *menu_its = NULL;
162 Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
163 itc->item_style = "1text.1icon.1";
164 itc->func.text_get = _gl_info_title_get;
165 #ifndef FEATURE_SETTING_SDK
166 itc->func.content_get = _gl_info_check_get;
168 itc->func.del = _info_gl_del;
170 Evas_Object *layout = elm_layout_add(ad->nf);
171 elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
172 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
174 genlist = elm_genlist_add(layout);
175 elm_genlist_block_count_set(genlist, 14);
176 elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
178 menu_its = info_menu_its;
180 for (idx = 0; idx < sizeof(info_menu_its) / sizeof(struct _info_menu_item); idx++) {
181 Info_Item_Data *id = calloc(sizeof(Info_Item_Data), 1);
184 id->item = elm_genlist_item_append(
185 genlist, /* genlist object */
186 itc, /* item class */
189 ELM_GENLIST_ITEM_NONE,
190 menu_its[idx].func, /* call back */
194 elm_genlist_item_class_free(itc);
196 g_info_genlist = genlist;
198 elm_object_part_content_set(layout, "elm.genlist", genlist);
203 static void _info_detail_gl_del(void *data, Evas_Object *obj)
205 Item_Data *id = data;
210 char *_gl_info__detail_title_get(void *data, Evas_Object *obj, const char *part)
212 char buf[1024] = {0,};
213 Item_Data *id = data;
214 int index = id->index;
215 char *device_info = NULL;
217 char szSerialNum[50];
219 /*if( !strcmp(part, "elm.text.1") || !strcmp(part, "elm.text") ) */
220 if (!strcmp(part, "elm.text")) {
221 if (_info_detail_menu_list[index].type == 3) {
222 const char *lang = vconf_get_str(VCONFKEY_LANGSET);
223 if (lang && !strcmp(lang, "ko_KR.UTF-8")) {
224 snprintf(buf, sizeof(buf) - 1, "일련번호");
226 snprintf(buf, sizeof(buf) - 1, "%s", _(_info_detail_menu_list[index].name));
229 snprintf(buf, sizeof(buf) - 1, "%s", _(_info_detail_menu_list[index].name));
232 } else if (!strcmp(part, "elm.text.1")) {
235 #ifndef FEATURE_SETTING_SDK
236 if (system_info_get_value_string(SYSTEM_INFO_KEY_MODEL, &device_info)
237 != SYSTEM_INFO_ERROR_NONE) {
238 DBG("Setting - Model number do not get!! error!!");
239 snprintf(buf, sizeof(buf) - 1, "%s", "SM-V700");
241 snprintf(buf, sizeof(buf) - 1, "%s", device_info);
246 if (system_info_get_value_string(SYSTEM_INFO_KEY_BUILD_STRING, &device_info)
247 != SYSTEM_INFO_ERROR_NONE) {
248 DBG("Setting - Version name do not get!! error!!");
249 snprintf(buf, sizeof(buf) - 1, "%s", "V700XXUAMJ1");
251 snprintf(buf, sizeof(buf) - 1, "%s", device_info);
254 #ifndef FEATURE_SETTING_SDK
256 memset(buf, '\0', sizeof(buf));
257 if (_get_imei_serial_info(szSerialNum, sizeof(szSerialNum)) == EINA_TRUE) {
260 p = strstr(szSerialNum, ",");
265 if (strlen(szSerialNum)) {
266 snprintf(buf, sizeof(buf) - 1, "%s", szSerialNum);
268 snprintf(buf, sizeof(buf) - 1, "%s", _("IDS_ST_BODY_UNKNOWN"));
271 snprintf(buf, sizeof(buf) - 1, "%s", _("IDS_ST_BODY_UNKNOWN"));
276 memset(buf, '\0', sizeof(buf));
277 if (_get_imei_serial_info(szSerialNum, sizeof(szSerialNum)) == EINA_TRUE) {
279 p = strstr(szSerialNum, ",");
287 if (p && strlen(p)) {
288 snprintf(buf, sizeof(buf) - 1, "%s", p);
290 snprintf(buf, sizeof(buf) - 1, "%s", _("IDS_ST_BODY_UNKNOWN"));
293 snprintf(buf, sizeof(buf) - 1, "%s", _("IDS_ST_BODY_UNKNOWN"));
305 static void open_sources_licences_lange_changed(void *data, Evas_Object *obj, void *event_info)
307 DBG("Setting - open_sources_licences_lange_changed() is called!");
309 char *license_str = elm_entry_utf8_to_markup(
310 _("IDS_ST_POP_YOU_CAN_CHECK_ANNOUNCEMENTS_REGARDING_OPEN_SOURCE_LICENCES_BY_FOLLOWING_THE_STEPS_BELOW_N1_GO_TO_SETTINGS_GEAR_INFO_N2_SELECT_USB_MSG"));
314 char *font_size_frame = "<font_size=34>%s</font_size>";
315 snprintf(buf, sizeof(buf) - 1, font_size_frame, license_str);
317 char *frame = strdup(buf);
318 const char *file_path = "/usr/share/license.html";
319 const char *command = "sdb pull /usr/share/license.html c:\\OpenSource\\license.html";
322 snprintf(buf, sizeof(buf) - 1, frame, file_path, command);
324 elm_object_text_set(obj, strdup(buf));
329 void _open_source_licences_popup_cb(void *data, Evas_Object *obj, void *event_info)
331 Evas_Object *popup = NULL;
332 /*Evas_Object *btn = NULL; */
333 Evas_Object *scroller = NULL;
334 Evas_Object *label = NULL;
336 appdata *ad = (appdata *) data;
340 popup = elm_popup_add(ad->nf);
341 elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
342 evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
343 elm_object_translatable_part_text_set(popup, "title,text", "IDS_ST_HEADER_OPEN_SOURCE_LICENCES_ABB");
347 scroller = elm_scroller_add(popup);
348 evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
349 elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
350 elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
351 elm_object_content_set(popup, scroller);
352 elm_object_style_set(scroller, "effect");
353 evas_object_show(scroller);
355 label = elm_label_add(scroller);
356 elm_object_style_set(label, "popup/default");
357 elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
359 /* char * license_str = "You can check announcements regarding open source licences by following the steps below." */
360 /* "<br>1. Go to Settings > Gear info." */
361 /* "<br>2. Select USB debugging." */
362 /* "<br>3. Tap OK on the USB debugging pop-up that appears on your Samsung Gear." */
363 /* "<br>4. Connect your Samsung Gear to your PC." */
364 /* "<br>5. Using sdb cmd, download the %1$s file to your PC by running cmd and entering \"%2$s\" into the input field." */
365 /* "<br>Please visit<br>http://developer. samsung.com/, download and install Samsung Gear SDK for using sdb."; */
367 char *license_str = elm_entry_utf8_to_markup(
368 _("IDS_ST_POP_YOU_CAN_CHECK_ANNOUNCEMENTS_REGARDING_OPEN_SOURCE_LICENCES_BY_FOLLOWING_THE_STEPS_BELOW_N1_GO_TO_SETTINGS_GEAR_INFO_N2_SELECT_USB_MSG"));
372 char *font_size_frame = "<font_size=34>%s</font_size>";
373 snprintf(buf, sizeof(buf) - 1, font_size_frame, license_str);
375 char *frame = strdup(buf);
376 const char *file_path = "/usr/share/license.html";
377 const char *command = "sdb pull /usr/share/license.html c:\\OpenSource\\license.html";
380 snprintf(buf, sizeof(buf) - 1, frame, file_path, command);
382 char *txt = strdup(buf);
384 elm_object_text_set(label, txt);
389 evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
390 evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
391 evas_object_smart_callback_add(label, "language,changed", open_sources_licences_lange_changed, NULL);
392 elm_object_content_set(scroller, label);
393 evas_object_show(label);
395 ea_object_event_callback_add(popup, EA_CALLBACK_BACK, setting_popup_back_cb, ad);
397 evas_object_show(popup);
400 void _info_open_src_gl_cb(void *data, Evas_Object *obj, void *event_info)
402 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
404 _open_source_licences_popup_cb(data, obj, event_info);
407 void safety_inform_lange_changed(void *data, Evas_Object *obj, void *event_info)
409 DBG("Setting - safety_inform_lange_changed() is called!");
411 char *safety_str = elm_entry_utf8_to_markup(_("IDS_ST_BODY_YOU_CAN_CHECK_NOTICES_REGARDING_SAFETY_INFORMATION_BY_FOLLOWING_THE_STEPS_BELOW_N_N1_GO_TO_SETTINGS_MSG"));
414 snprintf(buf, sizeof(buf), "<font_size=34>%s</font_size>", safety_str);
415 elm_object_text_set(obj, strdup(buf));
420 void _safety_inform_popup_cb(void *data, Evas_Object *obj, void *event_info)
422 Evas_Object *popup = NULL;
423 /*Evas_Object *btn = NULL; */
424 Evas_Object *scroller = NULL;
425 Evas_Object *label = NULL;
427 appdata *ad = (appdata *) data;
431 popup = elm_popup_add(ad->nf);
432 evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
433 elm_object_translatable_part_text_set(popup, "title,text", "IDS_ST_OPT_SAFETY_INFORMATION");
437 scroller = elm_scroller_add(popup);
438 evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
439 elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
440 elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
441 elm_object_content_set(popup, scroller);
442 elm_object_style_set(scroller, "effect");
443 evas_object_show(scroller);
445 label = elm_label_add(scroller);
446 elm_object_style_set(label, "popup/default");
447 elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
449 char *safety_str = elm_entry_utf8_to_markup(_("IDS_ST_BODY_YOU_CAN_CHECK_NOTICES_REGARDING_SAFETY_INFORMATION_BY_FOLLOWING_THE_STEPS_BELOW_N_N1_GO_TO_SETTINGS_MSG"));
452 snprintf(buf, sizeof(buf) - 1, "<font_size=34>%s</font_size>", safety_str);
454 char *txt = strdup(buf);
455 elm_object_text_set(label, txt);
458 evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
459 evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
460 elm_object_content_set(scroller, label);
461 evas_object_smart_callback_add(label, "language,changed", safety_inform_lange_changed, NULL);
462 evas_object_show(label);
464 ea_object_event_callback_add(popup, EA_CALLBACK_BACK, setting_popup_back_cb, ad);
466 evas_object_show(popup);
469 void _info_safety_inform_gl_cb(void *data, Evas_Object *obj, void *event_info)
471 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
473 _safety_inform_popup_cb(data, obj, event_info);
476 void _gl_info_cb(void *data, Evas_Object *obj, void *event_info)
478 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
482 DBG("%s", "_gl_info_cb - appdata is null");
485 Elm_Object_Item *nf_it = NULL;
486 Evas_Object *genlist = NULL;
487 struct _info_menu_item *menu_its = NULL;
490 Elm_Genlist_Item_Class *itc_tmp;
492 Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
493 itc->item_style = "2text";
494 itc->func.text_get = _gl_info__detail_title_get;
495 itc->func.del = _info_detail_gl_del;
497 Elm_Genlist_Item_Class *itc_open_src_info = elm_genlist_item_class_new();
498 itc_open_src_info->item_style = "1text";
499 itc_open_src_info->func.text_get = _gl_info__detail_title_get;
500 itc_open_src_info->func.del = _info_detail_gl_del;
502 genlist = elm_genlist_add(ad->nf);
503 elm_genlist_block_count_set(genlist, 14);
504 elm_genlist_homogeneous_set(genlist, EINA_TRUE);
505 elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
507 menu_its = _info_detail_menu_list;
509 for (idx = 0; idx < sizeof(_info_detail_menu_list) / sizeof(struct _info_menu_item); idx++) {
510 #ifndef FEATURE_SETTING_SDK
511 if (menu_its[idx].type == 4) {
512 itc_tmp = itc_open_src_info;
520 if (!(kor == 0 && menu_its[idx].type == 3)) {
522 Item_Data *id = calloc(sizeof(Item_Data), 1);
525 id->item = elm_genlist_item_append(
526 genlist, /* genlist object */
527 itc_tmp, /* item class */
530 ELM_GENLIST_ITEM_NONE,
531 menu_its[idx].func, /* call back */
533 #ifndef FEATURE_SETTING_SDK
534 if (itc_tmp == itc) {
535 elm_genlist_item_select_mode_set(id->item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
538 elm_genlist_item_select_mode_set(id->item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
543 elm_genlist_item_class_free(itc);
544 elm_genlist_item_class_free(itc_open_src_info);
546 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
547 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
550 static void _usb_debug_cancel_cb(void *data, Evas_Object *obj, void *event_info)
552 appdata *ad = (appdata *) data;
556 is_enable_usb_debug = DISABLE;
558 if (g_info_genlist != NULL) {
559 elm_genlist_realized_items_update(g_info_genlist);
563 evas_object_del(ad->popup);
568 static void _usb_debug_ok_cb(void *data, Evas_Object *obj, void *event_info)
570 /*Elm_Object_Item* it = (Elm_Object_Item *)event_info; */
572 /*Evas_Object* check = NULL; */
575 DBG("%s", "_gl_usb_debug_cb : appdata is null");
580 evas_object_del(ad->popup);
584 is_enable_usb_debug = ENABLE;
586 set_enable_USB_debugging(is_enable_usb_debug);
588 if (g_info_genlist != NULL) {
589 elm_genlist_realized_items_update(g_info_genlist);
593 void _usb_debug_lange_changed(void *data, Evas_Object *obj, void *event_info)
595 DBG("Setting - _usb_debug_lange_changed() is called!");
597 char *debug_str = elm_entry_utf8_to_markup(_("IDS_ST_POP_ENABLING_USB_DEBUGGING_WILL_ALLOW_YOU_TO_COPY_FILES_BETWEEN_YOUR_PC_AND_YOUR_GEAR_INSTALL_APPLICATIONS_ON_YOUR_GEAR_WITHOUT_RECEIVING_MSG"));
600 snprintf(buf, sizeof(buf), "<font_size=34>%s</font_size>", debug_str);
601 elm_object_text_set(obj, strdup(buf));
606 static void _usb_debug_popup_cb(void *data, Evas_Object *obj, void *event_info)
608 Evas_Object *popup = NULL;
609 Evas_Object *btn = NULL;
610 Evas_Object *scroller = NULL;
611 Evas_Object *label = NULL;
613 appdata *ad = (appdata *) data;
617 popup = elm_popup_add(ad->nf);
618 elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
619 evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
620 elm_object_translatable_part_text_set(popup, "title,text", "IDS_ST_HEADER_USB_DEBUGGING_ABB");
624 scroller = elm_scroller_add(popup);
625 evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
626 elm_object_content_set(popup, scroller);
627 elm_object_style_set(scroller, "effect");
628 evas_object_show(scroller);
630 label = elm_label_add(scroller);
631 elm_object_style_set(label, "popup/default");
632 elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
636 char *font_size_frame = "<font_size=34>%s</font_size>";
637 snprintf(buf, sizeof(buf) - 1, font_size_frame, _("IDS_ST_POP_ENABLING_USB_DEBUGGING_WILL_ALLOW_YOU_TO_COPY_FILES_BETWEEN_YOUR_PC_AND_YOUR_GEAR_INSTALL_APPLICATIONS_ON_YOUR_GEAR_WITHOUT_RECEIVING_MSG"));
639 char *txt = strdup(buf);
640 elm_object_text_set(label, txt);
642 evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
643 evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
644 evas_object_smart_callback_add(label, "language,changed", _usb_debug_lange_changed, NULL);
645 elm_object_content_set(scroller, label);
646 evas_object_show(label);
648 ea_object_event_callback_add(popup, EA_CALLBACK_BACK, setting_popup_back_cb, ad);
650 btn = elm_button_add(popup);
651 elm_object_style_set(btn, "default");
652 evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
653 elm_object_translatable_text_set(btn, "IDS_COM_SK_CANCEL_A");
654 elm_object_part_content_set(popup, "button1", btn);
655 evas_object_smart_callback_add(btn, "clicked", _usb_debug_cancel_cb, ad);
657 btn = elm_button_add(popup);
658 elm_object_style_set(btn, "default");
659 evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
660 elm_object_translatable_text_set(btn, "IDS_WNOTI_BUTTON_OK_ABB2");
661 elm_object_part_content_set(popup, "button2", btn);
662 evas_object_smart_callback_add(btn, "clicked", _usb_debug_ok_cb, ad);
664 evas_object_show(popup);
668 * Get IMEI Serial number
670 static Eina_Bool _get_imei_serial_info(char *pszBuf, int bufSize)
673 int fileReadByte = 0;
676 pFile = fopen("/csa/imei/serialno.dat", "r");
680 memset(pszBuf, '\0', bufSize);
682 if (fgets(pszBuf, bufSize, pFile)) {
685 bResult = EINA_FALSE;