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