From cb94d4d6ca907a7e120bb554bf2469c55d0faf6a Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 25 Oct 2023 16:37:36 +0200 Subject: [PATCH] Refactoring --- .../eu/faircode/email/CalendarHelper.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/CalendarHelper.java b/app/src/main/java/eu/faircode/email/CalendarHelper.java index 64d1feb4b4..dbe747b8e5 100644 --- a/app/src/main/java/eu/faircode/email/CalendarHelper.java +++ b/app/src/main/java/eu/faircode/email/CalendarHelper.java @@ -118,11 +118,18 @@ public class CalendarHelper { ICalDate start = (event.getDateStart() == null ? null : event.getDateStart().getValue()); ICalDate end = (event.getDateEnd() == null ? null : event.getDateEnd().getValue()); + TimezoneInfo tzinfo = icalendar.getTimezoneInfo(); + TimezoneAssignment tza = (tzinfo == null ? null : tzinfo.getTimezone(event.getDateStart())); + TimeZone tz = (tza == null ? null : tza.getTimeZone()); + //if (tz != null && "W. Europe Standard Time".equals(tz.getID())) + // tz.setID("GMT"); + String tzid = (tz == null ? TimeZone.getDefault().getID() : tz.getID()); + String rrule = null; RecurrenceRule recurrence = event.getRecurrenceRule(); if (recurrence != null) { RecurrenceRuleScribe scribe = new RecurrenceRuleScribe(); - WriteContext wcontext = new WriteContext(ICalVersion.V2_0, icalendar.getTimezoneInfo(), null); + WriteContext wcontext = new WriteContext(ICalVersion.V2_0, tzinfo, null); rrule = scribe.writeText(recurrence, wcontext); } @@ -163,11 +170,7 @@ public class CalendarHelper { values.put(CalendarContract.Events.ORGANIZER, organizer); // Assume one time zone - TimezoneInfo tzinfo = icalendar.getTimezoneInfo(); - TimezoneAssignment tza = (tzinfo == null ? null : tzinfo.getTimezone(event.getDateStart())); - TimeZone tz = (tza == null ? null : tza.getTimeZone()); - values.put(CalendarContract.Events.EVENT_TIMEZONE, - tz == null ? TimeZone.getDefault().getID() : tz.getID()); + values.put(CalendarContract.Events.EVENT_TIMEZONE, tzid); values.put(CalendarContract.Events.DTSTART, start.getTime()); values.put(CalendarContract.Events.DTEND, end.getTime()); @@ -191,7 +194,7 @@ public class CalendarHelper { " id=" + calId + ":" + eventId + " uid=" + uid + " organizer=" + organizer + - " tz=" + (tz == null ? null : tz.getID()) + + " tz=" + tzid + " start=" + new Date(start.getTime()) + " end=" + new Date(end.getTime()) + " rrule=" + rrule + @@ -205,7 +208,7 @@ public class CalendarHelper { " id=" + calId + ":" + existId + " uid=" + uid + " organizer=" + organizer + - " tz=" + (tz == null ? null : tz.getID()) + + " tz=" + tzid + " start=" + new Date(start.getTime()) + " end=" + new Date(end.getTime()) + " rrule=" + rrule +