Remove SubtasksUpdater

pull/467/head
Alex Baker 9 years ago
parent dcaba5d05c
commit 5a3ba1e174

@ -28,7 +28,7 @@ public class SubtasksTestCase extends DatabaseTestCase {
@Inject TaskDao taskDao; @Inject TaskDao taskDao;
@Inject Preferences preferences; @Inject Preferences preferences;
protected SubtasksUpdater updater; protected SubtasksFilterUpdater updater;
protected Filter filter; protected Filter filter;
/* Starting State: /* Starting State:
@ -46,7 +46,7 @@ public class SubtasksTestCase extends DatabaseTestCase {
public void setUp() { public void setUp() {
super.setUp(); super.setUp();
filter = BuiltInFilterExposer.getMyTasksFilter(getTargetContext().getResources()); filter = BuiltInFilterExposer.getMyTasksFilter(getTargetContext().getResources());
preferences.clear(SubtasksUpdater.ACTIVE_TASKS_ORDER); preferences.clear(SubtasksFilterUpdater.ACTIVE_TASKS_ORDER);
updater = new SubtasksFilterUpdater(taskListMetadataDao, taskDao); updater = new SubtasksFilterUpdater(taskListMetadataDao, taskDao);
} }

@ -2,14 +2,20 @@ package com.todoroo.astrid.subtasks;
import android.text.TextUtils; import android.text.TextUtils;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.data.SyncFlags; import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata; import com.todoroo.astrid.data.TaskListMetadata;
import javax.inject.Inject; import javax.inject.Inject;
public class SubtasksFilterUpdater extends SubtasksUpdater { public class SubtasksFilterUpdater extends AstridOrderedListUpdater {
public static final String ACTIVE_TASKS_ORDER = "active_tasks_order"; //$NON-NLS-1$
public static final String TODAY_TASKS_ORDER = "today_tasks_order"; //$NON-NLS-1$
private final TaskListMetadataDao taskListMetadataDao; private final TaskListMetadataDao taskListMetadataDao;
@ -44,4 +50,23 @@ public class SubtasksFilterUpdater extends SubtasksUpdater {
taskListMetadataDao.saveExisting(list); taskListMetadataDao.saveExisting(list);
} }
} }
@Override
public void initialize(TaskListMetadata list, Filter filter) {
super.initialize(list, filter);
applyToFilter(filter);
}
@Override
protected void applyToFilter(Filter filter) {
String query = filter.getSqlQuery();
query = query.replaceAll("ORDER BY .*", "");
query = query + String.format(" ORDER BY %s, %s, %s",
Task.DELETION_DATE, getOrderString(), Task.CREATION_DATE);
query = query.replace(TaskDao.TaskCriteria.isVisible().toString(),
Criterion.all.toString());
filter.setFilterQueryOverride(query);
}
} }

@ -98,10 +98,10 @@ public class SubtasksListFragment extends TaskListFragment {
String prefId = null; String prefId = null;
if (BuiltInFilterExposer.isInbox(context, filter)) { if (BuiltInFilterExposer.isInbox(context, filter)) {
filterId = TaskListMetadata.FILTER_ID_ALL; filterId = TaskListMetadata.FILTER_ID_ALL;
prefId = SubtasksUpdater.ACTIVE_TASKS_ORDER; prefId = SubtasksFilterUpdater.ACTIVE_TASKS_ORDER;
} else if (BuiltInFilterExposer.isTodayFilter(context, filter)) { } else if (BuiltInFilterExposer.isTodayFilter(context, filter)) {
filterId = TaskListMetadata.FILTER_ID_TODAY; filterId = TaskListMetadata.FILTER_ID_TODAY;
prefId = SubtasksUpdater.TODAY_TASKS_ORDER; prefId = SubtasksFilterUpdater.TODAY_TASKS_ORDER;
} }
if (TextUtils.isEmpty(filterId)) { if (TextUtils.isEmpty(filterId)) {
return null; return null;

@ -1,45 +0,0 @@
/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.subtasks;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata;
public abstract class SubtasksUpdater extends AstridOrderedListUpdater {
public static final String ACTIVE_TASKS_ORDER = "active_tasks_order"; //$NON-NLS-1$
public static final String TODAY_TASKS_ORDER = "today_tasks_order"; //$NON-NLS-1$
SubtasksUpdater(TaskDao taskDao) {
super(taskDao);
}
@Override
public void initialize(TaskListMetadata list, Filter filter) {
super.initialize(list, filter);
applyToFilter(filter);
}
@Override
protected void applyToFilter(Filter filter) {
String query = filter.getSqlQuery();
query = query.replaceAll("ORDER BY .*", "");
query = query + String.format(" ORDER BY %s, %s, %s",
Task.DELETION_DATE, getOrderString(), Task.CREATION_DATE);
query = query.replace(TaskCriteria.isVisible().toString(),
Criterion.all.toString());
filter.setFilterQueryOverride(query);
}
}
Loading…
Cancel
Save