fix repeat unit tests

pull/14/head
Tim Su 15 years ago
parent afd0bc090b
commit 3d533ab96d

@ -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<Task> {
* 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();

@ -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;

@ -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<Task> 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);

Loading…
Cancel
Save