From 7fb4ef4b117cc75c2f6b379b8302df720a22c8d6 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Thu, 25 Aug 2011 18:09:45 -0700 Subject: [PATCH] Refactored gcalhelper to avoid double read for tasks with empty gcal property --- .../com/todoroo/astrid/gcal/GCalHelper.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java index 04f663abb..86aad5773 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java +++ b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalHelper.java @@ -4,6 +4,7 @@ import android.content.ContentResolver; import android.database.Cursor; import android.net.Uri; import android.text.TextUtils; +import android.util.Log; import com.todoroo.andlib.service.ContextManager; import com.todoroo.astrid.core.PluginServices; @@ -11,17 +12,19 @@ import com.todoroo.astrid.data.Task; public class GCalHelper { public static void deleteTaskEvent(Task task) { - String uri = task.getValue(Task.CALENDAR_URI); - Uri calendarUri = null; - - if (TextUtils.isEmpty(uri)) { - task = PluginServices.getTaskService().fetchById(task.getId(), Task.ID, Task.CALENDAR_URI); + String uri; + if(task.containsNonNullValue(Task.CALENDAR_URI)) + uri = task.getValue(Task.CALENDAR_URI); + else { + task = PluginServices.getTaskService().fetchById(task.getId(), Task.CALENDAR_URI); + if(task == null) + return; uri = task.getValue(Task.CALENDAR_URI); } if(!TextUtils.isEmpty(uri)) { try { - calendarUri = Uri.parse(uri); + Uri calendarUri = Uri.parse(uri); // try to load calendar ContentResolver cr = ContextManager.getContext().getContentResolver(); @@ -33,7 +36,7 @@ public class GCalHelper { cr.delete(calendarUri, null, null); } } catch (Exception e) { - e.printStackTrace(); + Log.e("astrid-gcal", "error-deleting-calendar-event", e); //$NON-NLS-1$ //$NON-NLS-2$ } } }