From 3d533ab96dc07d114adea6b6126305cdb8b2664e Mon Sep 17 00:00:00 2001 From: Tim Su Date: Tue, 5 Jul 2011 23:31:43 -0700 Subject: [PATCH] fix repeat unit tests --- astrid/src/com/todoroo/astrid/dao/TaskDao.java | 3 ++- astrid/src/com/todoroo/astrid/utility/Flags.java | 5 +++++ tests/src/com/todoroo/astrid/repeats/RepeatTests.java | 6 ++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/dao/TaskDao.java b/astrid/src/com/todoroo/astrid/dao/TaskDao.java index b096c2993..b4e84e9c9 100644 --- a/astrid/src/com/todoroo/astrid/dao/TaskDao.java +++ b/astrid/src/com/todoroo/astrid/dao/TaskDao.java @@ -23,6 +23,7 @@ import com.todoroo.astrid.reminders.Notifications; import com.todoroo.astrid.reminders.ReminderService; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.utility.AstridPreferences; +import com.todoroo.astrid.utility.Flags; /** * Data Access layer for {@link Task}-related operations. @@ -252,7 +253,7 @@ public class TaskDao extends DatabaseDao { * Astrid. Order matters here! */ public static void afterSave(Task task, ContentValues values) { - if(values == null) + if(values == null || Flags.checkAndClear(Flags.SUPPRESS_HOOKS)) return; task.markSaved(); diff --git a/astrid/src/com/todoroo/astrid/utility/Flags.java b/astrid/src/com/todoroo/astrid/utility/Flags.java index 97e4a87ce..1fe42940d 100644 --- a/astrid/src/com/todoroo/astrid/utility/Flags.java +++ b/astrid/src/com/todoroo/astrid/utility/Flags.java @@ -26,6 +26,11 @@ public class Flags { */ public static final int SUPPRESS_SYNC = 1 << 3; + /** + * If set, indicates save hooks should be suppressed + */ + public static final int SUPPRESS_HOOKS = 1 << 4; + public static boolean checkAndClear(int flag) { boolean set = (state & flag) > 0; state &= ~flag; diff --git a/tests/src/com/todoroo/astrid/repeats/RepeatTests.java b/tests/src/com/todoroo/astrid/repeats/RepeatTests.java index 9fcb7aaf4..5f70bafb2 100644 --- a/tests/src/com/todoroo/astrid/repeats/RepeatTests.java +++ b/tests/src/com/todoroo/astrid/repeats/RepeatTests.java @@ -18,6 +18,7 @@ import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.test.DatabaseTestCase; +import com.todoroo.astrid.utility.Flags; public class RepeatTests extends DatabaseTestCase { @@ -51,15 +52,12 @@ public class RepeatTests extends DatabaseTestCase { } private void saveAndTriggerRepeatListener(Task task) { + Flags.set(Flags.SUPPRESS_HOOKS); if(task.isSaved()) taskDao.saveExisting(task); else taskDao.createNew(task); - TodorooCursor query = taskDao.query(Query.select(Task.PROPERTIES)); - System.err.println("START TRIGGER REPEAT LISTENER - " + query.getCount()); - query.close(); - Intent intent = new Intent(AstridApiConstants.BROADCAST_EVENT_TASK_COMPLETED); intent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, task.getId()); new RepeatTaskCompleteListener().onReceive(getContext(), intent);