|
|
|
@ -158,8 +158,9 @@ import javax.mail.internet.ParseException;
|
|
|
|
|
import biweekly.Biweekly;
|
|
|
|
|
import biweekly.ICalendar;
|
|
|
|
|
import biweekly.component.VEvent;
|
|
|
|
|
import biweekly.parameter.ParticipationStatus;
|
|
|
|
|
import biweekly.property.Attendee;
|
|
|
|
|
import biweekly.property.Method;
|
|
|
|
|
import biweekly.property.Status;
|
|
|
|
|
import ezvcard.VCard;
|
|
|
|
|
import ezvcard.VCardVersion;
|
|
|
|
|
import ezvcard.io.text.VCardWriter;
|
|
|
|
@ -4453,12 +4454,27 @@ public class MessageHelper {
|
|
|
|
|
else if (method == null || method.isRequest() || method.isReply()) {
|
|
|
|
|
int status = CalendarContract.Events.STATUS_TENTATIVE;
|
|
|
|
|
if (method != null && method.isReply()) {
|
|
|
|
|
Status istatus = event.getStatus();
|
|
|
|
|
if (istatus != null)
|
|
|
|
|
if (Status.ACCEPTED.equals(istatus.getValue()))
|
|
|
|
|
List<Attendee> attendees = event.getAttendees();
|
|
|
|
|
if (attendees != null && message.to != null)
|
|
|
|
|
for (Attendee attendee : attendees) {
|
|
|
|
|
String email = attendee.getEmail();
|
|
|
|
|
for (Address to : message.to) {
|
|
|
|
|
String recipient = ((InternetAddress) to).getAddress();
|
|
|
|
|
if (!TextUtils.isEmpty(email) && email.equalsIgnoreCase(recipient)) {
|
|
|
|
|
ParticipationStatus pstatus = attendee.getParticipationStatus();
|
|
|
|
|
if (ParticipationStatus.ACCEPTED.equals(pstatus))
|
|
|
|
|
status = CalendarContract.Events.STATUS_CONFIRMED;
|
|
|
|
|
else if (Status.CANCELLED.equals(istatus.getValue()))
|
|
|
|
|
else if (ParticipationStatus.DECLINED.equals(pstatus))
|
|
|
|
|
status = CalendarContract.Events.STATUS_CANCELED;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (status == CalendarContract.Events.STATUS_CANCELED) {
|
|
|
|
|
CalendarHelper.delete(context, event, message);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (status == CalendarContract.Events.STATUS_TENTATIVE && !ical_tentative) {
|
|
|
|
|