From 3d1fd422928a599b33839c4f3230bf48504b0159 Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Tue, 30 Aug 2022 17:49:45 -0700 Subject: [PATCH] Reset STATE2_EXTENSIONS_FLAG when unused and on every new buffer Bug: 244500357 Test: atest FrameworksServicesTests:BatteryStatsTests Change-Id: Iaaedf2c47c982855bcc66b2673a6c82281c93d0a --- core/java/com/android/internal/os/BatteryStatsHistory.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/java/com/android/internal/os/BatteryStatsHistory.java b/core/java/com/android/internal/os/BatteryStatsHistory.java index 146af6a34b31d..7001c69f40427 100644 --- a/core/java/com/android/internal/os/BatteryStatsHistory.java +++ b/core/java/com/android/internal/os/BatteryStatsHistory.java @@ -1235,6 +1235,8 @@ public class BatteryStatsHistory { for (Map.Entry entry : mHistoryTagPool.entrySet()) { entry.setValue(entry.getValue() | BatteryStatsHistory.TAG_FIRST_OCCURRENCE_FLAG); } + mMeasuredEnergyHeaderWritten = false; + // Make a copy of mHistoryCur. HistoryItem copy = new HistoryItem(); copy.setTo(cur); @@ -1400,6 +1402,8 @@ public class BatteryStatsHistory { } if (extensionFlags != 0) { cur.states2 |= HistoryItem.STATE2_EXTENSIONS_FLAG; + } else { + cur.states2 &= ~HistoryItem.STATE2_EXTENSIONS_FLAG; } final boolean state2IntChanged = cur.states2 != last.states2; if (state2IntChanged) {