From e2de8f08d45b2c384a266108489387316e750a87 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Tue, 8 Nov 2011 17:35:28 -0800 Subject: [PATCH] Make operation counts monotonically increase. Bug: 5585704 Change-Id: I5247a68acdb209a4ef0f5aac18944595c295e6ca --- core/java/android/net/NetworkStats.java | 11 +++++++++++ .../com/android/server/net/NetworkStatsService.java | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java index 5c6ef1a9ea..51b290e590 100644 --- a/core/java/android/net/NetworkStats.java +++ b/core/java/android/net/NetworkStats.java @@ -165,6 +165,17 @@ public class NetworkStats implements Parcelable { dest.writeLongArray(operations); } + @Override + public NetworkStats clone() { + final NetworkStats clone = new NetworkStats(elapsedRealtime, size); + NetworkStats.Entry entry = null; + for (int i = 0; i < size; i++) { + entry = getValues(i, entry); + clone.addValues(entry); + } + return clone; + } + // @VisibleForTesting public NetworkStats addIfaceValues( String iface, long rxBytes, long rxPackets, long txBytes, long txPackets) { diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java index 494c655ba0..4f87f0d190 100644 --- a/services/java/com/android/server/net/NetworkStatsService.java +++ b/services/java/com/android/server/net/NetworkStatsService.java @@ -971,8 +971,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { } mLastPollUidSnapshot = uidSnapshot; - mLastPollOperationsSnapshot = mOperations; - mOperations = new NetworkStats(0L, 10); + mLastPollOperationsSnapshot = mOperations.clone(); } /**