From 0d1965421d0389b1ab8dfa06df755d2fbff81792 Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Thu, 31 Mar 2022 11:57:51 -0700 Subject: [PATCH] Truncate battery history tags and remove Log.wtf Bug: 216559196 Test: atest FrameworksCoreTests:BatteryStatsTests Change-Id: I252ef24e1bbf9fb9210b3830dd37277de92c763d --- .../com/android/internal/os/BatteryStatsImpl.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 4b2034799d41..e4dec563f580 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -719,7 +719,7 @@ public class BatteryStatsImpl extends BatteryStats { int mNumHistoryItems; private static final int HISTORY_TAG_INDEX_LIMIT = 0x7ffe; - private static final int MAX_HISTORY_TAG_STRING_LENGTH = 256; + private static final int MAX_HISTORY_TAG_STRING_LENGTH = 1024; final HashMap mHistoryTagPool = new HashMap<>(); private SparseArray mHistoryTags; @@ -3970,6 +3970,12 @@ public class BatteryStatsImpl extends BatteryStats { Slog.wtfStack(TAG, "writeHistoryTag called with null name"); } + final int stringLength = tag.string.length(); + if (stringLength > MAX_HISTORY_TAG_STRING_LENGTH) { + Slog.e(TAG, "Long battery history tag: " + tag.string); + tag.string = tag.string.substring(0, MAX_HISTORY_TAG_STRING_LENGTH); + } + Integer idxObj = mHistoryTagPool.get(tag); int idx; if (idxObj != null) { @@ -3986,11 +3992,6 @@ public class BatteryStatsImpl extends BatteryStats { tag.poolIdx = idx; mHistoryTagPool.put(key, idx); mNextHistoryTagIdx++; - final int stringLength = key.string.length(); - - if (stringLength > MAX_HISTORY_TAG_STRING_LENGTH) { - Slog.wtf(TAG, "Long battery history tag: " + key.string); - } mNumHistoryTagChars += stringLength + 1; if (mHistoryTags != null) {