Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 262e8c82 authored by Peter Kalauskas's avatar Peter Kalauskas Committed by Android (Google) Code Review
Browse files

Merge changes from topic "trace-columbus-b253489562" into tm-qpr-dev

* changes:
  Guard against possible exception when tracing
  TraceUtils updates, new helper for runnables
parents 1a38ab1c ab2c6aa0
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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(
        if (Trace.isEnabled()) {
            Trace.traceBegin(Trace.TRACE_TAG_APP,
                    "MediaControlPanel#bindRecommendation<" + data.getPackageName() + ">");
        }

        mRecommendationData = data;
        mSmartspaceId = SmallHash.hash(data.getTargetId());
+3 −1
Original line number Diff line number Diff line
@@ -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();
        }
+18 −7
Original line number Diff line number Diff line
@@ -22,11 +22,22 @@ import android.os.Trace
 * Run a block within a [Trace] section.
 * Calls [Trace.beginSection] before and [Trace.endSection] after the passed block.
 */
inline fun <T> traceSection(tag: String, block: () -> T): T {
    Trace.beginSection(tag)
inline fun <T> traceSection(tag: String, block: () -> T): T =
        if (Trace.isTagEnabled(Trace.TRACE_TAG_APP)) {
            Trace.traceBegin(Trace.TRACE_TAG_APP, tag)
            try {
        return block()
                block()
            } finally {
        Trace.endSection()
                Trace.traceEnd(Trace.TRACE_TAG_APP)
            }
        } else {
            block()
        }

class TraceUtils {
    companion object {
        inline fun traceRunnable(tag: String, crossinline block: () -> Unit): Runnable {
            return Runnable { traceSection(tag) { block() } }
        }
    }
}