Add suppressSync and suppressRefresh to task

pull/935/head
Alex Baker 6 years ago
parent 35f0f778b6
commit b893094198

@ -7,6 +7,5 @@
package com.todoroo.astrid.data; package com.todoroo.astrid.data;
public class SyncFlags { public class SyncFlags {
public static final String SUPPRESS_SYNC = "suppress_sync";
public static final String GTASKS_SUPPRESS_SYNC = "gtasks_suppress_sync";
} }

@ -6,6 +6,7 @@
package com.todoroo.astrid.data; package com.todoroo.astrid.data;
import static com.todoroo.astrid.data.SyncFlags.SUPPRESS_SYNC;
import static java.lang.annotation.RetentionPolicy.SOURCE; import static java.lang.annotation.RetentionPolicy.SOURCE;
import static org.tasks.date.DateTimeUtils.newDateTime; import static org.tasks.date.DateTimeUtils.newDateTime;
@ -29,6 +30,7 @@ import com.todoroo.andlib.data.Property.StringProperty;
import com.todoroo.andlib.data.Table; import com.todoroo.andlib.data.Table;
import com.todoroo.andlib.sql.Field; import com.todoroo.andlib.sql.Field;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.dao.TaskDao;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -897,6 +899,14 @@ public class Task implements Parcelable {
return getId() != NO_ID; return getId() != NO_ID;
} }
public synchronized void suppressSync() {
putTransitory(SUPPRESS_SYNC, true);
}
public synchronized void suppressRefresh() {
putTransitory(TaskDao.TRANS_SUPPRESS_REFRESH, true);
}
public synchronized void putTransitory(String key, Object value) { public synchronized void putTransitory(String key, Object value) {
if (transitoryData == null) { if (transitoryData == null) {
transitoryData = new HashMap<>(); transitoryData = new HashMap<>();

@ -9,7 +9,6 @@ import com.todoroo.astrid.data.Task;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.data.CaldavDao;
import org.tasks.data.GoogleTaskDao; import org.tasks.data.GoogleTaskDao;
import timber.log.Timber; import timber.log.Timber;
@ -50,7 +49,7 @@ public class TaskCompleter {
Task task = tasks.get(i); Task task = tasks.get(i);
task.setCompletionDate(completionDate); task.setCompletionDate(completionDate);
if (i < tasks.size() - 1) { if (i < tasks.size() - 1) {
task.putTransitory(TaskDao.TRANS_SUPPRESS_REFRESH, true); task.suppressRefresh();
} }
taskDao.save(task); taskDao.save(task);
} }

@ -4,7 +4,6 @@ import static com.google.common.collect.Lists.transform;
import static com.todoroo.andlib.utility.DateUtilities.now; import static com.todoroo.andlib.utility.DateUtilities.now;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.gcal.GCalHelper;
import java.util.ArrayList; import java.util.ArrayList;
@ -78,8 +77,8 @@ public class TaskDuplicator {
clone.setCompletionDate(0L); clone.setCompletionDate(0L);
clone.setCalendarUri(""); clone.setCalendarUri("");
clone.setUuid(null); clone.setUuid(null);
clone.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true); clone.suppressSync();
clone.putTransitory(TaskDao.TRANS_SUPPRESS_REFRESH, true); clone.suppressRefresh();
taskDao.createNew(clone); taskDao.createNew(clone);
List<TagData> tags = tagDataDao.getTagDataForTask(originalId); List<TagData> tags = tagDataDao.getTagDataForTask(originalId);

@ -1,7 +1,5 @@
package org.tasks.backup; package org.tasks.backup;
import static com.todoroo.astrid.dao.TaskDao.TRANS_SUPPRESS_REFRESH;
import static com.todoroo.astrid.data.SyncFlags.GTASKS_SUPPRESS_SYNC;
import static org.tasks.backup.TasksJsonExporter.UTF_8; import static org.tasks.backup.TasksJsonExporter.UTF_8;
import static org.tasks.data.Place.newPlace; import static org.tasks.data.Place.newPlace;
import static org.tasks.preferences.Preferences.P_CURRENT_VERSION; import static org.tasks.preferences.Preferences.P_CURRENT_VERSION;
@ -175,8 +173,8 @@ public class TasksJsonImporter {
result.skipCount++; result.skipCount++;
continue; continue;
} }
task.putTransitory(TRANS_SUPPRESS_REFRESH, true); task.suppressRefresh();
task.putTransitory(GTASKS_SUPPRESS_SYNC, true); task.suppressSync();
taskDao.createNew(task); taskDao.createNew(task);
long taskId = task.getId(); long taskId = task.getId();
String taskUuid = task.getUuid(); String taskUuid = task.getUuid();

@ -161,8 +161,8 @@ class iCalendar @Inject constructor(
setPlace(task.getId(), geo) setPlace(task.getId(), geo)
} }
tagDao.applyTags(task, tagDataDao, getTags(remote.categories)) tagDao.applyTags(task, tagDataDao, getTags(remote.categories))
task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true) task.suppressSync()
task.putTransitory(TaskDao.TRANS_SUPPRESS_REFRESH, true) task.suppressRefresh()
taskDao.save(task) taskDao.save(task)
caldavTask.vtodo = vtodo caldavTask.vtodo = vtodo
caldavTask.etag = eTag caldavTask.etag = eTag

@ -16,7 +16,6 @@ import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.GtasksFilter; import com.todoroo.astrid.api.GtasksFilter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gtasks.GtasksListService; import com.todoroo.astrid.gtasks.GtasksListService;
import com.todoroo.astrid.gtasks.api.GtasksApiUtilities; import com.todoroo.astrid.gtasks.api.GtasksApiUtilities;
@ -379,7 +378,7 @@ public class GoogleTaskSynchronizer {
} else { } else {
googleTaskDao.update(gtasksMetadata); googleTaskDao.update(gtasksMetadata);
} }
task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true); task.suppressSync();
taskDao.save(task); taskDao.save(task);
} }
@ -478,8 +477,8 @@ public class GoogleTaskSynchronizer {
private void write(Task task, GoogleTask googleTask) { private void write(Task task, GoogleTask googleTask) {
if (!(TextUtils.isEmpty(task.getTitle()) && TextUtils.isEmpty(task.getNotes()))) { if (!(TextUtils.isEmpty(task.getTitle()) && TextUtils.isEmpty(task.getNotes()))) {
task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true); task.suppressSync();
task.putTransitory(TaskDao.TRANS_SUPPRESS_REFRESH, true); task.suppressRefresh();
if (task.isNew()) { if (task.isNew()) {
taskDao.createNew(task); taskDao.createNew(task);
} }

@ -59,7 +59,7 @@ public class AfterSaveWork extends InjectingWorker {
} }
static Data getInputData(Task current, Task original) { static Data getInputData(Task current, Task original) {
boolean suppress = current.checkTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC); boolean suppress = current.checkTransitory(SyncFlags.SUPPRESS_SYNC);
Builder builder = Builder builder =
new Builder() new Builder()
.putLong(EXTRA_ID, current.getId()) .putLong(EXTRA_ID, current.getId())

Loading…
Cancel
Save