akwizgran
23ab23a931
Attached data to DB events to avoid DB lookups; refactored UI code.
...
Fields in Android UI objects that are accessed from background threads
must be declared volatile. UI objects use data attached to DB events to
avoid DB lookups, which complicates the UI code but should improve
performance.
2013-03-14 22:46:57 +00:00
akwizgran
211950ce66
Added a factory method for unrestricted groups.
2013-03-12 14:42:28 +00:00
akwizgran
be3b0bf4d6
Renamed some factory methods.
2013-03-12 13:59:55 +00:00
akwizgran
89087a32c3
Added new database events to support updating the UI.
2013-03-11 17:33:28 +00:00
akwizgran
056eaa2797
Bluetooth debugging and code cleanup.
...
Generate a random UUID instead of using a fixed UUID. Close sockets when
exceptions are thrown (not doing so can cause problems with subsequent
sockets on Android). Use a semaphore with tryAcquire() instead of a lock
when making alien calls, to avoid possible deadlocks.
2013-03-11 10:39:30 +00:00
akwizgran
666499337c
Mark local messages read when they're added to the database.
2013-03-05 01:52:09 +00:00
akwizgran
d71ec9809d
Android UI for reading a message (text/plain only for now).
2013-03-04 19:45:31 +00:00
akwizgran
a651e8ef73
Removed subject line from wire format, added content type.
2013-03-02 04:45:02 +00:00
akwizgran
43c8cfa248
Explanatory names for MessageFactory methods.
2013-02-28 13:08:35 +00:00
akwizgran
bfd4ee5e9f
Added columns to the DB to support retrieval of message headers.
2013-02-28 12:49:48 +00:00
akwizgran
1e8a8d985d
Added lastConnected timestamp to Contact, for display in contact list.
2013-02-27 15:12:01 +00:00
akwizgran
51db9ce1fd
Encrypt bundles in case the OS writes them to unencrypted storage.
...
Only the bundle contents created by Briar classes are encrypted.
2013-02-18 18:56:00 +00:00
akwizgran
96f8e49d64
Added names to contacts, created Contact class in API.
2013-02-12 17:38:49 +00:00
akwizgran
79fc630ab7
Use mocks rather than real plugins for better coverage of error cases.
2013-02-12 16:25:08 +00:00
akwizgran
d18fc1330b
Plugin manager must add transports to the DB before activating them.
2013-02-12 16:04:22 +00:00
akwizgran
78d6100262
Limit the number of subscriptions per user.
...
This limit is necessary to limit the size of subscription update
packets; it can be lifted when incremental subscription updates are
implemented.
2013-02-07 18:13:58 +00:00
akwizgran
f4675c3edd
Added more DatabaseComponent unit tests, tightened up existing tests.
2013-02-07 00:29:30 +00:00
akwizgran
3af077a4d8
Refactored exponential backoff code out of JdbcDatabase and added tests.
2013-02-06 23:51:23 +00:00
akwizgran
379d6ed220
Retransmission with exponential backoff (untested).
2013-02-06 20:07:08 +00:00
akwizgran
4c5657321d
Retransmission without backoff for messages and updates.
2013-02-06 19:06:14 +00:00
akwizgran
bec8543bfa
Replaced Collections.singletonList() with more concise Arrays.asList().
2013-02-06 15:17:47 +00:00
akwizgran
9558bd88df
Retransmit messages based on maximum latency of transport.
2013-02-06 15:11:55 +00:00
akwizgran
5150737476
Replaced the Status enum with a seen flag and an expiry time.
2013-02-04 17:48:30 +00:00
akwizgran
30a0269652
Code cleanup: import static, use == to compare enum values.
2013-02-01 22:40:36 +00:00
akwizgran
adff37481f
Code cleanup: don't use L for long constants unless it's necessary.
2013-02-01 20:40:57 +00:00
akwizgran
a73d9d05f2
Added getMaxLatency() method to transport plugins.
2013-02-01 20:19:23 +00:00
akwizgran
14177e51f6
Renamed some variables to match renamed classes.
2013-02-01 19:44:43 +00:00
akwizgran
0229d94531
Removed unnecessary fake transport properties from integration test.
2013-02-01 18:11:20 +00:00
akwizgran
520b6da5ac
Exposed message handling methods through DatabaseComponent interface.
2013-01-30 18:23:53 +00:00
akwizgran
9a78071bde
Refactoring: renamed package 'protocol' -> 'messaging'.
2013-01-30 17:48:43 +00:00
akwizgran
c1d2891763
Updated simplex and duplex connections to handle the new packet types.
2013-01-30 15:35:35 +00:00
akwizgran
b4818228c4
Fixed remaining unit tests, refactored tests for refactored classes.
2013-01-30 14:56:28 +00:00
akwizgran
e379f11698
Fixed existing unit tests for DatabaseComponentImpl, and two bugs.
2013-01-30 14:39:13 +00:00
akwizgran
33d0f19f26
Fixed existing unit tests for H2Database; new tests are needed.
2013-01-29 16:43:41 +00:00
akwizgran
7ecda94340
Renamed some methods, fixed SQL typo bugs in JdbcDatabase.
2013-01-29 16:43:13 +00:00
akwizgran
61a6931643
Renamed ContactTransport -> Endpoint, added more database exceptions.
2013-01-29 15:24:34 +00:00
akwizgran
3e1c41c62f
Removed the serialisation reader's internal array of struct readers.
2013-01-28 23:37:44 +00:00
akwizgran
9b98d3c7d6
Added new database events and simplified database locking.
2013-01-25 16:27:50 +00:00
akwizgran
64bf1fbbb1
Part 1 of a major BMP and database refactoring. Tests are broken!
...
The old logic for selecting when to send subscription and transport
updates has been removed and not yet replaced. Subscription times have
been removed from subscription updates. The database expiry time has
been remove from subscription updates and will later get its own update
packet. Transport updates have been broken up into one update per
transport. Acks for subscription and transport updates have been added.
2013-01-25 15:38:37 +00:00
akwizgran
b8247968b6
Code cleanup: import static.
2013-01-17 16:56:58 +00:00
akwizgran
77a5fea5c8
Code and API cleanup for the database component.
2013-01-17 16:28:09 +00:00
akwizgran
50ad1f486e
Removed batches from BMP. Messages are now sent and acked individually.
2013-01-16 22:56:03 +00:00
akwizgran
1d5928be46
Fixed a long-broken test (the return type of a method had changed).
2013-01-03 21:57:03 +00:00
akwizgran
5b02fe96d1
Disable shuffling of contacts when unit testing the modem plugin.
2013-01-03 21:47:16 +00:00
akwizgran
2d6a9fa310
Unit tests for ModemPlugin.
2012-12-16 02:05:39 +00:00
akwizgran
b090a12b7f
Accept phone numbers starting with +.
2012-12-15 22:24:51 +00:00
akwizgran
6dd17a22eb
Converted Group from an interface to an immutable class.
2012-12-15 19:42:00 +00:00
akwizgran
ac0420d276
Unit tests and bug fixes for international dialling.
2012-12-15 16:36:37 +00:00
akwizgran
3b3ab6fd1a
Empty transport configs/properties should be treated the same as nulls.
2012-12-15 16:02:35 +00:00
akwizgran
3e2e7286fe
Wrapped System.currentTimeMillis() and Thread.sleep() for testability.
2012-12-15 04:58:35 +00:00