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

Commit 92387775 authored by Lyn Han's avatar Lyn Han Committed by lyn
Browse files

Dedup logs for queued HUNs

Fixes: 394184653
Test: adb
Flag: com.android.systemui.notification_avalanche_throttle_hun
Change-Id: If61393bea63aa0bc72768bd37d19b89d371ccb99
parent 1e35071f
Loading
Loading
Loading
Loading
+16 −27
Original line number Diff line number Diff line
@@ -163,6 +163,7 @@ constructor(
            if (entry in nextMap) nextMap.remove(entry)
            if (entry in nextList) nextList.remove(entry)

            outcome = "add next"
            addToNext(entry, runnable)

            // Shorten headsUpEntryShowing display time
@@ -174,7 +175,7 @@ constructor(
                headsUpEntryShowing!!.updateEntry(
                    /* updatePostTime= */ false,
                    /* updateEarliestRemovalTime= */ false,
                    /* reason= */ "avalanche duration update",
                    /* reason= */ "shorten duration of previously-last HUN",
                )
            }
        }
@@ -402,11 +403,7 @@ constructor(
                    debugRunnableLabelMap.remove(r)
                }
            }
            val queue = ArrayList<String>()
            for (entry in listToDrop) {
                queue.add("[${getKey(entry)}]")
            }
            val dropList = java.lang.String.join("\n", queue)
            val dropList = listToDrop.joinToString("\n ") { getKey(it) }
            headsUpManagerLogger.logDroppedHuns(dropList)
        }
        clearNext()
@@ -432,31 +429,23 @@ constructor(
    // Methods below are for logging only ==========================================================

    private fun getStateStr(): String {
        return "\navalanche state:" +
            "\n\tshowing: [${getKey(headsUpEntryShowing)}]" +
            "\n\tprevious: [$previousHunKey]" +
            "\n\tnext list: $nextListStr" +
            "\n\tnext map: $nextMapStr" +
            "\nBHUM.mHeadsUpEntryMap: " +
            baseEntryMapStr()
        return "\n[AC state]" +
                "\nshow: ${getKey(headsUpEntryShowing)}" +
                "\nprevious: $previousHunKey" +
                "\n$nextStr" +
                "\n[HeadsUpManagerImpl.mHeadsUpEntryMap] " + baseEntryMapStr() + "\n"
    }

    private val nextListStr: String
    private val nextStr: String
        get() {
            val queue = ArrayList<String>()
            for (entry in nextList) {
                queue.add("[${getKey(entry)}]")
            }
            return java.lang.String.join("\n", queue)
            val nextListStr = nextList.joinToString("\n ") { getKey(it) }
            if (nextList.toSet() == nextMap.keys.toSet()) {
                return "next (${nextList.size}):\n $nextListStr"
            }

    private val nextMapStr: String
        get() {
            val queue = ArrayList<String>()
            for (entry in nextMap.keys) {
                queue.add("[${getKey(entry)}]")
            }
            return java.lang.String.join("\n", queue)
            // This should never happen
            val nextMapStr = nextMap.keys.joinToString("\n ") { getKey(it) }
            return "next list (${nextList.size}):\n $nextListStr" +
                    "\nnext map (${nextMap.size}):\n $nextMapStr"
        }

    fun getKey(entry: HeadsUpEntry?): String {
+2 −2
Original line number Diff line number Diff line
@@ -851,11 +851,11 @@ public class HeadsUpManagerImpl

    private String getEntryMapStr() {
        if (mHeadsUpEntryMap.isEmpty()) {
            return "EMPTY";
            return "";
        }
        StringBuilder entryMapStr = new StringBuilder();
        for (HeadsUpEntry entry: mHeadsUpEntryMap.values()) {
            entryMapStr.append("\n\t").append(
            entryMapStr.append("\n ").append(
                    entry.mEntry == null ? "null" : entry.mEntry.getKey());
        }
        return entryMapStr.toString();
+3 −3
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ constructor(@NotificationHeadsUpLog private val buffer: LogBuffer) {
                str3 = outcome
                bool1 = isEnabled
            },
            { "$str1\n\t=> AC[enabled:$bool1] update: $str2\n\t=> $str3" },
            { "$str1\n=> AC[enabled:$bool1] update: $str2\n=> $str3" },
        )
    }

@@ -90,7 +90,7 @@ constructor(@NotificationHeadsUpLog private val buffer: LogBuffer) {
                str3 = outcome
                bool1 = isEnabled
            },
            { "$str1\n\t=> AC[enabled:$bool1] delete: $str2\n\t=> $str3" },
            { "$str1\n=> AC[enabled:$bool1] delete: $str2\n=> $str3" },
        )
    }

@@ -351,7 +351,7 @@ constructor(@NotificationHeadsUpLog private val buffer: LogBuffer) {
    }

    fun logDroppedHuns(entryList: String) {
        buffer.log(TAG, VERBOSE, { str1 = entryList }, { "[AC] Drop HUNs: $str1" })
        buffer.log(TAG, VERBOSE, { str1 = entryList }, { "[AC] dropped:\n $str1" })
    }
}