Commit Graph

105 Commits

Author SHA1 Message Date
akwizgran
2e472c1d16 Added the ability to skip serialised objects. 2013-11-19 21:28:53 +00:00
akwizgran
6764ade475 Delimited structs - this will allow us to skip unrecognised structs. 2013-11-19 18:05:44 +00:00
akwizgran
7b01e42da8 Removed the ability to star messages (unused in UI). 2013-09-27 18:15:43 +01:00
akwizgran
0a153acd02 Removed peer moderation (may be restored after beta testing). 2013-09-27 18:04:27 +01:00
akwizgran
b94954544d Removed restricted groups (may be restored after beta testing). 2013-09-27 15:11:04 +01:00
akwizgran
c868764244 Separate FileUtils implementations for Android and desktop builds.
The method used by Commons IO to get the available disk space fails on
Android devices that lack a df binary - use the Android API instead.
2013-07-27 20:50:05 +01:00
akwizgran
d02266d827 Moved Android-specific plugin code into briar-android project.
This removes the other projects' dependency on the Android API.
2013-06-27 16:26:52 +01:00
akwizgran
3e0c16b59a Removed all uses of JCE so we can use full-strength crypto on all JVMs. 2013-06-17 16:29:46 +01:00
akwizgran
1808ceaf58 Replaced further JCE calls with direct instantiation of SC objects. 2013-06-14 12:22:32 +01:00
akwizgran
3054605a79 Set javac's target version to Java 1.5 in the ant buildfiles. 2013-06-13 18:38:54 +01:00
akwizgran
e1ec17f4b6 Made the invitation protocol symmetrical.
Both devices try to make outgoing connections and accept incoming
connections simultaneously. This should lead to faster connection
establishment when there are asymmetrical connectivity problems, such as
devices that are unable to receive LAN multicast packets or make
themselves discoverable via Bluetooth.
2013-06-13 13:10:22 +01:00
akwizgran
08b11412fb Allow plugins to use different maximum frame lengths. 2013-06-05 14:16:44 +01:00
akwizgran
37e68d5e9e Register the DatabaseUiExecutor for shutdown by the LifecycleManager.
See issue #3612607.
2013-05-16 15:39:41 +01:00
akwizgran
635973c845 Provide earlier feedback in the UI when connecting to a new contact.
Partially addresses issue #3611924.
2013-05-15 18:22:04 +01:00
akwizgran
9e35e96ce4 Removed unnecessary calls to default super constructors. 2013-05-15 12:35:00 +01:00
akwizgran
630cfde81e Executors and Services register themselves with the LifecycleManager.
Fixes issue #3612607.
2013-05-15 12:26:56 +01:00
akwizgran
dddd15cd10 Fixed a race conditon when adding a transport and then an endpoint.
To fix issue #3611966, KeyManagerImpl's handling of TransportAddedEvent
was made asynchronous. This made it possible for a thread to call
KeyManager.endpointAdded() before the KeyManager had asynchronously
handled the TransportAddedEvent from a previous call to
DatabaseComponent.addTransport().
2013-05-14 20:54:23 +01:00
akwizgran
673d7fa0c3 Moved lifecycle management into briar-core and reconfigured executors.
CryptoExecutor and DatabaseExecutor now use bounded thread pools with
unbounded queues, since running too many tasks in parallel is likely to
harm performance; IncomingConnectionExecutor, PluginExecutor and
ReliabilityExecutor use unbounded thread pools with direct handoff,
since their tasks may run indefinitely. There are no longer any bounded
executors, and all executors discard tasks when shutting down, which
fixes issue #3612189.

Responsibility for starting and stopping services has been moved from
BriarService in briar-android to LifecycleManagerImpl in briar-core.
However, BriarService is still responsible for stopping the
Android-specific executors, which is ugly. It would be better if
executors registered themselves with LifecycleManager.
2013-05-04 01:26:11 +01:00
akwizgran
d5720c085f Removed bundle encryption.
Android doesn't currently store bundles persistently, so it's premature
to protect against accidental information leaks through persistent
bundle storage. Protecting against deliberate information leaks by the
OS is probably futile, so there's currently no need for bundle
encryption.
2013-04-30 15:05:23 +01:00
akwizgran
ae76a7935c Moved a couple of annotations from API to core. 2013-04-29 13:15:17 +01:00
akwizgran
2c9ce014a5 Renamed a method and expanded the javadoc to be clear that it blocks. 2013-04-26 18:15:51 +01:00
akwizgran
178c486a4a Put Android plugins and Java SE plugins in separate modules. 2013-04-24 21:09:38 +01:00
akwizgran
927d411045 Upgraded android.jar stub library to match target API version (17). 2013-04-24 11:07:48 +01:00
akwizgran
9e17db5db1 Added activities for managing blog and group subscriptions. 2013-04-18 21:28:04 +01:00
akwizgran
374bff2fb6 UI for setting and entering the password that encrypts the database key. 2013-04-16 14:49:14 +01:00
akwizgran
e343c9f4bb Added PBKDF2 to crypto component. 2013-04-16 12:04:23 +01:00
akwizgran
c5fa3d1841 Removed last connection time from Contact class, tightened up layouts. 2013-04-15 14:51:59 +01:00
akwizgran
da7657ff4d Include author and rating in private message headers. 2013-04-14 21:15:23 +01:00
akwizgran
077efbbea1 Removed an unused database method. 2013-04-14 19:34:50 +01:00
akwizgran
1a8dbd1dbb Added a method to get a list of available but not subscribed groups. 2013-04-13 23:33:21 +01:00
akwizgran
bbdfe30e78 Added a flag for making groups visible to future contacts. 2013-04-13 19:27:39 +01:00
akwizgran
32cf3e24e2 Made reference manager thread safe. 2013-04-13 14:06:26 +01:00
akwizgran
4f58a8aee4 UNRATED rating should have ordinal 0 so it corresponds to SQL NULL. 2013-04-12 20:16:34 +01:00
akwizgran
398f752c34 Added a method for creating local groups. 2013-04-12 10:26:01 +01:00
akwizgran
2daf2bf9d6 Documented the return value of incrementConnectionCounter(). 2013-04-10 00:03:38 +01:00
akwizgran
de472ba2a6 Create an identity at startup if the database doesn't exist. 2013-04-08 16:01:52 +01:00
akwizgran
5b37ff3a0e Simpler key rotation: rotation period R = C + L, retention period = 3R. 2013-04-05 21:15:24 +01:00
akwizgran
b109a94155 Added a factory method for local authors. 2013-04-05 21:13:24 +01:00
akwizgran
84c07a2b9c Code cleanup: remove unnecessary annotations, moved some API constants. 2013-03-31 19:25:24 +01:00
akwizgran
5800949b26 Added spinners for selecting which identity to use.
(Although it isn't possible to create an identity yet...)
2013-03-30 19:18:34 +00:00
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