Prevent index out of range

pull/214/head
M66B 2 years ago
parent 053f9008d4
commit c0f7fe0405

@ -10292,8 +10292,11 @@ public class FragmentMessages extends FragmentBase
return null; return null;
ICalendar icalendar = CalendarHelper.parse(context, calendar.getFile(context)); ICalendar icalendar = CalendarHelper.parse(context, calendar.getFile(context));
VEvent event = icalendar.getEvents().get(0); List<VEvent> events = icalendar.getEvents();
if (events == null || events.size() == 0)
return null;
VEvent event = events.get(0);
int status = CalendarContract.Events.STATUS_TENTATIVE; int status = CalendarContract.Events.STATUS_TENTATIVE;
if (event.getStatus() != null && if (event.getStatus() != null &&
Status.CONFIRMED.equals(event.getStatus().getValue())) Status.CONFIRMED.equals(event.getStatus().getValue()))

@ -4461,20 +4461,25 @@ public class MessageHelper {
File file = local.getFile(context); File file = local.getFile(context);
ICalendar icalendar = CalendarHelper.parse(context, file); ICalendar icalendar = CalendarHelper.parse(context, file);
Method method = icalendar.getMethod(); List<VEvent> events = icalendar.getEvents();
VEvent event = icalendar.getEvents().get(0); if (events == null || events.size() == 0)
EntityLog.log(context, "No events");
// https://www.rfc-editor.org/rfc/rfc5546#section-3.2 else {
if (method != null && method.isCancel()) VEvent event = events.get(0);
CalendarHelper.delete(context, event, message);
else if (method == null || method.isRequest()) { // https://www.rfc-editor.org/rfc/rfc5546#section-3.2
if (ical_tentative) Method method = icalendar.getMethod();
CalendarHelper.insert(context, icalendar, event, if (method != null && method.isCancel())
CalendarContract.Events.STATUS_TENTATIVE, account, message); CalendarHelper.delete(context, event, message);
else else if (method == null || method.isRequest()) {
EntityLog.log(context, "Tentative event not stored"); if (ical_tentative)
} else CalendarHelper.insert(context, icalendar, event,
EntityLog.log(context, "Unknown event method=" + method.getValue()); CalendarContract.Events.STATUS_TENTATIVE, account, message);
else
EntityLog.log(context, "Tentative event not stored");
} else
EntityLog.log(context, "Unknown event method=" + method.getValue());
}
} catch (Throwable ex) { } catch (Throwable ex) {
Log.w(ex); Log.w(ex);
db.attachment().setWarning(local.id, Log.formatThrowable(ex)); db.attachment().setWarning(local.id, Log.formatThrowable(ex));

Loading…
Cancel
Save