Commit Graph

429 Commits

Author SHA1 Message Date
akwizgran 9e0add7d4c Renamed BdfWriter methods, added support for NULL_VALUE. 2016-02-29 14:23:49 +00:00
akwizgran 3ce62818aa Renamed BdfReader methods, added convenience methods. 2016-02-29 14:23:49 +00:00
Torsten Grote 9dec498e7e Merge branch 'add-contact-transaction' into 'master'
Add contact and transport keys in the same transaction

This avoids a potential problem where the app crashes after adding the contact but before adding the transport keys, leaving the contact unusable.

See merge request !112
2016-02-29 14:07:33 +00:00
akwizgran e3374b7584 Rename BDF methods. 2016-02-29 11:57:42 +00:00
akwizgran 5045b58e01 Explicitly check array lengths. 2016-02-29 11:51:16 +00:00
akwizgran e28dc17881 Helper methods and unit tests for BdfList/Dictionary. 2016-02-26 16:27:24 +00:00
akwizgran 476b1edbad Unit tests for ValidationManagerImpl. 2016-02-26 14:16:25 +00:00
akwizgran b8cf508b0c Moved ImmediateExecutor out of plugins package. 2016-02-26 14:16:09 +00:00
akwizgran 1d89c6cebc Add contact and transport keys in the same transaction.
This avoids a potential problem where the app crashes after adding the contact but before adding the transport keys, leaving the contact unusable.
2016-02-26 10:57:32 +00:00
akwizgran fee4beae63 Merge branch '252-lan-polling' into 'master'
New polling logic for LAN. #252

Same approach as !104. Modified the poller to cancel any scheduled poll when pollNow() is called and randomise the next polling interval so plugins that call pollNow() at the same time don't end up polling in sync.

Depends on !104. Fixes #252.

See merge request !105
2016-02-24 20:11:54 +00:00
akwizgran d829d4711b Merge branch '251-bluetooth-polling' into 'master'
New polling logic for Bluetooth. #251

Increase the polling interval exponentially each time polling is unsuccessful, up to a maximum of 60 minutes. The interval is reset to 2 minutes whenever a connection is made and whenever Bluetooth is re-enabled.

This should reduce battery usage when there are no contacts nearby.

Fixes #251.

See merge request !104
2016-02-24 20:08:05 +00:00
akwizgran 5ce8927477 New polling logic for LAN (and WAN). #252
Same exponential backoff approach as Bluetooth.
2016-02-22 13:25:07 +00:00
akwizgran c081c08ff5 New polling logic for Bluetooth. #251
The polling interval increases exponentially each time polling is unsuccessful, up to a maximum of 60 minutes. The interval is reset to 2 minutes whenever a connection is made and whenever Bluetooth is re-enabled.
2016-02-22 13:21:05 +00:00
akwizgran 247ee7eba0 Unit tests for TransportKeyManager. 2016-02-19 13:22:04 +00:00
akwizgran 8a20f330be Broadcast status event when active contact is added. 2016-02-19 12:10:44 +00:00
akwizgran b7dc13ab53 Added unit test for setting contact active. 2016-02-18 10:10:12 +00:00
akwizgran a6baa5821e Added active flag to contacts. 2016-02-17 18:10:52 +00:00
akwizgran 6b76b75d08 More efficient database joins.
Don't keep message status rows for groups that are invisible to the contact - this avoids the need to join the groupVisibilities table when selecting messages to offer or send. Add or remove status rows when group visibility changes.
2016-02-17 17:24:44 +00:00
akwizgran e979f17e45 Execute test tasks in a deterministic order. 2016-02-17 17:24:43 +00:00
akwizgran 9f8baab60f Code cleanup. 2016-02-11 16:26:23 +00:00
akwizgran 074892b677 StorageStatus is no longer needed. 2016-02-11 16:26:23 +00:00
akwizgran 146dac056d Broadcast events after committing transactions. 2016-02-11 16:26:22 +00:00
akwizgran de8cc50fb4 Moved transactions out of database component. 2016-02-11 16:26:19 +00:00
akwizgran ef2b2b9710 Removed unneeded visibility methods. 2016-02-11 16:21:53 +00:00
akwizgran 3fa1bbe33e Expose transactions through DatabaseComponent interface. 2016-02-11 16:21:53 +00:00
akwizgran 675ce4bfef Removed direct calls to DB's contact/identity methods. 2016-02-11 16:21:52 +00:00
akwizgran 0c392e8b78 Replaced PacketWriter methods with a constant. 2016-02-11 16:21:26 +00:00
akwizgran a91d500263 Added method for deleting metadata. 2016-02-10 14:01:55 +00:00
akwizgran 00275e260f Allow messages to be deleted. 2016-02-10 14:01:55 +00:00
akwizgran 18db17bf5b Moved subscription updates to the client layer. 2016-02-10 10:47:30 +00:00
akwizgran fd99dd7573 Updated a unit test for storing settings. 2016-02-10 10:47:29 +00:00
akwizgran 225d0ebeef DB interface cleanup, removed unnecessary exceptions. 2016-02-10 10:47:29 +00:00
akwizgran 3837efca6b Updated group-related events and exceptions. 2016-02-10 10:47:26 +00:00
akwizgran 9d537dce00 Removed contact subscriptions from database. 2016-02-10 10:46:41 +00:00
akwizgran 9fdc510843 Removed SubscriptionUpdate and SubscriptionAck. 2016-02-10 10:46:41 +00:00
Torsten Grote d0ab16de2d Merge branch 'merge-settings' into 'master'
Fix a couple of bugs in settings

1. SettingsFragment wasn't receiving events because it extended BaseFragment rather than BaseEventFragment
2. Removed broken logic for deciding whether to broadcast a SettingsUpdatedEvent
3. Added the namespace to SettingsUpdatedEvent so listeners can decide whether to react

See merge request !97
2016-02-09 16:55:42 +00:00
Torsten Grote b1cb39e88c Merge branch 'validation-hooks' into 'master'
Run hooks when messages are validated

This patch allows clients to respond to messages reliably. Like the hooks for adding/removing contacts/identities, these hooks may be run more than once - that will be fixed when we have client-layer transactions.

See merge request !95
2016-02-09 16:48:49 +00:00
akwizgran 3d948ed461 Don't broadcast an event unless settings have changed. 2016-02-08 11:17:45 +00:00
akwizgran 4decdbf3e6 Giant whitespace-only indentation patch. 2016-02-05 14:54:17 +00:00
akwizgran 741571bdb8 Run hooks when messages are validated. 2016-02-05 12:08:48 +00:00
akwizgran 3697fc6eb1 Allow different identities to have the same contact. 2016-02-02 17:00:54 +00:00
akwizgran 933eee1826 Merge branch '117-bqp-crypto' into 'master'
BQP crypto

This implements the `CryptoComponent` methods necessary for BQP.

Part of #117.

See merge request !88
2016-02-02 15:34:26 +00:00
akwizgran 86a814786a Merge branch 'remove-old-build-files' into 'master'
Remove Ant build files and Eclipse project files.

No longer needed for building or testing, and a pain to maintain.

See merge request !87
2016-02-02 10:48:24 +00:00
str4d c822623677 Migrate Bluetooth protocol to BQP's master secret derivation 2016-02-02 02:45:49 +00:00
str4d 77e4ec381a Implement BQP crypto 2016-02-02 02:45:49 +00:00
str4d 4d7a23779a Rename crypto methods and constants for Bluetooth key agreement 2016-02-02 02:45:49 +00:00
akwizgran e14ff46356 Removed Ant build files and Eclipse project files. 2016-01-29 14:47:27 +00:00
akwizgran e76aef3dc8 Unshared messages. 2016-01-29 13:45:22 +00:00
akwizgran 0fd8a67ee0 Allow multiple identities to have the same contact. #224 2016-01-28 15:57:22 +00:00
akwizgran ce9a81ff98 Merge branch '218-remove-unicode-from-tests' into 'master'
Remove unescaped Unicode from tests. #218

Fixes #218.

See merge request !81
2016-01-28 15:12:20 +00:00