Load a subset of Google Task info

gtask_related_email
Alex Baker 6 years ago
parent 8ecd03ee8b
commit 4cef8298dd

@ -6,8 +6,8 @@ import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.SyncFlags; import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import org.tasks.BuildConfig; import org.tasks.BuildConfig;
import org.tasks.data.GoogleTask;
import org.tasks.data.GoogleTaskDao; import org.tasks.data.GoogleTaskDao;
import org.tasks.data.SubsetGoogleTask;
import org.tasks.data.TaskContainer; import org.tasks.data.TaskContainer;
public final class GoogleTaskAdapter extends GoogleTaskManualSortAdapter { public final class GoogleTaskAdapter extends GoogleTaskManualSortAdapter {
@ -27,7 +27,7 @@ public final class GoogleTaskAdapter extends GoogleTaskManualSortAdapter {
@Override @Override
public void moved(int from, int to, int indent) { public void moved(int from, int to, int indent) {
TaskContainer task = getTask(from); TaskContainer task = getTask(from);
GoogleTask googleTask = task.getGoogleTask(); SubsetGoogleTask googleTask = task.getGoogleTask();
TaskContainer previous = to > 0 ? getTask(to - 1) : null; TaskContainer previous = to > 0 ? getTask(to - 1) : null;
if (indent == 0) { if (indent == 0) {
if (googleTask.getIndent() == 0) { if (googleTask.getIndent() == 0) {

@ -6,8 +6,8 @@ import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.SyncFlags; import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import org.tasks.BuildConfig; import org.tasks.BuildConfig;
import org.tasks.data.GoogleTask;
import org.tasks.data.GoogleTaskDao; import org.tasks.data.GoogleTaskDao;
import org.tasks.data.SubsetGoogleTask;
import org.tasks.data.TaskContainer; import org.tasks.data.TaskContainer;
import org.tasks.tasklist.ViewHolder; import org.tasks.tasklist.ViewHolder;
@ -73,7 +73,7 @@ public class GoogleTaskManualSortAdapter extends TaskAdapter {
@Override @Override
public void moved(int from, int to, int indent) { public void moved(int from, int to, int indent) {
TaskContainer task = getTask(from); TaskContainer task = getTask(from);
GoogleTask googleTask = task.getGoogleTask(); SubsetGoogleTask googleTask = task.getGoogleTask();
TaskContainer previous = to > 0 ? getTask(to - 1) : null; TaskContainer previous = to > 0 ? getTask(to - 1) : null;
if (previous == null) { if (previous == null) {

@ -48,7 +48,7 @@ public abstract class GoogleTaskDao {
abstract void shiftUp(String listId, long parent, long position); abstract void shiftUp(String listId, long parent, long position);
@Transaction @Transaction
public void move(GoogleTask task, long newParent, long newPosition) { public void move(SubsetGoogleTask task, long newParent, long newPosition) {
long previousParent = task.getParent(); long previousParent = task.getParent();
long previousPosition = task.getOrder(); long previousPosition = task.getOrder();
@ -62,7 +62,6 @@ public abstract class GoogleTaskDao {
shiftUp(task.getListId(), previousParent, previousPosition); shiftUp(task.getListId(), previousParent, previousPosition);
shiftDown(task.getListId(), newParent, newPosition); shiftDown(task.getListId(), newParent, newPosition);
} }
task.setMoved(true);
task.setParent(newParent); task.setParent(newParent);
task.setOrder(newPosition); task.setOrder(newPosition);
update(task); update(task);
@ -74,6 +73,13 @@ public abstract class GoogleTaskDao {
@Update @Update
public abstract void update(GoogleTask googleTask); public abstract void update(GoogleTask googleTask);
public void update(SubsetGoogleTask googleTask) {
update(googleTask.getId(), googleTask.getParent(), googleTask.getOrder());
}
@Query("UPDATE google_tasks SET gt_order = :order, gt_parent = :parent, gt_moved = 1 WHERE gt_id = :id")
abstract void update(long id, long parent, long order);
@Query("UPDATE google_tasks SET gt_deleted = :now WHERE gt_task = :task OR gt_parent = :task") @Query("UPDATE google_tasks SET gt_deleted = :now WHERE gt_task = :task OR gt_parent = :task")
public abstract void markDeleted(long now, long task); public abstract void markDeleted(long now, long task);

@ -0,0 +1,84 @@
package org.tasks.data;
public class SubsetGoogleTask {
public long gt_id;
public long gt_parent;
public String gt_list_id;
public long gt_order;
public long getId() {
return gt_id;
}
public String getListId() {
return gt_list_id;
}
public long getParent() {
return gt_parent;
}
public void setParent(long parent) {
gt_parent = parent;
}
public long getOrder() {
return gt_order;
}
public void setOrder(long order) {
gt_order = order;
}
public int getIndent() {
return gt_parent > 0 ? 1 : 0;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof SubsetGoogleTask)) {
return false;
}
SubsetGoogleTask that = (SubsetGoogleTask) o;
if (gt_id != that.gt_id) {
return false;
}
if (gt_parent != that.gt_parent) {
return false;
}
if (gt_order != that.gt_order) {
return false;
}
return gt_list_id != null ? gt_list_id.equals(that.gt_list_id) : that.gt_list_id == null;
}
@Override
public int hashCode() {
int result = (int) (gt_id ^ (gt_id >>> 32));
result = 31 * result + (int) (gt_parent ^ (gt_parent >>> 32));
result = 31 * result + (gt_list_id != null ? gt_list_id.hashCode() : 0);
result = 31 * result + (int) (gt_order ^ (gt_order >>> 32));
return result;
}
@Override
public String toString() {
return "SubsetGoogleTask{"
+ "gt_id="
+ gt_id
+ ", gt_parent="
+ gt_parent
+ ", gt_list_id='"
+ gt_list_id
+ '\''
+ ", gt_order="
+ gt_order
+ '}';
}
}

@ -5,7 +5,7 @@ import com.todoroo.astrid.data.Task;
public class TaskContainer { public class TaskContainer {
@Embedded public Task task; @Embedded public Task task;
@Embedded public GoogleTask googletask; @Embedded public SubsetGoogleTask googletask;
@Embedded public SubsetCaldav caldavTask; @Embedded public SubsetCaldav caldavTask;
@Embedded public Location location; @Embedded public Location location;
public String tags; public String tags;
@ -216,7 +216,7 @@ public class TaskContainer {
return secondarySort == siblings - 1; return secondarySort == siblings - 1;
} }
public GoogleTask getGoogleTask() { public SubsetGoogleTask getGoogleTask() {
return googletask; return googletask;
} }

Loading…
Cancel
Save