Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/AvalancheController.kt +21 −18 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ class AvalancheController @Inject constructor( runnable.run() return } val fn = "[$label] => AvalancheController.update ${getKey(entry)}" val fn = "[$label] => AvalancheController.update [${getKey(entry)}]" if (entry == null) { log { "Entry is NULL, stop update." } return; Loading @@ -78,13 +78,13 @@ class AvalancheController @Inject constructor( debugRunnableLabelMap[runnable] = label } if (isShowing(entry)) { log { "$fn => [update showing]" } log { "\n$fn => [update showing]" } runnable.run() } else if (entry in nextMap) { log { "$fn => [update next]" } log { "\n$fn => [update next]" } nextMap[entry]?.add(runnable) } else if (headsUpEntryShowing == null) { log { "$fn => [showNow]" } log { "\n$fn => [showNow]" } showNow(entry, arrayListOf(runnable)) } else { // Clean up invalid state when entry is in list but not map and vice versa Loading Loading @@ -208,24 +208,24 @@ class AvalancheController @Inject constructor( } private fun showNow(entry: HeadsUpEntry, runnableList: MutableList<Runnable>) { log { "show " + getKey(entry) + " backlog size: " + runnableList.size } log { "SHOW: " + getKey(entry) } headsUpEntryShowing = entry runnableList.forEach { if (it in debugRunnableLabelMap) { log { "run runnable from: ${debugRunnableLabelMap[it]}" } log { "RUNNABLE: ${debugRunnableLabelMap[it]}" } } it.run() } } private fun showNext() { log { "showNext" } log { "SHOW NEXT" } headsUpEntryShowing = null if (nextList.isEmpty()) { log { "no more to show!" } log { "NO MORE TO SHOW" } return } Loading Loading @@ -265,41 +265,44 @@ class AvalancheController @Inject constructor( } private fun getStateStr(): String { return "SHOWING: ${getKey(headsUpEntryShowing)}" + "\tNEXT LIST: $nextListStr\tMAP: $nextMapStr" + "\tDROP: $dropSetStr" return "SHOWING: [${getKey(headsUpEntryShowing)}]" + "\nNEXT LIST: $nextListStr" + "\nNEXT MAP: $nextMapStr" + "\nDROPPED: $dropSetStr" } private fun logState(reason: String) { log { "REASON $reason" } log { "\n================================================================================="} log { "STATE $reason" } log { getStateStr() } log { "=================================================================================\n"} } private val dropSetStr: String get() { val queue = ArrayList<String>() for (entry in debugDropSet) { queue.add(getKey(entry)) queue.add("[${getKey(entry)}]") } return java.lang.String.join(" ", queue) return java.lang.String.join("\n", queue) } private val nextListStr: String get() { val queue = ArrayList<String>() for (entry in nextList) { queue.add(getKey(entry)) queue.add("[${getKey(entry)}]") } return java.lang.String.join(" ", queue) return java.lang.String.join("\n", queue) } private val nextMapStr: String get() { val queue = ArrayList<String>() for (entry in nextMap.keys) { queue.add(getKey(entry)) queue.add("[${getKey(entry)}]") } return java.lang.String.join(" ", queue) return java.lang.String.join("\n", queue) } fun getKey(entry: HeadsUpEntry?): String { Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/AvalancheController.kt +21 −18 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ class AvalancheController @Inject constructor( runnable.run() return } val fn = "[$label] => AvalancheController.update ${getKey(entry)}" val fn = "[$label] => AvalancheController.update [${getKey(entry)}]" if (entry == null) { log { "Entry is NULL, stop update." } return; Loading @@ -78,13 +78,13 @@ class AvalancheController @Inject constructor( debugRunnableLabelMap[runnable] = label } if (isShowing(entry)) { log { "$fn => [update showing]" } log { "\n$fn => [update showing]" } runnable.run() } else if (entry in nextMap) { log { "$fn => [update next]" } log { "\n$fn => [update next]" } nextMap[entry]?.add(runnable) } else if (headsUpEntryShowing == null) { log { "$fn => [showNow]" } log { "\n$fn => [showNow]" } showNow(entry, arrayListOf(runnable)) } else { // Clean up invalid state when entry is in list but not map and vice versa Loading Loading @@ -208,24 +208,24 @@ class AvalancheController @Inject constructor( } private fun showNow(entry: HeadsUpEntry, runnableList: MutableList<Runnable>) { log { "show " + getKey(entry) + " backlog size: " + runnableList.size } log { "SHOW: " + getKey(entry) } headsUpEntryShowing = entry runnableList.forEach { if (it in debugRunnableLabelMap) { log { "run runnable from: ${debugRunnableLabelMap[it]}" } log { "RUNNABLE: ${debugRunnableLabelMap[it]}" } } it.run() } } private fun showNext() { log { "showNext" } log { "SHOW NEXT" } headsUpEntryShowing = null if (nextList.isEmpty()) { log { "no more to show!" } log { "NO MORE TO SHOW" } return } Loading Loading @@ -265,41 +265,44 @@ class AvalancheController @Inject constructor( } private fun getStateStr(): String { return "SHOWING: ${getKey(headsUpEntryShowing)}" + "\tNEXT LIST: $nextListStr\tMAP: $nextMapStr" + "\tDROP: $dropSetStr" return "SHOWING: [${getKey(headsUpEntryShowing)}]" + "\nNEXT LIST: $nextListStr" + "\nNEXT MAP: $nextMapStr" + "\nDROPPED: $dropSetStr" } private fun logState(reason: String) { log { "REASON $reason" } log { "\n================================================================================="} log { "STATE $reason" } log { getStateStr() } log { "=================================================================================\n"} } private val dropSetStr: String get() { val queue = ArrayList<String>() for (entry in debugDropSet) { queue.add(getKey(entry)) queue.add("[${getKey(entry)}]") } return java.lang.String.join(" ", queue) return java.lang.String.join("\n", queue) } private val nextListStr: String get() { val queue = ArrayList<String>() for (entry in nextList) { queue.add(getKey(entry)) queue.add("[${getKey(entry)}]") } return java.lang.String.join(" ", queue) return java.lang.String.join("\n", queue) } private val nextMapStr: String get() { val queue = ArrayList<String>() for (entry in nextMap.keys) { queue.add(getKey(entry)) queue.add("[${getKey(entry)}]") } return java.lang.String.join(" ", queue) return java.lang.String.join("\n", queue) } fun getKey(entry: HeadsUpEntry?): String { Loading