From 7047ec62ab82d68d6ef612348db4ec1f31edcc33 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Thu, 17 Nov 2011 11:59:29 -0800 Subject: [PATCH] Only write network stats when already loaded. Bug: 5584564 Change-Id: Ife2a68804bf3691e9bccdc167807204bce8a85b2 --- .../com/android/server/net/NetworkStatsService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java index b77e67e0fd..871ed682e6 100644 --- a/services/java/com/android/server/net/NetworkStatsService.java +++ b/services/java/com/android/server/net/NetworkStatsService.java @@ -203,6 +203,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub { /** Set of historical {@code xtables} stats for known UIDs. */ private HashMap mUidStats = Maps.newHashMap(); + /** Flag if {@link #mNetworkDevStats} have been loaded from disk. */ + private boolean mNetworkStatsLoaded = false; /** Flag if {@link #mUidStats} have been loaded from disk. */ private boolean mUidStatsLoaded = false; @@ -272,6 +274,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // until actually needed. readNetworkDevStatsLocked(); readNetworkXtStatsLocked(); + mNetworkStatsLoaded = true; } // bootstrap initial stats to prevent double-counting later @@ -322,14 +325,17 @@ public class NetworkStatsService extends INetworkStatsService.Stub { mTeleManager.listen(mPhoneListener, LISTEN_NONE); - writeNetworkDevStatsLocked(); - writeNetworkXtStatsLocked(); + if (mNetworkStatsLoaded) { + writeNetworkDevStatsLocked(); + writeNetworkXtStatsLocked(); + } if (mUidStatsLoaded) { writeUidStatsLocked(); } mNetworkDevStats.clear(); mNetworkXtStats.clear(); mUidStats.clear(); + mNetworkStatsLoaded = false; mUidStatsLoaded = false; }