Remove generics from manual sort helpers

pull/467/head
Alex Baker 9 years ago
parent 698574e3b0
commit dcaba5d05c

@ -5,7 +5,6 @@ import com.todoroo.astrid.core.BuiltInFilterExposer;
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.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata;
import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node; import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node;
import com.todoroo.astrid.test.DatabaseTestCase; import com.todoroo.astrid.test.DatabaseTestCase;
@ -29,7 +28,7 @@ public class SubtasksTestCase extends DatabaseTestCase {
@Inject TaskDao taskDao; @Inject TaskDao taskDao;
@Inject Preferences preferences; @Inject Preferences preferences;
protected SubtasksUpdater<TaskListMetadata> updater; protected SubtasksUpdater updater;
protected Filter filter; protected Filter filter;
/* Starting State: /* Starting State:

@ -66,7 +66,7 @@ public class GtasksListFragment extends TaskListFragment {
@Inject Theme theme; @Inject Theme theme;
private GtasksList list; private GtasksList list;
protected OrderedMetadataListFragmentHelper<GtasksList> helper; protected OrderedMetadataListFragmentHelper helper;
private int lastVisibleIndex = -1; private int lastVisibleIndex = -1;
@Override @Override
@ -139,7 +139,7 @@ public class GtasksListFragment extends TaskListFragment {
public void onAttach(Activity activity) { public void onAttach(Activity activity) {
super.onAttach(activity); super.onAttach(activity);
helper = new OrderedMetadataListFragmentHelper<>(preferences, taskAttachmentDao, taskDao, helper = new OrderedMetadataListFragmentHelper(preferences, taskAttachmentDao, taskDao,
metadataDao, this, gtasksTaskListUpdater, dialogBuilder, checkBoxes, tagService, themeCache); metadataDao, this, gtasksTaskListUpdater, dialogBuilder, checkBoxes, tagService, themeCache);
} }

@ -44,10 +44,10 @@ import java.util.concurrent.atomic.AtomicReference;
import timber.log.Timber; import timber.log.Timber;
public class OrderedMetadataListFragmentHelper<LIST> { public class OrderedMetadataListFragmentHelper {
private final DisplayMetrics metrics = new DisplayMetrics(); private final DisplayMetrics metrics = new DisplayMetrics();
private final OrderedMetadataListUpdater<LIST> updater; private final OrderedMetadataListUpdater<GtasksList> updater;
private final DialogBuilder dialogBuilder; private final DialogBuilder dialogBuilder;
private final CheckBoxes checkBoxes; private final CheckBoxes checkBoxes;
private final TagService tagService; private final TagService tagService;
@ -61,11 +61,11 @@ public class OrderedMetadataListFragmentHelper<LIST> {
private DraggableTaskAdapter taskAdapter; private DraggableTaskAdapter taskAdapter;
private LIST list; private GtasksList list;
public OrderedMetadataListFragmentHelper(Preferences preferences, TaskAttachmentDao taskAttachmentDao, public OrderedMetadataListFragmentHelper(Preferences preferences, TaskAttachmentDao taskAttachmentDao,
TaskDao taskDao, MetadataDao metadataDao, TaskDao taskDao, MetadataDao metadataDao,
TaskListFragment fragment, OrderedMetadataListUpdater<LIST> updater, TaskListFragment fragment, OrderedMetadataListUpdater<GtasksList> updater,
DialogBuilder dialogBuilder, CheckBoxes checkBoxes, TagService tagService, DialogBuilder dialogBuilder, CheckBoxes checkBoxes, TagService tagService,
ThemeCache themeCache) { ThemeCache themeCache) {
this.preferences = preferences; this.preferences = preferences;
@ -253,7 +253,7 @@ public class OrderedMetadataListFragmentHelper<LIST> {
} }
} }
public void setList(LIST list) { public void setList(GtasksList list) {
this.list = list; this.list = list;
} }

@ -24,6 +24,7 @@ import com.todoroo.astrid.dao.TaskAttachmentDao;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.ui.DraggableListView; import com.todoroo.astrid.ui.DraggableListView;
@ -41,10 +42,10 @@ import java.util.concurrent.atomic.AtomicReference;
import timber.log.Timber; import timber.log.Timber;
public class AstridOrderedListFragmentHelper<LIST> { public class AstridOrderedListFragmentHelper {
private final DisplayMetrics metrics = new DisplayMetrics(); private final DisplayMetrics metrics = new DisplayMetrics();
private final AstridOrderedListUpdater<LIST> updater; private final AstridOrderedListUpdater updater;
private final DialogBuilder dialogBuilder; private final DialogBuilder dialogBuilder;
private final CheckBoxes checkBoxes; private final CheckBoxes checkBoxes;
private final TagService tagService; private final TagService tagService;
@ -56,10 +57,10 @@ public class AstridOrderedListFragmentHelper<LIST> {
private DraggableTaskAdapter taskAdapter; private DraggableTaskAdapter taskAdapter;
private LIST list; private TaskListMetadata list;
public AstridOrderedListFragmentHelper(Preferences preferences, TaskAttachmentDao taskAttachmentDao, public AstridOrderedListFragmentHelper(Preferences preferences, TaskAttachmentDao taskAttachmentDao,
TaskListFragment fragment, AstridOrderedListUpdater<LIST> updater, TaskListFragment fragment, AstridOrderedListUpdater updater,
DialogBuilder dialogBuilder, CheckBoxes checkBoxes, DialogBuilder dialogBuilder, CheckBoxes checkBoxes,
TagService tagService, ThemeCache themeCache, TaskDao taskDao) { TagService tagService, ThemeCache themeCache, TaskDao taskDao) {
this.preferences = preferences; this.preferences = preferences;
@ -263,7 +264,7 @@ public class AstridOrderedListFragmentHelper<LIST> {
} }
} }
public void setList(LIST list) { public void setList(TaskListMetadata list) {
this.list = list; this.list = list;
} }

@ -5,6 +5,7 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
@ -17,7 +18,7 @@ import java.util.Set;
import timber.log.Timber; import timber.log.Timber;
public abstract class AstridOrderedListUpdater<LIST> { public abstract class AstridOrderedListUpdater {
private final TaskDao taskDao; private final TaskDao taskDao;
@ -47,8 +48,8 @@ public abstract class AstridOrderedListUpdater<LIST> {
private final HashMap<String, Node> idToNode; private final HashMap<String, Node> idToNode;
protected abstract String getSerializedTree(LIST list); protected abstract String getSerializedTree(TaskListMetadata list);
protected abstract void writeSerialization(LIST list, String serialized, boolean shouldQueueSync); protected abstract void writeSerialization(TaskListMetadata list, String serialized, boolean shouldQueueSync);
protected abstract void applyToFilter(Filter filter); protected abstract void applyToFilter(Filter filter);
public int getIndentForTask(String targetTaskId) { public int getIndentForTask(String targetTaskId) {
@ -59,17 +60,17 @@ public abstract class AstridOrderedListUpdater<LIST> {
return n.indent; return n.indent;
} }
public void initialize(LIST list, Filter filter) { public void initialize(TaskListMetadata list, Filter filter) {
initializeFromSerializedTree(list, filter, getSerializedTree(list)); initializeFromSerializedTree(list, filter, getSerializedTree(list));
} }
public void initializeFromSerializedTree(LIST list, Filter filter, String serializedTree) { public void initializeFromSerializedTree(TaskListMetadata list, Filter filter, String serializedTree) {
idToNode.clear(); idToNode.clear();
treeRoot = buildTreeModel(serializedTree, node -> idToNode.put(node.uuid, node)); treeRoot = buildTreeModel(serializedTree, node -> idToNode.put(node.uuid, node));
verifyTreeModel(list, filter); verifyTreeModel(list, filter);
} }
private void verifyTreeModel(LIST list, Filter filter) { private void verifyTreeModel(TaskListMetadata list, Filter filter) {
boolean changedThings = false; boolean changedThings = false;
Set<String> keySet = idToNode.keySet(); Set<String> keySet = idToNode.keySet();
Set<String> currentIds = new HashSet<>(); Set<String> currentIds = new HashSet<>();
@ -180,12 +181,12 @@ public abstract class AstridOrderedListUpdater<LIST> {
} }
} }
public void indent(LIST list, Filter filter, String targetTaskId, int delta) { public void indent(TaskListMetadata list, Filter filter, String targetTaskId, int delta) {
Node node = idToNode.get(targetTaskId); Node node = idToNode.get(targetTaskId);
indentHelper(list, filter, node, delta); indentHelper(list, filter, node, delta);
} }
private void indentHelper(LIST list, Filter filter, Node node, int delta) { private void indentHelper(TaskListMetadata list, Filter filter, Node node, int delta) {
if (node == null) { if (node == null) {
return; return;
} }
@ -246,7 +247,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
} }
} }
public void moveTo(LIST list, Filter filter, String targetTaskId, String beforeTaskId) { public void moveTo(TaskListMetadata list, Filter filter, String targetTaskId, String beforeTaskId) {
Node target = idToNode.get(targetTaskId); Node target = idToNode.get(targetTaskId);
if (target == null) { if (target == null) {
return; return;
@ -290,7 +291,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
setNodeIndent(toMove, toMove.parent.indent + 1); setNodeIndent(toMove, toMove.parent.indent + 1);
} }
private void moveHelper(LIST list, Filter filter, Node moveThis, Node beforeThis) { private void moveHelper(TaskListMetadata list, Filter filter, Node moveThis, Node beforeThis) {
Node oldParent = moveThis.parent; Node oldParent = moveThis.parent;
ArrayList<Node> oldSiblings = oldParent.children; ArrayList<Node> oldSiblings = oldParent.children;
@ -331,7 +332,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
return false; return false;
} }
private void moveToEndOfList(LIST list, Filter filter, Node moveThis) { private void moveToEndOfList(TaskListMetadata list, Filter filter, Node moveThis) {
Node parent = moveThis.parent; Node parent = moveThis.parent;
parent.children.remove(moveThis); parent.children.remove(moveThis);
treeRoot.children.add(moveThis); treeRoot.children.add(moveThis);
@ -341,7 +342,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
applyToFilter(filter); applyToFilter(filter);
} }
public void onCreateTask(LIST list, Filter filter, String uuid) { public void onCreateTask(TaskListMetadata list, Filter filter, String uuid) {
if (idToNode.containsKey(uuid) || !RemoteModel.isValidUuid(uuid)) { if (idToNode.containsKey(uuid) || !RemoteModel.isValidUuid(uuid)) {
return; return;
} }
@ -353,7 +354,7 @@ public abstract class AstridOrderedListUpdater<LIST> {
applyToFilter(filter); applyToFilter(filter);
} }
public void onDeleteTask(LIST list, Filter filter, String taskId) { public void onDeleteTask(TaskListMetadata list, Filter filter, String taskId) {
Node task = idToNode.get(taskId); Node task = idToNode.get(taskId);
if (task == null) { if (task == null) {
return; return;

@ -9,7 +9,7 @@ import com.todoroo.astrid.data.TaskListMetadata;
import javax.inject.Inject; import javax.inject.Inject;
public class SubtasksFilterUpdater extends SubtasksUpdater<TaskListMetadata> { public class SubtasksFilterUpdater extends SubtasksUpdater {
private final TaskListMetadataDao taskListMetadataDao; private final TaskListMetadataDao taskListMetadataDao;

@ -49,7 +49,7 @@ public class SubtasksListFragment extends TaskListFragment {
return fragment; return fragment;
} }
protected AstridOrderedListFragmentHelper<TaskListMetadata> helper; protected AstridOrderedListFragmentHelper helper;
private int lastVisibleIndex = -1; private int lastVisibleIndex = -1;
@ -69,7 +69,7 @@ public class SubtasksListFragment extends TaskListFragment {
public void onAttach(Activity activity) { public void onAttach(Activity activity) {
super.onAttach(activity); super.onAttach(activity);
helper = new AstridOrderedListFragmentHelper<>(preferences, taskAttachmentDao, helper = new AstridOrderedListFragmentHelper(preferences, taskAttachmentDao,
this, subtasksFilterUpdater, dialogBuilder, checkBoxes, tagService, themeCache, taskDao); this, subtasksFilterUpdater, dialogBuilder, checkBoxes, tagService, themeCache, taskDao);
} }

@ -56,7 +56,7 @@ public class SubtasksTagListFragment extends TagViewFragment {
@Inject Theme theme; @Inject Theme theme;
@Inject TaskDao taskDao; @Inject TaskDao taskDao;
private AstridOrderedListFragmentHelper<TaskListMetadata> helper; private AstridOrderedListFragmentHelper helper;
private int lastVisibleIndex = -1; private int lastVisibleIndex = -1;
@ -64,7 +64,7 @@ public class SubtasksTagListFragment extends TagViewFragment {
public void onAttach(Activity activity) { public void onAttach(Activity activity) {
super.onAttach(activity); super.onAttach(activity);
helper = new AstridOrderedListFragmentHelper<>(preferences, taskAttachmentDao, helper = new AstridOrderedListFragmentHelper(preferences, taskAttachmentDao,
this, subtasksFilterUpdater, dialogBuilder, checkBoxes, tagService, themeCache, taskDao); this, subtasksFilterUpdater, dialogBuilder, checkBoxes, tagService, themeCache, taskDao);
} }

@ -10,8 +10,9 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata;
public abstract class SubtasksUpdater<T> extends AstridOrderedListUpdater<T> { public abstract class SubtasksUpdater extends AstridOrderedListUpdater {
public static final String ACTIVE_TASKS_ORDER = "active_tasks_order"; //$NON-NLS-1$ 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$ public static final String TODAY_TASKS_ORDER = "today_tasks_order"; //$NON-NLS-1$
@ -21,7 +22,7 @@ public abstract class SubtasksUpdater<T> extends AstridOrderedListUpdater<T> {
} }
@Override @Override
public void initialize(T list, Filter filter) { public void initialize(TaskListMetadata list, Filter filter) {
super.initialize(list, filter); super.initialize(list, filter);
applyToFilter(filter); applyToFilter(filter);
} }

Loading…
Cancel
Save