diff options
| author | 2024-02-17 00:09:30 +0000 | |
|---|---|---|
| committer | 2024-03-11 21:10:28 +0000 | |
| commit | 3a2fcbc672a3626fd9ea24115467941f0daa4aae (patch) | |
| tree | 15956515abaaeac017a5e5240dc5f54927cb0d6e /libs/androidfw/StringPool.cpp | |
| parent | c5c5bc557aaf08b5c7b6b82d8cac70f39ccecdf5 (diff) | |
Batch and throttle appear rate of heads up notifications
New class AvalancheController delays heads up notification
appearance during avalanche by intercepting BaseHeadsUpManager events
that handle HUN drawing and removal scheduling:
- showNotification
- updateNotification
- removeEntry
- unpinAll
- removeAutoRemovalCallbacks
- scheduleAutoRemovalCallback
AvalancheController saves these events as a list of runnables per
HeadsUpEntry that run when the HeadsUpEntry is shown.
BaseHeadsUpManager.HeadsUpEntry
- implements hashCode and equals for key-based lookup
- calculateFinishTime uses 1s removal timeout during avalanche
HeadsUpManagerPhone injects AvalancheController into BaseHeadsUpManager.
Bug: 315362456
Test: atest SystemUiRoboTests:AvalancheControllerTest
Test: adb shell device_config override systemui com.android.systemui.notification_throttle_hun true
send multiple HUNs in fast succession
=> HUNs appear 1s after each other in batches
=> Only top-priority HUN per batch is shown
Flag: ACONFIG notification_throttle_hun DEVELOPMENT
Change-Id: I7d97e137609fdee854e5b72013759773070777c8
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions