diff options
| author | 2024-04-03 22:41:17 +0000 | |
|---|---|---|
| committer | 2024-04-03 22:49:21 +0000 | |
| commit | b1acbec731c3f8323cba3d3d59e5ff3a2fb3201b (patch) | |
| tree | 300521df37c62743d027cf1a5567dfe6378356eb | |
| parent | 2be4886da1f3bbcfa78e939c37ef49916d7e3a4a (diff) | |
HUN Throttling: update logbuffers
Fixes: 332762792
Test: adb shell device_config override systemui com.android.systemui.notification_throttle_hun true
adb shell cmd statusbar echo -b NotifHeadsUpLog:verbose
adb reboot
adb logcat | grep HeadsUpManager
Flag: ACONFIG notification_throttle_hun DEVELOPMENT
Change-Id: Ie7b98d6edeb723faad4e76a98359c29aedb378df
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/BaseHeadsUpManager.java | 13 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManagerLogger.kt | 68 |
2 files changed, 80 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BaseHeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BaseHeadsUpManager.java index 50de3cba6b59..7bcaf76929aa 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BaseHeadsUpManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BaseHeadsUpManager.java @@ -168,6 +168,8 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { // record mPostTime for AvalancheController sorting headsUpEntry.setEntry(entry); + mLogger.logShowNotificationRequest(entry); + Runnable runnable = () -> { // TODO(b/315362456) log outside runnable too mLogger.logShowNotification(entry); @@ -221,6 +223,8 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { */ public void updateNotification(@NonNull String key, boolean shouldHeadsUpAgain) { HeadsUpEntry headsUpEntry = mHeadsUpEntryMap.get(key); + mLogger.logUpdateNotificationRequest(key, shouldHeadsUpAgain, headsUpEntry != null); + Runnable runnable = () -> { updateNotificationInternal(key, shouldHeadsUpAgain); }; @@ -380,8 +384,11 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { */ protected final void removeEntry(@NonNull String key) { HeadsUpEntry headsUpEntry = mHeadsUpEntryMap.get(key); + mLogger.logRemoveEntryRequest(key); Runnable runnable = () -> { + mLogger.logRemoveEntry(key); + if (headsUpEntry == null) { return; } @@ -554,8 +561,10 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { public void unpinAll(boolean userUnPinned) { for (String key : mHeadsUpEntryMap.keySet()) { HeadsUpEntry headsUpEntry = getHeadsUpEntry(key); - + mLogger.logUnpinEntryRequest(key); Runnable runnable = () -> { + mLogger.logUnpinEntry(key); + setEntryPinned(headsUpEntry, false /* isPinned */); // maybe it got un sticky headsUpEntry.updateEntry(false /* updatePostTime */, "unpinAll"); @@ -858,6 +867,7 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { * Clear any pending removal runnables. */ public void cancelAutoRemovalCallbacks(@Nullable String reason) { + mLogger.logAutoRemoveCancelRequest(this.mEntry, reason); Runnable runnable = () -> { final boolean removed = cancelAutoRemovalCallbackInternal(); @@ -872,6 +882,7 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { public void scheduleAutoRemovalCallback(FinishTimeUpdater finishTimeCalculator, @NonNull String reason) { + mLogger.logAutoRemoveRequest(this.mEntry, reason); Runnable runnable = () -> { long delayMs = finishTimeCalculator.updateAndGetTimeRemaining(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManagerLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManagerLogger.kt index f6154afec273..a30660645990 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManagerLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManagerLogger.kt @@ -58,6 +58,14 @@ class HeadsUpManagerLogger @Inject constructor( }) } + fun logShowNotificationRequest(entry: NotificationEntry) { + buffer.log(TAG, INFO, { + str1 = entry.logKey + }, { + "request: show notification $str1" + }) + } + fun logShowNotification(entry: NotificationEntry) { buffer.log(TAG, INFO, { str1 = entry.logKey @@ -76,6 +84,15 @@ class HeadsUpManagerLogger @Inject constructor( }) } + fun logAutoRemoveRequest(entry: NotificationEntry, reason: String) { + buffer.log(TAG, INFO, { + str1 = entry.logKey + str2 = reason + }, { + "request: reschedule auto remove of $str1 reason: $str2" + }) + } + fun logAutoRemoveRescheduled(entry: NotificationEntry, delayMillis: Long, reason: String) { buffer.log(TAG, INFO, { str1 = entry.logKey @@ -86,6 +103,15 @@ class HeadsUpManagerLogger @Inject constructor( }) } + fun logAutoRemoveCancelRequest(entry: NotificationEntry, reason: String?) { + buffer.log(TAG, INFO, { + str1 = entry.logKey + str2 = reason ?: "unknown" + }, { + "request: cancel auto remove of $str1 reason: $str2" + }) + } + fun logAutoRemoveCanceled(entry: NotificationEntry, reason: String?) { buffer.log(TAG, INFO, { str1 = entry.logKey @@ -95,6 +121,38 @@ class HeadsUpManagerLogger @Inject constructor( }) } + fun logRemoveEntryRequest(key: String) { + buffer.log(TAG, INFO, { + str1 = logKey(key) + }, { + "request: remove entry $str1" + }) + } + + fun logRemoveEntry(key: String) { + buffer.log(TAG, INFO, { + str1 = logKey(key) + }, { + "remove entry $str1" + }) + } + + fun logUnpinEntryRequest(key: String) { + buffer.log(TAG, INFO, { + str1 = logKey(key) + }, { + "request: unpin entry $str1" + }) + } + + fun logUnpinEntry(key: String) { + buffer.log(TAG, INFO, { + str1 = logKey(key) + }, { + "unpin entry $str1" + }) + } + fun logRemoveNotification(key: String, releaseImmediately: Boolean) { buffer.log(TAG, INFO, { str1 = logKey(key) @@ -112,6 +170,16 @@ class HeadsUpManagerLogger @Inject constructor( }) } + fun logUpdateNotificationRequest(key: String, alert: Boolean, hasEntry: Boolean) { + buffer.log(TAG, INFO, { + str1 = logKey(key) + bool1 = alert + bool2 = hasEntry + }, { + "request: update notification $str1 alert: $bool1 hasEntry: $bool2 reason: $str2" + }) + } + fun logUpdateNotification(key: String, alert: Boolean, hasEntry: Boolean) { buffer.log(TAG, INFO, { str1 = logKey(key) |