Hiding IPv4 field when device doesnt receive IPv4 address from the AP. 32/141432/1 submit/tizen/20170801.224410 submit/tizen/20170802.055623
authorPriya Kohli <priya.kohli@samsung.com>
Mon, 31 Jul 2017 10:30:55 +0000 (16:00 +0530)
committerPriya Kohli <priya.kohli@samsung.com>
Mon, 31 Jul 2017 10:30:55 +0000 (16:00 +0530)
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 <priya.kohli@samsung.com>
sources/libraries/Common/common_ip_info.c

index 0c39338..0829366 100755 (executable)
@@ -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);