diff options
| author | 2023-04-21 02:30:55 +0000 | |
|---|---|---|
| committer | 2023-04-21 02:30:55 +0000 | |
| commit | f7d25db96c20ae95af06ee46ec955c3bd09eb43b (patch) | |
| tree | 87d236c2f88b382fe382c02ce5eb12a72e2d8e17 | |
| parent | 0dd7f1f2372f1e003808f23031ed1351e53cbb9d (diff) | |
| parent | 63920d6dde32b31ea3902650c3004c83ef69c967 (diff) | |
Merge "Add androidx.tracing to sysui" into udc-dev
| -rw-r--r-- | packages/SystemUI/Android.bp | 1 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/util/TraceUtils.kt | 20 |
2 files changed, 13 insertions, 8 deletions
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index 62c6c1df91b2..865b0dfe0ee8 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -173,6 +173,7 @@ android_library { "androidx.palette_palette", "androidx.legacy_legacy-preference-v14", "androidx.leanback_leanback", + "androidx.tracing_tracing", "androidx.slice_slice-core", "androidx.slice_slice-view", "androidx.slice_slice-builders", diff --git a/packages/SystemUI/src/com/android/systemui/util/TraceUtils.kt b/packages/SystemUI/src/com/android/systemui/util/TraceUtils.kt index 64234c205617..41c6b5d8493b 100644 --- a/packages/SystemUI/src/com/android/systemui/util/TraceUtils.kt +++ b/packages/SystemUI/src/com/android/systemui/util/TraceUtils.kt @@ -16,20 +16,22 @@ package com.android.systemui.util -import android.os.Trace +import android.os.Handler import android.os.TraceNameSupplier +import androidx.tracing.Trace /** - * Run a block within a [Trace] section. - * Calls [Trace.beginSection] before and [Trace.endSection] after the passed block. + * Run a block within a [Trace] section. Calls [Trace.beginSection] before and [Trace.endSection] + * after the passed block. If tracing is disabled, it will run the block directly to avoid using an + * unnecessary try-finally block. */ inline fun <T> traceSection(tag: String, block: () -> T): T = - if (Trace.isTagEnabled(Trace.TRACE_TAG_APP)) { - Trace.traceBegin(Trace.TRACE_TAG_APP, tag) + if (Trace.isEnabled()) { + Trace.beginSection(tag) try { block() } finally { - Trace.traceEnd(Trace.TRACE_TAG_APP) + Trace.endSection() } } else { block() @@ -42,8 +44,10 @@ class TraceUtils { } /** - * Helper function for creating a Runnable object that implements TraceNameSupplier. - * This is useful for posting Runnables to Handlers with meaningful names. + * Helper function for creating a [Runnable] that implements [TraceNameSupplier]. This is + * useful when posting to a [Handler] so that the [Runnable] has a meaningful name in the + * trace. Otherwise, the class name of the [Runnable] is used, which is often something like + * `pkg.MyClass$$ExternalSyntheticLambda0`. */ inline fun namedRunnable(tag: String, crossinline block: () -> Unit): Runnable { return object : Runnable, TraceNameSupplier { |