|
|
|
@ -7,6 +7,7 @@ import static org.tasks.caldav.CaldavUtils.fromVtodo;
|
|
|
|
import static org.tasks.caldav.CaldavUtils.setParent;
|
|
|
|
import static org.tasks.caldav.CaldavUtils.setParent;
|
|
|
|
import static org.tasks.date.DateTimeUtils.newDateTime;
|
|
|
|
import static org.tasks.date.DateTimeUtils.newDateTime;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import at.bitfire.ical4android.DateUtils;
|
|
|
|
import com.google.common.base.Strings;
|
|
|
|
import com.google.common.base.Strings;
|
|
|
|
import com.todoroo.astrid.data.Task;
|
|
|
|
import com.todoroo.astrid.data.Task;
|
|
|
|
import com.todoroo.astrid.data.Task.Priority;
|
|
|
|
import com.todoroo.astrid.data.Task.Priority;
|
|
|
|
@ -14,6 +15,7 @@ import java.text.DateFormat;
|
|
|
|
import java.text.ParseException;
|
|
|
|
import java.text.ParseException;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.util.Locale;
|
|
|
|
import java.util.Locale;
|
|
|
|
|
|
|
|
import java.util.TimeZone;
|
|
|
|
import net.fortuna.ical4j.model.Date;
|
|
|
|
import net.fortuna.ical4j.model.Date;
|
|
|
|
import net.fortuna.ical4j.model.DateTime;
|
|
|
|
import net.fortuna.ical4j.model.DateTime;
|
|
|
|
import net.fortuna.ical4j.model.Recur;
|
|
|
|
import net.fortuna.ical4j.model.Recur;
|
|
|
|
@ -117,15 +119,16 @@ public class CaldavConverter {
|
|
|
|
remote.setCreatedAt(newDateTime(task.getCreationDate()).toUTC().getMillis());
|
|
|
|
remote.setCreatedAt(newDateTime(task.getCreationDate()).toUTC().getMillis());
|
|
|
|
remote.setSummary(task.getTitle());
|
|
|
|
remote.setSummary(task.getTitle());
|
|
|
|
remote.setDescription(task.getNotes());
|
|
|
|
remote.setDescription(task.getNotes());
|
|
|
|
if (task.hasDueDate()) {
|
|
|
|
|
|
|
|
long utcMillis = new org.tasks.time.DateTime(task.getDueDate()).toUTC().getMillis();
|
|
|
|
|
|
|
|
if (task.hasDueTime()) {
|
|
|
|
if (task.hasDueTime()) {
|
|
|
|
DateTime dateTime = new DateTime(utcMillis);
|
|
|
|
net.fortuna.ical4j.model.TimeZone tz =
|
|
|
|
dateTime.setUtc(true);
|
|
|
|
DateUtils.INSTANCE.getTzRegistry().getTimeZone(TimeZone.getDefault().getID());
|
|
|
|
|
|
|
|
DateTime dateTime = new DateTime(tz != null
|
|
|
|
|
|
|
|
? task.getDueDate()
|
|
|
|
|
|
|
|
: new org.tasks.time.DateTime(task.getDueDate()).toUTC().getMillis());
|
|
|
|
|
|
|
|
dateTime.setTimeZone(tz);
|
|
|
|
remote.setDue(new Due(dateTime));
|
|
|
|
remote.setDue(new Due(dateTime));
|
|
|
|
} else {
|
|
|
|
} else if (task.hasDueDate()) {
|
|
|
|
remote.setDue(new Due(new Date(utcMillis)));
|
|
|
|
remote.setDue(new Due(new Date(task.getDueDate())));
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
remote.setDue(null);
|
|
|
|
remote.setDue(null);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|