Page MenuHomePhabricator

Enable encrypted notifications coalescing on in Androoid native code.
ClosedPublic

Authored by marcin on Sep 14 2023, 2:29 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 24, 2:55 AM
Unknown Object (File)
Mon, Jun 24, 2:55 AM
Unknown Object (File)
Mon, Jun 24, 2:55 AM
Unknown Object (File)
Mon, Jun 24, 2:55 AM
Unknown Object (File)
Mon, Jun 24, 2:53 AM
Unknown Object (File)
Mon, Jun 24, 2:33 AM
Unknown Object (File)
Thu, Jun 20, 8:49 AM
Unknown Object (File)
Thu, Jun 13, 3:31 PM
Subscribers

Details

Summary

Notification coalescing on Android is done automatically when we pass to NotificationManager.notify() and id that has been passed previously. The OS replaces the previous notification with the new one. That said to support encrypted notifications coalescing we have to:

  1. Always provide brand id field of the notification.
  2. Put the collapseKey in the encrypted notification payload.
  3. One the device look for the collapseKey in the payload after decryption and use it instead of id in case it is present.
Test Plan
  1. Build Android app.
  2. Apply this patch to the keyserver: https://gist.github.com/marcinwasowicz/4a794560ef7cdac30dc15da75918a99d
  3. Test that notifications like chat description update are correctly coalesced.

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

marcin edited the test plan for this revision. (Show Details)
This revision is now accepted and ready to land.Sep 14 2023, 2:53 AM
marcin edited the test plan for this revision. (Show Details)

Rebase before landing