diff options
Diffstat (limited to 'framework-t/src/android/net/NetworkStatsCollection.java')
| -rw-r--r-- | framework-t/src/android/net/NetworkStatsCollection.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/framework-t/src/android/net/NetworkStatsCollection.java b/framework-t/src/android/net/NetworkStatsCollection.java index b59a890a2a..29ea772bc3 100644 --- a/framework-t/src/android/net/NetworkStatsCollection.java +++ b/framework-t/src/android/net/NetworkStatsCollection.java @@ -694,6 +694,26 @@ public class NetworkStatsCollection implements FileRotator.Reader, FileRotator.W } } + /** + * Remove histories which contains or is before the cutoff timestamp. + * @hide + */ + public void removeHistoryBefore(long cutoffMillis) { + final ArrayList<Key> knownKeys = new ArrayList<>(); + knownKeys.addAll(mStats.keySet()); + + for (Key key : knownKeys) { + final NetworkStatsHistory history = mStats.get(key); + if (history.getStart() > cutoffMillis) continue; + + history.removeBucketsStartingBefore(cutoffMillis); + if (history.size() == 0) { + mStats.remove(key); + } + mDirty = true; + } + } + private void noteRecordedHistory(long startMillis, long endMillis, long totalBytes) { if (startMillis < mStartMillis) mStartMillis = startMillis; if (endMillis > mEndMillis) mEndMillis = endMillis; |
