Dedup smart reply updates for bubble flyout
Smart reply updates are not visually interruptive and bubbles should not
show flyout for them, since flyout text remains the same.
1) Modify NoMan.isVisuallyInterruptive to skip evaluation of fields
irrelevant to bubbles
2) Modify NotificationComparator to rank interruptive notifs higher
3) Pipe bool (isInterruptive) from system_process to SysUI
NoMan --- set bool on notif record and ranking
Ranking --- parcel bool for cross-process transport
SysUI notif entry --- get bool from ranking
SysUI bubble data --- on notif entry update, suppress flyout if isInterruptive=false
Considered adding "isInterruptive" bool to StatusBarNotification.
Did not because "visually-interruptive" is additional information that the
system figured out and SBNs should be limited to info from the app.
4) NoMan --- schedule ranking update if interruptive changes for bubble
Fixes: 138755533
Test: manual - send one sms => flyout appears once
Test: manual - send multiple sms in a row => flyout appears for each one
Test: atest FrameworksUiServicesTests
Test: atest NotificationComparatorTest
Test: atest SystemUITests
Change-Id: Id4b855054689ee73a109bb7cd18004531b41f28c
(cherry picked from commit 0dddc61824d091e48962e36939828cae3cde2aa9)
10 files changed