Merge "New Pipeline: log structure in dumpsys" into tm-qpr-dev am: dcd865e399
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19744476 Change-Id: I3262589b114354755e4cdbd2f95000006dcede9a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user