Etar-Group / Etar-Calendar

Android open source calendar
https://f-droid.org/packages/ws.xsoh.etar/
GNU General Public License v3.0
2.01k stars 392 forks source link

No ICS import possible #1166

Open imlinstress opened 2 years ago

imlinstress commented 2 years ago

I've downloaded a .ics calender but there is no way i can import it.

RomanHauksson commented 2 years ago

In your file manager, you should be able to bring up an "open with" dialogue to open the iCalendar file with Etar, which imports it for you.

imlinstress commented 2 years ago

It looks like the .ics file is corrupted. I'm gonna have to try it with different file and see if it works.

zemiacsik commented 2 years ago

In your file manager, you should be able to bring up an "open with" dialogue to open the iCalendar file with Etar, which imports it for you.

It seems to import just the first event for me.

TOMats3 commented 2 years ago

Bulk import (and export) is a Work in Progress. See: #653

rparkins999 commented 1 year ago

I have code to do bulk import, but it required a fairly major rewrite of the import logic, and a way to pass a whole lot of events to the event editor one at a time. I did that by using an app-global FIFO, which is normally empty. When the event editor is created (in this situation by the import logic), it pulls events out of the FIFO and presents them to the user one at a time for acceptance or rejection.

hueldoeu commented 1 month ago

In your file manager, you should be able to bring up an "open with" dialogue to open the iCalendar file with Etar, which imports it for you.

It seems to import just the first event for me.

i have to same problem. my ics-link is https://api.fokus-tierwohl.de/fokus-tierwohl/api/v1/veranstaltungs/icalendar

i use the huawei calender to import the ics-file

rparkins999 commented 1 month ago

If you are using the Huawei calendar, improvements to Etar-calendar won't help you. Most Android calendars are derived form the original open source Google code, which didn't support importing multiple events from an ICS file, and it's quite difficult to modify it to do so as described in my earlier comment. If you want to import multiple events from an ICS file, your best bet is either to download rparkins999/Etar-Calendar, which will do it for you, or if your Android calendar is synchronised with a PC calendar, import your ICS file into that (most PC calendars will import multiple events from an ICS file) and then synchronise.

If you are using multiple calendar apps on your Android device, take care not to have more than one of them active at a time. Most calendar apps will cache some data internally, and saving cached data from different apps can cause calendar corruption. The underlying Sqlite library used by Android can support atomic transactions, which could avoid this problem, but the Android API doesn't. It pipes all Sqlite requests though a single background server process in order to avoid blocking the UI thread, so the Sqlite library, which uses the process ID to identify different clients, can't tell which requests belong to which client's transaction.

hueldoeu commented 1 month ago

If you are using the Huawei calendar, improvements to Etar-calendar won't help you. Most Android calendars are derived form the original open source Google code, which didn't support importing multiple events from an ICS file, and it's quite difficult to modify it to do so as described in my earlier comment. If you want to import multiple events from an ICS file, your best bet is either to download rparkins999/Etar-Calendar, which will do it for you, or if your Android calendar is synchronised with a PC calendar, import your ICS file into that (most PC calendars will import multiple events from an ICS file) and then synchronise.

If you are using multiple calendar apps on your Android device, take care not to have more than one of them active at a time. Most calendar apps will cache some data internally, and saving cached data from different apps can cause calendar corruption. The underlying Sqlite library used by Android can support atomic transactions, which could avoid this problem, but the Android API doesn't. It pipes all Sqlite requests though a single background server process in order to avoid blocking the UI thread, so the Sqlite library, which uses the process ID to identify different clients, can't tell which requests belong to which client's transaction.

so far my system works. as i said, i use huawei calender only to import multiple events from a ICS file (usually huawei software is junk, like their smartphones).

couldn't find rparkins999/Etar-Calendar so far.