[UI][DATA] Network search updated. 68/115868/1
authorMichal Skorupinski <m.skorupinsk@samsung.com>
Mon, 20 Feb 2017 11:44:08 +0000 (12:44 +0100)
committerMichal Skorupinski <m.skorupinsk@samsung.com>
Mon, 20 Feb 2017 17:25:10 +0000 (18:25 +0100)
Change-Id: I0a30f9d2b54fb1ce8ec55b28371c9404b1d78053
Signed-off-by: Michal Skorupinski <m.skorupinsk@samsung.com>
setting-network/src/setting-network-select-network.c

index 1f986e15a5fa1e097bccbc5fe851f7092a940594..cfb263ab919b75ef6358ee86a6e9107626694e7e 100644 (file)
@@ -320,7 +320,7 @@ void _register_network_automaticaly(SettingNetwork *ad, Setting_GenGroupItem_Dat
        s_info.sel_net = TAPI_NETWORK_SELECTIONMODE_AUTOMATIC;
        SETTING_TRACE("Sending tel_select_network_automatic..");
 
-       int tapi_ret = tel_select_network_automatic(ad->handle[0], _tapi_set_plmn_mode_cb, ad);
+       int tapi_ret = tel_select_network_automatic(ad->handle[s_info.sim_selected], _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);
@@ -395,7 +395,7 @@ void _register_network_manual(SettingNetwork *ad, Setting_GenGroupItem_Data *lis
        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[0],
+       int tapi_ret = tel_select_network_manual(ad->handle[s_info.sim_selected],
                        s_info.plmn_info.network_list[cnt].plmn,
                        s_info.plmn_info.network_list[cnt].access_technology,
                        _tapi_set_plmn_mode_cb, ad);
@@ -444,7 +444,7 @@ static void _register_network(Setting_GenGroupItem_Data *list_item)
 
        if (s_info.b_searching_network) {
                SETTING_TRACE("Sending tel_cancel_network_manual_search..");
-               tapi_ret = tel_cancel_network_manual_search(ad->handle[0], setting_tapi_cancel_manual_search_cb, ad);
+               tapi_ret = tel_cancel_network_manual_search(ad->handle[s_info.sim_selected], 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
@@ -548,7 +548,7 @@ static Eina_Bool _search_net_on_timer(void *data)
        int tapi_ret;
        /*searching list */
        /*ASYNC API - TAPI_EVENT_NETWORK_SEARCH_CNF */
-       tapi_ret = tel_search_network(ad->handle[0], _tapi_search_network_cb, ad);
+       tapi_ret = tel_search_network(ad->handle[s_info.sim_selected], _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",
@@ -711,6 +711,54 @@ static void _Gendial_select_plmn_cb(void *data, Evas_Object *obj, void *event_in
        }
 }
 
+static void _update_current_network_name(void)
+{
+       SETTING_TRACE_BEGIN;
+       int ret;
+       char *network_name;
+       char *final_text;
+       Elm_Object_Item *item = elm_genlist_nth_item_get(s_info.genlist_sel_network, 1);
+       if (!item) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] item == NULL", __FILE__, __LINE__);
+               return;
+       }
+
+       Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *)elm_object_item_data_get(item);
+       if (!list_item) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "[%s:%d] list_item == NULL", __FILE__, __LINE__);
+               return;
+       }
+
+       ret = tel_get_property_string(s_info.ad->handle[s_info.sim_selected], TAPI_PROP_NETWORK_NETWORK_NAME, &network_name);
+       if(ret != TAPI_API_SUCCESS) {
+               SETTING_TRACE_ERROR("Failed to get network name");
+               return;
+       }
+
+       if (list_item->sub_desc)
+               free(list_item->sub_desc);
+
+       list_item->sub_desc = setting_customize_text(_(network_name), 0, BLUE_COLOR, NULL);
+       elm_genlist_item_update(item);
+
+       dlog_print(DLOG_DEBUG, LOG_TAG, "[%s:%d] <MS> Network name: %s", __FILE__, __LINE__, network_name);
+       SETTING_TRACE_END;
+}
+
+static void _net_auto_search_response_cb(TapiHandle *handle, int result, void *data, void *user_data)
+{
+       SETTING_TRACE_BEGIN;
+       _update_current_network_name();
+       SETTING_TRACE_END;
+}
+
+static void _auto_select_item_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       SETTING_TRACE_BEGIN;
+       tel_select_network_automatic(s_info.ad->handle[s_info.sim_selected], _net_auto_search_response_cb, NULL);
+       SETTING_TRACE_END;
+}
+
 
 /**
  * async api call - searching network list
@@ -748,7 +796,7 @@ static void _tapi_search_network_cb(TapiHandle *handle, int result, void *data,
 
                const char *pa_net_name = get_pa_select_network();
                char *cur_plmn = NULL;
-               tel_get_property_string(ad->handle[0], TAPI_PROP_NETWORK_PLMN,
+               tel_get_property_string(ad->handle[s_info.sim_selected], TAPI_PROP_NETWORK_PLMN,
                                &cur_plmn);
                SETTING_TRACE("VCONFKEY_TELEPHONY_NWNAME:pa_net_name:%s",
                                pa_net_name);
@@ -886,7 +934,7 @@ static void _searching_network(Setting_GenGroupItem_Data *list_item)
        int tapi_ret;
        /*searching list */
        /*ASYNC API - TAPI_EVENT_NETWORK_SEARCH_CNF */
-       tapi_ret = tel_search_network(ad->handle[0],
+       tapi_ret = tel_search_network(ad->handle[s_info.sim_selected],
                        _tapi_search_network_cb, ad);
        if (tapi_ret != TAPI_API_SUCCESS) { /* error handling.. */
                SETTING_TRACE_ERROR(
@@ -1057,10 +1105,32 @@ static void _network_main_gl_mouse_move(void *data, Evas *e, Evas_Object *obj, v
 
 static void _sim_selected_cb(void *data, Evas_Object *obj, void *event_info)
 {
+       Elm_Widget_Item *selected_item = elm_toolbar_selected_item_get(obj);
 
+       if (selected_item == elm_toolbar_first_item_get(obj)) {
+               s_info.sim_selected = 0;
+       } else {
+               s_info.sim_selected = 1;
+       }
+
+       _update_current_network_name();
 }
 
+Setting_GenGroupItem_Data *_add_item_to_list(char *title, setting_call_back_func on_click_cb)
+{
+       char *sub_text = setting_customize_text(_(s_info.sel_network), 0, BLUE_COLOR, NULL);
+
+       Setting_GenGroupItem_Data *item = setting_create_Gendial_field_def(
+                       s_info.genlist_sel_network, &itc_1text_1icon,
+                       on_click_cb, NULL, SWALLOW_Type_INVALID,
+                       NULL, NULL, FALSE, title, sub_text,
+                       _select_network_chk_changed);
 
+       FREE(sub_text);
+       setting_retvm_if(!item, NULL, "Failed to calloc memory");
+
+       return item;
+}
 
 static int _view_create(void *cb)
 {
@@ -1103,40 +1173,9 @@ static int _view_create(void *cb)
        evas_object_event_callback_add(s_info.genlist_sel_network, EVAS_CALLBACK_MOUSE_DOWN, _network_main_gl_mouse_down, NULL);
        evas_object_event_callback_add(s_info.genlist_sel_network, EVAS_CALLBACK_MOUSE_MOVE, _network_main_gl_mouse_move, NULL);
 
-       if (TAPI_NETWORK_SELECTIONMODE_AUTOMATIC == s_info.sel_net) {
-               char *sub_text = setting_customize_text(_(s_info.sel_network), 0, BLUE_COLOR, NULL);
-
-               s_info.data_auto_network_item = setting_create_Gendial_field_def(
-                               s_info.genlist_sel_network, &itc_1text_1icon,
-                               _Gendial_select_plmn_cb, NULL,
-                               SWALLOW_Type_1ICON_1RADIO,
-                               NULL, NULL, TRUE,
-                               "IDS_ST_BODY_SELECT_AUTOMATICALLY", sub_text,
-                               _select_network_chk_changed);
-
-               setting_retvm_if(NULL == s_info.data_auto_network_item,
-                               SETTING_RETURN_FAIL, "Failed to calloc memory");
-               FREE(sub_text);
-
-       } else if (TAPI_NETWORK_SELECTIONMODE_MANUAL == s_info.sel_net) {
-               char *sub_text = setting_customize_text(_(s_info.sel_network), 0, BLUE_COLOR, NULL);
-
-               s_info.data_auto_network_item = setting_create_Gendial_field_def(
-                               s_info.genlist_sel_network, &itc_1text_1icon,
-                               _Gendial_select_plmn_cb, NULL,
-                               SWALLOW_Type_1ICON_1RADIO,
-                               NULL, NULL, FALSE,
-                               "IDS_ST_BODY_SELECT_AUTOMATICALLY", sub_text,
-                               _select_network_chk_changed);
-
-               setting_retvm_if(NULL == s_info.data_auto_network_item,
-                               SETTING_RETURN_FAIL, "Failed to calloc memory");
-
-               FREE(sub_text);
-
-               setting_view_network_select_network.is_create = TRUE;
-               _searching_network(s_info.data_auto_network_item);
-       }
+       _add_item_to_list("Search network", _Gendial_select_plmn_cb);
+       _add_item_to_list("IDS_ST_BODY_SELECT_AUTOMATICALLY", _auto_select_item_cb);
+       _update_current_network_name();
 
        setting_view_network_select_network.is_create = TRUE;
        return SETTING_RETURN_SUCCESS;
@@ -1164,7 +1203,7 @@ static int _view_destroy(void *cb)
        /*cancel the searching operation */
        if (s_info.b_searching_network) {
                int tapi_ret;
-               tapi_ret = tel_cancel_network_manual_search(s_info.ad->handle[0], setting_tapi_cancel_manual_search_cb, NULL);
+               tapi_ret = tel_cancel_network_manual_search(s_info.ad->handle[s_info.sim_selected], 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 ***",
@@ -1328,7 +1367,7 @@ static void _search_network_cancel_cb(void *data, Evas_Object *obj, void *event_
        }
        if (s_info.b_searching_network) {
                SETTING_TRACE("Sending tel_cancel_network_manual_search..");
-               int tapi_ret = tel_cancel_network_manual_search(ad->handle[0], setting_tapi_cancel_manual_search_cb, ad);
+               int tapi_ret = tel_cancel_network_manual_search(ad->handle[s_info.sim_selected], 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