{
LAUNCH_SETTING_IN();
/* error check */
- setting_retvm_if(!view || !cb, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER,
- "Invalid arguement");
+ setting_retvm_if(!view, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER, "Invalid arguement");
int ret = SETTING_RETURN_FAIL;
{
SETTING_TRACE_BEGIN;
/* error check */
- setting_retvm_if(!from_view || !to_view || !cb,
- SETTING_GENERAL_ERR_NULL_DATA_PARAMETER,
- "Invalid arguement");
+ setting_retvm_if(!from_view || !to_view, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER, "Invalid arguement");
int ret = SETTING_RETURN_SUCCESS;
/*from a parent view to his child view, don't need cleanup
#define COUNTRY_CODE_LEN 3
#define NETWORK_CODE_LEN 3
#define PRE_NETWORK_NAME_MAX 256
+#define MAX_SIM_COUNT 2
/* the popupresponse action ID */
#define SETTING_NETWORK_POP_RESPONSE_ACTION_CANCEL 10
struct _SettingNetwork {
MainData md;
- TapiHandle *handle;
+ TapiHandle *handle[MAX_SIM_COUNT];
connection_h connection;
#if SUPPORT_TETHERING
char *view_type_string;
#ifdef UI_NETWORK_MODE
- Setting_GenGroupItem_Data *data_net_mode;
+ Setting_GenGroupItem_Data *data_net_mode[2];
#endif
Setting_GenGroupItem_Data *internet_conn;
Evas_Object *popup_data_on;
Evas_Object *popup_data_off;
Setting_GenGroupItem_Data *service_providers;
- Setting_GenGroupItem_Data *network_mode_sim_1;
- Setting_GenGroupItem_Data *network_mode_sim_2;
Setting_GenGroupItem_Data *data_connection;
Setting_GenGroupItem_Data *data_mobile_data;
Setting_GenGroupItem_Data *data_roaming;
}
}
+void _item_Gendial_network_mode_mouse_up_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ int ret;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ elm_genlist_item_selected_set(item, 0);
+
+ ret = setting_view_change(&setting_view_network_main, &setting_view_network_mode, data);
+
+ if (ret != SETTING_RETURN_SUCCESS)
+ SETTING_TRACE_ERROR("Failed to switch view");
+}
+
+static inline void _add_network_mode_items(SettingNetwork* ad)
+{
+ char *titles[MAX_SIM_COUNT] = {"SIM 1 network mode", "SIM 2 network mode"};
+ int i;
+
+ for (i = 0; i < MAX_SIM_COUNT; ++i) {
+ ad->data_net_mode[i] = setting_create_Gendial_field_def(ad->md.genlist,
+ &itc_2text_3_parent, _item_Gendial_network_mode_mouse_up_cb,
+ (void *)i, SWALLOW_Type_INVALID, NULL, NULL, 0,
+ titles[i], NULL, NULL);
+
+ if (!ad->data_net_mode[i]) {
+ dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] ad->data_net_mode[i] == NULL", __FILE__, __LINE__);
+ continue;
+ }
+
+ ad->data_net_mode[i]->int_slp_setting_binded = INT_SLP_SETTING_NETWORK_MODE;
+ __BACK_POINTER_SET(ad->data_net_mode[i]);
+
+// ad->data_net_mode[i]->sub_desc =
+ }
+
+}
+
static int _view_create(void *cb)
{
SETTING_TRACE_BEGIN;
evas_object_smart_callback_add(ad->md.genlist, "realized",
__gl_realized_cb, ad);
- elm_genlist_item_select_mode_set(item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
/* mobile data ON --> Data Roaming activate */
/* mobile data OFF --> Data Roaming de-activate */
NULL,
NULL);
- ad->data_net_mode = setting_create_Gendial_field_def(ad->md.genlist,
- &itc_2text_3_parent,
- _item_Gendial_mouse_up_cb, ad,
- SWALLOW_Type_INVALID, NULL, NULL, 0,
- "SIM 1 network mode",
- NULL,
- NULL);
-
- s_info.network_mode_sim_2 = setting_create_Gendial_field_def(ad->md.genlist,
- &itc_2text_3_parent,
- _item_Gendial_mouse_up_cb, ad,
- SWALLOW_Type_INVALID, NULL, NULL, 0,
- "SIM 2 network mode",
- NULL,
- NULL);
-
- if (ad->data_net_mode) {
- ad->data_net_mode->int_slp_setting_binded = INT_SLP_SETTING_NETWORK_MODE;
- __BACK_POINTER_SET(ad->data_net_mode);
- } else {
- SETTING_TRACE_ERROR("ad->data_net_modeis NULL");
- }
+ _add_network_mode_items(ad);
/* Don't need to check flight mode,if flight mode is on, thw whole
* Network function will be disable*/
/* elm_popup_dismiss(obj); */
}
-static void _item_Gendial_mouse_up_cb(void *data,
- Evas_Object *obj, void *event_info)
+static void _item_Gendial_mouse_up_cb(void *data, Evas_Object *obj, void *event_info)
{
SETTING_TRACE_BEGIN;
/* error check */
setting_retm_if(data == NULL, "Data parameter is NULL");
Elm_Object_Item *item = (Elm_Object_Item *)event_info;
elm_genlist_item_selected_set(item, 0);
- Setting_GenGroupItem_Data *list_item =
- (Setting_GenGroupItem_Data *)elm_object_item_data_get(
- item);
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *)elm_object_item_data_get(item);
setting_retm_if(NULL == list_item, "list_item is NULL");
SettingNetwork *ad = (SettingNetwork *)data;
if (!safeStrCmp("SIM 1 network mode", list_item->keyStr)) {
// _mode_popup(ad);
- ret = setting_view_change(&setting_view_network_main, &setting_view_network_mode, ad);
+ ret = setting_view_change(&setting_view_network_main, &setting_view_network_mode, (void *)0);
} else if (!safeStrCmp("Service providers", list_item->keyStr)) {
select_network_show(ad);
} else if (!safeStrCmp(KeyStr_UseMobileData, list_item->keyStr)) {
static struct setting_network_mode_info {
SettingNetwork *ad;
-
Evas_Object *genlist;
-
Setting_GenGroupItem_Data *lte_wcdma_gsm;
Setting_GenGroupItem_Data *wcdma_gsm;
Setting_GenGroupItem_Data *wcdma_only;
Setting_GenGroupItem_Data *gsm_only;
-#ifdef UI_NETWORK_MODE
- int net_mode; /* like vconf key */
-#endif
-
+ int current_sim;
} s_info = {0,};
setting_view setting_view_network_mode = {
{
SETTING_TRACE_BEGIN;
SETTING_TRACE(" - result = 0x%x", result);
- ret_if(!user_data);
- SettingNetwork *ad = user_data;
+ int sim_num = (int)user_data;
- if (ad->network_popup) {
- evas_object_del(ad->network_popup);
- ad->network_popup = NULL;
+ if (s_info.ad->network_popup) {
+ evas_object_del(s_info.ad->network_popup);
+ s_info.ad->network_popup = NULL;
}
- if (result == TAPI_NETWORK_NO_ERR) {
- int band;
- int temp_net_mode = 0;
- memcpy(&band, data, sizeof(int));
-
- SETTING_TRACE("tel_get_network_mode() callback received, band=%d",
- band);
-
- temp_net_mode = band;
-
- /* ***BEGIN*** Fixed the problem of word twinkle
- * SAMSUNG 2010/7/21 modify */
- s_info.net_mode = temp_net_mode;
-
- const char *sub_desc = NULL;
- /* Need to fix */
- char *szCscFeatureValue = "all_numeric";
-
- switch (s_info.net_mode) {
- case TAPI_NETWORK_MODE_AUTO:
- case TAPI_NETWORK_MODE_LTE | TAPI_NETWORK_MODE_WCDMA
- | TAPI_NETWORK_MODE_GSM:
- if (is_lte_on_feature(ad)) {
- if (strcmp(szCscFeatureValue, "all_numeric") == 0)
- sub_desc = _("IDS_ST_OPT_4G_3G_2G_HAUTO_CONNECT");
- else
- sub_desc = _("IDS_ST_OPT_LTE_WCDMA_GSM_HAUTO_CONNECT");
- }
- break;
- case TAPI_NETWORK_MODE_WCDMA | TAPI_NETWORK_MODE_GSM:
- if (strcmp(szCscFeatureValue, "all_numeric") == 0)
- sub_desc = _("IDS_ST_OPT_3G_2G_HAUTO_CONNECT");
- else
- sub_desc = _("IDS_ST_OPT_WCDMA_GSM_HAUTO_CONNECT");
- break;
- case TAPI_NETWORK_MODE_WCDMA:
- if (strcmp(szCscFeatureValue, "all_numeric") == 0)
- sub_desc = _("IDS_ST_BODY_3G_ONLY");
- else
- sub_desc = _("IDS_ST_MBODY_WCDMA_ONLY");
- break;
- case TAPI_NETWORK_MODE_GSM:
+ if (result != TAPI_NETWORK_NO_ERR)
+ SETTING_TRACE("tel_get_network_mode() callback error(%s)", get_error_message(result));
+
+ int band;
+ int temp_net_mode = 0;
+ memcpy(&band, data, sizeof(int));
+
+ SETTING_TRACE("tel_get_network_mode() callback received, band=%d", band);
+
+ temp_net_mode = band;
+
+ const char *sub_desc = NULL;
+ /* Need to fix */
+ char *szCscFeatureValue = "all_numeric";
+
+ switch (temp_net_mode) {
+ case TAPI_NETWORK_MODE_AUTO:
+ case TAPI_NETWORK_MODE_LTE | TAPI_NETWORK_MODE_WCDMA | TAPI_NETWORK_MODE_GSM:
+ if (is_lte_on_feature(s_info.ad)) {
if (strcmp(szCscFeatureValue, "all_numeric") == 0)
- sub_desc = _("IDS_ST_OPT_2G_ONLY");
+ sub_desc = _("IDS_ST_OPT_4G_3G_2G_HAUTO_CONNECT");
else
- sub_desc = _("IDS_ST_MBODY_GSM_ONLY");
- break;
- /* for docomo */
- case TAPI_NETWORK_MODE_LTE | TAPI_NETWORK_MODE_WCDMA:
- sub_desc = _(Keystr_NetBrand_LTE_WCDMA);
- break;
- default:
- break;
+ sub_desc = _("IDS_ST_OPT_LTE_WCDMA_GSM_HAUTO_CONNECT");
}
+ break;
+ case TAPI_NETWORK_MODE_WCDMA | TAPI_NETWORK_MODE_GSM:
+ if (strcmp(szCscFeatureValue, "all_numeric") == 0)
+ sub_desc = _("IDS_ST_OPT_3G_2G_HAUTO_CONNECT");
+ else
+ sub_desc = _("IDS_ST_OPT_WCDMA_GSM_HAUTO_CONNECT");
+ break;
+ case TAPI_NETWORK_MODE_WCDMA:
+ if (strcmp(szCscFeatureValue, "all_numeric") == 0)
+ sub_desc = _("IDS_ST_BODY_3G_ONLY");
+ else
+ sub_desc = _("IDS_ST_MBODY_WCDMA_ONLY");
+ break;
+ case TAPI_NETWORK_MODE_GSM:
+ if (strcmp(szCscFeatureValue, "all_numeric") == 0)
+ sub_desc = _("IDS_ST_OPT_2G_ONLY");
+ else
+ sub_desc = _("IDS_ST_MBODY_GSM_ONLY");
+ break;
+ /* for docomo */
+ case TAPI_NETWORK_MODE_LTE | TAPI_NETWORK_MODE_WCDMA:
+ sub_desc = _(Keystr_NetBrand_LTE_WCDMA);
+ break;
+ default:
+ break;
+ }
- if (ad->data_net_mode) {
- ad->data_net_mode->sub_desc = (char *)g_strdup(
- sub_desc);
- elm_object_item_data_set(ad->data_net_mode->item,
- ad->data_net_mode);
- elm_genlist_item_update(ad->data_net_mode->item);
- elm_genlist_item_expanded_set(ad->data_net_mode->item,
- FALSE);
- }
+ SETTING_TRACE("Updating: sim_num == (%d), with text: %s", sim_num, sub_desc);
- vconf_set_int(VCONFKEY_SETAPPL_NETWORK_MODE_INT, s_info.net_mode);
- /*} */
- /* ****END**** Fixed the problem of word twinkle
- * SAMSUNG 2010/7/21 modify */
- } else {
- SETTING_TRACE("tel_get_network_mode() callback error(%d)",
- result);
+ if (s_info.ad->data_net_mode[sim_num]) {
+ s_info.ad->data_net_mode[sim_num]->sub_desc = (char *)g_strdup(sub_desc);
+ elm_object_item_data_set(s_info.ad->data_net_mode[sim_num]->item, s_info.ad->data_net_mode[sim_num]);
+ elm_genlist_item_update(s_info.ad->data_net_mode[sim_num]->item);
+ elm_genlist_item_expanded_set(s_info.ad->data_net_mode[sim_num]->item, FALSE);
}
+
+ if (s_info.wcdma_gsm && sim_num == s_info.current_sim)
+ elm_radio_value_set(s_info.wcdma_gsm->rgd, temp_net_mode);
}
/**
void setting_tapi_set_band_cb(TapiHandle *handle, int result, void *data, void *user_data) /* TODO: Move to 'select-network' */
{
SETTING_TRACE_BEGIN;
- SETTING_TRACE(" - result = 0x%x , %d", result, result);
- ret_if(!user_data);
- SettingNetwork *ad = user_data;
- ret_if(NULL == ad->data_net_mode);
- if (ad->network_popup) {
- evas_object_del(ad->network_popup);
- ad->network_popup = NULL;
+ int sim_num = (int)user_data;
+
+ SETTING_TRACE("sim_num == %d - result = 0x%x , %d", sim_num, result, result);
+
+ ret_if(NULL == s_info.ad->data_net_mode[sim_num]);
+ if (s_info.ad->network_popup) {
+ evas_object_del(s_info.ad->network_popup);
+ s_info.ad->network_popup = NULL;
}
- if (tel_get_network_mode(ad->handle, setting_tapi_get_band_cb, ad)
- != TAPI_API_SUCCESS) {
+ if (tel_get_network_mode(handle, setting_tapi_get_band_cb, user_data) != TAPI_API_SUCCESS)
SETTING_TRACE_ERROR("*** [ERR] tel_get_network_band. ***");
+
+ SETTING_TRACE_END;
+}
+
+static void _update_band_status(void)
+{
+ SETTING_TRACE_BEGIN;
+ int i;
+ for (i = 0; i < MAX_SIM_COUNT; ++i) {
+ if (s_info.ad->handle[i] && tel_get_network_mode(s_info.ad->handle[i], setting_tapi_get_band_cb, (void *)i) != TAPI_API_SUCCESS)
+ SETTING_TRACE_ERROR("*** [ERR] tel_get_network_band. ***");
+
+ SETTING_TRACE("Handle %d init", i);
}
+
+ SETTING_TRACE_END;
}
void setting_network_mode_app_control(SettingNetwork *ad)
{
- /* register view node table */
- if (ad->handle && tel_get_network_mode(ad->handle, setting_tapi_get_band_cb, ad) != TAPI_API_SUCCESS)
- SETTING_TRACE_ERROR("*** [ERR] tel_get_network_band. ***");
+ SETTING_TRACE_BEGIN;
+
+ s_info.ad = ad;
+ _update_band_status();
+
+ SETTING_TRACE_END;
}
/**
SETTING_TRACE_BEGIN;
/* error check */
retm_if(event_info == NULL, "Invalid argument: event info is NULL");
- ret_if(NULL == data);
- SettingNetwork *ad = (SettingNetwork *)data;
Elm_Object_Item *subitem = (Elm_Object_Item *)event_info;
elm_genlist_item_selected_set(subitem, 0);
Setting_GenGroupItem_Data *data_subItem = elm_object_item_data_get(subitem);
- SETTING_TRACE("s_info.net_mode=%d", s_info.net_mode);
- SETTING_TRACE("elm_radio_value_get(ad->data_net_mode->rgd):%d", elm_radio_value_get(ad->data_net_mode->rgd));
- SETTING_TRACE("data_subItem->chk_status=%d", data_subItem->chk_status);
-
- if (s_info.net_mode == data_subItem->chk_status) {
- SETTING_TRACE("No change");
- return;
- }
-
int value_use_packet;
-
vconf_get_int(VCONFKEY_DNET_STATE, &value_use_packet);
/*it will be deleted in callback set by tel_set_network_mode(
* that is setting_tapi_set_band_cb.) */
- ad->network_popup = setting_create_popup_with_progressbar(ad,
- ad->md.window, PROGRESSBAR_STYLE,
+ s_info.ad->network_popup = setting_create_popup_with_progressbar(s_info.ad,
+ s_info.ad->md.window, PROGRESSBAR_STYLE,
NULL, "IDS_ST_BUTTON2_PROCESSING_ING",
NULL, 0.0, TRUE, FALSE, 0);
- elm_radio_value_set(ad->data_net_mode->rgd, data_subItem->chk_status);
- s_info.net_mode = data_subItem->chk_status;
+ elm_radio_value_set(s_info.ad->data_net_mode[s_info.current_sim]->rgd, data_subItem->chk_status);
/*for delay.. */
- if (ad->timer) {
- ecore_timer_del(ad->timer);
- ad->timer = NULL;
+ if (s_info.ad->timer) {
+ ecore_timer_del(s_info.ad->timer);
+ s_info.ad->timer = NULL;
}
SETTING_TRACE("tel_set_network_mode(data_subItem->chk_status=%d) run", data_subItem->chk_status);
- int tapi_ret = tel_set_network_mode(ad->handle, data_subItem->chk_status, setting_tapi_set_band_cb, ad);
-
+ int tapi_ret = tel_set_network_mode(s_info.ad->handle[s_info.current_sim], data_subItem->chk_status, setting_tapi_set_band_cb, (void *)s_info.current_sim);
if (tapi_ret != TAPI_API_SUCCESS) {
SETTING_TRACE_DEBUG("%s*** [ERR] tel_set_network_mode. tapi_ret=%d ***%s", SETTING_FONT_RED, tapi_ret, SETTING_FONT_BLACK);
- setting_create_popup(ad, ad->md.window, NULL, Invok_API_Failed_Desc, NULL, POPUP_INTERVAL, FALSE, FALSE, 0);
- /*rollback */
- int err = 0;
- int ret = setting_get_int_slp_key(ad->data_net_mode->int_slp_setting_binded, &(s_info.net_mode), &err);
- if (ret == SETTING_RETURN_FAIL)
- SETTING_TRACE_ERROR("failed to get vconf");
+ setting_create_popup(s_info.ad, s_info.ad->md.window, NULL, Invok_API_Failed_Desc, NULL, POPUP_INTERVAL, FALSE, FALSE, 0);
} else {
SETTING_TRACE("tel_set_network_mode()=TAPI_API_SUCCESS");
}
Setting_GenGroupItem_Data *ret = setting_create_Gendial_field_1radio(
s_info.genlist, &itc_multiline_1text_1icon,
- __network_sub_list_sel_cb, s_info.ad,
+ __network_sub_list_sel_cb, NULL,
SWALLOW_Type_1RADIO_RIGHT, rdg,
status,
_(pszStrId), __network_default_rd_change);
return ret;
}
-static inline void _set_mode(Setting_GenGroupItem_Data *item_data)
-{
- SETTING_TRACE_BEGIN;
- if (!item_data)
- dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] item_data == NULL", __FILE__, __LINE__);
-
- elm_radio_value_set(s_info.ad->data_net_mode->rgd, item_data->chk_status);
- SETTING_TRACE("item_data->chk_status=%d checked", item_data->chk_status);
-
- SETTING_TRACE_END;
-}
-
static inline Evas_Object *_prepare_radio_group(int value)
{
SETTING_TRACE_BEGIN;
return;
}
+
setting_get_int_slp_key(INT_SLP_SETTING_NETWORK_MODE, &value, &err);
Evas_Object *rdg = _prepare_radio_group(value);
s_info.wcdma_only = _add_mode(rdg, "IDS_ST_BODY_3G_ONLY", TAPI_NETWORK_MODE_WCDMA);
s_info.gsm_only = _add_mode(rdg, "IDS_ST_OPT_2G_ONLY", TAPI_NETWORK_MODE_GSM);
- /* Selection */
- if (is_lte_on_feature(s_info.ad) && (value & TAPI_NETWORK_MODE_LTE) && (value & TAPI_NETWORK_MODE_WCDMA) && (value & TAPI_NETWORK_MODE_GSM)) {
- SETTING_TRACE("TAPI_NETWORK_MODE_LTE|TAPI_NETWORK_MODE_WCDMA|TAPI_NETWORK_MODE_GSM selected");
- _set_mode(s_info.lte_wcdma_gsm);
- } else if ((value & TAPI_NETWORK_MODE_WCDMA) && (value & TAPI_NETWORK_MODE_GSM)) {
- SETTING_TRACE("TAPI_NETWORK_MODE_WCDMA|TAPI_NETWORK_MODE_GSM selected");
- _set_mode(s_info.wcdma_gsm);
- } else if (value & TAPI_NETWORK_MODE_WCDMA) {
- SETTING_TRACE("TAPI_NETWORK_MODE_WCDMA selected");
- _set_mode(s_info.wcdma_only);
- } else if (value & TAPI_NETWORK_MODE_GSM) {
- SETTING_TRACE("TAPI_NETWORK_MODE_GSM selected");
- _set_mode(s_info.gsm_only);
- } else {
- SETTING_TRACE_ERROR("TAPI_NETWORK(%d) unknown", value);
- }
-
SETTING_TRACE("after value set -- value: %d, err: %d", value, err);
SETTING_TRACE_END;
}
static int _view_create(void *cb)
{
SETTING_TRACE_BEGIN;
- s_info.ad = (SettingNetwork *)cb;
+
+ if (!s_info.ad) {
+ dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] s_info.ad == NULL", __FILE__, __LINE__);
+ return SETTING_RETURN_FAIL;
+ }
+
+ s_info.current_sim = (int)cb;
setting_create_genlist_and_push_to_naviframe(
"IDS_COM_BODY_NETWORK_OPERATORS",
&s_info.genlist, s_info.ad->md.naviframe);
_fill_list();
+ _update_band_status();
setting_view_network_mode.is_create = TRUE;
+
+ SETTING_TRACE_END;
return SETTING_RETURN_SUCCESS;
}
.cleanup = NULL
};
-void select_network_app_control(SettingNetwork* ad)
+void select_network_app_control(SettingNetwork *ad)
{
- if (tel_get_network_selection_mode(ad->handle, setting_tapi_get_plmn_mode_cb, ad) != TAPI_API_SUCCESS)
- SETTING_TRACE_ERROR("*** [ERR] tel_get_network_selection_mode. ***");
- if (tel_get_network_serving(ad->handle, setting_tapi_get_serving_network_cb, ad) != TAPI_API_SUCCESS)
- SETTING_TRACE_ERROR("*** [ERR] tel_get_network_serving. ***");
+ int i;
+ s_info.ad = ad;
+
+ for (i = 0; i < MAX_SIM_COUNT; ++i) {
+ if (tel_get_network_selection_mode(ad->handle[i], setting_tapi_get_plmn_mode_cb, (void *)i) != TAPI_API_SUCCESS)
+ SETTING_TRACE_ERROR("*** [ERR] tel_get_network_selection_mode. ***");
+
+ if (tel_get_network_serving(ad->handle[i], setting_tapi_get_serving_network_cb, (void *)i) != TAPI_API_SUCCESS)
+ SETTING_TRACE_ERROR("*** [ERR] tel_get_network_serving. ***");
+ }
(void) vconf_notify_key_changed(VCONFKEY_TELEPHONY_NWNAME, __selected_network_change_cb, ad);
(void) vconf_notify_key_changed(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, __selected_network_change_cb, ad);
{
SETTING_TRACE_BEGIN;
SETTING_TRACE(" - result = 0x%x", result);
- ret_if(!user_data || !data);
- SettingNetwork *ad = user_data;
+ ret_if(!data);
TelNetworkServing_t *srv_nt = data;
if (result == TAPI_NETWORK_NO_ERR) {
FREE(s_info.sel_network);
/*s_info.sel_network = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME); */
s_info.sel_network = get_pa_select_network();
- if (!s_info.sel_network) {
- s_info.sel_network = strndup(Keystr_UNKNOWN_NETWORK,
- strlen(Keystr_UNKNOWN_NETWORK) + 1);
- }
- setting_network_update_sel_network(ad);
+ if (!s_info.sel_network)
+ s_info.sel_network = strndup(Keystr_UNKNOWN_NETWORK, strlen(Keystr_UNKNOWN_NETWORK) + 1);
+
+ setting_network_update_sel_network(s_info.ad);
} else {
/*if failed, do nothing.. */
}
{
s_info.sel_net = TAPI_NETWORK_SELECTIONMODE_AUTOMATIC;
SETTING_TRACE("Sending tel_select_network_automatic..");
- int tapi_ret = tel_select_network_automatic(ad->handle, _tapi_set_plmn_mode_cb, ad);
+
+ int tapi_ret = tel_select_network_automatic(ad->handle[0], _tapi_set_plmn_mode_cb, ad);
if (tapi_ret != TAPI_API_SUCCESS) {
SETTING_TRACE_DEBUG("*** [ERR] tel_select_network_automatic." " tapi_ret=%d ***", tapi_ret);
int cnt = _process_special_char_in_network_names(ad, list_item);
SETTING_TRACE("Sending tel_select_network_manual..");
- int tapi_ret = tel_select_network_manual(ad->handle,
+ int tapi_ret = tel_select_network_manual(ad->handle[0],
s_info.plmn_info.network_list[cnt].plmn,
s_info.plmn_info.network_list[cnt].access_technology,
_tapi_set_plmn_mode_cb, ad);
if (s_info.b_searching_network) {
SETTING_TRACE("Sending tel_cancel_network_manual_search..");
- tapi_ret = tel_cancel_network_manual_search(ad->handle, setting_tapi_cancel_manual_search_cb, ad);
+ tapi_ret = tel_cancel_network_manual_search(ad->handle[0], setting_tapi_cancel_manual_search_cb, ad);
if (tapi_ret != TAPI_API_SUCCESS)
SETTING_TRACE_ERROR("*** [ERR] tel_cancel_network_manual_search. " "tapi_ret=%d ***", tapi_ret);
else
int tapi_ret;
/*searching list */
/*ASYNC API - TAPI_EVENT_NETWORK_SEARCH_CNF */
- tapi_ret = tel_search_network(ad->handle, _tapi_search_network_cb, ad);
+ tapi_ret = tel_search_network(ad->handle[0], _tapi_search_network_cb, ad);
if (tapi_ret != TAPI_API_SUCCESS) { /* error handling.. */
SETTING_TRACE_ERROR(
"%s*** [ERR] tel_search_network. tapi_ret=%d ***%s",
const char *pa_net_name = get_pa_select_network();
char *cur_plmn = NULL;
- tel_get_property_string(ad->handle, TAPI_PROP_NETWORK_PLMN,
+ tel_get_property_string(ad->handle[0], TAPI_PROP_NETWORK_PLMN,
&cur_plmn);
SETTING_TRACE("VCONFKEY_TELEPHONY_NWNAME:pa_net_name:%s",
pa_net_name);
int tapi_ret;
/*searching list */
/*ASYNC API - TAPI_EVENT_NETWORK_SEARCH_CNF */
- tapi_ret = tel_search_network(ad->handle,
+ tapi_ret = tel_search_network(ad->handle[0],
_tapi_search_network_cb, ad);
if (tapi_ret != TAPI_API_SUCCESS) { /* error handling.. */
SETTING_TRACE_ERROR(
/*cancel the searching operation */
if (s_info.b_searching_network) {
int tapi_ret;
- tapi_ret = tel_cancel_network_manual_search(s_info.ad->handle, setting_tapi_cancel_manual_search_cb, NULL);
+ tapi_ret = tel_cancel_network_manual_search(s_info.ad->handle[0], setting_tapi_cancel_manual_search_cb, NULL);
if (tapi_ret != TAPI_API_SUCCESS) {
SETTING_TRACE_ERROR(
"*** [ERR] tel_cancel_network_manual_search. " "tapi_ret=%d ***",
}
if (s_info.b_searching_network) {
SETTING_TRACE("Sending tel_cancel_network_manual_search..");
- int tapi_ret = tel_cancel_network_manual_search(ad->handle,
- setting_tapi_cancel_manual_search_cb, ad);
- if (tapi_ret != TAPI_API_SUCCESS) {
- SETTING_TRACE_ERROR(
- "*** [ERR] tel_cancel_network_manual_search. " "tapi_ret=%d ***",
- tapi_ret);
- } else {
+ int tapi_ret = tel_cancel_network_manual_search(ad->handle[0], setting_tapi_cancel_manual_search_cb, ad);
+ if (tapi_ret != TAPI_API_SUCCESS)
+ SETTING_TRACE_ERROR("*** [ERR] tel_cancel_network_manual_search. " "tapi_ret=%d ***", tapi_ret);
+ else
s_info.b_searching_network = FALSE;
- }
}
/* Restore selection automatically */
char *vconf_name = vconf_keynode_get_name(key);
if (!safeStrCmp(vconf_name, VCONFKEY_TELEPHONY_NWNAME) ||
- !safeStrCmp(vconf_name,
- VCONFKEY_TELEPHONY_SPN_DISP_CONDITION)
- || !safeStrCmp(vconf_name,
- VCONFKEY_TELEPHONY_SPN_NAME)
- || !safeStrCmp(vconf_name,
- VCONFKEY_TELEPHONY_SVCTYPE)) {
+ !safeStrCmp(vconf_name, VCONFKEY_TELEPHONY_SPN_DISP_CONDITION)
+ || !safeStrCmp(vconf_name, VCONFKEY_TELEPHONY_SPN_NAME)
+ || !safeStrCmp(vconf_name, VCONFKEY_TELEPHONY_SVCTYPE)) {
s_info.sel_network = get_pa_select_network();
if (!s_info.sel_network)
s_info.sel_network = strdup(Keystr_UNKNOWN_NETWORK);
- if (0 != vconf_set_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT,
- s_info.sel_net))
+ if (0 != vconf_set_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT, s_info.sel_net))
SETTING_TRACE_ERROR("vconf[%s] set failed");
- if (0 != vconf_set_int(VCONFKEY_SETAPPL_SELECT_OLD_NT_ACT,
- s_info.sel_act))
+ if (0 != vconf_set_int(VCONFKEY_SETAPPL_SELECT_OLD_NT_ACT, s_info.sel_act))
SETTING_TRACE_ERROR("vconf[%s] set failed");
setting_network_update_sel_network(ad);
ui_app_exit();
}
-void setting_tapi_get_plmn_mode_cb(TapiHandle *handle, int result, void *data,
- void *user_data)
+void setting_tapi_get_plmn_mode_cb(TapiHandle *handle, int result, void *data, void *user_data)
{
SETTING_TRACE_BEGIN;
SETTING_TRACE(" - result = 0x%x", result);
- ret_if(!user_data);
- SettingNetwork *ad = user_data;
if (result == TAPI_NETWORK_NO_ERR) {
TelNetworkSelectionMode_t sel;
if (s_info.sel_net != sel) {
s_info.sel_net = sel;
vconf_set_int(VCONFKEY_SETAPPL_SELECT_NETWORK_INT, s_info.sel_net);
- setting_network_update_sel_network(ad);
+ setting_network_update_sel_network(s_info.ad);
}
} else {
}
return def_name;
}
-
-
char *setting_network_get_default_profile_name(int serviceType, SettingNetwork *ad)
{
char *def_name = get_default_profile_name(ad, serviceType);
return &setting_view_network_select_network;
} else {
- setting_view_node_table_register(&setting_view_network_main,
- NULL);
- setting_view_node_table_register(
- &setting_view_network_select_network,
- &setting_view_network_main);
-
- setting_view_node_table_register(&setting_view_network_con,
- &setting_view_network_main);
- setting_view_node_table_register(&setting_view_network_con_list,
- &setting_view_network_con);
- setting_view_node_table_register(
- &setting_network_connection_create_view,
- &setting_view_network_con_list);
- setting_view_node_table_register(
- &setting_view_network_profile_delete,
- &setting_view_network_con_list);
-
+ setting_view_node_table_register(&setting_view_network_main, NULL);
+ setting_view_node_table_register(&setting_view_network_select_network, &setting_view_network_main);
+ setting_view_node_table_register(&setting_view_network_con, &setting_view_network_main);
+ setting_view_node_table_register(&setting_view_network_con_list, &setting_view_network_con);
+ setting_view_node_table_register(&setting_network_connection_create_view, &setting_view_network_con_list);
+ setting_view_node_table_register(&setting_view_network_profile_delete, &setting_view_network_con_list);
setting_view_node_table_register(&setting_view_network_mode, &setting_view_network_main);
return &setting_view_network_main;
}
}
+static bool _tapi_handles_init(SettingNetwork *ad)
+{
+ SETTING_TRACE_BEGIN;
+ int i;
+
+ char **cp_names = tel_get_cp_name_list();
+ if (!cp_names) {
+ dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] cp_names == NULL", __FILE__, __LINE__);
+ return false;
+ }
+
+ for (i = 0; i < MAX_SIM_COUNT; ++i) {
+ ad->handle[i] = tel_init(cp_names[i]);
+ if (!ad->handle[i]) {
+ dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] ad->handle[i] == NULL", __FILE__, __LINE__);
+ continue;
+ }
+ }
+
+ free(cp_names);
+
+ SETTING_TRACE_END;
+ return true;
+}
+
+static void _tapi_handles_deinit(SettingNetwork *ad)
+{
+ int i;
+ for (i = 0; i < MAX_SIM_COUNT; ++i) {
+ if (ad->handle[i] && tel_deinit(ad->handle[i]) != TAPI_API_SUCCESS)
+ SETTING_TRACE_DEBUG("%s*** [ERR] setting_network_unsubscribe_tapi_events. ***%s", SETTING_FONT_RED, SETTING_FONT_BLACK);
+ }
+}
+
static bool on_app_create(void *priv)
{
int ret;
/* init */
ecore_imf_init();
- /*pass NULL to let TAPI access default module */
- ad->handle = tel_init(NULL);
- if (!ad->handle)
- SETTING_TRACE_DEBUG("%s*** [ERR] tel_init. ***%s", SETTING_FONT_RED, SETTING_FONT_BLACK);
+ if (!_tapi_handles_init(ad))
+ dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] Function _tapi_handles_init() failed.", __FILE__, __LINE__);
/* register view node table */
setting_network_mode_app_control(ad);
ad->connection = NULL;
}
- if (ad->handle && tel_deinit(ad->handle) != TAPI_API_SUCCESS) {
- SETTING_TRACE_DEBUG(
- "%s*** [ERR] setting_network_unsubscribe_tapi_events. ***%s",
- SETTING_FONT_RED, SETTING_FONT_BLACK);
- }
+ _tapi_handles_deinit(ad);
+
if (ad->profile_list != NULL) {
eina_list_free(ad->profile_list);
ad->profile_list = NULL;