Database error - caldav and carddav detected but sync doesn't work



  • Hello everybody !

    I'm new here, so thank you for this app :)

    I installed DAVdroid a couple of days ago on my Android device, and i encountered some issues. First I have a xiaomi device, and thanks to this topic I could solve the auto-start problem.

    Current Issue:
    (I looked for a similar issue on the forum but didn't find)

    But I still cannot sync my calendars and contacts. Every time I click on the sync button, I obtain this notification:

    Address book synchronization failed (<account name>)
    Database error while downloading remote entries
    

    And when I click on the notification, it redirects to the debug info.

    Environment:

    I use ownCloud (NextCloud in fact but it doesn't matter I think) on a zaclys server (associative and free server, respect of privay, etc).
    My device is a Xiaomi Redmi 2A (in the debug info below: HM 2A) with Android 4.4.4 (KTU84Q, I don't know what it means) and MIUI 8 (version 6.10.27) and I installed the latest version of DAVDroid from F-Droid.

    What I tried:

    I tried a lot of different urls to see if it changes something, but I think it's not the problem (no error messages, I can properly create my account, etc). Examples:

    https://webcloud.zaclys.com/remote.php/caldav/
    https://webcloud.zaclys.com/remote.php/carddav/
    https://webcloud.zaclys.com/remote.php/dav/
    

    And it seems it's not a server configuration issue, because the app detects the calendars and the contacts, as you can see on this screenshot:
    0_1477826009279_Screenshot_2016-10-29-22-30-05-677_at.bitfire.davdroid.png

    Debug info

    Here is the debug info, I hope it will help.

    Thank you for your attention and your help :)


  • developer

    @TheFreeBeginner

    EXCEPTION:
    at.bitfire.vcard4android.ContactsStorageException: Couldn't apply batch operation
    	at at.bitfire.vcard4android.BatchOperation.commit(BatchOperation.java:66)
    	at at.bitfire.vcard4android.AndroidContact.create(AndroidContact.java:636)
    	at at.bitfire.davdroid.syncadapter.ContactsSyncManager.processVCard(ContactsSyncManager.java:442)
    	at at.bitfire.davdroid.syncadapter.ContactsSyncManager.downloadRemote(ContactsSyncManager.java:350)
    	at at.bitfire.davdroid.syncadapter.SyncManager.performSync(SyncManager.java:170)
    	at at.bitfire.davdroid.syncadapter.ContactsSyncAdapterService$ContactsSyncAdapter.onPerformSync(ContactsSyncAdapterService.java:66)
    	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
    Caused by: android.content.OperationApplicationException: App op not allowed
    	at android.database.DatabaseUtils.readExceptionWithOperationApplicationExceptionFromParcel(DatabaseUtils.java:158)
    	at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:512)
    	at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:393)
    	at at.bitfire.vcard4android.BatchOperation.runBatch(BatchOperation.java:82)
    	at at.bitfire.vcard4android.BatchOperation.commit(BatchOperation.java:55)
    	... 6 more
    

    According to the error message, DAVdroid is not allowed to insert the contact into the address book.

    Android version: 4.4.4 (KTU84P)
    Device: Xiaomi HM 2A (lte26007)
    

    As far as I have heard, there is a special permission and privileges system for Xiaomi. Please check the app permissions, see also FAQ: [Xiaomi MIUI] How do I enable DAVdroid synchronization?.



  • PROBLEM SOLVED

    Ow... I feel so stupid...

    Sorry for the disturbance :sweat_smile: and thank you for your answer.

    I spent so much time and looked for so many solutions and I just forgot to give the app the permission to read and modify contacts and calendars :expressionless: ...

    Solution:
    For those who don't know how to manage the permissions in MIUI:

    Method 1: App Settings, scroll down, Permissions, Permissions, look for DAVDroid app, finally accept the permissions Modify and delete contacts, Read your contacts and Read calendar events.

    Method 2: App Security (may be in the folder Tools on the main homepage), Permissions, Permissions, look for DAVDroid app, finally accept the permissions Modify and delete contacts, Read your contacts and Read calendar events.


  • developer

    @TheFreeBeginner Thanks for confirming the solution.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.