From e4bb0fe40c0a5a8fa76363965193c64c49f408af Mon Sep 17 00:00:00 2001 From: Jing Yigang Date: Tue, 28 Aug 2012 11:42:01 +0800 Subject: [PATCH] [Feature] Hide some menus in emulator . . Change-Id: I4aaef9dc6f74a0324073a39b2fcbdb0c9da442af --- packaging/settings.spec | 1 + setting-about/src/setting-about-main.c | 8 ++- setting-common/CMakeLists.txt | 2 +- setting-common/include/setting-common-resource.h | 2 + setting-common/src/setting-common-general-func.c | 20 ++++++ setting-network/src/setting-network-main.c | 91 +++++++++++++----------- setting-network/src/setting-network.c | 2 +- setting-storage/src/setting-storage-main.c | 44 ++++++------ src/setting-main.c | 82 ++++++++++++++++++--- 9 files changed, 174 insertions(+), 78 deletions(-) diff --git a/packaging/settings.spec b/packaging/settings.spec index a07a3a5..7be7dbf 100755 --- a/packaging/settings.spec +++ b/packaging/settings.spec @@ -57,6 +57,7 @@ BuildRequires: pkgconfig(capi-system-device) BuildRequires: pkgconfig(capi-appfw-application) BuildRequires: pkgconfig(capi-appfw-app-manager) BuildRequires: pkgconfig(capi-system-sensor) +BuildRequires: pkgconfig(capi-system-info) BuildRequires: sysman-internal-devel BuildRequires: cmake BuildRequires: edje-tools diff --git a/setting-about/src/setting-about-main.c b/setting-about/src/setting-about-main.c index b1613c2..6c5a7fe 100755 --- a/setting-about/src/setting-about-main.c +++ b/setting-about/src/setting-about-main.c @@ -817,20 +817,24 @@ int setting_about_generate_genlist(void *data) #ifdef SUPPORT_DIAG_USAGE // [UI] Diagnostics and Usage - setting_create_Gendial_field_def(scroller, &(ad->itc_1text), + if (!isEmulBin()) { + setting_create_Gendial_field_def(scroller, &(ad->itc_1text), setting_about_main_mouse_up_Gendial_list_cb, ad, SWALLOW_Type_INVALID, NULL, NULL, 0, DIAGNOSTICS_USAGE_STR, NULL, NULL); + } #endif #ifdef SUPPORT_FOTA // [UI] Software update - setting_create_Gendial_field_def(scroller, &(ad->itc_1text), + if (!isEmulBin()) { + setting_create_Gendial_field_def(scroller, &(ad->itc_1text), setting_about_main_mouse_up_Gendial_list_cb, ad, SWALLOW_Type_INVALID, NULL, NULL, 0, SOFTWARE_UPDATE_STR, NULL, NULL); + } #endif // [UI] Certificates // implementation is in progress. diff --git a/setting-common/CMakeLists.txt b/setting-common/CMakeLists.txt index 2d2dd14..5dd6df7 100755 --- a/setting-common/CMakeLists.txt +++ b/setting-common/CMakeLists.txt @@ -19,7 +19,7 @@ PROJECT(${LIB_SETTING_COMMON}) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs_common_data REQUIRED appcore-efl elementary vconf openssl evas ecore ecore-imf json-glib-1.0 edje iniparser glib-2.0 libxml-2.0 ui-gadget-1 capi-appfw-application) +pkg_check_modules(pkgs_common_data REQUIRED appcore-efl elementary vconf openssl evas ecore ecore-imf json-glib-1.0 edje iniparser glib-2.0 libxml-2.0 ui-gadget-1 capi-appfw-application capi-system-info) FOREACH(flag ${pkgs_common_data_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") diff --git a/setting-common/include/setting-common-resource.h b/setting-common/include/setting-common-resource.h index ef1c99d..1a21577 100755 --- a/setting-common/include/setting-common-resource.h +++ b/setting-common/include/setting-common-resource.h @@ -25,6 +25,8 @@ #define SETTING_IMAGE_PATH_CFG "/opt/apps/com.samsung.setting/res/images/" #define SETTING_OPEN_SOURCE_LICENSE_PATH "file:///opt/apps/com.samsung.setting/data/Open_Source_Announcement.html" +#define KeyStr_Emulator "Emulator" // be used to compare with model_str from system_info_get_value_string(SYSTEM_INFO_KEY_MODEL, &model_str) + #define KeyStr_Joyn "joyn" /* connectivity keyStr*/ #define KeyStr_Connectivity "IDS_ST_BODY_CONNECTIVITY" diff --git a/setting-common/src/setting-common-general-func.c b/setting-common/src/setting-common-general-func.c index 64c8ee3..5ea6249 100755 --- a/setting-common/src/setting-common-general-func.c +++ b/setting-common/src/setting-common-general-func.c @@ -27,6 +27,7 @@ #include #include #include +#include char *setting_file_basename(char *path) { @@ -796,6 +797,7 @@ int is_slp_binary() bool isEmulBin() { +#if DISABLED_CODE char szEmul[__LEN_STR_EMUL+1]; const char* szBinVer = NULL; @@ -828,6 +830,24 @@ bool isEmulBin() } else { return FALSE; } +#else + char *model_str = NULL; + int ret = system_info_get_value_string(SYSTEM_INFO_KEY_MODEL, &model_str); + //SETTING_TRACE("model_str : %s", model_str); + if (ret != SYSTEM_INFO_ERROR_NONE) { + SETTING_TRACE_ERROR("fail to call system_info_get_value_string"); + FREE(model_str); + return FALSE; + } + + if (0 == safeStrCmp(KeyStr_Emulator, model_str)) { + FREE(model_str); + return TRUE; + } else { + FREE(model_str); + return FALSE; + } +#endif } int get_popup_btn_response_type(const char *btn_str) diff --git a/setting-network/src/setting-network-main.c b/setting-network/src/setting-network-main.c index 744232b..2dad726 100755 --- a/setting-network/src/setting-network-main.c +++ b/setting-network/src/setting-network-main.c @@ -92,10 +92,12 @@ static void __ask_create_gsm_resp_cb(void *data, Evas_Object *obj, //rollback int err; int value = TAPI_NETWORK_BAND_TYPE_ANY; - setting_get_int_slp_key(ad->data_net_mode->int_slp_setting_binded, - &(value), &err); - /** @todo check 'err' variable for exception handling */ - elm_radio_value_set(ad->data_net_mode->rgd, value); + if (ad->data_net_mode) { + setting_get_int_slp_key(ad->data_net_mode->int_slp_setting_binded, + &(value), &err); + /** @todo check 'err' variable for exception handling */ + elm_radio_value_set(ad->data_net_mode->rgd, value); + } } evas_object_del(ad->pop_gsm); ad->pop_gsm = NULL; @@ -383,56 +385,61 @@ static int setting_network_main_create(void *cb) "%s. %s", _("IDS_COM_BODY_AUTOMATIC"), _(ad->sel_network)); } - ad->data_sel_net = setting_create_Gendial_field_def(scroller, + /* hide SELECT NETWORK in Emulator*/ + if (!isEmulBin()) { + ad->data_sel_net = setting_create_Gendial_field_def(scroller, &itc_2text_3, setting_network_main_item_Gendial_mouse_up_cb, ad, SWALLOW_Type_INVALID, NULL, NULL, 0, "IDS_ST_BODY_SELECT_NETWORK", sel_network_desc, NULL); - if (ad->data_sel_net) { - ad->data_sel_net->userdata = ad; - } else { - SETTING_TRACE_ERROR("ad->data_sel_net is NULL"); + if (ad->data_sel_net) { + ad->data_sel_net->userdata = ad; + } else { + SETTING_TRACE_ERROR("ad->data_sel_net is NULL"); + } } } /* ***BEGIN*** Fixed the problem of word twinkle SAMSUNG 2010/7/21 add */ - k = vconf_get_int(VCONFKEY_SETAPPL_NETWORK_MODE_INT, &value); - if (-1 != k) { - SETTING_TRACE("value:%d", value); - switch (value) { - case TAPI_NETWORK_BAND_TYPE_ANY: - sub_des = _("IDS_COM_BODY_AUTOMATIC"); - break; - case TAPI_NETWORK_BAND_TYPE_GSM_900_1800: - sub_des = _(STR_SETTING_GSM_900_1800); - break; - case TAPI_NETWORK_BAND_TYPE_GSM_850_1900: - sub_des = _(STR_SETTING_GSM_850_1900); - break; - case TAPI_NETWORK_BAND_TYPE_WCDMA: - sub_des = _(STR_SETTING_UMTS); - break; - default: - break; + /* hide NETWORK MODE in Emulator*/ + if (!isEmulBin()) { + k = vconf_get_int(VCONFKEY_SETAPPL_NETWORK_MODE_INT, &value); + if (-1 != k) { + SETTING_TRACE("value:%d", value); + switch (value) { + case TAPI_NETWORK_BAND_TYPE_ANY: + sub_des = _("IDS_COM_BODY_AUTOMATIC"); + break; + case TAPI_NETWORK_BAND_TYPE_GSM_900_1800: + sub_des = _(STR_SETTING_GSM_900_1800); + break; + case TAPI_NETWORK_BAND_TYPE_GSM_850_1900: + sub_des = _(STR_SETTING_GSM_850_1900); + break; + case TAPI_NETWORK_BAND_TYPE_WCDMA: + sub_des = _(STR_SETTING_UMTS); + break; + default: + break; + } } - } - ad->data_net_mode = - setting_create_Gendial_exp_parent_field(scroller, - &itc_2text_3_parent, - NULL, NULL, - SWALLOW_Type_INVALID, - "IDS_ST_BODY_NETWORK_MODE", - sub_des); - if (ad->data_net_mode) { - ad->data_net_mode->int_slp_setting_binded = - INT_SLP_SETTING_NETWORK_MODE; - ad->data_net_mode->userdata = ad; - } else { - SETTING_TRACE_ERROR("ad->data_back is NULL"); + ad->data_net_mode = + setting_create_Gendial_exp_parent_field(scroller, + &itc_2text_3_parent, + NULL, NULL, + SWALLOW_Type_INVALID, + "IDS_ST_BODY_NETWORK_MODE", + sub_des); + if (ad->data_net_mode) { + ad->data_net_mode->int_slp_setting_binded = + INT_SLP_SETTING_NETWORK_MODE; + ad->data_net_mode->userdata = ad; + } else { + SETTING_TRACE_ERROR("ad->data_back is NULL"); + } } - setting_create_Gendial_field_def(scroller, &itc_1text, setting_network_main_item_Gendial_mouse_up_cb, ad, SWALLOW_Type_INVALID, NULL, NULL, diff --git a/setting-network/src/setting-network.c b/setting-network/src/setting-network.c index c54cd99..0344828 100755 --- a/setting-network/src/setting-network.c +++ b/setting-network/src/setting-network.c @@ -399,10 +399,10 @@ void setting_tapi_set_band_cb(TapiHandle *handle, int result, void *data, void * SETTING_TRACE(" - result = 0x%x", result); ret_if(!user_data); SettingNetworkUG *ad = user_data; + ret_if(NULL == ad->data_net_mode); int err; if (result == TAPI_NETWORK_NO_ERR) { - ret_if(NULL == ad->data_net_mode); ad->net_mode = elm_radio_value_get(ad->data_net_mode->rgd);//get value from radio setting_set_int_slp_key(ad->data_net_mode->int_slp_setting_binded, ad->net_mode, &err); diff --git a/setting-storage/src/setting-storage-main.c b/setting-storage/src/setting-storage-main.c index 1993e6e..e32e921 100755 --- a/setting-storage/src/setting-storage-main.c +++ b/setting-storage/src/setting-storage-main.c @@ -709,28 +709,30 @@ static int setting_storage_main_create(void *cb) return SETTING_RETURN_FAIL; } - /* Format USB storage */ - setting_create_Gendial_field_def(ad->genlist, &(ad->itc_1text), NULL, + if (!isEmulBin()) { + /* Format USB storage */ + setting_create_Gendial_field_def(ad->genlist, &(ad->itc_1text), NULL, + ad, SWALLOW_Type_INVALID, NULL, + NULL, 0, + SETTING_STORAGE_FORMAT_STR, + NULL, NULL); + + setting_create_Gendial_field_def(ad->genlist, &(ad->itc_bg_1icon), NULL, + ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X, + NULL, NULL, 0, SETTING_STORAGE_FORMAT_DESC_STR, NULL, + NULL); + + setting_create_Gendial_field_titleItem(ad->genlist, &(ad->itc_group_item), + "IDS_ST_BODY_SD_CARD", + NULL); + + /* Mound SD card */ + setting_create_Gendial_field_def(ad->genlist, &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID, NULL, - NULL, 0, - SETTING_STORAGE_FORMAT_STR, - NULL, NULL); - - setting_create_Gendial_field_def(ad->genlist, &(ad->itc_bg_1icon), NULL, - ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X, - NULL, NULL, 0, SETTING_STORAGE_FORMAT_DESC_STR, NULL, - NULL); - - setting_create_Gendial_field_titleItem(ad->genlist, &(ad->itc_group_item), - "IDS_ST_BODY_SD_CARD", - NULL); - - /* Mound SD card */ - setting_create_Gendial_field_def(ad->genlist, &(ad->itc_2text_2), NULL, - ad, SWALLOW_Type_INVALID, NULL, - NULL, 0, SETTING_STORAGE_MOUNT_STR, - _(SETTING_STORAGE_INSERT_STR), - NULL); + NULL, 0, SETTING_STORAGE_MOUNT_STR, + _(SETTING_STORAGE_INSERT_STR), + NULL); + } Elm_Object_Item *item = NULL; item = elm_genlist_item_append(ad->genlist, &itc_bottom_seperator, NULL, NULL, diff --git a/src/setting-main.c b/src/setting-main.c index eae52b9..98383c9 100755 --- a/src/setting-main.c +++ b/src/setting-main.c @@ -577,6 +577,8 @@ void __load_connectivity_menu_list(void *data, Cfg_Item_Position inputPos, Evas_ Cfg_Item_Position tmpPos = Cfg_Item_Pos_Uninstall; int i, j; + bool is_emulator = isEmulBin(); + for (i = 0; i < setting_cfg_get_category_length(); i++) { if (safeStrCmp (setting_cfg_get_category_name(i), KeyStr_Connectivity)) @@ -603,6 +605,29 @@ void __load_connectivity_menu_list(void *data, Cfg_Item_Position inputPos, Evas_ continue; } + if (is_emulator) { + if (!safeStrCmp(KeyStr_FlightMode, keyStr)) { + continue; /* hide Flight Mode in Emulator*/ + } else if (!safeStrCmp(KeyStr_WiFi, keyStr)) { + continue; /* hide WIFI in Emulator*/ + } else if (!safeStrCmp(KeyStr_MobileAP, keyStr)) { + continue; /* hide Tethering in Emulator*/ + } else if (!safeStrCmp(KeyStr_NFC, keyStr)) { + continue; /* hide NFC in Emulator*/ + } else if (!safeStrCmp(KeyStr_WiFiDirect, keyStr)) { + continue; /* hide WiFiDirect in Emulator*/ + } else if (!safeStrCmp(KeyStr_AllShareCast, keyStr)) { + continue; /* hide AllShareCast in Emulator*/ + } else if (!safeStrCmp(KeyStr_NearbyDevices, keyStr)) { + continue; /* hide NearbyDevices in Emulator*/ + } else if (!safeStrCmp(KeyStr_KeisOverWifi, keyStr)) { + continue; /* hide KeisOverWifi in Emulator*/ + } else if (!safeStrCmp(KeyStr_Synchronise, keyStr)) { + continue; /* hide Synchronise in Emulator*/ + } else { + /* do nothing */ + } + } if (!safeStrCmp(KeyStr_FlightMode, keyStr)) { /* load special radio */ // ug == NULL @@ -716,6 +741,8 @@ void __load_system_menu_list(void *data, Cfg_Item_Position inputPos, Evas_Object int ncount = 0; int i, j; + bool is_emulator = isEmulBin(); + //SETTING_TRACE("setting_cfg_get_category_length() :: %d ", setting_cfg_get_category_length()); for (i = 0; i < setting_cfg_get_category_length(); i++) { if (safeStrCmp(setting_cfg_get_category_name(i), KeyStr_System)) @@ -745,6 +772,28 @@ void __load_system_menu_list(void *data, Cfg_Item_Position inputPos, Evas_Object continue; } + if (is_emulator) { + if (!safeStrCmp(KeyStr_EventsNotifications, keyStr)) { + continue; /* hide EventsNotifications in Emulator*/ + } else if (!safeStrCmp(KeyStr_Security, keyStr)) { + continue; /* hide Security in Emulator*/ + } else if (!safeStrCmp(KeyStr_Motions, keyStr)) { + continue; /* hide Motion in Emulator*/ + } else if (!safeStrCmp(KeyStr_Accessibility, keyStr)) { + continue; /* hide Accessibility in Emulator*/ + } else if (!safeStrCmp(KeyStr_VoiceInOut, keyStr)) { + continue; /* hide VoiceInOut in Emulator*/ + } else if (!safeStrCmp(keystr_Drivingmode, keyStr)) { + continue; /* hide Drivingmode in Emulator*/ + } else if (!safeStrCmp(KeyStr_License, keyStr)) { + continue; /* hide License in Emulator*/ + } else if (!safeStrCmp(KeyStr_Memory, keyStr)) { + continue; /* hide Memory in Emulator*/ + } else { + /* do nothing */ + } + } + if (!safeStrCmp(KeyStr_Landscape, keyStr)) { /* load special UG */ int value = 0; vconf_get_bool @@ -859,6 +908,11 @@ static void __load_applications_menu_list(void *data, SETTING_TRACE_DEBUG("pos :%d", inputPos); setting_main_appdata *ad = data; + if (isEmulBin()) { + /* hide all menu in Emulator */ + return; + } + //group title setting_create_Gendial_field_group_titleItem(ad->main_genlist, &(ad->itc[GENDIAL_Type_group_item]), @@ -1513,8 +1567,10 @@ static void setting_main_tapi_event_cb(TapiHandle *handle, int result, void *dat FALSE, FALSE); //It is need to rollback the status, - ad->data_flight->chk_status = !ad->data_flight->chk_status; - elm_check_state_set(ad->data_flight->eo_check, ad->data_flight->chk_status); + if (ad->data_flight) { + ad->data_flight->chk_status = !ad->data_flight->chk_status; + elm_check_state_set(ad->data_flight->eo_check, ad->data_flight->chk_status); + } return; } @@ -1530,8 +1586,10 @@ static void setting_main_tapi_event_cb(TapiHandle *handle, int result, void *dat NULL, POPUP_INTERVAL, FALSE, FALSE); //It is need to rollback the status, - ad->data_flight->chk_status = !ad->data_flight->chk_status; - elm_check_state_set(ad->data_flight->eo_check, ad->data_flight->chk_status); + if (ad->data_flight) { + ad->data_flight->chk_status = !ad->data_flight->chk_status; + elm_check_state_set(ad->data_flight->eo_check, ad->data_flight->chk_status); + } break; default: /* do nothing */ @@ -1730,13 +1788,15 @@ void setting_update_gl_item(void* data) continue; } - if(bGlUpdate) { - SETTING_TRACE("gl update:%d", nDx); - elm_object_item_data_set(item_to_update->item, item_to_update); - elm_genlist_item_update(item_to_update->item); - } else { - SETTING_TRACE("chk update:%d", nDx); - elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status); + if (item_to_update) { + if(bGlUpdate) { + SETTING_TRACE("gl update:%d", nDx); + elm_object_item_data_set(item_to_update->item, item_to_update); + elm_genlist_item_update(item_to_update->item); + } else { + SETTING_TRACE("chk update:%d", nDx); + elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status); + } } ad->updateItems[nDx] = EINA_FALSE; -- 2.7.4