Fixed a bug where calendar events wouldn't be copied correctly along with copied tasks

pull/14/head
Sam Bosley 14 years ago
parent 42311c8693
commit 0db201c689

@ -9,8 +9,10 @@ import android.net.Uri;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.timsu.astrid.R;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
@ -32,6 +34,16 @@ public class GCalHelper {
return uri; return uri;
} }
public static void createTaskEventIfEnabled(Task t) {
boolean gcalCreateEventEnabled = Preferences.getStringValue(R.string.gcal_p_default) != null
&& !Preferences.getStringValue(R.string.gcal_p_default).equals("-1"); //$NON-NLS-1$
if (gcalCreateEventEnabled) {
ContentResolver cr = ContextManager.getContext().getContentResolver();
Uri calendarUri = GCalHelper.createTaskEvent(t, cr, new ContentValues());
t.setValue(Task.CALENDAR_URI, calendarUri.toString());
}
}
public static Uri createTaskEvent(Task task, ContentResolver cr, ContentValues values) { public static Uri createTaskEvent(Task task, ContentResolver cr, ContentValues values) {
String eventuri = getTaskEventUri(task); String eventuri = getTaskEventUri(task);

@ -9,11 +9,8 @@ import java.util.List;
import java.util.TimeZone; import java.util.TimeZone;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.Uri;
import com.google.ical.iter.RecurrenceIterator; import com.google.ical.iter.RecurrenceIterator;
import com.google.ical.iter.RecurrenceIteratorFactory; import com.google.ical.iter.RecurrenceIteratorFactory;
@ -23,12 +20,10 @@ import com.google.ical.values.DateValueImpl;
import com.google.ical.values.Frequency; import com.google.ical.values.Frequency;
import com.google.ical.values.RRule; import com.google.ical.values.RRule;
import com.google.ical.values.WeekdayNum; import com.google.ical.values.WeekdayNum;
import com.timsu.astrid.R;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
@ -97,14 +92,7 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
clone.setValue(Task.REMINDER_SNOOZE, 0L); clone.setValue(Task.REMINDER_SNOOZE, 0L);
clone.setValue(Task.REMINDER_LAST, 0L); clone.setValue(Task.REMINDER_LAST, 0L);
boolean gcalCreateEventEnabled = Preferences.getStringValue(R.string.gcal_p_default) != null GCalHelper.createTaskEventIfEnabled(clone);
&& !Preferences.getStringValue(R.string.gcal_p_default).
equals("-1"); //$NON-NLS-1$
if (gcalCreateEventEnabled) {
ContentResolver cr = ContextManager.getContext().getContentResolver();
Uri calendarUri = GCalHelper.createTaskEvent(clone, cr, new ContentValues());
clone.setValue(Task.CALENDAR_URI, calendarUri.toString());
}
PluginServices.getTaskService().save(clone); PluginServices.getTaskService().save(clone);
// clear recurrence from completed task so it can be re-completed // clear recurrence from completed task so it can be re-completed

@ -1185,6 +1185,9 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
clone.setValue(Task.CREATION_DATE, DateUtilities.now()); clone.setValue(Task.CREATION_DATE, DateUtilities.now());
clone.setValue(Task.COMPLETION_DATE, 0L); clone.setValue(Task.COMPLETION_DATE, 0L);
clone.setValue(Task.DELETION_DATE, 0L); clone.setValue(Task.DELETION_DATE, 0L);
clone.setValue(Task.CALENDAR_URI, ""); //$NON-NLS-1$
GCalHelper.createTaskEventIfEnabled(clone);
taskService.save(clone); taskService.save(clone);
intent = new Intent(TaskListActivity.this, TaskEditActivity.class); intent = new Intent(TaskListActivity.this, TaskEditActivity.class);

Loading…
Cancel
Save