Tom Hacohen
f4ce548310
Import: replace size check with isEmpty().
2019-05-01 14:31:21 +01:00
Tom Hacohen
6381617f2c
Import: only dismiss import dialog if already showing.
...
This should fix a crash when the os kills the activity before import is done.
2019-05-01 13:47:20 +01:00
Tom Hacohen
e4b29832f5
Import: mark progressDialog as non-null.
2019-05-01 13:26:59 +01:00
Tom Hacohen
2615fbd9ce
Unify all of the sync adapter exception handling.
...
The exception handling was duplicated across every sync backend.
It was redundant and made it easy to not handle all of the exceptions correctly
everywhere.
2019-05-01 09:57:21 +01:00
Tom Hacohen
6250cacd30
Add missing exception handling to contacts sync.
...
It wasn't handling IgnorableException.
2019-05-01 09:57:07 +01:00
Tom Hacohen
1d5bcc6a3d
Add a separate exception for HttpConflict.
2019-05-01 09:12:42 +01:00
Tom Hacohen
fe980f937e
Fix potential crash when opening and stopping the app very quickly.
2019-04-30 14:09:35 +01:00
Tom Hacohen
9c8daf1ebd
More optimise imports.
2019-04-16 17:14:49 +01:00
Tom Hacohen
c484d29a42
Optimise imports.
2019-04-16 17:14:14 +01:00
Tom Hacohen
3b0bfbb054
Don't rely on the ACCOUNTS_CHANGED broadcast receiver
...
I've seen some crashes there. This change brings it inline with
DAVDroid, and looks cleaner regardless.
Based on 1f7298f947a4878e86fcba0c6722e34b03cb63c6 from DAVDroid
2019-04-16 17:09:01 +01:00
Tom Hacohen
f629d23c38
Fix access to uninitialized properties in account update service.
2019-04-16 13:18:28 +01:00
Tom Hacohen
2e2841cea4
Fix encryption password change not to crash.
...
It was a regression from the custom cert manager update.
2019-04-15 14:20:54 +01:00
Tom Hacohen
41c7239a8c
Members list: fix crash and handle correct lifecycle.
2019-04-12 09:51:56 +01:00
Tom Hacohen
7010967a31
Import: fix crash when import finishes while the activity is dead.
2019-04-04 13:59:00 +01:00
Tom Hacohen
f41c7cd4c9
Contacts sync manager: remove unnecessary not-null assertion.
2019-04-04 13:58:16 +01:00
Tom Hacohen
eef861614e
Contacts sync manager: only init one resource downloader per sync.
...
Before this we were doing it per sync entry which could be slow.
2019-04-04 13:58:16 +01:00
Tom Hacohen
487d330a7a
Contacts Sync Manager: remove redundant address book init.
...
Fixes #73
2019-04-04 13:58:16 +01:00
Tom Hacohen
3637fc95db
Sync: catch and report SSLHandshakeExceptions.
...
They were not being reported as part of the general code
because SSLException inherits from IOException which is
handled differently.
2019-04-03 22:24:42 +01:00
Tom Hacohen
6ac83beb47
Debug activity: fix crash when getting sync errors.
...
Sync phase was passed as an Int but expected as a String.
2019-03-30 09:36:57 +00:00
Tom Hacohen
a702a4e794
Crash email: include a body with requests for more information.
2019-03-27 11:26:06 +00:00
Tom Hacohen
409f586835
Add tutanota to the list of email clients not supporting attachments.
...
This list is the clients that don't support attachments when called from
an intent. We want to include debug info inline for those.
2019-03-26 16:10:53 +00:00
Tom Hacohen
0a2a3b2d99
Rename queryCapabilites to prepareFetch
2019-03-21 16:09:04 +00:00
Tom Hacohen
44c516a868
Sync: fix the sync to also do the initial preparation in chunks
...
This fixes issues with Android killing the sync when making massive
syncs such as importing 10,000 events.
Fixes #69
2019-03-21 16:09:04 +00:00
Tom Hacohen
dcc3ec6f88
Fix crash when removing journal members
2019-03-21 16:06:37 +00:00
Tom Hacohen
d04d0f902f
Fix closing of the HttpClient when syncing.
2019-03-21 16:06:37 +00:00
Tom Hacohen
bc829d0d1e
Improve logging in syncmanager and import.
2019-03-21 11:40:02 +00:00
Tom Hacohen
5090a3206e
Only show the custom certificate popup when using EteSync interactively
...
With this change, we make it so using a self-signed certificate will
have to be authorised on the first login rather than checked every time
on the background.
This was causing annoying issues with networks that mitm SSL
connections, and anyhow, we shouldn't be asking users to trust bad certs
when in 99.9% of the cases it would either be an attack or a broken
network.
Fixes #36
2019-03-15 10:53:51 +00:00
Tom Hacohen
ee2dad4d19
Set certmanager foreground/background state.
2019-03-15 10:53:51 +00:00
Tom Hacohen
4134f78da4
Upgrade cert4android and refactor httpclient based on upstream
2019-03-15 10:53:51 +00:00
Tom Hacohen
75020c1841
Settings: add a link to the notification settings.
2019-03-15 08:56:06 +00:00
Tom Hacohen
d147728acd
Add a setting to control log verbosity.
2019-03-14 21:25:47 +00:00
Tom Hacohen
705df2a536
Overhaul the notification system and add notification channels.
2019-03-14 21:15:17 +00:00
Tom Hacohen
64f8c5e1d2
Move the sync notification helper under syncadapter and rename it.
2019-03-14 20:46:36 +00:00
Tom Hacohen
ac22ece30d
Don't use a separate :sync process anymore so prefs don't need IPC.
...
Fixes #67
2019-03-14 20:40:52 +00:00
Tom Hacohen
1cdad6232e
Log to file: move to use normal preferences.
2019-03-14 20:30:07 +00:00
Tom Hacohen
df315a48ab
Fix logging to file.
2019-03-14 20:10:31 +00:00
Tom Hacohen
17b6e69c86
Move everything to use the new Logger
2019-03-14 19:35:30 +00:00
Tom Hacohen
216b51d138
Create a logger object to take care of all the logging.
2019-03-14 19:14:34 +00:00
Tom Hacohen
14abc6400d
Rename the logger's name to etesync.
2019-03-14 19:02:42 +00:00
Tom Hacohen
a7aed85a4c
Import latest logger code from davdroid.
2019-03-14 19:01:08 +00:00
Tom Hacohen
b382b8515c
Request sync after encryption password change.
...
This is because we need the journals to be up to date with the newly
added key, or otherwise there could be issues when editing them.
2019-03-11 18:17:42 +00:00
Tom Hacohen
a605c2ae49
Fix adding journal members following an encryption password change.
...
See previous commit for more details about this issue.
2019-03-10 19:01:19 +00:00
Tom Hacohen
9f0b492c42
Fix collection editing following an encryption password change.
...
A lot of the code dealing with collections assumes that the editing is
done by the owner (true assumption, for now), and therefore the encryption
key is derived from the master key (not true anymore, as it could be a
stored version of the old key). This commit removes this wrong assumption.
2019-03-10 19:01:02 +00:00
Tom Hacohen
6f453faf06
Import: cleanup code a bit.
...
This should make it easier to debug null errors.
2019-03-10 19:00:56 +00:00
Tom Hacohen
77d89f3b4b
Import: Rename poorly named class.
2019-03-10 16:16:42 +00:00
Tom Hacohen
c4ee03b733
Fix null warning
2019-03-07 08:32:29 +00:00
Tom Hacohen
cf8afd541c
ACRA: switch to notification alerts on crashes.
...
On some devices users weren't able to send stack traces because
EteSync would restart and then hide/cancel the email app chooser.
2019-03-07 08:26:10 +00:00
Tom Hacohen
332caf1631
View Collection: add checks if we successfully managed to acquire the provider.
2019-03-07 08:09:16 +00:00
Tom Hacohen
356017a541
Entry sync: also generate UUIDs for first synced deleted entries
...
This fixes a bug with deleting entries that were never synced before. To
reproduce:
1. Turn off wifi + data (to ensure nothing is synced).
2. Add an entry (event/task/contact).
3. Delete that entry.
4. Turn wifi + data back on
5. Hit sync
2019-03-06 19:27:43 +00:00
Tom Hacohen
f64960699b
LocalTask: remove a potentiall bad logging message.
2019-03-06 19:19:40 +00:00
Tom Hacohen
e1573ef7ab
Tasks journal view: show the number of tasks in the journal.
2019-03-06 19:03:32 +00:00
Tom Hacohen
7eee04f458
Remove wrong not-null assertion.
2019-03-06 18:30:36 +00:00
Tom Hacohen
db8667e84a
Fix issue with OpenTasks causing a lot of syncs in some rare cases.
...
We weren't setting a default sync interval which meant that in some
cases it was just syncing every 10 seconds.
This fix also fixes #66 .
2019-03-06 18:10:37 +00:00
Tom Hacohen
c6472fe220
Unify the sync interval settings across journal types.
2019-03-06 17:11:19 +00:00
Tom Hacohen
b765f177c7
Migrate to AndroidX.
2019-03-06 16:24:23 +00:00
Tom Hacohen
130cea18ce
Tasks: move the opentasks install button to the menu.
...
It was quite ugly having it there.
2019-02-25 15:26:14 +00:00
Tom Hacohen
4cc664ee6c
Fix misleading logging message.
2019-02-25 08:49:16 +00:00
Tom Hacohen
1b15aaab19
Import: minor code cleanups.
2019-02-24 08:48:24 +00:00
Tom Hacohen
858378b107
Revert "Event invites: Warn about clients that don't support email attachments"
...
We can't trigger a toast from a service, revert this for now.
This reverts commit 0cda396d20
.
2019-02-24 08:07:11 +00:00
Tom Hacohen
b64b95e204
Import from file: fix issues with sometimes importing from file.
2019-02-24 08:07:11 +00:00
Tom Hacohen
4fb49cf5f4
Import from file: dismiss dialog and print an error in a missed error case.
2019-02-23 21:24:26 +00:00
Tom Hacohen
98ca5fa318
Fix the setting controlling change notifications.
2019-02-21 19:24:39 +00:00
Tom Hacohen
cb570978e5
Account activity: don't hide collection headers even if empty.
...
This was an annoying remanent from DAVDroid. Maybe it makes sense for
DAV, but it defo doesn't make sense for us where we can just create
collections (and anyhow always have existing defaults!).
2019-02-20 16:30:55 +00:00
Tom Hacohen
1aed0106cd
Add a button for installing OpenTasks if not already installed.
2019-02-20 16:30:55 +00:00
Tom Hacohen
bbbfbffe59
Add a helper function for checking if a package is installed.
2019-02-20 16:30:55 +00:00
Tom Hacohen
0cda396d20
Event invites: Warn about clients that don't support email attachments
2019-02-20 16:30:26 +00:00
Tom Hacohen
09ee9a2bd1
Rename and move the function checking if email attachments are supported.
2019-02-20 15:35:14 +00:00
Tom Hacohen
4d661117e5
Don't pop up notifications on bad gatewary errors as most likely a server restart.
...
The server is and should be monitored for misconfigurations, we don't want to annoy
users with temporary issues.
2019-02-13 19:06:32 +00:00
Tom Hacohen
ea0add8f45
Gracefully handle getting non json responses when expecting json.
2019-02-13 19:06:32 +00:00
Tom Hacohen
143092ecf3
Don't pop up notifications when server is under maintenance.
2019-02-13 18:52:58 +00:00
Tom Hacohen
5e8bb06b03
Add an exception for a bad gateway error.
2019-02-13 18:52:58 +00:00
Tom Hacohen
79ddd1d7c9
Fix bug with resetting contact deleted state.
2019-02-13 14:47:05 +00:00
Tom Hacohen
cabea0c3ec
Revert changes when changing read only journals.
2019-02-13 14:47:05 +00:00
Tom Hacohen
7216a177c5
Member list: indicate if a member is read only or not.
2019-02-13 13:13:55 +00:00
Tom Hacohen
e44c4a394c
Add the UI to invite read only members to journals.
2019-02-13 12:58:52 +00:00
Tom Hacohen
a43d0fceb8
Fix journal readOnly json to use the correct field name.
2019-02-13 11:02:28 +00:00
Tom Hacohen
e7186df6b8
Fix compilation warning.
2019-02-12 21:50:48 +00:00
Tom Hacohen
b6453718f4
Import fragment: move the null assertions around a bit
...
Better this way. Easier to know what's going on.
2019-02-12 10:18:29 +00:00
Tom Hacohen
69bf028481
Apply group memberships: be more defensive with potentially missing members.
...
This should never happen, but it has:
kotlin.TypeCastException: null cannot be cast to non-null type com.etesync.syncadapter.resource.LocalContact
at com.etesync.syncadapter.resource.LocalGroup$Companion.applyPendingMemberships(LocalGroup.kt:66)
at com.etesync.syncadapter.syncadapter.ContactsSyncManager.postProcess(ContactsSyncManager.kt:122)
at com.etesync.syncadapter.syncadapter.SyncManager.performSync(SyncManager.kt:169)
at com.etesync.syncadapter.syncadapter.ContactsSyncAdapterService$ContactsSyncAdapter.onPerformSync(ContactsSyncAdapterService.kt:59)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
We call it at post process exactly because we want to make sure that all
the members already exist.
I guess a deletion on a misbehaving client (maybe even the web client?)
can cause this. Potentially also with some DAV clients.
Anyhow, it's better to be more defensive here.
2019-02-12 09:27:44 +00:00
Tom Hacohen
b13be67820
Import: improve group import and fix a potential crash
...
Fixes a potential crash when e.g. importing a file with a group that has
members that don't actually exist (e.g. importing a partial vcf).
This change also fixes importing files that have the groups show up
before their members.
2019-02-04 13:58:06 +00:00
Tom Hacohen
efa8719ce5
Account settings: add a link to the dashboard and clean up a bit.
2019-02-01 12:48:49 +00:00
Tom Hacohen
635a512ca6
Create collection: fix the shown color to be the default color.
2019-01-29 23:15:05 +00:00
Tom Hacohen
a1051856ec
Fix usage of tasklist colour in collection members activity.
2019-01-29 23:10:38 +00:00
Tom Hacohen
e161233453
Edit task list: fix saving of task list colour.
...
Fixes #60
2019-01-29 23:10:32 +00:00
Tom Hacohen
96fc87cad4
Fix loading tasklist color in edit collection activity.
2019-01-29 23:05:36 +00:00
Tom Hacohen
18a00716f8
Remove build time from app.
...
It was never needed, slows down development builds, and is annoying for
reproducible builds
2019-01-23 19:48:18 +00:00
Tom Hacohen
f9fc14b0dd
Address book import: add support for importing groups from file
...
Fixes #54
2019-01-12 12:06:08 +00:00
Tom Hacohen
0ae278aabd
Addressbook import: implement group import when importing from account.
...
Partially fixes #54 . Only the from account is currently implemented, but
that should be sufficient for most people already.
2019-01-12 11:42:41 +00:00
Tom Hacohen
4795bd40ef
Fix tests following kotlin migration.
2019-01-12 00:14:34 +00:00
Tom Hacohen
5c894e001f
Implementing changing encryption password.
...
The way it's done is by changing the password and adding ourselves as
journal members with our public keys. Same way shared journals works.
This should not be used if you believe your encryption password has been
compromised. That would require a much more intrusive action (as the
note there indicates).
2019-01-11 23:47:06 +00:00
Tom Hacohen
6e2ab7d972
UserInfoManager: fix the wrong conversion to kotlin.
2019-01-11 21:32:30 +00:00
Tom Hacohen
92908b9a60
Handle readonly journal exceptions.
2019-01-11 16:13:25 +00:00
Tom Hacohen
dcd0393a31
Fix journal creation.
2019-01-11 15:46:43 +00:00
Tom Hacohen
5dbca6e00f
Add support for associate accounts.
2019-01-11 15:40:06 +00:00
Tom Hacohen
e005064be6
Fix a lot of kotlin warnings
2019-01-09 21:00:41 +00:00
Tom Hacohen
15309911a5
Fix potential crash when there's an error getting journal members.
2019-01-09 20:44:04 +00:00
Tom Hacohen
ea81696424
Fix date being sometimes incorrect in the journal item preview.
...
Fixes #56 .
2019-01-09 18:24:15 +00:00
Tom Hacohen
e3ff58c1c2
Fix issue with Calendars missing from the account view.
2019-01-09 15:38:02 +00:00
Tom Hacohen
743c9e2de7
Many warning fixes.
2019-01-09 15:09:21 +00:00
Tom Hacohen
723790178c
Optimise imports.
2019-01-09 14:55:50 +00:00
Tom Hacohen
e39e882c0a
Fix many compilation warnings
...
Either deprecated usage or kotlin warnings
2019-01-09 14:54:37 +00:00
Tom Hacohen
594aacf396
Remove redundant null assertions.
2019-01-09 09:55:34 +00:00
Tom Hacohen
3729401aac
Fix crash in setup encryption.
2019-01-09 09:54:34 +00:00
Tom Hacohen
fe7aa2208b
Event invitations: add a button to send an email invite from the journal item view.
2019-01-08 19:46:59 +00:00
Tom Hacohen
7b0cdff9dc
Email invitation: move the code to handle the invitation generation to a different file.
2019-01-08 18:42:42 +00:00
Tom Hacohen
0e8dc1d266
Event invitation: use a random uid rather than the event uid when sharing.
...
The reason for that, is that in some cases it stops working for certain
files, so using a different filename works around that issue.
I haven't managed to resolve that unfortunately.
2019-01-08 18:27:29 +00:00
Tom Hacohen
8af6858422
Tasks: add ability to create, edit, deleted and view task journals
2019-01-08 11:38:10 +00:00
Tom Hacohen
3996f1824d
Migrate from AsyncTask to anko's doAsync.
2019-01-08 01:07:20 +00:00
Tom Hacohen
c27a8b44ac
Catch IllegalStateExceptions in the account changed receiver.
...
These are bad, and shouldn't happen, but ignoring them is not
the end of the world, especially since I plan on overhauling this
code very soon (probably remove).
So for now, we'll just ignore them.
2019-01-07 21:53:15 +00:00
Tom Hacohen
7f2ab44bca
Implement Tasks support via OpenTasks
...
This adds support for tasks via OpenTasks.
https://github.com/dmfs/opentasks
Need the OpenTasks client for it to be used.
Currently you can't create new task lists. You can only have the default
one, but that's just a UI thing.
Fixes #7
2019-01-07 11:18:15 +00:00
Tom Hacohen
dbe3730fe4
ACRA: Only send reports in the body if Protonmail is installed.
2019-01-07 01:35:03 +00:00
Tom Hacohen
633e1228f0
Fix issue with sync on devices that don't require the hash hack.
...
This commit also unifies the handling so such issues don't recur.
2019-01-06 21:45:42 +00:00
Tom Hacohen
93f0e17144
Fix account and collection deletion on some devices.
...
Fixes #55
2019-01-06 21:13:26 +00:00
Tom Hacohen
34939ee7e3
Account Settings: drop very old upgrade path.
...
The cod was rotting and people should already be very much up
to date.
2019-01-06 21:13:26 +00:00
Tom Hacohen
b88ad593d7
Fix issue with deleted entries being re-added.
2019-01-06 21:13:26 +00:00
Tom Hacohen
b2f7cc811f
Fix applying of groups from journal.
2019-01-06 21:13:26 +00:00
Tom Hacohen
c4daed9391
Upgrade vcard4android and ical4android.
...
This is a monster commit because to be honest, it's a monster change. It
was impossible to do it in smaller steps because things just wouldn't
compile.
We couldn't do the migration step by step because they moved to Kotlin
which was causing a lot of troubles.
Now we are all on Kotlin, so things should hopefully work just fine.
2019-01-06 21:12:09 +00:00
Tom Hacohen
cd33b5def8
Kotlin: move resources to Kotlin (almost compiles).
...
It just needs a few tiny wrappers around some public statics. I'm not
doing that because it'll sort itself out the moment we update
vcard4android and ical4android.
2019-01-06 21:06:45 +00:00
Tom Hacohen
5d05a2e6e0
Acra: disable for debug builds.
2019-01-06 21:06:45 +00:00
Tom Hacohen
6af90b38ae
Acra report: include installFrom.
2019-01-05 22:32:03 +00:00
Tom Hacohen
f46bccab8e
SSLSocketFactory: import newer settings from DAVDroid.
2019-01-05 16:52:15 +00:00
Tom Hacohen
1901cf1bb1
Fix sharing calendar email to not be case sensitive.
...
Fixes #46 .
2019-01-05 16:35:42 +00:00
Tom Hacohen
3f6147d4ad
Acra: Don't report as file for now so it works with ProtonMail
2019-01-05 16:25:59 +00:00
Tom Hacohen
16b7747d9f
Update ACRA.
2019-01-05 15:50:34 +00:00
Tom Hacohen
e38c720d1a
Kotlin: more kotlin migration.
2019-01-05 15:40:17 +00:00
Tom Hacohen
f0a0717541
Kotlin: more kotlin migration.
2019-01-05 15:27:45 +00:00
Tom Hacohen
093eee6409
Kotlin: more kotlin migration.
2019-01-05 15:23:39 +00:00
Tom Hacohen
26715f2f34
Kotlin: fix some wrong null assertions.
2019-01-05 13:03:33 +00:00
Tom Hacohen
d98d91a67f
Revert "Don't rely on LOGIN_ACCOUNTS_CHANGED_ACTION"
...
Actually, let's not make this change just yet so we are sure we haven't
broken anything.
This reverts commit dda23fb484
.
2019-01-05 13:03:33 +00:00
Tom Hacohen
dda23fb484
Don't rely on LOGIN_ACCOUNTS_CHANGED_ACTION
...
Based on the davdroid commit: 1f7298f947a4878e86fcba0c6722e34b03cb63c6
2019-01-05 12:26:38 +00:00
Tom Hacohen
0b21502645
Widgets: use the support library edit password widget.
2019-01-05 12:01:00 +00:00
Tom Hacohen
6ef78085bd
Kotlin: more kotlin migration.
2019-01-05 11:45:17 +00:00
Tom Hacohen
4d516c5fe1
Kotlin: more kotlin migration.
2019-01-05 11:44:14 +00:00
Tom Hacohen
4c4c94ca1c
Kotlin: more kotlin migration.
2019-01-05 11:29:03 +00:00
Tom Hacohen
f77063ff1a
Kotlin: more kotlin migration.
2019-01-05 11:21:26 +00:00
Tom Hacohen
943611a511
Kotlin: more kotlin migration.
2019-01-05 10:01:36 +00:00
Tom Hacohen
959bc4992b
Kotlin: migrate to kotlin.
2019-01-05 09:18:25 +00:00
Tom Hacohen
828254a1f7
Event invites: gracefully handle missing timezone information.
...
The code before didn't fallback to UTC nicely and was causing a crash.
2019-01-04 20:33:06 +00:00
Tom Hacohen
12c41b450c
Contact import: Don't list accounts with an empty account name or type.
2018-12-25 09:58:22 +00:00
Tom Hacohen
25759a4e86
Fix typo in error message.
2018-12-25 09:54:01 +00:00
Tom Hacohen
e20e79e840
Fix bug causing group duplication every time a group is changed.
...
The bug was causing a new group to be created every time a group was changed
instead of just changing the group itself.
2018-12-25 09:19:20 +00:00
Tom Hacohen
4184751664
Event invites: fix issue with times showing wrong across timezones.
...
Fixes #52 .
2018-12-24 12:05:45 +00:00
Tom Hacohen
cd58a6bcac
Event invites: don't hardcode the locale when formatting time.
2018-12-05 14:58:26 +00:00
Tom Hacohen
b93c5228c7
Event invites: add location information to email summary.
2018-11-30 11:18:41 +00:00
Tom Hacohen
f5d08e07bb
Event invites: add timezone information to email summary.
2018-11-30 11:18:35 +00:00
Tom Hacohen
3efa76579e
Fix crash with missing contact downloader when importing.
2018-10-30 21:34:54 +00:00
Tal Hacohen
47b04132a6
Add settings to control the change notifications
2018-10-26 14:23:45 +01:00
Tom Hacohen
0bd459c280
Journal contact view: correctly handle partial dates.
2018-09-20 10:37:51 +01:00
Tom Hacohen
5e568ec43e
Fix crash when viewing contacts with empty (but existing) nicknames.
2018-09-18 12:00:05 +01:00
Tom Hacohen
34b8fce5c4
Move to the new method of getting end date.
...
This also fixes the issues with events having both an end date
and duration.
2018-09-06 16:28:52 +01:00