Just to let you know, without doing anything more, it now syncs… I don’t understand but I’m glad it works.
CalDAV: After a contact got updated during sync, it is removed from speed dials
I’m using version 0.6.2 from F-Droid on a Samsung Galaxy S4 mini running Samsung stock firmware (based on Android 4.2.2). DAVdroid is connected to my ownCloud 7 server to sync contacts and calendars.
I have set up speed dials in the standard (Samsung?) dialer app. If I now update a contact in ownCloud (in my case the picture) and synchronize my phone, the speed dials referencing that contact are lost. Not sure whether this is a problem of DAVdroid, which might delete and then create a changed account instead of updating it or whether it is a bug in the dialer.
Not sure whether this is a problem of DAVdroid, which might delete and then create a changed account instead of updating it or whether it is a bug in the dialer.
DAVdroid indeed removes all data rows for a contact when updating while the main data row is kept.
For further investigation, I’d need the exact data rows you want to keep. I don’t know how the Samsung dialer works and which records it sets or expects. Do you have further information?
But you’re right, theoretically it would be better to remove only data rows which are set by DAVdroid, so that unknown data rows are kept when DAVdroid updates a contact/event.
I tried a few things so far and the issue keeps coming one particular contact but I haven’t been able to identify the reason. There are two contacts, I usually use for speed dials (in both cases the private phone number). One never gets removed, the other sometimes gets removed. The most obvious difference is that one has a picture and the other one doesn’t. So I configured another contact with a picture besides the two usual ones. After syncing for a few times, it is still only one that creates the trouble.
Another test was using different positions, i. e. assigning the contacts to different speed dials. This also did not make a difference.
The next thing I might try is to delete the problematic contact and recreate it.
The problem vanished
I think it was related to an OwnCloud problem that also lead to degrading contact pictures in my case. After updating OwnCloud from 7.0 to 7.0.1, the issue with the contact pictures is gone and since then no speed dial assignment got reset. I also updated DAVdroid to the current version in between.