[UI] Checking the radio of an item with slected network. 11/116311/2
authorMichal Skorupinski <m.skorupinsk@samsung.com>
Thu, 23 Feb 2017 14:21:24 +0000 (15:21 +0100)
committerMichal Skorupinski <m.skorupinsk@samsung.com>
Thu, 23 Feb 2017 14:41:15 +0000 (15:41 +0100)
Change-Id: Ia44904df62dabb1611e79889ada207261f2bcd43
Signed-off-by: Michal Skorupinski <m.skorupinsk@samsung.com>
setting-network/src/setting-network-select-network.c

index 417aef68cf010bf4cd4f29ee9b79d64931000fe4..528bbea80a6e81aefaeea22ec3db0fb11bd09751 100644 (file)
@@ -752,6 +752,45 @@ static void _net_auto_search_response_cb(TapiHandle *handle, int result, void *d
        SETTING_TRACE_END;
 }
 
+static void _mark_selected_network_cb(TapiHandle *handle, int result, void *data, void *user_data)
+{
+       SETTING_TRACE_BEGIN;
+
+       int i = 0;
+       int found_index = -1;
+       TelNetworkIdentity_t *network_list = &s_info.plmn_info[s_info.sim_selected].network_list[0];
+       int num = s_info.plmn_info[s_info.sim_selected].networks_count;
+       TelNetworkServing_t *network = (TelNetworkServing_t *)data;
+       int len = strlen(network->plmn);
+       if (!network) {
+               SETTING_TRACE_ERROR("network == NULL");
+               return;
+       }
+
+       for (i = 0; i < num; ++i) {
+               SETTING_TRACE("Current: (%s) <> List %s(%s)",
+                               network->plmn,
+                               network_list[i].network_name,
+                               network_list[i].plmn);
+
+               if (strlen(network_list[i].plmn) == len && !strncmp(network->plmn, network_list[i].plmn, len)) {
+                       found_index = i;
+                       break;
+               }
+       }
+
+       elm_radio_value_set(s_info.chk_sel, TAPI_NETWORK_SELECTIONMODE_MANUAL + found_index + 1);
+
+       Elm_Object_Item *item = elm_genlist_nth_item_get(s_info.genlist_sel_network, TAPI_NETWORK_SELECTIONMODE_MANUAL + found_index + 1);
+       Setting_GenGroupItem_Data *item_data = elm_object_item_data_get(item);
+       int sel = elm_radio_value_get(item_data->rgd);
+                       SETTING_TRACE("rgd=%s, index=%d; sle=%d", evas_object_type_get(s_info.chk_sel), TAPI_NETWORK_SELECTIONMODE_MANUAL + found_index + 1, sel);
+
+       elm_genlist_realized_items_update(s_info.genlist_sel_network);
+
+       SETTING_TRACE_END;
+}
+
 static bool _fill_network_list(void)
 {
        SETTING_TRACE_BEGIN;
@@ -782,7 +821,6 @@ static bool _fill_network_list(void)
                        cnt++;
 
                memset(name, 0, MAX_COMMON_BUFFER_LEN);
-
                snprintf(name, MAX_COMMON_BUFFER_LEN, "%s", s_info.plmn_info[s_info.sim_selected].network_list[cnt].network_name);
                /*SETTING_TRACE("name:%s", name); */
                char speciliztion[MAX_COMMON_BUFFER_LEN] = { 0, };
@@ -818,6 +856,8 @@ static bool _fill_network_list(void)
        SETTING_TRACE("VCONFKEY_TELEPHONY_NWNAME:pa_net_name:%s", pa_net_name);
        FREE(pa_net_name);
 
+       tel_get_network_serving(s_info.ad->handle[s_info.sim_selected], _mark_selected_network_cb, NULL);
+
        SETTING_TRACE_END;
        return (cnt > 0);
 }