Indent everything with tabs
Probably the most exciting MR you'll ever read. Bonus points if you spot the NSA backdoor hidden among the whitespace changes.
See merge request !90
Store transport properties received by other means
We may receive transport properties while adding a contact, before the first sync connection is made. Store them in the group shared with the contact, flagged as remote properties in the metadata, but don't share them with the contact. Use a version number of zero so any properties synced from the contact will supersede them.
See merge request !92
Allow different identities to have the same contact. #224
Previous fix was incomplete, the DB still had a unique constraint on the author ID column of the contacts table.
See merge request !91
Avoid potential deadlock in TransportKeyManager. #235
See rambling description on the ticket and in the architecture channel...
Fixes#235.
See merge request !79
Don't use external storage for crash/test reports.
Crash/test reports were written to external storage so they could be attached to emails - by putting the information in the body of the email we can avoid needing the WRITE_EXTERNAL_STORAGE permission.
Also updated the email address for crash/test reports.
See merge request !83
Transport properties client. #229
This branch moves support for exchanging transport properties from the sync layer to the client layer.
Local properties are stored in an unshared group. When a contact is added, the latest local properties are copied into a group shared with the contact. Whenever the local properties are updated, they're copied into the groups shared with all contacts.
The transport update messages include a unique device ID that prevents collisions between local and remote messages, and will be used in future for multi-device support.
See merge request !80
Identicons
Closes#120. Part of #82.
I pulled in the identicon code because there is no published library, and also because when I used it for Bote I ended up modifying the code somewhat for my purposes; I expect the same to happen here.
I am not sure what information should be used to seed the identicon. I originally thought of using the public key, but that seemed to change the identicon every single page load (obviously the representation wasn't consistent). Then I tried using the `ContactId`, which was fine until I got to adding an identicon to `AuthorView`: activities that use it are only passed (via Intent) a name, not anything else. Hence `AuthorView` identicons are currently inconsistent with the contact list and conversations.
See merge request !51
This commit renames identicons to avatars in field names, and uses an ImageView
derivative to show the identicons, which should make implementing #214 easier.