Support coroutine tracing in sysui
Also, - Replace CoroutineDispatcher in CoroutinesModule with CoroutineContext. - Use different CoroutineContext in ConditionalRestarter to avoid dependency cycle in CoroutinesModule when referencing FeatureFlagsClassic. Test: adb shell cmd statusbar flag coroutine_tracing off \ adb shell setprop log.tag.TraceUtils V \ adb logcat -s 'TraceUtils' \ 1) Ensure no log messages appear when trace isn't being captured, and 2) Capture perfetto trace, ensure log message appears saying "Experimental flag COROUTINE_TRACING is off." Test: Turn flag on, use new traceCoroutine API on a "@Main CoroutineDispatcher", capture perfetto trace, ensure log message says "Current CoroutineContext is missing TraceContextElement." Test: Turn flag on, capture perfetto trace, take a screenshot, ensure trace sections for "RequestProcessor#..." show the events on the thread the coroutine is executing on, that they stop when the coroutine is suspended, and they start again when it's resumed. Flag: LEGACY COROUTINE_TRACING DISABLED Test: SystemUITests Bug: 289353932 Change-Id: I7a5a4b697e93da73b271fb7c3966df8fc7cc5d15
Loading
Please register or sign in to comment