Only replace new line characters if the wakelock name contains one
The original operation creates new string everytime which is expensive
Bug: 64272195
Test: NA
Change-Id: Id93d588a7d5a6b6c192a057fcd4296bd1c508516
(cherry picked from commit 85291508602120e78918e69f760182d1233df789)
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index cc6b5e1..1d9ef2c 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -3544,7 +3544,12 @@
if (name.indexOf(',') >= 0) {
name = name.replace(',', '_');
}
- name = name.replaceAll("[\\n|\\r]+", "");
+ if (name.indexOf('\n') >= 0) {
+ name = name.replace('\n', '_');
+ }
+ if (name.indexOf('\r') >= 0) {
+ name = name.replace('\r', '_');
+ }
dumpLine(pw, uid, category, WAKELOCK_DATA, name, sb.toString());
}
}