Giter VIP home page Giter VIP logo

calendar-import-export's People

Contributors

dschuermann avatar fhaftmann avatar freddupont avatar jgriffiths avatar luensche avatar tasn avatar woheller69 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

calendar-import-export's Issues

timezone conversion

29707    GoogleVEventWrapper  D  VEvent: SUMMARY GoogleEvent: title Value: Opa: Geburtstag (84)
 29707    GoogleVEventWrapper  D  VEvent: DTSTART GoogleEvent: dtstart Value: 20100303T010000
 29707    GoogleVEventWrapper  D  VEvent: DTEND GoogleEvent: dtend Value: 20100304T010000
 29707          VEventWrapper  D  VEvent ready to insert into db
 27191          DatabaseUtils  E  Writing exception to parcel
 27191          DatabaseUtils  E  java.lang.IllegalArgumentException: Event values must include an eventTimezone
 27191          DatabaseUtils  E  at com.android.providers.calendar.CalendarProvider2.validateEventData(CalendarProvider2.java:2533)
 27191          DatabaseUtils  E  at com.android.providers.calendar.CalendarProvider2.insertInTransaction(CalendarProvider2.java:2111)
 27191          DatabaseUtils  E  at com.android.providers.calendar.SQLiteContentProvider.insert(SQLiteContentProvider.java:96)
 27191          DatabaseUtils  E  at android.content.ContentProvider$Transport.insert(ContentProvider.java:201)
 27191          DatabaseUtils  E  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:148)
 27191          DatabaseUtils  E  at android.os.Binder.execTransact(Binder.java:351)
 27191          DatabaseUtils  E  at dalvik.system.NativeStart.run(Native Method)

Exception DTEND and DURATION cannot both be null for an event.

 20907          VEventWrapper  D  VEvent ready to insert into db
 20907          InsertVEvents  D  values: calendar_id=12 dtstart=1295892000000 title=test! rrule=FREQ=YEARLY eventTimezone=Europe/London
 21825      CalendarProvider2  I  dtStart:       1295892000000
 21825      CalendarProvider2  I  dtEnd:         null
 21825      CalendarProvider2  I  all_day:       null
 21825      CalendarProvider2  I  tz:            Europe/London
 21825      CalendarProvider2  I  dur:           null
 21825      CalendarProvider2  I  rrule:         FREQ=YEARLY
 21825      CalendarProvider2  I  rdate:         null
 21825      CalendarProvider2  I  last_date:     null
 21825      CalendarProvider2  I  id:            null
 21825      CalendarProvider2  I  sync_id:       null
 21825      CalendarProvider2  I  ori_id:        null
 21825      CalendarProvider2  I  ori_sync_id:   null
 21825      CalendarProvider2  I  ori_inst_time: null
 21825      CalendarProvider2  I  ori_all_day:   null
 21825          DatabaseUtils  E  Writing exception to parcel
 21825          DatabaseUtils  E  java.lang.IllegalArgumentException: DTEND and DURATION cannot both be null for an event.
 21825          DatabaseUtils  E  at com.android.providers.calendar.CalendarProvider2.validateEventData(CalendarProvider2.java:2554)
 21825          DatabaseUtils  E  at com.android.providers.calendar.CalendarProvider2.insertInTransaction(CalendarProvider2.java:2111)
 21825          DatabaseUtils  E  at com.android.providers.calendar.SQLiteContentProvider.insert(SQLiteContentProvider.java:96)
 21825          DatabaseUtils  E  at android.content.ContentProvider$Transport.insert(ContentProvider.java:201)
 21825          DatabaseUtils  E  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:148)
 21825          DatabaseUtils  E  at android.os.Binder.execTransact(Binder.java:351)
 21825          DatabaseUtils  E  at dalvik.system.NativeStart.run(Native Method)
 20907          InsertVEvents  E  InsertVEvents
 20907          InsertVEvents  E  java.lang.IllegalArgumentException: DTEND and DURATION cannot both be null for an event.
 20907          InsertVEvents  E  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:167)
 20907          InsertVEvents  E  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
 20907          InsertVEvents  E  at android.content.ContentProviderProxy.insert(ContentProviderNative.java:420)
 20907          InsertVEvents  E  at android.content.ContentResolver.insert(ContentResolver.java:866)
 20907          InsertVEvents  E  at org.sufficientlysecure.ical.InsertVEvents.run(InsertVEvents.java:101)
 20907          InsertVEvents  E  at org.sufficientlysecure.ical.ui.dialogs.DialogTools$2.run(DialogTools.java:85)
 20907          InsertVEvents  E  at java.lang.Thread.run(Thread.java:856)
 21825      CalendarProvider2  I  Sending notification intent: Intent { act

Update calendar details when modified by external app

This is instead of a refresh button as suggested by @Gitoffthelawn. Also noticed by @mzagol during offline testing of another issue.

There are two parts here, 1) reload the calendar details when the app is resumed, and 2) Register for updates from the O/S when any calendars change while running.

Note that the count may still be wrong until a workaround for issue #44 is found.

New icon update

I'm using a F-Droid version of this app and the icon of this app is still a legacy one. This app already has a Material Design interface, so I'd like to see a new icon too.

NullPointerException from getDateTime during export

Captured logcat output as requested. The XDA forum post was very helpful (thanks @jgriffiths), and I ended up doing the following:

  • Enabled 'Developer mode' and 'Debug logging' under Settings (in Calendar Import/Export).
  • Started recording the logcat on my (Linux) laptop with adb logcat -v long > phone.log
  • Used the application as described in the tests below.
  • Ran sed -n '/ICS_/,/^\r$/p' < phone.log > bugtest.log to extract requested sections. (Needed the \r to match "empty" lines, since logcat outputs DOS line endings.)

Test 1: Successfully export a local calendar (id 7, with 30 items):

[ 05-19 20:56:28.939  4563:14208 I/ICS_SaveCalendar ]
Save id 7 to file /storage/emulated/0/bugtest.ics

[ 05-19 20:56:28.955  4563:14208 E/ICS_SaveCalendar ]
Failed to create mailTo for organizer mailto:Local Calendar

{...then just 29 more copies of this mailTo error...}

Test 2: Trigger bug when exporting a local calendar (id 6):

[ 05-19 20:56:54.025  4563:14223 I/ICS_SaveCalendar ]
Save id 6 to file /storage/emulated/0/bugtest.ics

[ 05-19 20:56:54.041  4563:14223 E/ICS_SaveCalendar ]
Failed to create mailTo for organizer mailto:Local Calendar

[ 05-19 20:56:54.142  4563:14223 E/ICS_SaveCalendar ]
Failed to create mailTo for organizer mailto:Local Calendar

[ 05-19 20:56:54.142  4563:14223 E/ICS_RunnableWithProgress ]
An exception occurred
java.lang.NullPointerException
        at org.sufficientlysecure.ical.SaveCalendar.getDateTime(Unknown Source)
        at org.sufficientlysecure.ical.SaveCalendar.convertFromDb(Unknown Source)
        at org.sufficientlysecure.ical.SaveCalendar.run(Unknown Source)
        at org.sufficientlysecure.ical.ui.dialogs.RunnableWithProgress$1.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:856)

Test 3: Trigger same bug when exporting a Google calendar (id 1):

[ 05-19 20:57:13.275  4563:14513 I/ICS_SaveCalendar ]
Save id 1 to file /storage/emulated/0/bugtest.ics

[ 05-19 20:57:16.439  4563:14513 E/ICS_RunnableWithProgress ]
An exception occurred
java.lang.NullPointerException
        at org.sufficientlysecure.ical.SaveCalendar.getDateTime(Unknown Source)
        at org.sufficientlysecure.ical.SaveCalendar.convertFromDb(Unknown Source)
        at org.sufficientlysecure.ical.SaveCalendar.run(Unknown Source)
        at org.sufficientlysecure.ical.ui.dialogs.RunnableWithProgress$1.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:856)

I also captured some verbose logcat output with adb logcat -v long '*:v' > phone.log, but this included masses of data, including a dump of each entry read and written, so I've not included it here. I can generate (and sanitize) more of that if it would help.

Multiple export

I think it would be convenient with a button to export selected calendars.

Suggested UI structure:

[Export]
[Export multiple calendars]
  [ ] Select all
  [ ] Jobs
  [ ] Meetings
  [ ] Routines
[Import File]
[Import URL]

Request: Add option to not export events with UUID's

It appears there are some serious issues in Android with getting it to actually delete events for local calendars.

I have yet to find a single Android app that uses local calendars that can successfully delete events. Yes, it appears the events are deleted, but they never actually get deleted. When this app is used, all the supposedly deleted events get exported alongside the actual events.

If you know of a calendar app that uses local calendars, and can actually delete events, please post it here!

In order to work around this issue, some popular apps remove the UUID's of events that the user wants to delete. Even though those events don't actually get deleted in the database, the apps know not to show those events in the calendar.

Can an option be added to this app to not export events that don't have UUID's?

[bug?] Export files contain extraneous data

The beginning of export files contain scores of RDATE lines as well as multiple DTSTART sections.

I think some of this data (most likely the multiple DTSTART sections) is due to every time in history DST has been modified. But the weird thing is that there are separate RDATE lines for scores of years, beginning roughly 100 years ago. DST changes are much less frequent than that.

I'm not sure if this is a bug, but it's definitely odd.

New icon

iconie

Download iconIE.svg.png and change '.png' extension into '.svg' to get an original SVG file.

Released under CC BY-NC-SA

Imported bug: Full day event import issue / invalid iCal-file

What steps will reproduce the problem?

  1. Start app
  2. Select URL for import (http://localhost/test.ics
  3. load iCal file

What is the expected output? What do you see instead?
Refuses all full-day events.
Refuses import file/URL with
Error at line6:[DTSTART]
Unparseable date: "20110624"

What version of the product are you using? On what operating system?
1.5 on Android 2.3.3 Samsung Galaxy S2

Please provide any additional information below.

I write some own PHP code, so I can influence the generated ICS-code.
What I would like it to accept (and most other progs/Google does) is a file like

BEGIN:VCALENDAR

VERSION:2.0

PRODID:-//Custom written JD//NL

BEGIN:VEVENT

TZNAME:CET

DTSTART:20110624

DTEND:20110625

SUMMARY:Example event

END:VEVENT

END:VCALENDAR

This is valid code for a single day full day event. So untimed DTSTART, DTEND.

I can see the progs accepts:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Custom written JD//NL
BEGIN:VEVENT
TZNAME:CET
DTSTART:20110624T000000
DTEND:20110625T235959
SUMMARY:Example event
END:VEVENT
END:VCALENDAR

But this gives an event between the times mentioned. Which is ugly and gives all sort of problems. For instance when changing to daylight-saving-time, which shifts the event one hour into the next day.

I'm totally new to Android, but would like to load stuff like this in my calendar.
Found your app, and it looks very nice.

Any resolvement of the issue would be appreciated.

Imported bug: Import of multi-line description fields

What steps will reproduce the problem?

  1. Attempt to import an ICS with a multi-line description field

What is the expected output? What do you see instead?

Multi-line description fields have a space in the first position of the second and subsequent lines. For example:

DESCRIPTION:Trip:\nJUL 16-DESTINATION\nDeparts Jul 16, 20
11 8:25am Arrives Jul 16, 2011 12:55pm

The second line starts with a space and should be recognized as a continuation of the DESCRIPTION field. The resulting description should read:

Trip:
JUL 16-DESTINATION
Departs Jul 16, 2011 8:25am Arrives Jul 16, 2011 12:55pm

Instead, the following error message is printed:

Error
iCal file could not be parsed
Error at line xx: illegal property [ 11 6]

This seems to indicate that the importer is treating the continuation line as a new field.

What version of the product are you using? On what operating system?
Version 1.5 on Android 2.3

Please provide any additional information below.


Found this:
http://sourceforge.net/tracker/index.php?func=detail&aid=1755577&group_id=107024&atid=646395

I verified that the ICS file from which I pulled an excerpt above uses LF solely, not CRLF as specified in RFC 2445. So shame on them.

The above iCal4j bug was closed as 'rejected' but it also references a RELAXED_UNFOLDING compatibility hint that will accept LF-only line breaks. Is it possible to get that implemented, either as the default or as an option?

http://m2.modularity.net.au/projects/ical4j/apidocs/net/fortuna/ical4j/util/CompatibilityHints.html

Export: Default destination filename

Export bring up the "Enter Destination Filename" text field. The default destination filename is set to what the user previously typed. So if you exported say your "Jobs" calendar and typed "Jobs" as the destination filename, then "Jobs" will show up even when you later export say your "Routines" calendar. You probably want "Routines to pop up instead to save you from write over the existing file.

The default destination filename should be the name of the calendar.

NullPointerException when writing data to file

Summary

App has null pointer exception when exporting a calendar to file.

Steps to reproduce:

  • Install OfflineCalendar
  • Create offline calendar in that app
  • Add an event in google calendar
  • Launch CalendarImportExport
  • Select the offline calendar
  • Push //Export// button
  • Enter file name
  • A popup opens with the text Error //Error: null//.

System:

  • Sony Ericson Xperia Pro
  • Cyanogenmod 10 (Android 4.1.2, Kernel 2.6.32)
  • No google apps (gapps) installed

Logcat output (caputred via usb)

E/DatabaseUtils(32704): Writing exception to parcel
E/DatabaseUtils(32704): java.lang.NullPointerException
E/DatabaseUtils(32704):         at android.database.sqlite.SQLiteQueryBuilder.computeProjection(SQLiteQueryBuilder.java:625)
E/DatabaseUtils(32704):         at android.database.sqlite.SQLiteQueryBuilder.buildQuery(SQLiteQueryBuilder.java:447)
E/DatabaseUtils(32704):         at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:393)
E/DatabaseUtils(32704):         at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:333)
E/DatabaseUtils(32704):         at com.android.providers.calendar.CalendarProvider2.query(CalendarProvider2.java:1029)
E/DatabaseUtils(32704):         at com.android.providers.calendar.CalendarProvider2.query(CalendarProvider2.java:1000)
E/DatabaseUtils(32704):         at android.content.ContentProvider.query(ContentProvider.java:652)
E/DatabaseUtils(32704):         at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
E/DatabaseUtils(32704):         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:113)
E/DatabaseUtils(32704):         at android.os.Binder.execTransact(Binder.java:367)
E/DatabaseUtils(32704):         at dalvik.system.NativeStart.run(Native Method)
E/ICS_RunnableWithProgress( 2690): An exception occurred
E/ICS_RunnableWithProgress( 2690): java.lang.NullPointerException
E/ICS_RunnableWithProgress( 2690):      at android.os.Parcel.readException(Parcel.java:1431)
E/ICS_RunnableWithProgress( 2690):      at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)
E/ICS_RunnableWithProgress( 2690):      at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
E/ICS_RunnableWithProgress( 2690):      at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
E/ICS_RunnableWithProgress( 2690):      at android.content.ContentResolver.query(ContentResolver.java:370)
E/ICS_RunnableWithProgress( 2690):      at android.content.ContentResolver.query(ContentResolver.java:313)
E/ICS_RunnableWithProgress( 2690):      at org.sufficientlysecure.ical.SaveCalendar.run(Unknown Source)
E/ICS_RunnableWithProgress( 2690):      at org.sufficientlysecure.ical.ui.dialogs.RunnableWithProgress$1.run(Unknown Source)
E/ICS_RunnableWithProgress( 2690):      at java.lang.Thread.run(Thread.java:856)

no such column: deleted on Android 2.2/2.3

From automatic stacktraces from Google Play:
only on Android 2.2 /2.3

android.database.sqlite.SQLiteException: no such column: deleted: , while compiling: SELECT _id, deleted, name, displayName, _sync_account, _sync_account_type, ownerAccount, selected, timezone FROM Calendars WHERE (1)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
    at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330)
    at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
    at android.content.ContentResolver.query(ContentResolver.java:245)
    at org.sufficientlysecure.ical.AndroidCalendar.loadAll(Unknown Source)
    at org.sufficientlysecure.ical.ui.MainActivity.init(Unknown Source)
    at org.sufficientlysecure.ical.ui.MainActivity.access$900(Unknown Source)
    at org.sufficientlysecure.ical.ui.MainActivity$3.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:1096)

For export, add option to exclude birthdays

The calendars use data from contacts to show birthdays automatically. The problem is that Calendar Import-Export want to export this the birthdays to the default calendar ("My calendar").

URL problem ?

Hello,
I would like to use your app to import my Google Calendar with the "import URL" button. I try many URL (like https://calendar.google.com/calendar) but I always get this pop-up after using the "load" button :
Error: Error at line 1 : Expected [-3] read [10]
I'm not sure which URL is the right one, and I can't find any forum or wiki to solve this problem...

Could you help me ?

Thanks.

Calendar Provider sometimes returns deleted items (possibly related to Google sync)

Try these steps:

  1. In Business Calendar 2 (BC2), create a local calendar.
  2. In BC2, create a few events.
  3. In BC2, delete one of those events.
  4. Using Calendar Import / Export (the app in this repo), export the calendar.

If you don't have BC2, you can try whatever calendar app you normally use.

When I try this on Android KitKat, deleted events are exported(!). :-(

I tried using the integrated import / export functionality in BC2 and it had the same problem. When I used their app to import an exported calendar back in (both functions performed within BC2), all the deleted events reappeared. Major QC fail. Huge privacy issue and potentially a security issue.

Where is the problem? Is it an Android issue? A BC2 issue? A bug in this app?

Can this app somehow to be a solution to this serious issue?

Create default file names from the calendar name

Create default file names from the calendar name.

For example, when backing up a calendar named 'Domonik's Calendar', use a default file name of `Domonik's Calendar'.

As an option, the file name can be appended with the current date/time. But this should be an option, because it will prevent the previous backups from being overwritten, which will result in many files. A "keep x backups for each calendar" option could be ideal.

Library situation

a) Instead of having "android-support-v4.jar" inside the libs folder, we should use the one provided by the Android SDK using a proper dependency definition with a version code.

b) I am not sure how to handle the other libs correctly. I think it's good enough for now to include the precompiled jars, but it would be much nicer to rely on libs from JCenter or including them with git submodules. At least we should document how they were build inside the README (I saw your specific instructions in f50ec57 and 3e36642 )

@jgriffiths

Remove slash in app name

From mailinglist:

Hi!
Please remove the slash from the name of the application. The current name
is insurmountable for many applications that perform the backup.
In the case of Total Commander truncate the name.
File Expert 4.0.7 does not perform any backup of any applications.
Thanks

new post-2.3 release?

Could we get a new release? Or at least a new v2.4RC1 tag or similar so that we could test over F-Droid (IIUC how F-Droid works)?
(I am mostly interested in the fix for #43, I have not been able to start the app yet.)

Many thanks in advance!

TimeZoneRegistryImpl NullPointerException

AndroidRuntime  E  FATAL EXCEPTION: Thread-10413
  9706         AndroidRuntime  E  java.lang.NullPointerException
  9706         AndroidRuntime  E  at edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:769)
  9706         AndroidRuntime  E  at net.fortuna.ical4j.model.TimeZoneRegistryImpl.getTimeZone(TimeZoneRegistryImpl.java:136)
  9706         AndroidRuntime  E  at org.sufficientlysecure.ical.SaveCalendar.run(SaveCalendar.java:85)
  9706         AndroidRuntime  E  at org.sufficientlysecure.ical.ui.dialogs.DialogTools$2.run(DialogTools.java:85)
  9706         AndroidRuntime  E  at java.lang.Thread.run(Thread.java:856)

http://sourceforge.net/p/ical4j/discussion/368291/thread/24a3bcf8/

Add ability to import files containing events from multiple calendars into separate calendars

Apps like Business Calendar and Business Calendar 2 allow exporting multiple calendars to a single .ics (ical) file. Actually, due to a misleading UI, they encourage it!

If ical-import-export could process such files and import the data into multiple calendars, that would be an incredible feature.

Those popular apps seem to primarily use ORGANIZER:CN=[calendar name] to differentiate which event goes with which calendar.

Release status

Hey @jgriffiths
I prepared everything for a Google Play and F-Droid release. I also re-designed Offline Calender and tested the interoperability via the Intent and fixed it. I think everything is already good enough (tm) for a release. Many people have asked for a backup/restore feature for Offline Calender, so I would like to release ASAP.
We can rework the design of the UI in a later release.
Please also contact me via email, I can give you access to the Google Play dev console for this app.
Are you okay with this?

Imported bug: Umlauts are shown as �

What steps will reproduce the problem?

  1. Import of calendar entries with umlauts.

What is the expected output? What do you see instead?
The expected output is: Märchenerzähler.
The word is shown as: M�rchenerz�hler

What version of the product are you using? On what operating system?
iCal 1.5, Android 2.3.3

Parameter [TZID] is not applicable

  2038           SaveCalendar  E  SaveCalendar
  2038           SaveCalendar  E  net.fortuna.ical4j.model.ValidationException: Parameter [TZID] is not applicable
  2038           SaveCalendar  E  at net.fortuna.ical4j.util.ParameterValidator.assertNone(ParameterValidator.java:109)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.property.DateProperty.validate(DateProperty.java:234)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.property.DtStart.validate(DtStart.java:194)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.Component.validateProperties(Component.java:219)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.component.VEvent.validate(VEvent.java:472)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.Component.validate(Component.java:201)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.Calendar.validateComponents(Calendar.java:500)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.Calendar.validate(Calendar.java:478)
  2038           SaveCalendar  E  at net.fortuna.ical4j.model.Calendar.validate(Calendar.java:257)
  2038           SaveCalendar  E  at net.fortuna.ical4j.data.CalendarOutputter.output(CalendarOutputter.java:96)
  2038           SaveCalendar  E  at net.fortuna.ical4j.data.CalendarOutputter.output(CalendarOutputter.java:83)
  2038           SaveCalendar  E  at org.sufficientlysecure.ical.SaveCalendar.run(SaveCalendar.java:188)
  2038           SaveCalendar  E  at org.sufficientlysecure.ical.ui.dialogs.RunnableWithProgress$1.run(RunnableWithProgress.java:49)
  2038           SaveCalendar  E  at java.lang.Thread.run(Thread.java:818)
  755           WindowManager  V  not Base app: Adding window Window{513f02c u0 org.sufficientlysecure.ical/org.sufficientlysecure.ical.ui.MainActivity} at 17 of 22

IllegalArgumentException: Event values must include an eventTimezone

System: latest freexperia CM9.1 (android 4.0.4). No google account.
On import I get an Exception (from the logfile):

java.lang.IllegalArgumentException: Event values must include an eventTimezone
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:166)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:136)
at android.content.ContentProviderProxy.insert(ContentProviderNative.java:415)
at android.content.ContentResolver.insert(ContentResolver.java:735)
at org.sufficientlysecure.ical.InsertVEvents.run(InsertVEvents.java:95)
at org.sufficientlysecure.ical.tools.dialogs.DialogTools$2.run(DialogTools.java:82)
at java.lang.Thread.run(Thread.java:856)

Fix translation config

@dschuermann

ICSImportExport/src/main/res/values/strings.xml is marked as needing translation. In addition, ICSImportExport/src/main/res/values/settings.xml also needs to be added.

[bug] Appointments over multiple day shrink to one day

This is the problem:
I exported an calendar with appointments that span over multiple days. Some of them have date+time for beginning and end. Others are define to be on from day x to y (complete day).
While the appointments with date+time stay spanned over multiple days, the other ones that are defined for the complete days are shrunk down to the first day.

Example:
LAN-Party
from 15.07.2016 10:00
to 17.07.2016 18:00

becomes:
BEGIN:VEVENT
...
SUMMARY:LAN-Party
ORGANIZER:mailto:[email protected]
LOCATION:Somewhere
STATUS:CONFIRMED
DTSTART;TZID=Europe/Berlin:20160114T100000
DTEND:20160717T180000Z
END:VEVENT

4 days of Filming
from 25.07.2016
to 28.07.2016

becomes:
BEGIN:VEVENT
...
SUMMARY:4 days of Filming
ORGANIZER:mailto:[email protected]
LOCATION:Somewhere
STATUS:CONFIRMED
DTSTART;VALUE=DATE:20160725
DTEND;VALUE=DATE:20160726
END:VEVENT

Version is 2.3
on Android 4.4.3

Rename app

I would propose renaming the app to "ICS Import/Export" to prevent name conflict with the original (now closed source) version of this app on Google Play.

Automated import/export

Would it be possible to periodically synchronize a calendar with an .ics file in a given location? I would find this very helpful in order to synchronize calendars between devices via dropbox/syncthing/btsync (without the need of google or a central server).

Remove unused classes

some classes from package tools are unused or should be replaced with something better.

NPE in MainActivity

from Google Play dev console

app version: 55
3
Android 5.0 2 66,7 %
Android 5.1 1 33,3 %

HTC One (m7wls) 2
Galaxy Note3 Neo (hllte) 1

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contentEquals(java.lang.CharSequence)' on a null object reference
	at org.sufficientlysecure.ical.ui.MainActivity.initialiseCalendars(Unknown Source)
	at org.sufficientlysecure.ical.ui.MainActivity.access$1500(Unknown Source)
	at org.sufficientlysecure.ical.ui.MainActivity$9.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:818)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.