DAVx5 2.4: Account activity doesn't react when not all permissions are granted
my system settings are as followed:
Sony Xperia Z3compact, Android 6.0.1
DAVx5 2.4 ose (279) via F-Droid
Since the last update 3 days ago I have the strange issue, that the App does no longer react, once I select the account (I have only one account configured).
Steps to reproduce:
Start the app
select the account
(The app switches to the account details) Whatever button I click next (Sync, details, back) nothing happens. I have to kill the app via the task manager.
Interestingly, the sync still works. If I update a calendar entry with aCalendar or Thunderbird/Lightning, it is synced to the other devices.
I started the same process with logging, but I cannot find any obvious error in there.
2019-04-02 16:05:56 3 [log.Logger] Now logging to file: /data/user/0/at.bitfire.davdroid/files/debug/davx5-log.txt -> content://at.bitfire.davdroid.debug/debug/davx5-log.txt 2019-04-02 16:06:00 3 [settings.Settings] Looking up setting time_nextDonationPopup 2019-04-02 16:06:00 3 [settings.Settings] DefaultsProvider: value = null, continue: true 2019-04-02 16:06:00 3 [settings.Settings] SharedPreferencesProvider: value = 1555307852560, continue: true 2019-04-02 16:06:00 3 [settings.Settings] Looked up setting time_nextDonationPopup -> 1555307852560 2019-04-02 16:06:00 3 [settings.Settings] Looking up setting hint_BatteryOptimizations 2019-04-02 16:06:00 3 [settings.Settings] DefaultsProvider: value = null, continue: true 2019-04-02 16:06:00 3 [settings.Settings] SharedPreferencesProvider: value = null, continue: true 2019-04-02 16:06:00 3 [settings.Settings] Looked up setting hint_BatteryOptimizations -> null 2019-04-02 16:06:44 0 [log.Logger] Now logging to file: /data/user/0/at.bitfire.davdroid/files/debug/davx5-log.txt -> content://at.bitfire.davdroid.debug/debug/davx5-log.txt 2019-04-02 16:06:44 1 [PackageChangedReceiver] Tasks provider available = true
Did anybody else observe this issue? My search in this forum did not turn up anything that seemed to be related.
Can you please provide DAVx⁵ debug info?
I thought I did that already. The “code” part in my first post is exactly what was coming out after I shared the debug info to my mail.
Is there any deeper debugging log, that I have missed.
@Moses DAVx⁵ / Settings (not account settings) / Debug Info
Do you mean this?
--- BEGIN DEBUG INFO --- SOFTWARE INFORMATION * at.bitfire.davdroid 2.4-ose (279) from org.fdroid.fdroid * org.dmfs.tasks 1.1.17 (7430) from com.android.vending * com.android.providers.contacts 6.0.1 (23) * com.android.providers.calendar 6.0.1 (23) * com.sonyericsson.android.socialphonebook 19.1.A.0.106 (39977066) * org.withouthat.acalendarplus 2.0.9 (2000122) from com.android.vending * com.simplemobiletools.calendar.pro 6.4.1 (147) from com.android.vending CONNECTIVITY (at the moment) Active connection: mobile, CONNECTED CONFIGURATION Power saving disabled: yes android.permission.READ_CONTACTS: denied android.permission.WRITE_CONTACTS: denied android.permission.READ_CALENDAR: granted android.permission.WRITE_CALENDAR: granted org.dmfs.permission.READ_TASKS: granted org.dmfs.permission.WRITE_TASKS: granted android.permission.ACCESS_COARSE_LOCATION: denied System-wide synchronization: automatically Account: USERNAME Nextcloud Address book sync. interval: manually Calendar sync. interval: 240 min OpenTasks sync. interval: 240 min WiFi only: false [CardDAV] Contact group method: GROUP_VCARDS [CalDAV] Time range (past days): 90 Manage calendar colors: true Use event colors: false SQLITE DUMP android_metadata | locale | | de_DE | ---------- services | _id | accountName | service | principal | | 5 | USERNAME Nextcloud | carddav | https://foo.bar/remote.php/dav/principals/users/USERNAME/ | | 6 | USERNAME Nextcloud | caldav | https://foo.bar/remote.php/dav/principals/users/USERNAME/ | ---------- sqlite_sequence | name | seq | | services | 6 | | homesets | 9 | | collections | 24 | ---------- homesets | _id | serviceID | url | | 6 | 5 | https://foo.bar/remote.php/dav/addressbooks/users/USERNAME/ | | 7 | 6 | https://foo.bar/remote.php/dav/calendars/USERNAME/ | ---------- collections | _id | serviceID | url | readOnly | displayName | description | color | timezone | supportsVEVENT | supportsVTODO | sync | type | source | forceReadOnly | privWriteContent | privUnbind | | 11 | 5 | https://foo.bar/remote.php/dav/addressbooks/users/USERNAME/contacts/ | 0 | Kontakte | <null> | <null> | <null> | <null> | <null> | 0 | ADDRESS_BOOK | <null> | 0 | 1 | 1 | | 12 | 6 | https://foo.bar/remote.php/dav/calendars/USERNAME/shared-calendar/ | 0 | CalendarName | <null> | -8853644 | <null> | 1 | 1 | 1 | CALENDAR | <null> | 0 | 1 | 1 | | 13 | 6 | https://foo.bar/remote.php/dav/calendars/USERNAME/personal/ | 0 | Persönlich | <null> | <null> | <null> | 1 | 1 | 0 | CALENDAR | <null> | 0 | 1 | 1 | ---------- SYSTEM INFORMATION Android version: 6.0.1 (23.5.A.1.291) Device: Sony D5803 (D5803) --- END DEBUG INFO ---
@Moses Yes, thanks. I see that contact permissions are missing:
Does it work when you manually give contact permissions to DAVx⁵ (Android settings / Apps / DAVx⁵ / Permissions)?
I tested version 2.4 with temporally granted permission for contacts. This works.
I cannot test v188.8.131.52, because it is not yet available on F-droid.
However, contact permissions have been denied/missing for the past 2 years without any problems. I do not sync my contacts for various reasons and therefore deny permission to access contacts to any app that does not absolutely need it. Any version before v2.4 worked fine: The app worked (did not crash), calendar was synced, contacts were not.
As soon as it becomes available, I will test v184.108.40.206 and report back.
This post is deleted!
Hm, that snackbar notification is only shown for a very short period of time (one or two seconds at most). Very little time to click the “FIX” button
I’m also not sure, if this notification should be shown over and over again, whenever the account settings are opened.
We’ve discussed this already internally yesterday. We don’t want to bother users that are fine with the fact not having granted all permissions. Otherwise we want to show people that maybe have missed granting permissions a “soft” way to fix that. In android these toasts can only be short, long (currently used) and permanent.
If you have other suggestions that work better we may consider changing the behaviour
It feels a bit odd to continuously show this notification, when the user has explicitly chosen to not grant this permission.
At the very least, I would only show the toast notification if the user actually has an address book selected for syncing.
Is there a point to show this notification if no address book has been selected?
Currently the permission toast would also be shown if there is no address book selected. If there is no CardDAV section then there would also be no permissions toast for the contacts permission. Nevertheless @rfc2822 is currently already working on something on that matter. I think she will improve the behaviour in the near future.
@devvv4ever thanks for the update
Version 220.127.116.11 finally is available on F-Droid. I tested it and so far it seems to work finr again.