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
This commit is contained in:
Peter Kalauskas
2022-11-22 12:57:40 -08:00
parent 46917e5336
commit ab2c6aa021
2 changed files with 10 additions and 4 deletions

View File

@@ -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());

View File

@@ -51,7 +51,9 @@ public abstract class Pluggable<This> {
*/
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();
}