}
-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;
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;
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;
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
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
{
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);
{
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);
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);
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);
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);
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) {
#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;
{
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);
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;
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,