From 16b0b56c79ee0bd068ce47ce4460c24b5e62311d Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Tue, 3 Jun 2014 17:24:42 -0700 Subject: [PATCH] Force write battery stats after a --history-since. This should help the stats be more consistent across system restarts. Change-Id: If1736608373aada8b55d72ecf80fbbc52bd288bd --- .../java/com/android/server/am/BatteryStatsService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index b492eddf81d31..eb253ebeaa19d 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -669,6 +669,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub int flags = 0; boolean isCheckin = false; boolean noOutput = false; + boolean writeData = false; long historyStart = -1; int reqUid = -1; if (args != null) { @@ -687,6 +688,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub return; } historyStart = Long.parseLong(args[i]); + writeData = true; } else if ("-c".equals(arg)) { isCheckin = true; flags |= BatteryStats.DUMP_INCLUDE_HISTORY; @@ -749,10 +751,16 @@ public final class BatteryStatsService extends IBatteryStats.Stub List apps = mContext.getPackageManager().getInstalledApplications(0); synchronized (mStats) { mStats.dumpCheckinLocked(mContext, pw, apps, flags, historyStart); + if (writeData) { + mStats.writeAsyncLocked(); + } } } else { synchronized (mStats) { mStats.dumpLocked(mContext, pw, flags, reqUid, historyStart); + if (writeData) { + mStats.writeAsyncLocked(); + } } } }