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

Commit dcd865e3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 3b6bcc70 a1d3e4c2
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -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) {
+4 −4
Original line number Diff line number Diff line
@@ -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(