- Mar 11, 2016
-
-
str4d authored
Includes code from https://github.com/consp1racy/android-support-preference License: Apache License v2.0
-
akwizgran authored
-
- Mar 09, 2016
-
-
akwizgran authored
Fix race condition when closing redundant Bluetooth sockets The Bluetooth invitation code has a race condition: if Alice and Bob connect to each other at roughly the same time, they each consider their outgoing socket to be redundant and close it, resulting in both sockets being closed. This can be triggered pretty reliably by using two phones of the same model and pressing 'Continue' at the same time on both phones. When more than one invitation socket is opened, Alice should pick which one to use and Bob should use whichever one Alice picks, which Bob can detect by trying to read from both sockets. Hopefully the Bluetooth invitation code will be retired when #117 is merged, but I'm putting this up for review in case we need to keep Bluetooth as a fallback method. See merge request !120
-
- Mar 08, 2016
-
-
akwizgran authored
Delete all app data when deleting account. #263 When deleting the user's account, delete everything in the app's persistent storage directory except the libs directory, which is populated with native libs when the app is installed. Fixes #263. See merge request !119
-
- Mar 07, 2016
-
-
Torsten Grote authored
Use client helper in existing clients Use the new ClientHelper to reduce boilerplate in existing clients. Add a BdfMessageValidator superclass for clients that format their messages as BDF lists and their metadata as BDF dictionaries (which all existing clients do). See merge request !115
-
akwizgran authored
-
akwizgran authored
When more than one invitation socket is opened, Alice should pick which one to use and Bob should use whichever one Alice picks. This fixes a race condition where each party picked a different socket and closed the other.
-
- Mar 04, 2016
-
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
BDF improvements * Change the semantics of the BdfList/Dictionary methods with default values so they return the default value if the value is missing, or throw an exception if it the value's present but has the wrong type - this is more useful for validators, which have to deal with optional values without accepting values of the wrong type * Reuse BdfReader/Writer for MetadataParser/Encoder so we don't have two implementations of BDF See merge request !117
-
akwizgran authored
-
akwizgran authored
-
- Mar 03, 2016
-
-
akwizgran authored
-
- Mar 02, 2016
-
-
akwizgran authored
-
- Feb 29, 2016
-
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
Helper class to reduce client boilerplate * Renamed BdfReader methods for consistency with BdfList/BdfDictionary * Added readList() and readDictionary() methods to BdfReader * Added ClientHelper to reduce boilerplate when converting messages and metadata to and from BDF * Moved PrivateGroupFactory to the same package as ClientHelper See merge request !114
-
akwizgran authored
Unit tests for ValidationManagerImpl Unit test for the validation manager. I also changed the way the validation manager loads unvalidated messages - instead of using a single DB task to load all unvalidated messages, it loads a list of message IDs and then loads each message in a separate task. This prevents the DatabaseExecutor from being blocked by a long-running task if there are lots of messages to validate. See merge request !113
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
Torsten Grote authored
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
-
akwizgran authored
-
akwizgran authored
Convert BDF types in lists and dictionaries See merge request !111
-
akwizgran authored
-
- Feb 26, 2016
-
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
-
akwizgran authored
Each task is added to the back of the executor's queue, allowing tasks from other callers to be interleaved.
-
akwizgran authored
-
akwizgran authored
This avoids a potential problem where the app crashes after adding the contact but before adding the transport keys, leaving the contact unusable.
-