From ab2c6aa021e9ea7ada1b606ec76b8a24335453cb Mon Sep 17 00:00:00 2001 From: Peter Kalauskas Date: Tue, 22 Nov 2022 12:57:40 -0800 Subject: [PATCH] Guard against possible exception when tracing Trace.beginSection() throws an IllegalArgumentException if section name is longer than 127 chars. Therefore, it shouldn't be used anytime a string name is generated at runtime. Instead, replace with equivalent call to Trace.traceBegin(). Also, guard against StringBuilder GC garbage while tracing. Test: manual Bug: 257075630 Change-Id: Ia3477dc98b7d87f6fcd0c4f2e0aaad976f2203a2 --- .../systemui/media/controls/ui/MediaControlPanel.java | 10 +++++++--- .../collection/listbuilder/pluggable/Pluggable.java | 4 +++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java index 21e64e28ff197..827ac789073ac 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java @@ -458,7 +458,9 @@ public class MediaControlPanel { if (mMediaViewHolder == null) { return; } - Trace.beginSection("MediaControlPanel#bindPlayer<" + key + ">"); + if (Trace.isEnabled()) { + Trace.traceBegin(Trace.TRACE_TAG_APP, "MediaControlPanel#bindPlayer<" + key + ">"); + } mKey = key; mMediaData = data; MediaSession.Token token = data.getToken(); @@ -1179,8 +1181,10 @@ public class MediaControlPanel { return; } - Trace.beginSection( - "MediaControlPanel#bindRecommendation<" + data.getPackageName() + ">"); + if (Trace.isEnabled()) { + Trace.traceBegin(Trace.TRACE_TAG_APP, + "MediaControlPanel#bindRecommendation<" + data.getPackageName() + ">"); + } mRecommendationData = data; mSmartspaceId = SmallHash.hash(data.getTargetId()); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/Pluggable.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/Pluggable.java index 966ab4c61b504..afdadeb74e234 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/Pluggable.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/Pluggable.java @@ -51,7 +51,9 @@ public abstract class Pluggable { */ public final void invalidateList(@Nullable String reason) { if (mListener != null) { - Trace.beginSection("Pluggable<" + mName + ">.invalidateList"); + if (Trace.isEnabled()) { + Trace.traceBegin(Trace.TRACE_TAG_APP, "Pluggable<" + mName + ">.invalidateList"); + } mListener.onPluggableInvalidated((This) this, reason); Trace.endSection(); }