Reading DAVDroid sourcecode, I think these are the bits where the workaround should be put:
at/bitfire/davdroid/syncadapter/SyncManager.java:139-161
Here we should make an additional safety check, at this line:
Resource res = local.findById(id, true); local.ensureMusthaveFields(res);And in at/bitfire/davdroid/resource/LocalCollection.java we should make a
public void ensureMusthaveFields(Resource res) throws LocalStorageException {method.
I’m also seeing in that file a res.getName() method, but I can not find, if it is the actual N and FN fields…
I never wrote Android program before, and I’m not really in java programming either.
But it must be a relatively easy programming task, although I need some helping hand.
Also no idea how to compile DAVdroid from source and how to try it on an actual device.
This bug is so annoying!
Laszlo