From 07b9cfa7f1d81ecd7e2955103604f50a05f296db Mon Sep 17 00:00:00 2001 From: Max Lv Date: Wed, 18 Nov 2015 14:53:56 +0800 Subject: [PATCH] refine the traffic stat --- src/main/scala/com/github/shadowsocks/Shadowsocks.scala | 6 +++++- .../scala/com/github/shadowsocks/utils/TrafficMonitor.scala | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index 0a9dcd47..3ce10ab7 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -471,7 +471,11 @@ class Shadowsocks // initialize timer val task = new TimerTask { def run() { - TrafficMonitor.update() + if (state == State.CONNECTED) { + TrafficMonitor.update() + } else { + TrafficMonitor.reset() + } val pm = getSystemService(Context.POWER_SERVICE).asInstanceOf[PowerManager] if (pm.isScreenOn) { val trafficStat = getString(R.string.stat_summary).formatLocal(Locale.ENGLISH, diff --git a/src/main/scala/com/github/shadowsocks/utils/TrafficMonitor.scala b/src/main/scala/com/github/shadowsocks/utils/TrafficMonitor.scala index d3b7c478..dd055ed0 100644 --- a/src/main/scala/com/github/shadowsocks/utils/TrafficMonitor.scala +++ b/src/main/scala/com/github/shadowsocks/utils/TrafficMonitor.scala @@ -20,8 +20,8 @@ object TrafficMonitor { var rxTotal: Long = 0 def getTraffic(): Traffic = { - new Traffic(TrafficStats.getUidTxBytes(uid), - TrafficStats.getUidRxBytes(uid), System.currentTimeMillis()) + new Traffic(TrafficStats.getTotalTxBytes - TrafficStats.getUidTxBytes(uid), + TrafficStats.getTotalRxBytes - TrafficStats.getUidRxBytes(uid), System.currentTimeMillis()) } def formatTraffic(n: Long): String = {