From a9644fb7a30ac742cd6cc1eb4ac33012ba203935 Mon Sep 17 00:00:00 2001 From: Priya Kohli Date: Mon, 31 Jul 2017 16:00:55 +0530 Subject: [PATCH] Hiding IPv4 field when device doesnt receive IPv4 address from the AP. If device doesn't receives IPv4 as well as IPv6 address, then displaying IPv4 address as 0.0.0.0 Change-Id: I96fa414e79acbd4ef27b9780c1ddfcc4b6eceaa9 Signed-off-by: Priya Kohli --- sources/libraries/Common/common_ip_info.c | 41 ++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/sources/libraries/Common/common_ip_info.c b/sources/libraries/Common/common_ip_info.c index 0c39338..0829366 100755 --- a/sources/libraries/Common/common_ip_info.c +++ b/sources/libraries/Common/common_ip_info.c @@ -27,6 +27,8 @@ #define DEFAULT_PROXY_ADDR "0.0.0.0:80" #define IPV4_LABEL "IPv4" #define IPV6_LABEL "IPv6" +#define IPV4_DEFAULT_ADDR "0.0.0.0" +#define IPV6_DEFAULT_ADDR "::" #define MAX_PORT_NUMBER 65535 #define MAX_LABEL_LENGTH 512 @@ -893,18 +895,28 @@ static void __ip_info_toggle_item_sel_cb(void* data, ip_addr, ip_info_list_data->ip_toggle_item); - ip_info_list_data->ipv4_addr_item = _add_description( - ip_info_list_data->genlist, - IPV4_LABEL, - ip_addr, - ip_info_list_data->ip_addr_item); - - if (g_strcmp0(ipv6_addr, "::")) - ip_info_list_data->ipv6_addr_item = _add_description( + if (g_strcmp0(ip_addr, IPV4_DEFAULT_ADDR) || (!g_strcmp0(ip_addr, IPV4_DEFAULT_ADDR) && !g_strcmp0(ipv6_addr, IPV6_DEFAULT_ADDR))) + ip_info_list_data->ipv4_addr_item = _add_description( ip_info_list_data->genlist, - IPV6_LABEL, - ipv6_addr, - ip_info_list_data->ipv4_addr_item); + IPV4_LABEL, + ip_addr, + ip_info_list_data->ip_addr_item); + + if (g_strcmp0(ipv6_addr, IPV6_DEFAULT_ADDR)) { + if (ip_info_list_data->ipv4_addr_item) + ip_info_list_data->ipv6_addr_item = _add_description( + ip_info_list_data->genlist, + IPV6_LABEL, + ipv6_addr, + ip_info_list_data->ipv4_addr_item); + else + ip_info_list_data->ipv6_addr_item = _add_description( + ip_info_list_data->genlist, + IPV6_LABEL, + ipv6_addr, + ip_info_list_data->ip_addr_item); + + } g_free(ip_addr); ip_addr = NULL; @@ -1185,10 +1197,11 @@ full_ip_info_t *ip_info_append_items(wifi_manager_ap_h ap, const char *pkg_name, ip_info_list_data->ip_addr_item = _add_description(genlist, "IDS_WIFI_BODY_IP_ADDRESS", ip_addr, NULL); - ip_info_list_data->ipv4_addr_item = _add_description(genlist, - IPV4_LABEL, ip_addr, NULL); + if (g_strcmp0(ip_addr, IPV4_DEFAULT_ADDR) || (!g_strcmp0(ip_addr, IPV4_DEFAULT_ADDR) && !g_strcmp0(ipv6_addr, IPV6_DEFAULT_ADDR))) + ip_info_list_data->ipv4_addr_item = _add_description(genlist, + IPV4_LABEL, ip_addr, NULL); - if (g_strcmp0(ipv6_addr, "::")) + if (g_strcmp0(ipv6_addr, IPV6_DEFAULT_ADDR)) ip_info_list_data->ipv6_addr_item = _add_description(genlist, IPV6_LABEL, ipv6_addr, NULL); -- 2.7.4