From 386c6fc7236707b2cf926a9210775a16640de39a Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Thu, 27 Oct 2011 14:06:25 -0700 Subject: [PATCH] Fixed a bug that could cause task duplicates and web overwriting due dates when adding from widget --- .../todoroo/astrid/actfm/sync/ActFmSyncService.java | 10 +++++++--- astrid/res/drawable/{icon.png => icon_old.png} | Bin .../todoroo/astrid/activity/TaskEditActivity.java | 4 +++- astrid/src/com/todoroo/astrid/dao/TaskDao.java | 5 ++++- 4 files changed, 14 insertions(+), 5 deletions(-) rename astrid/res/drawable/{icon.png => icon_old.png} (100%) diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java index 606f5b2e3..d3b42222a 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/ActFmSyncService.java @@ -55,7 +55,6 @@ import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Update; import com.todoroo.astrid.service.MetadataService; -import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.TagDataService; @@ -292,8 +291,13 @@ public final class ActFmSyncService { if(newlyCreated) { if(task.getValue(Task.TITLE).length() == 0) return; - if(task.getId() <= StartupService.INTRO_TASK_SIZE) - return; + for(int taskTitle : new int[] { R.string.intro_task_1_summary, + R.string.intro_task_2_summary, R.string.intro_task_3_summary }) { + String title = ContextManager.getString(taskTitle); + if(task.getValue(Task.TITLE).equals(title)) + return; + } + values = task.getMergedValues(); } if(values.containsKey(Task.TITLE.name)) { diff --git a/astrid/res/drawable/icon.png b/astrid/res/drawable/icon_old.png similarity index 100% rename from astrid/res/drawable/icon.png rename to astrid/res/drawable/icon_old.png diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java index ab0e13d0e..b5db00239 100755 --- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java @@ -506,8 +506,10 @@ public final class TaskEditActivity extends TabActivity { if(!onPause && peopleControlSet != null && !peopleControlSet.saveSharingSettings(processedToast)) return; - if (!onPause) // Saving during on pause could cause a double finish + if (!onPause) { // Saving during on pause could cause a double finish + shouldSaveState = false; finish(); + } } @Override diff --git a/astrid/src/com/todoroo/astrid/dao/TaskDao.java b/astrid/src/com/todoroo/astrid/dao/TaskDao.java index e1abaccb9..d19daa6f4 100644 --- a/astrid/src/com/todoroo/astrid/dao/TaskDao.java +++ b/astrid/src/com/todoroo/astrid/dao/TaskDao.java @@ -6,6 +6,7 @@ package com.todoroo.astrid.dao; import android.content.ContentValues; +import android.util.Log; import com.timsu.astrid.R; import com.todoroo.andlib.data.DatabaseDao; @@ -169,10 +170,12 @@ public class TaskDao extends DatabaseDao { */ public boolean save(Task task) { boolean saveSuccessful; - + Log.e("SAVING", "SAVING - " + task.getSetValues().toString(), new Throwable()); if (task.getId() == Task.NO_ID) { + System.err.println("Creating new"); saveSuccessful = createNew(task); } else { + System.err.println("Saving existing"); saveSuccessful = saveExisting(task); }