From 866906591f1d8e2940c9a90452d05665301f2d7f Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Thu, 16 Mar 2023 14:50:54 -0700 Subject: [PATCH] Lock BatteryStats when calling getStartClockTime Bug: 259246845 Test: atest android.cts.statsdatom.batterystats.BatteryUsageStatsTests#testBatteryUsageStatsSinceReset Change-Id: I2849028b13f8eeadd8f732b5ff7847a1bf641f21 --- .../core/java/com/android/server/am/BatteryStatsService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 207c10c44c9bb..2a2e7839288fa 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -822,7 +822,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub final long sessionStart = mBatteryUsageStatsStore .getLastBatteryUsageStatsBeforeResetAtomPullTimestamp(); - final long sessionEnd = mStats.getStartClockTime(); + final long sessionEnd; + synchronized (mStats) { + sessionEnd = mStats.getStartClockTime(); + } final BatteryUsageStatsQuery queryBeforeReset = new BatteryUsageStatsQuery.Builder() .setMaxStatsAgeMs(0)