diff options
author | Kazuhiro Ondo <kazuhiro.ondo@motorola.com> | 2011-05-24 02:56:08 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-05-24 02:56:08 -0700 |
commit | eb1fbf7a4516dcb44bf5acb2e17ae5955db2afdb (patch) | |
tree | 0ee428f9142c54099750ec506985a7d11c149e50 /telephony | |
parent | cb3fad5cbeffd876057921ddae3752a740fb7590 (diff) | |
parent | 8e1f6eceb3fbdb478e83f14d021a77ee339ffb2e (diff) | |
download | frameworks_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.java | 26 |
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; |