Add Wi-Fi state tx/rx transfer 14/13214/3
authortaesub.kim <taesub.kim@samsung.com>
Fri, 29 Nov 2013 07:23:24 +0000 (16:23 +0900)
committertaesub.kim <taesub.kim@samsung.com>
Mon, 2 Dec 2013 23:40:52 +0000 (08:40 +0900)
Change-Id: I937b1653ab596d0758f2ae75296665c5d82e8975
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
include/network-statistics.h
packaging/net-config.spec
src/network-statistics.c
src/wifi-indicator.c

index ba5883a..5149844 100644 (file)
@@ -62,6 +62,7 @@ gboolean netconfig_iface_network_statistics_reset_wifi_total_rx_bytes(NetconfigN
 gboolean netconfig_iface_network_statistics_reset_wifi_last_tx_bytes(NetconfigNetworkStatistics *network_statistics, GError **error);
 gboolean netconfig_iface_network_statistics_reset_wifi_last_rx_bytes(NetconfigNetworkStatistics *network_statistics, GError **error);
 
+gboolean netconfig_wifi_get_bytes_statistics(guint64 *tx, guint64 *rx);
 void netconfig_wifi_statistics_update_powered_off(void);
 
 G_END_DECLS
index 73b886b..8b56095 100644 (file)
@@ -1,6 +1,6 @@
 Name:       net-config
 Summary:    TIZEN Network Configuration Module
-Version:    0.1.90_21
+Version:    0.1.90_22
 Release:    1
 Group:      System/Network
 License:    Apache License Version 2.0
@@ -65,6 +65,7 @@ cp LICENSE.APLv2 %{buildroot}%{_datadir}/license/net-config
 
 vconftool set -t int memory/dnet/state 0 -i
 vconftool set -t int memory/wifi/state 0 -i
+vconftool set -t int memory/wifi/transfer_state 0 -i
 vconftool set -t int memory/wifi/strength 0 -i
 vconftool set -t int memory/wifi/bgscan_mode 0 -i
 
index cf9d3b2..e176d7a 100644 (file)
@@ -124,7 +124,7 @@ static void netconfig_network_statistics_class_init(NetconfigNetworkStatisticsCl
 }
 
 
-static gboolean __netconfig_wifi_get_bytes_statistics(guint64 *tx, guint64 *rx)
+gboolean netconfig_wifi_get_bytes_statistics(guint64 *tx, guint64 *rx)
 {
        gboolean ret = FALSE;
        FILE *fp;
@@ -205,7 +205,7 @@ gboolean netconfig_iface_network_statistics_get_wifi_total_tx_bytes(NetconfigNet
        vconf_get_int(VCONFKEY_NETWORK_WIFI_PKT_TOTAL_SNT, &val);
        tx_bytes = (guint64)val;
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                *total_bytes = (guint64)tx + (guint64)tx_bytes;
        else
                *total_bytes = (guint64)tx_bytes;
@@ -222,7 +222,7 @@ gboolean netconfig_iface_network_statistics_get_wifi_total_rx_bytes(NetconfigNet
        vconf_get_int(VCONFKEY_NETWORK_WIFI_PKT_TOTAL_RCV, &val);
        rx_bytes = (guint64)val;
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                *total_bytes = (guint64)rx + (guint64)rx_bytes;
        else
                *total_bytes = (guint64)rx_bytes;
@@ -244,7 +244,7 @@ gboolean netconfig_iface_network_statistics_get_wifi_last_tx_bytes(NetconfigNetw
                return TRUE;
        }
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                *last_bytes = (((guint64)tx - (guint64)tx_bytes) > (guint64)0) ?
                                ((guint64)tx - (guint64)tx_bytes) : (guint64)0;
        else
@@ -267,7 +267,7 @@ gboolean netconfig_iface_network_statistics_get_wifi_last_rx_bytes(NetconfigNetw
                return TRUE;
        }
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                *last_bytes = (((guint64)rx - (guint64)rx_bytes) > (guint64)0) ?
                                ((guint64)rx - (guint64)rx_bytes) : (guint64)0;
        else
@@ -304,7 +304,7 @@ gboolean netconfig_iface_network_statistics_reset_wifi_total_tx_bytes(NetconfigN
 {
        guint64 tx = 0, rx = 0;
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_TOTAL_SNT, -(int)tx);
        else
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_TOTAL_SNT, 0);
@@ -316,7 +316,7 @@ gboolean netconfig_iface_network_statistics_reset_wifi_total_rx_bytes(NetconfigN
 {
        guint64 tx = 0, rx = 0;
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_TOTAL_RCV, -(int)rx);
        else
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_TOTAL_RCV, 0);
@@ -333,7 +333,7 @@ gboolean netconfig_iface_network_statistics_reset_wifi_last_tx_bytes(NetconfigNe
                return TRUE;
        }
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_LAST_SNT, (int)tx);
        else
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_LAST_SNT, 0);
@@ -350,7 +350,7 @@ gboolean netconfig_iface_network_statistics_reset_wifi_last_rx_bytes(NetconfigNe
                return TRUE;
        }
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE)
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_LAST_RCV, (int)rx);
        else
                vconf_set_int(VCONFKEY_NETWORK_WIFI_PKT_LAST_RCV, 0);
@@ -365,7 +365,7 @@ void netconfig_wifi_statistics_update_powered_off(void)
        guint64 total_tx = 0, total_rx = 0;
        int val = 0;
 
-       if (__netconfig_wifi_get_bytes_statistics(&cur_tx, &cur_rx) != TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&cur_tx, &cur_rx) != TRUE)
                return;
 
        vconf_get_int(VCONFKEY_NETWORK_WIFI_PKT_TOTAL_SNT, &val);
@@ -397,7 +397,7 @@ static void netconfig_wifi_statistics_update_state(
                return;
        }
 
-       if (__netconfig_wifi_get_bytes_statistics(&tx, &rx) != TRUE)
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) != TRUE)
                return;
 
        if (state == NETCONFIG_WIFI_CONNECTED) {
index 5d7d03a..115e08f 100644 (file)
 #include "log.h"
 #include "util.h"
 #include "netdbus.h"
+#include "network-statistics.h"
 #include "netsupplicant.h"
 #include "wifi-indicator.h"
 
 #define VCONFKEY_WIFI_SNR_MIN  -89
 
-#define NETCONFIG_WIFI_INDICATOR_INTERVAL      3
+#define NETCONFIG_WIFI_INDICATOR_INTERVAL      1
+
+static guint64 netconfig_wifi_tx_bytes = 0;
+static guint64 netconfig_wifi_rx_bytes = 0;
 
 static guint netconfig_wifi_indicator_timer = 0;
 
@@ -219,6 +223,7 @@ static gboolean __netconfig_wifi_indicator_monitor(gpointer data)
 {
        int rssi_dbm = 0;
        int pm_state = VCONFKEY_PM_STATE_NORMAL;
+       guint64 tx = 0, rx = 0;
 
        /* In case of LCD off, we don't need to update Wi-Fi indicator */
        vconf_get_int(VCONFKEY_PM_STATE, &pm_state);
@@ -227,6 +232,23 @@ static gboolean __netconfig_wifi_indicator_monitor(gpointer data)
 
        rssi_dbm = netconfig_wifi_get_rssi();
 
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE) {
+               if (netconfig_wifi_tx_bytes < tx) {
+                       if (netconfig_wifi_rx_bytes < rx)
+                               vconf_set_int(VCONFKEY_WIFI_TRANSFER_STATE, VCONFKEY_WIFI_TRANSFER_STATE_TXRX);
+                       else
+                               vconf_set_int(VCONFKEY_WIFI_TRANSFER_STATE, VCONFKEY_WIFI_TRANSFER_STATE_TX);
+               } else {
+                       if (netconfig_wifi_rx_bytes < rx)
+                               vconf_set_int(VCONFKEY_WIFI_TRANSFER_STATE, VCONFKEY_WIFI_TRANSFER_STATE_RX);
+                       else
+                               vconf_set_int(VCONFKEY_WIFI_TRANSFER_STATE, VCONFKEY_WIFI_TRANSFER_STATE_NONE);
+               }
+
+               netconfig_wifi_tx_bytes = tx;
+               netconfig_wifi_rx_bytes = rx;
+       }
+
        __netconfig_wifi_set_rssi_level(rssi_dbm);
 
        return TRUE;
@@ -234,10 +256,20 @@ static gboolean __netconfig_wifi_indicator_monitor(gpointer data)
 
 void netconfig_wifi_indicator_start(void)
 {
+       guint64 tx = 0, rx = 0;
+
        INFO("Start Wi-Fi indicator");
 
        vconf_set_int(VCONFKEY_WIFI_STRENGTH, VCONFKEY_WIFI_STRENGTH_MAX);
 
+       if (netconfig_wifi_get_bytes_statistics(&tx, &rx) == TRUE) {
+               netconfig_wifi_tx_bytes = tx;
+               netconfig_wifi_rx_bytes = rx;
+       } else {
+               netconfig_wifi_tx_bytes = 0;
+               netconfig_wifi_rx_bytes = 0;
+       }
+
        netconfig_start_timer_seconds(
                        NETCONFIG_WIFI_INDICATOR_INTERVAL,
                        __netconfig_wifi_indicator_monitor,