Sort notifs chronologically within a section
SystemUI Section list: media, HUNs, RONs, conversations, alerting,
silent (low), silent (min).
System server: sort only by ranking time
The change to sort more strictly by time revealed some other issues:
- some notifications (like the 'connected to USB' ones) explicitly set
'when' to 0. This is years old behavior, and I now understand why
calculateRankingTime() used to ignore that value. It is now ignoring
it again.
- we need to remove the ranking bump for 'recently made noise' to
maintain a strict time sort
- group proxies - many group summaries (from apps, or our autogrouping)
are underspecified in the time domain - they don't specify a 'when'
value that matches the latest 'when' of their children. therefore we
can no longer just sort groups where their highest ranked member is,
because it's likely to be the underspecified summary. So now we let
the group proxy be the group member with the most useful info.
- we need to treat user initiated jobs like FGS for ranking stability
- we need to make sure silent conversations are still hidden on the
lockscreen if 'hide silent conversations and notifications on the
lockscreen' is set
Test: post a HUN and then a non-HUN noisy notif. validate order while
HUNing and after HUN is complete (swaps back to newest first in
alerting section once it leaves HUN state)
Test: temp turn off autogrouping so the sort order is more visible in
the status bar, start 2 large downloads from the store, verify stability
Test: SectionStyleProviderTest
Test: ConversationCoordinatorTest
Test: ConversationCoordinatorTest
Test: FrameworkUiServiceTests
Test: CtsNotificationTestCases
Test: cts verifier notification tests
Flag: android.app.update_ranking_time DEV
Flag: android.app.sort_by_section_time DEV
Bug: 330193582
Change-Id: Id51f3955b9122e51b6b98016b36746c32a53ac66
Change-Id: I9d2fe7590c1c2d3cc75f5c1c51a8ad7d68b7badb
18 files changed