Only write network stats when already loaded.
Bug: 5584564 Change-Id: Ife2a68804bf3691e9bccdc167807204bce8a85b2
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user