akwizgran 2cd3a3a4f0 Merge branch '112-message-validators' into 'master'
Separate the sync layer from its clients. #112

This patch contains most of the work for #112. MessagingManager and ForumManager have been converted to BSP clients, and the sync layer's message and group formats no longer contain any client-specific data.

Each client has a MessageValidator that's called by the ValidationManager to validate messages belonging to the client. A new MessageValidatedEvent informs listeners when a message has been validated. This required some changes to the UI, especially the notification manager.

While working on the notification manager I realised it was calling Android API methods from background threads, which may be unsafe, and the notification logic was split across BriarService and AndroidNotificationManagerImpl. So I refactored those classes, along with AndroidExecutorImpl, which was using an unnecessary background thread.

Still to do:
* Synchronise blocks, not messages
* Add message type field to message header as per BSP spec
* Convert TransportPropertyManager into a BSP client
* Convert SubscriptionUpdates/Acks into forum client messages


See merge request !64
2016-01-20 14:43:23 +00:00
2015-12-14 16:00:40 +00:00
2015-12-03 12:10:36 +00:00
2015-12-03 16:39:53 +00:00
2015-12-03 12:10:36 +00:00
2015-12-03 12:10:36 +00:00
2015-11-09 10:14:03 +00:00

Briar is a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate. Unlike traditional messaging tools such as email, Twitter or Telegram, Briar doesn't rely on a central server - messages are synchronized directly between the users' devices. If the Internet's down, Briar can sync via Bluetooth or Wi-Fi, keeping the information flowing in a crisis. If the Internet's up, Briar can sync via the Tor network, protecting users and their relationships from surveillance.

Description
Secure messaging, anywhere.
Readme 180 MiB
Languages
Java 97.9%
Kotlin 1.9%