summaryrefslogtreecommitdiffstats
path: root/telephony
diff options
context:
space:
mode:
authorKazuhiro Ondo <kazuhiro.ondo@motorola.com>2011-05-24 02:56:08 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-05-24 02:56:08 -0700
commiteb1fbf7a4516dcb44bf5acb2e17ae5955db2afdb (patch)
tree0ee428f9142c54099750ec506985a7d11c149e50 /telephony
parentcb3fad5cbeffd876057921ddae3752a740fb7590 (diff)
parent8e1f6eceb3fbdb478e83f14d021a77ee339ffb2e (diff)
downloadframeworks_base-eb1fbf7a4516dcb44bf5acb2e17ae5955db2afdb.zip
frameworks_base-eb1fbf7a4516dcb44bf5acb2e17ae5955db2afdb.tar.gz
frameworks_base-eb1fbf7a4516dcb44bf5acb2e17ae5955db2afdb.tar.bz2
am 8e1f6ece: am 4c88be65: GSM DCT: Update poll stats to support multi-links
* commit '8e1f6eceb3fbdb478e83f14d021a77ee339ffb2e': GSM DCT: Update poll stats to support multi-links
Diffstat (limited to 'telephony')
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java26
1 files changed, 23 insertions, 3 deletions
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
index 564f001..ec37b68 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
@@ -1232,10 +1232,30 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
preTxPkts = mTxPkts;
preRxPkts = mRxPkts;
- mTxPkts = TrafficStats.getMobileTxPackets();
- mRxPkts = TrafficStats.getMobileRxPackets();
+ long txSum = 0, rxSum = 0;
+ for (ApnContext apnContext : mApnContexts.values()) {
+ if (apnContext.getState() == State.CONNECTED) {
+ DataConnectionAc dcac = apnContext.getDataConnectionAc();
+ if (dcac == null) continue;
+
+ LinkProperties linkProp = dcac.getLinkPropertiesSync();
+ if (linkProp == null) continue;
+
+ String iface = linkProp.getInterfaceName();
+
+ if (iface != null) {
+ long stats = TrafficStats.getTxPackets(iface);
+ if (stats > 0) txSum += stats;
+ stats = TrafficStats.getRxPackets(iface);
+ if (stats > 0) rxSum += stats;
+ }
+ }
+ }
+
+ mTxPkts = txSum;
+ mRxPkts = rxSum;
- //log("rx " + String.valueOf(rxPkts) + " tx " + String.valueOf(txPkts));
+ // log("tx " + mTxPkts + " rx " + mRxPkts);
if (mNetStatPollEnabled && (preTxPkts > 0 || preRxPkts > 0)) {
sent = mTxPkts - preTxPkts;