diff options
| -rw-r--r-- | services/core/java/com/android/server/am/BatteryStatsService.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index b492eddf81d3..eb253ebeaa19 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<ApplicationInfo> 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(); + } } } } |