From 0db201c6891f099b022f889b6a29d7bb3928d66f Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Fri, 4 Nov 2011 17:56:54 -0700 Subject: [PATCH] Fixed a bug where calendar events wouldn't be copied correctly along with copied tasks --- .../com/todoroo/astrid/gcal/GCalHelper.java | 12 ++++++++++++ .../astrid/repeats/RepeatTaskCompleteListener.java | 14 +------------- .../todoroo/astrid/activity/TaskListActivity.java | 3 +++ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java index e797223e9..49ff16b3b 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java +++ b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java @@ -9,8 +9,10 @@ import android.net.Uri; import android.text.TextUtils; import android.util.Log; +import com.timsu.astrid.R; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.utility.DateUtilities; +import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.data.Task; @@ -32,6 +34,16 @@ public class GCalHelper { 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) { String eventuri = getTaskEventUri(task); diff --git a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java index 996f56a7a..096f73430 100644 --- a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java +++ b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java @@ -9,11 +9,8 @@ import java.util.List; import java.util.TimeZone; import android.content.BroadcastReceiver; -import android.content.ContentResolver; -import android.content.ContentValues; import android.content.Context; import android.content.Intent; -import android.net.Uri; import com.google.ical.iter.RecurrenceIterator; 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.RRule; import com.google.ical.values.WeekdayNum; -import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.DateUtilities; -import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.api.AstridApiConstants; 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_LAST, 0L); - 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(clone, cr, new ContentValues()); - clone.setValue(Task.CALENDAR_URI, calendarUri.toString()); - } + GCalHelper.createTaskEventIfEnabled(clone); PluginServices.getTaskService().save(clone); // clear recurrence from completed task so it can be re-completed diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 7a8d33da1..52ebacfc1 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -1185,6 +1185,9 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, clone.setValue(Task.CREATION_DATE, DateUtilities.now()); clone.setValue(Task.COMPLETION_DATE, 0L); clone.setValue(Task.DELETION_DATE, 0L); + + clone.setValue(Task.CALENDAR_URI, ""); //$NON-NLS-1$ + GCalHelper.createTaskEventIfEnabled(clone); taskService.save(clone); intent = new Intent(TaskListActivity.this, TaskEditActivity.class);