Tom Hacohen
e7138842c8
Journal manager: Add a way to update a journal.
2017-03-08 17:11:48 +00:00
Tom Hacohen
1b3a4bf318
Add a way to count calendar events/contacts.
2017-03-08 17:11:48 +00:00
Tom Hacohen
4a196102a1
Collection info: serialize url, but not to json.
2017-03-08 17:11:48 +00:00
Tom Hacohen
c6fbecc0ff
Strings-de: Fix malformed closer.
2017-03-08 11:17:28 +00:00
Tom Hacohen
9e8cfa77fa
Remove another unused string.
2017-03-08 10:16:17 +00:00
Larson Maerz
f785ed77cd
Update German translation.
2017-03-08 10:16:17 +00:00
Tal Hacohen
8c9ec3bcc7
Replace all etesync links to open in the webview activity.
2017-03-06 17:54:18 +01:00
Tal Hacohen
c041ddb690
Add webview activity to handle etesync link.
2017-03-06 17:54:17 +01:00
Tom Hacohen
57810cd5f5
Bump version.
2017-03-02 13:56:31 +00:00
Tom Hacohen
4fcc29c1d3
Rename Usage Guide to User Guide.
2017-03-02 13:47:32 +00:00
Tom Hacohen
9ef2ea2d54
Add a "Coming soon" section for the Change Journal
...
Adding this because users were asking about the history feature. While
the history is maintained, there's currently no GUI to explore it, so
I've added this stub to make it more obvious that it's not there yet.
2017-03-02 12:32:03 +00:00
Tom Hacohen
6fdf2c3d1a
Remove unused resources (mainly strings).
2017-03-02 11:31:35 +00:00
Tom Hacohen
14fb5ffae8
Change username login field to 'email'.
2017-03-02 11:22:03 +00:00
Tom Hacohen
cf9ee98ead
Sync interval setting: use the same string for current as selector.
...
Before this commit the texts were different, and odd.
For example, the text in the selector would be:
Every 4 hours
and the text in the preview would be:
Every 240 minutes
2017-03-01 18:18:10 +00:00
Tom Hacohen
711df7ed55
Bump to version 0.9.1.
2017-03-01 00:24:19 +00:00
Tom Hacohen
ae99a0f53a
Change exceptions inheriting from HttpException to accept "Response"
...
This follows the previous change and puts more information in the
exceptions (like parts of the http request and response) for better
debugging. This also moves the handling of "retry after" to the
exception itself instead of outside.
Also improved the text of one of the exception invocations.
2017-03-01 00:24:19 +00:00
Tom Hacohen
571c585292
HttpException: add a way to override response error message.
...
Before this change exceptions would print the message of the error code.
For example, for 500 they would print "Internal Server Error".
With this change we can now override this message with something more
sensible we got from the serer, for example "User is inactive."
2017-03-01 00:24:18 +00:00
Tom Hacohen
fc939a3cbe
Shorten notification error title so account name is visible.
...
The text was too long and it was impossible to see the account name.
2017-03-01 00:24:08 +00:00
Tom Hacohen
ba789da797
Add a UserInactive exception for when the user is no longer active
...
This is a possible error message we get when we get error code 403
(permission denied) from the server. We then handle it explicitly by
sending the user to the dashboard.
2017-02-28 23:58:47 +00:00
Tom Hacohen
8e7d363128
Refactor notifications to launch a notification handler
...
With this change we no can launch external urls. For all I know this
doesn't work without this trick (an intent in the middle).
I also applied a transparent theme to the activity to avoid seeing the
launched activity briefly before opening external urls.
This is based on my experience working on "Share To Clipboard".
2017-02-28 23:26:19 +00:00
Tom Hacohen
d918622ba2
Fix issue with only one of the notifications being clickable.
2017-02-28 23:23:03 +00:00
Tom Hacohen
5d712c72d0
Add links to the usage guide.
2017-02-28 17:43:03 +00:00
Tom Hacohen
8c01e64ff4
Change the "delete collection" string to "Delete"
2017-02-28 17:42:51 +00:00
Tom Hacohen
3195c91e11
Bump version to 0.9.0.
2017-02-27 13:27:43 +00:00
Tom Hacohen
abc15f01d8
Rename the Android package to EteSync
...
I was trying to avoid it, and keep it as davdroid both for attribution,
and making it easy to cherry-pick fixes from DAVdroid.
However, it seems to be causing clashes with the davdroid app, although
every piece of documentation claims otherwise.[1]
At least it seems like cherry-picks can still be achieved using:
git cherry-pick -s recursive -X find-renames=30 COMMIT
1. https://developer.android.com/studio/build/application-id.html
(one such doc)
2017-02-27 13:23:24 +00:00
Tom Hacohen
94b29e86ac
Implement sha256 using bouncy-castle.
2017-02-22 18:52:20 +00:00
Tom Hacohen
7a80b37818
Optimise proguard rules and fix warnings
...
We don't need to specify classes we don't use dynamically, so remove all
of the explicitly mentioned ones.
Fix a few warnings.
2017-02-22 18:52:20 +00:00
Tom Hacohen
0ebfa9cfbd
Bump version to 0.8.1 and update changelog.
2017-02-22 18:52:20 +00:00
Tom Hacohen
116094c7b9
Ask for permissions on app launch.
2017-02-22 17:50:24 +00:00
Ricki Hirner
36ee584e6a
Fetch translations from Transifex
2017-02-22 15:57:54 +00:00
Tom Hacohen
53637cec03
Remove translations to changed strings
...
I changed some strings (but kept the name) and remove others. This means
that the existing translations are no longer valid for those, so I wrote
a small script to see which strings I've changed/removed and removed
those from the translations.
2017-02-22 14:06:26 +00:00
Tom Hacohen
afca87f4d8
Toast the server name on startup in debug mode.
2017-02-22 14:06:26 +00:00
Tom Hacohen
2225ee0a03
Cleanup handling of notification errors.
2017-02-22 14:06:26 +00:00
Tom Hacohen
d832ae9bc6
Cleanup error messages in notifications.
2017-02-22 14:06:26 +00:00
Tom Hacohen
09196e52a5
Don't pop notifications for serviceunavailable errors.
2017-02-22 14:06:26 +00:00
Tom Hacohen
942276284e
Cleanup sync manager exception handling a bit.
2017-02-22 14:06:26 +00:00
Tom Hacohen
ef8ae03e24
Improve appearance of account page.
2017-02-22 14:06:26 +00:00
Tom Hacohen
35b8283e31
Request sync after adding a collection so it can be used immediately.
...
This only works when online, need to solve it correctly so it also works offline.
2017-02-22 14:06:26 +00:00
Tom Hacohen
47a846bc2c
Remove timezone from create calendar page.
2017-02-22 14:06:26 +00:00
Tom Hacohen
a935e09287
Update strings.
2017-02-22 14:06:26 +00:00
Tom Hacohen
a460a52079
Better handle service unavailable.
2017-02-22 14:06:26 +00:00
Tom Hacohen
3e5f3f5429
When applying remote entries, save sync tag after application.
2017-02-22 14:06:26 +00:00
Tom Hacohen
7f0f1b92fa
Correctly handle thread interruptions when applying entries.
2017-02-22 14:06:26 +00:00
Tom Hacohen
268cd98b7b
Improve logging when applying entries.
2017-02-22 14:06:26 +00:00
Tom Hacohen
5ec0dd45b5
Add log stating the amount of entries fetched.
2017-02-22 14:06:26 +00:00
Tom Hacohen
aff3be7af4
Make the account type the same as app id.
2017-02-22 14:06:26 +00:00
Tom Hacohen
b3cd95bcf5
Contact sync manager: Add missing super call in postprocess.
2017-02-22 14:06:26 +00:00
Tom Hacohen
c60557d035
Sync manager: deal with error when pushing multiple chunks.
2017-02-22 14:06:26 +00:00
Tom Hacohen
fa52270420
SyncManager: Restrict access to private variables.
2017-02-22 14:06:26 +00:00
Tom Hacohen
f5c413069e
Don't leak passwords and token to log.
2017-02-22 14:06:26 +00:00
Tom Hacohen
ef850822de
Fix a race condition when preparing dirty.
2017-02-22 14:06:26 +00:00
Tom Hacohen
dd6ce617cc
Remove the redundant collection getAll() function.
...
We aren't using it, and shouldn't be using it. It's very inefficient,
and doesn't help what we want to do.
2017-02-22 14:06:25 +00:00
Tom Hacohen
6ea0b47d79
Implement applyLocalEntries and create the local entries after fetching.
...
Since we now use a cached version of the localDeleted/Dirty, we can create the entries
after we fetch. We also use the entries to override whatever changes came from the
server because we assume (for now) our copy is the correct one.
2017-02-22 14:06:25 +00:00
Tom Hacohen
2bbddd26cd
Fetch local deleted and dirty at the beginning of sync to avoid inconsistency
...
Without this, those values could change in the middle of the sync
and make us work on different lists at different parts of the
sync code.
2017-02-22 14:06:25 +00:00
Tom Hacohen
d6864f5062
Don't load all resources when syncing, only as needed.
2017-02-22 14:06:25 +00:00
Tom Hacohen
8040ee7d9f
Push entries in chunks instead of all at once.
2017-02-22 14:06:25 +00:00
Tom Hacohen
74b0956f3b
Improve error messages in journal server interactions.
2017-02-22 14:06:25 +00:00
Tom Hacohen
8cfe58a7d1
Add a way to sign releases.
2017-02-22 14:06:25 +00:00
Tom Hacohen
a50eb87162
Fix newly created Calendars to actually work.
2017-02-22 14:06:25 +00:00
Tom Hacohen
c33bc0ee19
Handle failing to connect to server during login.
2017-02-22 14:06:25 +00:00
Tom Hacohen
eb9c3aa907
Fix timezone picker.
2017-02-22 14:06:25 +00:00
Tom Hacohen
5dbea8579e
Redesign calendar look in account page.
2017-02-22 14:06:25 +00:00
Tom Hacohen
7c4e6a11e1
Disallow deleting the last collection.
2017-02-22 14:06:25 +00:00
Tom Hacohen
a10015ee1a
Deletion from server is already handled.
2017-02-22 14:06:25 +00:00
Tom Hacohen
36cefee30a
Make new calendars selected by default.
2017-02-22 14:06:25 +00:00
Tom Hacohen
119ae5b9fe
Fix collection creation.
2017-02-22 14:06:25 +00:00
Tom Hacohen
c5a17291e5
Put a notice to double-check the encryption password.
2017-02-22 14:06:25 +00:00
Tom Hacohen
5dbe217de8
Fix launching of activities following appid rename
2017-02-22 14:06:25 +00:00
Tom Hacohen
c7d817dfe2
Handle invalid account exception in the sync adapter service.
2017-02-22 14:06:25 +00:00
Tom Hacohen
81b927e7fb
Encryption helpers: deal with FIXMEs.
2017-02-22 14:06:25 +00:00
Tom Hacohen
88322f341a
Handle impossible issue in hmac calculation.
2017-02-22 14:06:25 +00:00
Tom Hacohen
833c8c0847
Only add authentication if connecting to the service's hostname.
2017-02-22 14:06:25 +00:00
Tom Hacohen
4008776812
Sync manager: deal with FIXMEs.
2017-02-22 14:06:25 +00:00
Tom Hacohen
c58ae8fb1c
Add contact resource downloader.
2017-02-22 14:06:25 +00:00
Tom Hacohen
44be896df7
Cleanup and improve HttpExceptions.
2017-02-22 14:06:25 +00:00
Tom Hacohen
ff5c5b5230
Remove unused setting to get caldav past days.
2017-02-22 14:06:25 +00:00
Tom Hacohen
69864ac781
Fix user agent and external logging file name.
2017-02-22 14:06:25 +00:00
Tom Hacohen
bfaffc1f38
Change account type.
2017-02-22 14:06:25 +00:00
Tom Hacohen
85baabaf09
Remove translation strings not in original file.
2017-02-22 14:06:25 +00:00
Tom Hacohen
2583f75d41
Rename DavService service.
2017-02-22 14:06:24 +00:00
Tom Hacohen
1b3cd631bc
Update application id.
2017-02-22 14:06:24 +00:00
Tom Hacohen
09719f87a2
Optimise imports.
2017-02-22 14:06:24 +00:00
Tom Hacohen
9bd901e368
Turn startup popups back on.
2017-02-22 14:06:24 +00:00
Tom Hacohen
fcc365a89e
Remove opentasks and donate from startup dialog.
2017-02-22 14:06:24 +00:00
Tom Hacohen
47ca55f03f
Remove reference to opentasks from the UI.
2017-02-22 14:06:24 +00:00
Ricki Hirner
bc7cd65048
Android 7 workaround bugfix
...
* use local version of contact before calculating hash code
* don't stop upload sync if there are deleted contacts
2017-02-22 14:06:24 +00:00
Ricki Hirner
59f8305ba5
Use contact hash codes only on Android 7+ (workaround)
...
vcard4android: don't hash CATEGORIES, more verbose logging
2017-02-22 14:06:24 +00:00
Ricki Hirner
d707a1e643
Implement checksum to check whether DIRTY contacts have "really" changed
...
* contact data hash code = hash code of data fields and group memberships
* Before every contact sync, all dirty contacts are checked whether they're
"really dirty" (= data hash code has changed). If they're not, the DIRTY
flag is reset. Works around Android 7 behavior of setting contacts to DIRTY
even if onky meta data has been updated (for instance, lastContacted after
a call or SMS),
* When an "upload" sync is initiated by notifyChange and there are no
"really dirty" contacts, the sync is ignored.
* contact upload: clearDirty() saves hash code, too
* contact download: create()/update() saves hash code, too
* debugging: sync flags (extras) are now logged
2017-02-22 14:06:24 +00:00
Ricki Hirner
774a19ae83
AccountSettingsActivity: use loader
...
* use Loader for AccountSettingsActivity sync intervals (fixes Android 7 display "issues")
* SyncManager: allow prepare() to skip synchronization
2017-02-22 14:06:24 +00:00
Ricki Hirner
cfb7d6b787
Use isAlwaysSyncable for contacts/calendars again because of buggy Android firmwares
2017-02-22 14:06:24 +00:00
Tom Hacohen
098496a4dc
Bump okhttp version.
2017-02-22 14:06:24 +00:00
Tom Hacohen
7feddf3ff7
Change version identifier.
2017-02-22 14:06:24 +00:00
Tom Hacohen
e07c992701
Improve some strings.
2017-02-22 14:06:24 +00:00
Tom Hacohen
2011d8d121
Update about page.
2017-02-22 14:06:24 +00:00
Tom Hacohen
c0d0621887
Improve auth error error message.
2017-02-22 14:06:24 +00:00
Tom Hacohen
c169fb4afb
Make login password changing work (albeit ugly).
2017-02-22 14:06:24 +00:00
Tom Hacohen
1363865660
Don't require URI in login credentials constructor.
2017-02-22 14:06:24 +00:00
Tom Hacohen
d62d7049f2
Rename DavResourceFinder.
2017-02-22 14:06:24 +00:00
Tom Hacohen
dcb3429884
Enforce all hmac/mac to always be lower case.
2017-02-22 14:06:24 +00:00
Tom Hacohen
80bb0d6a70
Handle errors when syncing journals, not just entries.
...
Also create a helper notification manager that encapsulates all of the
notification creation logic (from throwable).
2017-02-22 14:06:24 +00:00