New Pipeline: log structure in dumpsys
Backport the final version from master
Bug: 243819288
Bug: 240299368
Test: manual
Merged-In: I774c444deae8a215921a80946d1d82cf2ad128bf
(cherry picked from commit ef94fc2fc3)
Change-Id: Ib91073c5af4db6c1374b03848708ddbd4650bcf0
This commit is contained in:
@@ -26,10 +26,7 @@ import java.io.PrintWriter
|
||||
class PipelineDumper(pw: PrintWriter) {
|
||||
private val ipw = pw.asIndenting()
|
||||
|
||||
fun print(a: Any?) = ipw.print(a)
|
||||
fun println(a: Any?) = ipw.println(a)
|
||||
fun withIncreasedIndent(b: () -> Unit) = ipw.withIncreasedIndent(b)
|
||||
fun withIncreasedIndent(r: Runnable) = ipw.withIncreasedIndent(r)
|
||||
|
||||
fun dump(label: String, value: Any?) {
|
||||
ipw.print("$label: ")
|
||||
@@ -37,24 +34,26 @@ class PipelineDumper(pw: PrintWriter) {
|
||||
}
|
||||
|
||||
private fun dump(value: Any?) = when (value) {
|
||||
null, is String, is Int -> println(value)
|
||||
null, is String, is Int -> ipw.println(value)
|
||||
is Collection<*> -> dumpCollection(value)
|
||||
else -> {
|
||||
println(value.fullPipelineName)
|
||||
withIncreasedIndent { (value as? PipelineDumpable)?.dumpPipeline(this) }
|
||||
ipw.println(value.fullPipelineName)
|
||||
(value as? PipelineDumpable)?.let {
|
||||
ipw.withIncreasedIndent { it.dumpPipeline(this) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun dumpCollection(values: Collection<Any?>) {
|
||||
println(values.size)
|
||||
withIncreasedIndent { values.forEach { dump(it) } }
|
||||
ipw.println(values.size)
|
||||
ipw.withIncreasedIndent { values.forEach { dump(it) } }
|
||||
}
|
||||
}
|
||||
|
||||
private val Any.bareClassName: String get() {
|
||||
val className = javaClass.name
|
||||
val packageName = javaClass.`package`.name
|
||||
return className.substring(packageName.length + 1)
|
||||
val packagePrefixLength = javaClass.`package`?.name?.length?.plus(1) ?: 0
|
||||
return className.substring(packagePrefixLength)
|
||||
}
|
||||
|
||||
private val Any.barePipelineName: String? get() = when (this) {
|
||||
|
||||
@@ -78,10 +78,10 @@ class RenderStageManager @Inject constructor() : PipelineDumpable {
|
||||
}
|
||||
|
||||
override fun dumpPipeline(d: PipelineDumper) = with(d) {
|
||||
dump("ViewRenderer", viewRenderer)
|
||||
dump("OnAfterRenderListListeners", onAfterRenderListListeners)
|
||||
dump("OnAfterRenderGroupListeners", onAfterRenderGroupListeners)
|
||||
dump("OnAfterRenderEntryListeners", onAfterRenderEntryListeners)
|
||||
dump("viewRenderer", viewRenderer)
|
||||
dump("onAfterRenderListListeners", onAfterRenderListListeners)
|
||||
dump("onAfterRenderGroupListeners", onAfterRenderGroupListeners)
|
||||
dump("onAfterRenderEntryListeners", onAfterRenderEntryListeners)
|
||||
}
|
||||
|
||||
private fun dispatchOnAfterRenderList(
|
||||
|
||||
Reference in New Issue
Block a user