gggard / AndroidCaldavSyncAdapater

Caldav synch adapter for Android
246 stars 88 forks source link

No sync with iCloud on Android phone #186

Open bbnetworks opened 10 years ago

bbnetworks commented 10 years ago

After installation & configuration of CalDav on my android phone, all my iCloud calendar items are loaded onto the android phone, but after that no new calendar items are loaded, even when manually syncing. Android phone: Sony Xperia-Z

ridgeworks commented 10 years ago

There have been otter issues (e.g. #168, #151) reporting this, but I'll report my findings here.

From what I've observed, it aopears that iCloud servers have an additional second element in responses to requests retrieving calandar lists. These elements have empty string values for and and are accompanied by an error status (404 Not Found). The current implementation (1.8.1) overwrites the valid values in the first propstat element by these empty values in the second. The net effect is that the ctag is always empty so it appears that the calendar never changes.

I've implemented a change in a local copy of CalandarsHandler to ignore any values in propstat elements that have an error status code. This fixes the ctag issue but I still found it necessary to add an automatic timed sync to get updates from the server with any regularity. (I used a 30 minute sync period.)

Happy to share any of this with anybody doing active development on AndroidCaldavSyncAdapater.

ridgeworks commented 10 years ago

Previous comment had angle brackets which got caught in formatter. Hope this makes things clearer:

There have been otter issues (e.g. #168, #151) reporting this, but I'll report my findings here.

From what I've observed, it aopears that iCloud servers have an additional second propstat element in responses to requests retrieving calandar lists. These elements have empty string values for getctag and displayname and are accompanied by an error status (404 Not Found). The current implementation (1.8.1) overwrites the valid values in the first propstat element by these empty values in the second. The net effect is that the ctag is always empty so it appears that the calendar never changes.

I've implemented a change in CalandarsHandler to ignore any values in propstat elements that have an error status code. This fixes the ctag issue but I still found it necessary to add an automatic timed sync to get updates from the server with any regularity. (I used a 30 minute sync period.)

Happy to share any of this with anybody doing active development on AndroidCaldavSyncAdapater.

bbnetworks commented 10 years ago

Hello,

Thanks for the update. Can you share a modified version with me, so I can try it?

Best regards, Dirk

On 08 Apr 2014, at 23:00, ridgeworks notifications@github.com wrote:

Previous comment had angle brackets which got caught in formatter. Hope this makes things clearer:

There have been otter issues (e.g. #168, #151) reporting this, but I'll report my findings here.

From what I've observed, it aopears that iCloud servers have an additional second propstat element in responses to requests retrieving calandar lists. These elements have empty string values for getctag and displayname and are accompanied by an error status (404 Not Found). The current implementation (1.8.1) overwrites the valid values in the first propstat element by these empty values in the second. The net effect is that the ctag is always empty so it appears that the calendar never changes.

I've implemented a change in CalandarsHandler to ignore any values in propstat elements that have an error status code. This fixes the ctag issue but I still found it necessary to add an automatic timed sync to get updates from the server with any regularity. (I used a 30 minute sync period.)

Happy to share any of this with anybody doing active development on AndroidCaldavSyncAdapater.

— Reply to this email directly or view it on GitHub.

ridgeworks commented 10 years ago

Hello Dirk,

Not sure exactly what you're looking for. E.g., I could email you the modified source for the CalendarsHandler class that you could use to build and test your own version. If you're looking for a packaged app, that would take a bit more time. In either case, I'd need your email address.

Rick