Commit Graph

376 Commits

Author SHA1 Message Date
akwizgran
c8fed348f0 Merge branch '263-delete-all-the-things' into 'master'
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
2016-03-08 09:37:24 +00:00
akwizgran
5998412a8a Use ClientHelper in PrivateMessageFactoryImpl. 2016-03-04 21:10:52 +00:00
akwizgran
d342594313 Use ClientHelper in ForumPostFactoryImpl. 2016-03-04 21:10:52 +00:00
akwizgran
30c3a33a0a Delete all app data when deleting account. #263 2016-03-03 16:23:10 +00:00
akwizgran
08099714ba Bumped expiry date to 1 April 2016. 2016-03-02 09:58:23 +00:00
akwizgran
d8079b1841 Fixed race condition in descriptor publication.
If two contacts publish their descriptors simultaneously, they may both stop polling without retrieving each other's descriptors. Continue polling for 2 intervals after publishing the descriptor.
2016-02-25 10:10:57 +00:00
akwizgran
066285b86a New polling logic for Tor. #250
Poll for outgoing connections each time the network is enabled, then disable polling once our hidden service descriptor has been published.
2016-02-25 10:10:57 +00:00
akwizgran
fee4beae63 Merge branch '252-lan-polling' into 'master'
New polling logic for LAN. #252

Same approach as !104. Modified the poller to cancel any scheduled poll when pollNow() is called and randomise the next polling interval so plugins that call pollNow() at the same time don't end up polling in sync.

Depends on !104. Fixes #252.

See merge request !105
2016-02-24 20:11:54 +00:00
akwizgran
d829d4711b Merge branch '251-bluetooth-polling' into 'master'
New polling logic for Bluetooth. #251

Increase the polling interval exponentially each time polling is unsuccessful, up to a maximum of 60 minutes. The interval is reset to 2 minutes whenever a connection is made and whenever Bluetooth is re-enabled.

This should reduce battery usage when there are no contacts nearby.

Fixes #251.

See merge request !104
2016-02-24 20:08:05 +00:00
akwizgran
000936b7a2 Return the empty string instead of the fake address. 2016-02-24 20:03:04 +00:00
akwizgran
9789c0ff52 Try to use the real Bluetooth address on Android 6. #225 2016-02-23 11:53:54 +00:00
akwizgran
5ce8927477 New polling logic for LAN (and WAN). #252
Same exponential backoff approach as Bluetooth.
2016-02-22 13:25:07 +00:00
akwizgran
c081c08ff5 New polling logic for Bluetooth. #251
The polling interval increases exponentially each time polling is unsuccessful, up to a maximum of 60 minutes. The interval is reset to 2 minutes whenever a connection is made and whenever Bluetooth is re-enabled.
2016-02-22 13:21:05 +00:00
akwizgran
a6baa5821e Added active flag to contacts. 2016-02-17 18:10:52 +00:00
akwizgran
525c323c1c Fixed race between loadHeaders() and loadAvailable(). 2016-02-10 10:47:30 +00:00
akwizgran
6e1ec41d21 Handle events that affect list of available forums. 2016-02-10 10:47:30 +00:00
akwizgran
18db17bf5b Moved subscription updates to the client layer. 2016-02-10 10:47:30 +00:00
akwizgran
3837efca6b Updated group-related events and exceptions. 2016-02-10 10:47:26 +00:00
akwizgran
299a541dee Set category and visibility of notifications. #241 2016-02-10 10:31:31 +00:00
Torsten Grote
d0ab16de2d Merge branch 'merge-settings' into 'master'
Fix a couple of bugs in settings

1. SettingsFragment wasn't receiving events because it extended BaseFragment rather than BaseEventFragment
2. Removed broken logic for deciding whether to broadcast a SettingsUpdatedEvent
3. Added the namespace to SettingsUpdatedEvent so listeners can decide whether to react

See merge request !97
2016-02-09 16:55:42 +00:00
akwizgran
3d948ed461 Don't broadcast an event unless settings have changed. 2016-02-08 11:17:45 +00:00
akwizgran
b63961727d Removed unused injection. 2016-02-05 18:48:42 +00:00
akwizgran
408776f5d3 Use settings manager. 2016-02-05 18:46:18 +00:00
akwizgran
bdc17dfc8e Fixed a couple of bugs in settings. 2016-02-05 18:22:37 +00:00
akwizgran
26fecba77f Don't use ReferenceManager for forum post author. #243 2016-02-03 21:25:34 +00:00
akwizgran
78bc198b33 Don't throw exception is forum post is anonymous. #242 2016-02-03 20:56:17 +00:00
str4d
4d7a23779a Rename crypto methods and constants for Bluetooth key agreement 2016-02-02 02:45:49 +00:00
akwizgran
35090f4d0e Bumped expiry date to 1 March 2016. 2016-02-01 15:16:15 +00:00
akwizgran
2584fb52b9 Don't use external storage for crash/test reports. 2016-01-28 16:29:06 +00:00
akwizgran
1589279c2f Merge branch '229-transport-client' into 'master'
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
2016-01-28 15:05:00 +00:00
akwizgran
857abd6c11 Merge branch '82-identicons' into 'master'
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
2016-01-27 17:49:52 +00:00
akwizgran
88475bdd54 Transport properties client. #229 2016-01-27 12:51:55 +00:00
akwizgran
ea02caf577 Don't use FLAG_ACTIVITY_CLEAR_TASK on API < 11. 2016-01-27 12:51:00 +00:00
str4d
90eded1421 Make identicons round
This commit renames identicons to avatars in field names, and uses an ImageView
derivative to show the identicons, which should make implementing #214 easier.
2016-01-26 20:21:35 +00:00
str4d
9318a50cb7 Migrate LocalAuthorSpinnerAdapter to XML, add identicons 2016-01-26 18:34:03 +00:00
str4d
35c59fdb39 Migrate AuthorView to XML, add identicon 2016-01-26 18:34:03 +00:00
str4d
88d81634ca Add identicons to conversations 2016-01-26 18:34:02 +00:00
str4d
e62d60ff52 Add identicons to contact list 2016-01-26 18:34:02 +00:00
akwizgran
d69a242f19 Merge branch '30-navigation-drawer-rebased' into 'master'
Navigation drawer (squashed and rebased).

This is @ernir's work on #30 and #181, rebased onto master with recent changes to ConversationActivity and ForumListActivity ported to the respective fragments.

See merge request !75
2016-01-22 10:33:25 +00:00
Ernir Erlingsson
dae29eecce Navigation drawer (squashed and rebased). 2016-01-21 16:49:21 +00:00
akwizgran
7e020454bf Show Bluetooth address from Settings.Secure. 2016-01-21 16:14:21 +00:00
akwizgran
dd8e111b0b Add Settings.Secure.ANDROID_ID to entropy pool. 2016-01-21 14:41:17 +00:00
Torsten Grote
d33dbca25a Merge branch '228-jsocks' into 'master'
Replaced broken jsocks jar. #228

Fixes #228 and may also fix #217. @str4d and @grote, please test and confirm.

See merge request !72
2016-01-21 13:49:37 +00:00
akwizgran
aacd347376 Merge branch '227-update-contact-list' into 'master'
Update contact list when contacts are deleted. #227

The logic in ConversationActivity for adding or updating items didn't allow for items being removed. We *could* come up with logic for doing that - throw all the items from the adapter into a set, remove any items corresponding to current contacts from the set, then batch update the adapter to remove any items remaining in the set - but I think it would be overly complex. It's simpler to just clear the adapter and add the current contacts.

Also tidied up some adapter code while looking for the bug.


See merge request !70
2016-01-21 12:00:58 +00:00
akwizgran
3b510e768a Replaced broken jsocks jar. #228 2016-01-21 11:28:54 +00:00
akwizgran
124a4380d3 Don't disable Bluetooth unless we enabled it. #226 2016-01-20 16:55:01 +00:00
akwizgran
cdfaa39338 Update contact list when contacts are deleted. #227
Also removed unnecessary adapter notifications in various places.
2016-01-20 16:08:22 +00:00
akwizgran
82cf12040f Contact manager hooks. #209 2016-01-20 14:43:46 +00:00
akwizgran
33ef09a6bf Implement Service interface rather than extending it.
Whether or not a class needs to run as a service is an implementation decision.
2016-01-20 14:43:46 +00:00
akwizgran
5355951466 Separate the sync layer from its clients. #112 2016-01-20 10:35:09 +00:00