Only write network stats when already loaded.

Bug: 5584564
Change-Id: Ife2a68804bf3691e9bccdc167807204bce8a85b2
This commit is contained in:
Jeff Sharkey
2011-11-17 11:59:29 -08:00
parent 344b8bfa9e
commit 7047ec62ab

View File

@@ -203,6 +203,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
/** Set of historical {@code xtables} stats for known UIDs. */ /** Set of historical {@code xtables} stats for known UIDs. */
private HashMap<UidStatsKey, NetworkStatsHistory> mUidStats = Maps.newHashMap(); private HashMap<UidStatsKey, NetworkStatsHistory> 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. */ /** Flag if {@link #mUidStats} have been loaded from disk. */
private boolean mUidStatsLoaded = false; private boolean mUidStatsLoaded = false;
@@ -272,6 +274,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
// until actually needed. // until actually needed.
readNetworkDevStatsLocked(); readNetworkDevStatsLocked();
readNetworkXtStatsLocked(); readNetworkXtStatsLocked();
mNetworkStatsLoaded = true;
} }
// bootstrap initial stats to prevent double-counting later // bootstrap initial stats to prevent double-counting later
@@ -322,14 +325,17 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
mTeleManager.listen(mPhoneListener, LISTEN_NONE); mTeleManager.listen(mPhoneListener, LISTEN_NONE);
writeNetworkDevStatsLocked(); if (mNetworkStatsLoaded) {
writeNetworkXtStatsLocked(); writeNetworkDevStatsLocked();
writeNetworkXtStatsLocked();
}
if (mUidStatsLoaded) { if (mUidStatsLoaded) {
writeUidStatsLocked(); writeUidStatsLocked();
} }
mNetworkDevStats.clear(); mNetworkDevStats.clear();
mNetworkXtStats.clear(); mNetworkXtStats.clear();
mUidStats.clear(); mUidStats.clear();
mNetworkStatsLoaded = false;
mUidStatsLoaded = false; mUidStatsLoaded = false;
} }