Commit Graph

665 Commits

Author SHA1 Message Date
akwizgran 3309938467 Massive refactoring to use pseudonyms instead of nicknames for contacts.
The invitation and private messaging UIs are currently broken. Some key
rotation bugs were fixed; others may have been created (unit tests
needed). An encoding for private keys was added. Pseudonyms were moved
out of the messaging package and ratings were moved in.
2013-03-29 19:48:23 +00:00
akwizgran 85700dc985 Store private keys for pseudonyms and restricted groups in the DB. 2013-03-23 17:07:28 +00:00
akwizgran 4e5366509d Android UI for blogs (restricted groups). 2013-03-23 14:30:59 +00:00
akwizgran d5879df6eb Updated javadocs. 2013-03-20 17:33:13 +00:00
akwizgran e32698db6b Use a single thread for DB access from the UI.
The UI may access the DB in response to UI or DB events; to maintain a
consistent view of the DB's contents, the tasks performing these
accesses must be prevented from overlapping, and must produce consistent
results if reordered. A single-threaded executor and latches are used to
prevent tasks from overlapping, without blocking non-UI access to the
DB.
2013-03-18 22:13:21 +00:00
akwizgran b280e4cbcd Removed extraneous information from DB events. 2013-03-18 22:10:16 +00:00
akwizgran 8b6bbd77ab Attach the IDs of expired messages to MessageExpiredEvent. 2013-03-15 16:34:38 +00:00
akwizgran f076a65e0a Removed unused message header constructors. 2013-03-15 00:55:00 +00:00
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 0280ea2aa9 Android UI for peer moderation. 2013-03-12 18:02:21 +00:00
akwizgran d3b742e14c Renamed VerificationExecutor, as it may be used for any crypto task. 2013-03-12 16:19:36 +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 5c7457fff0 Fields of immutable classes should be final. 2013-03-11 16:10:59 +00:00
akwizgran 4d590f4533 Accept any six-digit invitation/confirmation code.
Rejecting codes greater than 2^19 - 1 creates a confusing user
experience.
2013-03-11 10:30:20 +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 882420ebc2 Added a method for getting one contact's private messages from the DB. 2013-03-02 03:31:39 +00:00
akwizgran 71e1dd9acb Changed database cleaning constants to suit smaller devices. 2013-03-01 22:13:08 +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 75cab35864 Added ConnectionListener interface for contact list and supporting code. 2013-02-22 17:36:37 +00:00
akwizgran 2050e11415 Added a contact list and quit button to HelloWorldActivity. 2013-02-19 19:24:12 +00:00
akwizgran 9215537d80 Refactored bundle encryption code. 2013-02-19 00:41:50 +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 b8cf58c426 Key manager should listen for TransportRemovedEvent and erase keys. 2013-02-18 15:55:41 +00:00
akwizgran d1fedaed57 Replaced InvitationManager with a generic ReferenceManager for Android. 2013-02-14 13:04:51 +00:00
akwizgran 6c5cba2768 Fixed a typo. 2013-02-12 20:22:05 +00:00
akwizgran 9bf96d4c5a Converted MessageHeader from an interface to a value class. 2013-02-12 17:42:58 +00:00
akwizgran 96f8e49d64 Added names to contacts, created Contact class in API. 2013-02-12 17:38:49 +00:00
akwizgran d18fc1330b Plugin manager must add transports to the DB before activating them. 2013-02-12 16:04:22 +00:00
akwizgran e0f6948bc4 Fixed injection problems with plugin and reliability modules. 2013-02-12 14:18:43 +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 4c5657321d Retransmission without backoff for messages and updates. 2013-02-06 19:06:14 +00:00
akwizgran 9558bd88df Retransmit messages based on maximum latency of transport. 2013-02-06 15:11:55 +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 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 d7a7e9ab96 Converted UnverifiedMessage from an interface to a value class. 2013-01-30 17:37:18 +00:00
akwizgran ea339e76d6 Added getVisibleSubscriptions() method for managing group visibility. 2013-01-29 17:09:06 +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 81397ef1c2 Added database events for retention updates. 2013-01-29 14:45:05 +00:00
akwizgran c3c349970b Use 'retention' rather than 'expiry' to describe DB's retention period.
This will avoid a name clash when retransmission is implemented.
2013-01-29 14:33:43 +00:00
akwizgran 3e1c41c62f Removed the serialisation reader's internal array of struct readers. 2013-01-28 23:37:44 +00:00
akwizgran 2c27a0251a Database methods for expiry updates and expiry acks. 2013-01-28 23:12:42 +00:00