I understand your problem but don’t you just want to whitelist ICSdroid? The battery isn’t affected much by making an exception for ICSdroid. It’s just the that it gets the possibility to sync automatically on shorter intervals - you can still set once per day.
One other issue (quick feedback): When creating a new ics calendar, when enters the URL and the absolute path of the URL becomes the cal’s name, for posteo this is something like /calendars/ics/dasd882342332234234 as cal name. Would be better if one could enter Name and URL when adding a new ics.
Hi! It doesn’t make much sense to also copy LOCATION and DESCRIPTION, I think. Copying the SUMMARY has a practical outcome for the user because of the display in the calendar not being “—” anymore. Isn’t it enough to solve the problem just by copying the SUMMARY field?
Sounds reasonable to me to look e.g. for a “BEGIN: VCALENDAR” and a “BEGIN: EVENT” as well as for a closing “END:VEVENT” and “END:VCALENDAR” as a basic validation. I think from a user perspective this should be fine, the subscription would be fast and as it can happen at any time that a once valid resource becomes invalid (maybe due to an error while the .ics file was created, or a failed file download, or…) I don’t see a drawback in validating the whole file only when synchronizing.
@rfc2822 Thanks for the explanation, makes sense! If ICSDroid can’t omit downloading the whole .ics file, wouldn’t a “time limit” at least lighten the burden for creating entries in the Android calendar (and in consequence speed up any application displaying this smaller calendar)?
It seems that the location provided does not work. Maybe some kind of weird redirect or so. Also keep in mind that Google answers very slow on some .ics requests - I had this once myself. Maybe just try again?
Thanks for sharing your solution. It is always good to write it here so other are pointed to a possible solution. However we’ve not had a similar one yet (afaik). Maybe the Android storage was somehow broken, and was re-initialized. At least you found a way how it works again
If you’re looking for a real sync solution you may try our app DAVdroid. You need to set up a CalDAV server first. Then you will be able to synchronize your calendars in two way. DAVdroid is open source and it published under GPL and we also sell it in the Google Play store, because it was and is very hard work to write and maintain it.