1
0
mirror of https://github.com/etesync/android synced 2024-11-26 01:48:34 +00:00
Commit Graph

1317 Commits

Author SHA1 Message Date
Tom Hacohen
42c61ed087 Bump journalmanager dependency (fixes crash in login page).
The login page was crashing when you were putting the app in the background.
This is because the userinfo class wasn't serializable. This was fixed in
the newer version of the journalmanager library.
2020-02-11 22:57:35 +02:00
Tom Hacohen
202847f30c Remove unused code. 2020-02-11 22:51:02 +02:00
Tom Hacohen
b702cc6c17 Bump version. 2020-02-10 12:57:24 +02:00
Tom Hacohen
d603245eb3 Fix DebugInfoActivity - was crashing when fetching services
The issue was introduced in df94fde5ff
because of a bad refactor by android-studio.
2020-02-10 12:56:13 +02:00
Tom Hacohen
b5fbd9c39e Bump version. 2020-02-05 16:03:06 +02:00
Tom Hacohen
021c6595e3 Add a FAB to the collection view activity with info about EteSync.
Many users don't understand how EteSync works and think that this replaces
their existing apps. This should make it more obvious that they should
just use the apps they already use.
2020-02-05 16:03:06 +02:00
Tom Hacohen
ccc17ba141 Login: change the welcome message based if first login or not.
This shared login screen was a shortcut we took a while back, but it's
now time to fix it and make it clear what's going on, just like in the
other apps.
2020-02-05 15:09:46 +02:00
Tom Hacohen
df94fde5ff Move CollectionInfo and SyncEntry to the journalmanager module. 2020-01-29 15:26:35 +02:00
Tom Hacohen
09e2a9255a CollectionInfo: remove deprecated code. 2020-01-29 00:39:14 +02:00
Tom Hacohen
ceead4815b Move to the external journalmanager module (moved the code there) 2020-01-28 20:56:39 +02:00
Tom Hacohen
b70e8903c5 SettingsDB: fix file descriptor leaks. 2020-01-26 13:06:02 +02:00
Tom Hacohen
5857ed51d0 Logout: invalidate the auth token after logging out. 2020-01-23 19:59:46 +02:00
Tom Hacohen
a04a6ee284 JournalAuthenticator: add a way to invalidate tokens. 2020-01-23 19:31:18 +02:00
Tom Hacohen
5efd717189 Bump version. 2020-01-22 12:55:37 +02:00
yumekui
13f7bd9fd0 German translation: Calendar invites 2020-01-21 18:08:06 +02:00
Tom Hacohen
dbb244f1be Bump version 2020-01-11 12:05:13 +02:00
Tom Hacohen
5db8545f8f Upgrade ical4android. 2020-01-09 12:54:22 +02:00
Tom Hacohen
a021ea0cc6 Bump version. 2019-12-17 10:10:32 +02:00
Tom Hacohen
72253932d3 Revert "Revert "Revert "App: only init the data store once per application."""
Even more reverts. :(
After additional testing (based on user reports) it seems like this may
still be causing issues. I find it weird and don't understand why, but
I'm reverting this as a precaution so people aren't affected.

Related to #97

This reverts commit da3ac48bbf.
2019-12-17 10:08:40 +02:00
Tom Hacohen
cbf636545e Bump version. 2019-12-03 12:47:20 +02:00
Tom Hacohen
496b6cd633 Fix tests. 2019-11-28 18:51:10 +02:00
Tom Hacohen
63cbaddfc6 Add a lock when pushing changes.
This is not needed for proper deployments where the server properly locks
the database tables. But in some older etesync server versions and possibly
bad databases, this is not the case.
OpenTasks causes EteSync to concurrently try to sync, so this at least makes
sure this race condition doesn't happen for these rare cases.
2019-11-26 12:47:48 +02:00
Tom Hacohen
e83c95e8ec Sync settings: remove deprecated 5/10 minutes sync options from the UI. 2019-11-25 23:08:59 +02:00
Tom Hacohen
139490bd0b Bump version. 2019-11-24 10:56:29 +02:00
Tom Hacohen
5fc26c6461 Fix issue with journal preview showing the wrong dates. 2019-11-21 18:56:40 +02:00
Tom Hacohen
da3ac48bbf Revert "Revert "App: only init the data store once per application.""
A lot of reverts. :)

According to more information and testing in #97, this was indeed
unrelated and 1.9.3 was enough to fix it.

This reverts commit 73179318f3.
2019-11-18 13:43:36 +02:00
Tom Hacohen
e860a37bf7 Update the user guide's url to the Android specific one. 2019-11-14 18:22:52 +02:00
Tom Hacohen
61ba7429dd Bump version. 2019-11-11 19:39:23 +02:00
Tom Hacohen
73179318f3 Revert "App: only init the data store once per application."
It seems like this is the cause of #97 as 19b4e2a796
hasn't fixed the issue. Still not sure why it's happening, but reverting
it so no more users suffer from this issue.

This reverts commit 26ea8900a2.
2019-11-11 19:37:10 +02:00
Tom Hacohen
377225f876 Bump version. 2019-11-06 21:33:54 +02:00
Tom Hacohen
19b4e2a796 Revert "Add a reentrant lock to our entity data store."
I'm pretty sure this was causing the recent issues with tasks and events
disappearing as described in #97.

Regardless of this, it's not actually needed as SQLite on Android is
already thread-safe. The SQLite locks some users were experiencing were
probably fixed in 26ea8900a2

This reverts commit 9ed172e23c.
2019-11-04 14:01:32 +02:00
Tom Hacohen
423fcf060c build.gradle: fix indentation. 2019-11-04 14:01:32 +02:00
Ricki Hirner
8422892708 Address books accounts: set initial user data twice for older Android versions 2019-11-04 10:16:42 +02:00
Tom Hacohen
8abbbd122f Add autofill hints to the login screen. 2019-11-04 10:08:49 +02:00
Tom Hacohen
c4b987ef9d Bump version. 2019-11-03 13:16:24 +02:00
Tom Hacohen
413218d55f Fix Norwegian Bokmål to not translate untranslatable strings.
This should fix f-droid build. lintVitalRelease was failing.

https://f-droid.org/wiki/page/com.etesync.syncadapter/lastbuild_91
2019-11-03 13:15:49 +02:00
Tom Hacohen
527a18b80e Bump version. 2019-10-28 17:41:08 +02:00
Marius Lindvall
0518269812 Translate to Norwegian Bokmål 2019-10-20 14:35:14 +03:00
Tom Hacohen
c052c64816 Bump version. 2019-10-17 15:56:10 +03:00
Tom Hacohen
26ea8900a2 App: only init the data store once per application.
We were accidentally initialising it once every time we were
trying to access it.
2019-10-16 14:48:22 +03:00
Tom Hacohen
9ed172e23c Add a reentrant lock to our entity data store.
Should fix issues with multiple threads trying to write to the store
at the same time.
2019-10-16 11:26:37 +03:00
Tom Hacohen
a74f188b3b requery: use our own data store class. 2019-10-16 11:15:11 +03:00
Tom Hacohen
d8600f2f04 SetupEncryption: fix issue with inserting existing services. 2019-10-16 10:36:36 +03:00
Tom Hacohen
990ab81c2b ServiceEntity: rename fetch to fetchOrCreate.
This is what it was doing anyway.
2019-10-16 10:35:53 +03:00
Tom Hacohen
9600cd3f1f Service default creation: correctly set the type.
Was a copy-paste error and it was setting type to Tasks.
2019-10-16 10:32:55 +03:00
Tom Hacohen
6ccf9de66c Bump version. 2019-10-15 20:06:17 +03:00
Tom Hacohen
f7f2dac76b Change the wording for setting collection's color.
The wording assumed the collection was a calendar, though it
can in fact be a task list too. Changed the wording to be
generic.

Fixes #93.
2019-10-15 11:59:00 +03:00
Tom Hacohen
5df3a59a2e Gracefully handle trying to insert again an entry we have in the db. 2019-10-09 13:20:44 +03:00
Tom Hacohen
925ba9049e Bump version. 2019-10-08 15:29:31 +03:00
Tom Hacohen
570ed1b84a SyncAdapter: move journal fetching to a separate caching class
Before this change we were fetching the journals 3 times each time (once
for each journal type).
This was wasteful both for the server and battery life. Now we just cache the
requests for a few seconds with the assumption that a burst most mean it's
the same sync operation.
2019-09-26 18:07:14 +03:00
Tom Hacohen
c0642fc00a Bump version. 2019-09-25 23:57:31 +03:00
Tom Hacohen
b50c633ca1 Improve debug information in createLocalEntry.
Print some extra information about the entry we failed to create.
2019-09-25 23:55:28 +03:00
Tom Hacohen
56ecb04644 Bump version. 2019-09-12 00:19:12 +01:00
Tom Hacohen
67b6dce44f Basemanager: consider SSLProtocolExceptions as real issues.
Kind of brings back what 1bbf00c6bd removed.
2019-09-12 00:18:05 +01:00
Tom Hacohen
c26c2c5332 Update cert4android and adjust HttpClient accordingly 2019-09-11 09:36:48 +01:00
Tom Hacohen
d64e6ba33f Fix databinder errors
Apparently you need to explicit enable data binding in build.gradle.
2019-09-11 09:31:47 +01:00
Tom Hacohen
7ce455c88a Bump version. 2019-09-09 08:59:41 +01:00
Tom Hacohen
1bbf00c6bd Revert "BaseManager: Consider SSLHandshakeExceptions as real issues."
This change was mostly flagging non-real issues, like connection reset
by peer. Revert for now and come up with an alternative solution.

This reverts commit d3ad17e0bb.
2019-09-09 08:45:08 +01:00
Tom Hacohen
37a1c06dbd Account settings: change Mannage Account to Account Dashboard 2019-09-06 12:07:05 +01:00
Tom Hacohen
99a174c93d Side menu: rename external links to useful links. 2019-09-06 12:05:58 +01:00
Tom Hacohen
b450d20d2a Side menu: change Web site to Website. 2019-09-06 11:55:44 +01:00
Tom Hacohen
6ca0af69a2 Side menu: change from Contact developer to Contact. 2019-09-06 11:51:25 +01:00
Tom Hacohen
e016eff43e Bump version. 2019-09-05 20:23:43 +01:00
Tom Hacohen
d8cb979d36 Journal viewer: make raw journal entries's text selectable. 2019-09-05 20:23:36 +01:00
Tom Hacohen
ffb7f53c0a TaskList: catch exception when trying to acquire task list 2019-08-29 14:25:52 +01:00
Tom Hacohen
9a79fbe459 Bump version. 2019-08-27 18:38:16 +01:00
Tom Hacohen
d659b48f6d Create collection: gracefully handle IO exceptions. 2019-08-27 18:34:37 +01:00
Tom Hacohen
d3ad17e0bb BaseManager: Consider SSLHandshakeExceptions as real issues.
They inherit from IO exceptions so were temporarily ignored, but they could
indicate a real issue with the ability of this user to connect to the
server.
2019-08-27 18:31:11 +01:00
Tom Hacohen
36a44ba339 LocalAddressBook: update according to vcard4android changes. 2019-08-23 09:35:41 +01:00
Tom Hacohen
9560d4a65b BaseManager: add a debug log for the beginning of a network call. 2019-08-22 11:52:01 +01:00
Tom Hacohen
3451f51376 Bump version. 2019-08-18 16:07:12 +01:00
Tom Hacohen
58f16681aa Debug info: add calling class information to reports.
This change makes it easier to detect if a debug report was actually due to a
real issue, or is just a user sending the debug activity without any real
issue behind it.

This is to battle the surprising amount of debug info spam we've had to battle
with. Essentially users sending debug info without actually experiencing any
issues and never replying to questions. This is made worse because many of
those emails also have weird addresses in CC which make it look even more
like some weird sort of spam.
2019-08-18 16:07:06 +01:00
Tom Hacohen
3c74cb1575 Optimise imports. 2019-08-18 15:26:26 +01:00
Tom Hacohen
7405452975 Bump version. 2019-08-07 08:57:39 +01:00
Tom Hacohen
c8a81862ea Import: fix import of contacts. 2019-08-06 14:12:50 +01:00
Tom Hacohen
9018b6cdd0 Import: make it easy to report import issues to devs. 2019-08-06 13:45:55 +01:00
Tom Hacohen
d1d08658f9 Don't export private activities.
Fixes #84.
2019-08-05 14:25:31 +01:00
Tom Hacohen
687f973725 Fix formatting. 2019-08-05 08:34:30 +01:00
Tom Hacohen
7aea44bb27 Bump version. 2019-08-05 08:31:06 +01:00
Tom Hacohen
1cfdc59b17 Change journal: make it possible to revert an item to a past state.
Fixes #83
2019-07-30 20:29:47 +01:00
Tom Hacohen
97358224ab Bump version. 2019-07-28 11:11:45 +01:00
Tom Hacohen
6031bd2699 Events: automatically transform EMAIL event reminders to DISPLAY ones.
iCal support EMAIL event reminders which EteSync doesn't and can't support
due to end-to-end encryption. This commit therefore modifies the event reminders
DISPLAY so reminders are actually shown on the phone.

Fixes #63
2019-07-28 11:10:50 +01:00
Tom Hacohen
cfae3bf0b5 Bump version. 2019-07-22 22:41:21 +01:00
Tom Hacohen
8e457c5ec7 Import contacts: fix wrong import account. 2019-07-21 14:48:01 +01:00
Tom Hacohen
201a1e078e Change the icon to an adaptive icon
It would require a proper redesign to take advantage of the full
capabilities of adaptive icons. This is good enough for now though.

Fixes #65
2019-07-21 10:55:30 +01:00
Tom Hacohen
5fe963d7b9 Bump version. 2019-07-15 13:08:06 +01:00
Tom Hacohen
cac34e6785 Import: verify activity is not null when finishing import.
This is really just an ugly workaround for a crash. This whole thing needs to
be redone. It's currently quite broken when it comes to lifecycle handling and
a source for many issues.
2019-07-15 13:08:06 +01:00
Tom Hacohen
84ab0cb16f Import: check if successfully acquired the provider before trying to import. 2019-07-15 13:08:06 +01:00
Tom Hacohen
b2f41fd0a8 Invitation email: update signature. 2019-07-09 13:59:48 +01:00
Tom Hacohen
d2739a50ef Bump version. 2019-07-08 13:33:31 +01:00
Tom Hacohen
7d7096cc58 Allow connecting to insecure (http) servers.
I'm a bit conflicted about this one because even though EteSync is
end-to-end encrypted, people should be using TLS.
I can't think of a reason why anyone would want to use HTTP over HTTPS,
especially given let's encrypt exists and EteSync supports self-signed
certs, but I guess it's better to allow it for now, at least until we
have a nice error message for it.

Fixes #81
2019-07-08 13:25:36 +01:00
Tom Hacohen
1f9e7fa6a6 Revert: Import: always import, don't try to find duplicates based on UID
This is somehow a revert of 536bef9815.

It was initially implemented as a workaround for #24, but having
improved all the clients to deal with weird UIDs and matured a lot since
then, I believe this is no longer an issue.

Would have to keep a close eye for regressions.
2019-07-06 10:38:28 +01:00
Tom Hacohen
bbd40e0255 LocalGroup: implement updateAsDirty. 2019-07-06 10:28:42 +01:00
Tom Hacohen
cc83e2c5d9 Tasks: implement update as dirty. 2019-07-06 10:03:18 +01:00
Tom Hacohen
101e7e2559 Settings: cleanup the code to open the app's notification settings 2019-06-28 19:45:48 +01:00
Tom Hacohen
aea3bb3c5c Bump version. 2019-06-26 11:16:39 +01:00
Tom Hacohen
d08ec6926d Encryption password error: add a note about username casing. 2019-06-26 11:16:39 +01:00
Tom Hacohen
cdc5afba61 Fix debug log for failed login attempts.
Before this fix a failed loging attempt wouldn't include any debug
information on why it failed. This commit fixes that.
2019-06-26 10:51:24 +01:00
Tom Hacohen
032abfaa60 Build: update target sdk version. 2019-06-20 14:18:26 +01:00
Tom Hacohen
336ec16920 Bump version. 2019-06-20 14:09:26 +01:00
Tom Hacohen
16efe446c0 WebActivity: gracefully handle unsupported link types. 2019-06-13 10:10:23 +01:00
Tom Hacohen
9c13d5247c Bump version. 2019-06-13 09:57:11 +01:00
Tom Hacohen
7cfba6dc34 Acra: don't include email prefix.
We've recently started getting exceptions such as:
"java.lang.ClassCastException: java.lang.String cannot be cast to java.util.ArrayList"

I suspect it may be related to using the new email body prefix which is
probably not as well tested upstream as the rest of the code. Removing
it to see if this fixes things.
2019-06-13 09:57:11 +01:00
Tom Hacohen
1a7ef1b78e Sync: log broken entries on processing failure.
This change prints the content of broken entries (ones that fail parsing)
to the log so it's easier to debug issues.
2019-06-13 09:56:50 +01:00
Tom Hacohen
7932610c87 Webview: add missing call to super's save instance state. 2019-05-28 10:40:25 +01:00
Tom Hacohen
3ae422bb99 Bump version. 2019-05-28 10:25:23 +01:00
Tom Hacohen
6196b71a67 Update requery and kotlin version. 2019-05-06 12:47:00 +01:00
Tom Hacohen
58b54f9d66 Account list: workaround rare crash when listing accounts. 2019-05-05 17:45:44 +01:00
Tom Hacohen
e6d53fbfa0 Bump version. 2019-05-03 15:49:25 +01:00
Tom Hacohen
d358ac0ba4 Import: implement importing tasks from file.
Fixes #74.
2019-05-01 14:52:20 +01:00
Tom Hacohen
bfe68b9684 LocalTask: add a function to save tasks as dirty. 2019-05-01 14:52:16 +01:00
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
bab8cdf913 Bump version. 2019-05-01 10:06:28 +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
6bd405012d Bump version. 2019-04-25 13:26:05 +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
45b8e24503 Bump version. 2019-04-15 14:21:54 +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
91ac46e211 Bump version. 2019-04-15 13:58:21 +01:00
Tom Hacohen
41c7239a8c Members list: fix crash and handle correct lifecycle. 2019-04-12 09:51:56 +01:00
Steve Divskinsy
e3e61eb7bd Fix spelling in values/strings.xml
Correct spelling of "comporomised" to "compromised" in
main/res/values/strings.xml
2019-04-05 13:18:14 +01:00
Tom Hacohen
47c9452a4d Bump version. 2019-04-04 13:59:05 +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
Steve Divskinsy
2f7866ce75 Correct spelling
Correct spelling "plesae" -> "please"
2019-04-04 11:24:15 +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
608f40058b Update ACRA. 2019-03-27 11:24:18 +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
5562d917f3 Bump version. 2019-03-21 16:10:36 +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
8d660e376a Bump version (only number)
We had to do it because the play store version had a broken apk and we
needed to upload a new version that's built correctly.

Damn proguard, don't know why it does it every now and then.
2019-03-15 12:19:37 +00:00
Tom Hacohen
022ed146c4 Bump version. 2019-03-15 11:04:53 +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
07292a1422 Log to file: improve strings. 2019-03-14 21:32:52 +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
21c64d58ec Fix broadcast receiever intent to the correct etesync one. 2019-03-14 20:34: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
a2e126071a Bump version. 2019-03-10 19:01:29 +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
2e639aad16 Bump version. 2019-03-07 08:27:27 +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
f0a320f854 Bump version. 2019-03-06 21:51:49 +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
ab7f9be65a Bump version. 2019-02-24 08:08:53 +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
4f2e90484e Bump version. 2019-02-23 13:18:59 +00:00
Tom Hacohen
2beebdb25e Fix proguard rules for ezvcard and ical4j. 2019-02-23 13:18:46 +00:00
Tom Hacohen
3ba342ccc3 Bump version. 2019-02-21 19:24:39 +00:00
Tom Hacohen
98ca5fa318 Fix the setting controlling change notifications. 2019-02-21 19:24:39 +00:00
Tom Hacohen
dfb609a26a Bump version. 2019-02-20 16:30:55 +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
cfd0028300 Bump version. 2019-02-13 19:18:53 +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
a899502728 Move to a different read only icon. 2019-02-13 13:05:51 +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
69d17ed644 Bump version. 2019-02-07 12:10:25 +00:00
Tom Hacohen
e324f148a1 Fix proguard definitions.
Not sure why it wasn't showing up for me on any other phone than
the one I justed tested on, but it was indeed wrong and it's now
fixed.
2019-02-07 12:10:16 +00:00
Tom Hacohen
3862ae3726 Bump version. 2019-02-04 14:02:01 +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
1b6a72ef00 Reword account to delete to remove, as it only removes from the device. 2019-02-01 12:22:29 +00:00
Tom Hacohen
94908aabc9 Email invitation: update the signature. 2019-01-31 11:12:45 +00:00
Tom Hacohen
73428862db Bump version 2019-01-29 23:15:16 +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
8803480c52 Bump version 2019-01-23 17:50:46 +00:00
Tom Hacohen
21b704b75f Account setup: fix bad wording from the previous commit. 2019-01-12 14:25:22 +00:00
Tom Hacohen
98c0fe83e1 Account setup: make it clearer that you need to register an account. 2019-01-12 14:18:10 +00:00
Tom Hacohen
ab3dfff13a Acconut setup: make it more obvious that server needs to be an etesync one. 2019-01-12 14:10:45 +00:00
Tom Hacohen
c259e9bede build.gradle: bump okhttp3 version. 2019-01-12 12:38:11 +00:00
Tom Hacohen
141c3bccda build.gradle: use variables for some more deps. 2019-01-12 12:31:01 +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
c74f9bc23d Bump version to 1.0.0!!
There's a lot more to be done, but we've definitely earned this. :)
2019-01-12 10:09:41 +00:00
Tom Hacohen
c6c5ff1c80 Tests: update according to changes with owners adding themselves as members. 2019-01-12 00:17:36 +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
958a36c638 Bump version. 2019-01-11 16:22:46 +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
f31f24858c Bump version. 2019-01-09 15:40:39 +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
a7f0144fc8 Build: fix gradle warnings. 2019-01-09 12:12:36 +00:00
Tom Hacohen
7180fe91de Build: Remove lombok. 2019-01-09 12:00:38 +00:00
Tom Hacohen
0605f858b6 Bump version. 2019-01-09 09:59:39 +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
8edb062cfe Bump version. 2019-01-08 11:39:32 +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
523206c32e Bump version. 2019-01-07 21:53:31 +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
756e0a3b37 Bump version. 2019-01-06 21:25:41 +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
2867d1564c Proguard: update for the new deps. 2019-01-06 21:13:26 +00:00
Tom Hacohen
e5f750e5de Build: add missing kotlin dep for main app. 2019-01-06 21:13:26 +00:00
Tom Hacohen
9b52098a8f Build: centralise the place for all versions. 2019-01-06 21:13:26 +00:00
Tom Hacohen
7f0dc7e3f2 Bump requery version. 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
66e70b2a29 Build: Upgrade compile sdk. 2019-01-05 17:35:27 +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
d67fa654ee Build: upgrade to Java 1.8. 2019-01-05 15:48:07 +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
df47f7bea6 Build: update gradle and kotlin versions. 2019-01-05 13:48:31 +00:00
Tom Hacohen
26715f2f34 Kotlin: fix some wrong null assertions. 2019-01-05 13:03:33 +00:00
Tom Hacohen
c75f2fa7d5 Build: disable kotlin assertions for release builds.
This is so it doesn't crash for users when it sholudn't until
we complete the migration.
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
c26ae4fba6 Kotlin: more kotlin migration. 2019-01-05 10:05:31 +00:00