Remove Criterion.all

gtask_related_email
Alex Baker 6 years ago
parent f44b4a87b2
commit effe09d41e

@ -15,13 +15,6 @@ import static com.todoroo.andlib.sql.SqlConstants.SPACE;
public abstract class Criterion {
public static final Criterion all =
new Criterion(Operator.exists) {
@Override
protected void populate(StringBuilder sb) {
sb.append(1);
}
};
final Operator operator;
public Criterion(Operator operator) {

@ -39,6 +39,10 @@ public class Field extends DBObject<Field> {
return UnaryCriterion.gt(this, value);
}
public Criterion gte(Object value) {
return UnaryCriterion.gte(this, value);
}
public Criterion lt(final Object value) {
return UnaryCriterion.lt(this, value);
}

@ -19,6 +19,7 @@ public final class Operator {
static final Operator neq = new Operator("<>");
static final Operator isNotNull = new Operator("IS NOT NULL");
static final Operator gt = new Operator(">");
static final Operator gte = new Operator(">=");
static final Operator lt = new Operator("<");
static final Operator lte = new Operator("<=");
private final String operator;

@ -36,6 +36,10 @@ public class UnaryCriterion extends Criterion {
return new UnaryCriterion(field, Operator.gt, value);
}
static Criterion gte(Field field, Object value) {
return new UnaryCriterion(field, Operator.gte, value);
}
static Criterion lt(Field field, Object value) {
return new UnaryCriterion(field, Operator.lt, value);
}

@ -6,6 +6,8 @@
package com.todoroo.astrid.core;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.includeCompleted;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.includeHidden;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.isVisible;
import com.todoroo.andlib.sql.Criterion;
@ -58,7 +60,8 @@ public class SortHelper {
// flags
if (preferences.getBoolean(R.string.p_show_completed_tasks, false)) {
adjustedSql =
adjustedSql.replace(Task.COMPLETION_DATE.eq(0).toString(), Criterion.all.toString());
adjustedSql.replace(
Task.COMPLETION_DATE.eq(0).toString(), includeCompleted().toString());
} else if (preferences.getBoolean(R.string.p_temporarily_show_completed_tasks, false)) {
adjustedSql =
adjustedSql.replace(
@ -69,7 +72,7 @@ public class SortHelper {
.toString());
}
if (preferences.getBoolean(R.string.p_show_hidden_tasks, false)) {
adjustedSql = adjustedSql.replace(isVisible().toString(), Criterion.all.toString());
adjustedSql = adjustedSql.replace(isVisible().toString(), includeHidden().toString());
}
return adjustedSql;

@ -267,6 +267,10 @@ public abstract class TaskDao {
return Task.COMPLETION_DATE.eq(0);
}
public static Criterion includeCompleted() {
return Task.COMPLETION_DATE.gte(0);
}
/** @return tasks that have not yet been completed or deleted */
public static Criterion activeAndVisible() {
return Criterion.and(
@ -284,5 +288,9 @@ public abstract class TaskDao {
public static Criterion isVisible() {
return Task.HIDE_UNTIL.lt(Functions.now());
}
public static Criterion includeHidden() {
return Task.HIDE_UNTIL.gte(0);
}
}
}

@ -1,6 +1,7 @@
package com.todoroo.astrid.service;
import static com.todoroo.andlib.sql.Criterion.all;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.includeCompleted;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.includeHidden;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.isVisible;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.notCompleted;
import static org.tasks.db.DbUtils.batch;
@ -92,8 +93,8 @@ public class TaskDeleter {
deleteFilter.setFilterQueryOverride(
filter
.getOriginalSqlQuery()
.replace(isVisible().toString(), all.toString())
.replace(notCompleted().toString(), all.toString()));
.replace(isVisible().toString(), includeHidden().toString())
.replace(notCompleted().toString(), includeCompleted().toString()));
List<TaskContainer> tasks = taskDao.fetchTasks(
hasSubtasks -> TaskListViewModel.getQuery(preferences, deleteFilter, hasSubtasks));
for (TaskContainer task : tasks) {

@ -2,11 +2,11 @@ package com.todoroo.astrid.subtasks;
import android.content.Context;
import android.text.TextUtils;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.GtasksFilter;
import com.todoroo.astrid.core.BuiltInFilterExposer;
import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.subtasks.SubtasksFilterUpdater.Node;
import java.util.ArrayList;
@ -147,7 +147,9 @@ public class SubtasksHelper {
query = query.replaceAll("ORDER BY .*", "");
query = query + String.format(" ORDER BY %s", getOrderString(tagData, tlm));
query =
query.replace(TaskDao.TaskCriteria.isVisible().toString(), Criterion.all.toString());
query.replace(
TaskCriteria.isVisible().toString(),
TaskCriteria.includeHidden().toString());
}
filter.setFilterQueryOverride(query);

Loading…
Cancel
Save