Merge "New Pipeline: log structure in dumpsys" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2022-09-06 20:27:49 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 14 deletions

View File

@@ -26,10 +26,7 @@ import java.io.PrintWriter
class PipelineDumper(pw: PrintWriter) { class PipelineDumper(pw: PrintWriter) {
private val ipw = pw.asIndenting() private val ipw = pw.asIndenting()
fun print(a: Any?) = ipw.print(a)
fun println(a: Any?) = ipw.println(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?) { fun dump(label: String, value: Any?) {
ipw.print("$label: ") ipw.print("$label: ")
@@ -37,24 +34,26 @@ class PipelineDumper(pw: PrintWriter) {
} }
private fun dump(value: Any?) = when (value) { 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) is Collection<*> -> dumpCollection(value)
else -> { else -> {
println(value.fullPipelineName) ipw.println(value.fullPipelineName)
withIncreasedIndent { (value as? PipelineDumpable)?.dumpPipeline(this) } (value as? PipelineDumpable)?.let {
ipw.withIncreasedIndent { it.dumpPipeline(this) }
}
} }
} }
private fun dumpCollection(values: Collection<Any?>) { private fun dumpCollection(values: Collection<Any?>) {
println(values.size) ipw.println(values.size)
withIncreasedIndent { values.forEach { dump(it) } } ipw.withIncreasedIndent { values.forEach { dump(it) } }
} }
} }
private val Any.bareClassName: String get() { private val Any.bareClassName: String get() {
val className = javaClass.name val className = javaClass.name
val packageName = javaClass.`package`.name val packagePrefixLength = javaClass.`package`?.name?.length?.plus(1) ?: 0
return className.substring(packageName.length + 1) return className.substring(packagePrefixLength)
} }
private val Any.barePipelineName: String? get() = when (this) { private val Any.barePipelineName: String? get() = when (this) {

View File

@@ -78,10 +78,10 @@ class RenderStageManager @Inject constructor() : PipelineDumpable {
} }
override fun dumpPipeline(d: PipelineDumper) = with(d) { override fun dumpPipeline(d: PipelineDumper) = with(d) {
dump("ViewRenderer", viewRenderer) dump("viewRenderer", viewRenderer)
dump("OnAfterRenderListListeners", onAfterRenderListListeners) dump("onAfterRenderListListeners", onAfterRenderListListeners)
dump("OnAfterRenderGroupListeners", onAfterRenderGroupListeners) dump("onAfterRenderGroupListeners", onAfterRenderGroupListeners)
dump("OnAfterRenderEntryListeners", onAfterRenderEntryListeners) dump("onAfterRenderEntryListeners", onAfterRenderEntryListeners)
} }
private fun dispatchOnAfterRenderList( private fun dispatchOnAfterRenderList(