Refactored and renamed things to support legacy metadata ordered lists for gtasks

pull/14/head
Sam Bosley 13 years ago
parent a59abccdf1
commit 7388399552

@ -27,7 +27,9 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.helper.ProgressBarSyncResultCallback; import com.todoroo.astrid.helper.ProgressBarSyncResultCallback;
import com.todoroo.astrid.service.SyncV2Service; import com.todoroo.astrid.service.SyncV2Service;
import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.subtasks.NewOrderedListFragmentHelper; import com.todoroo.astrid.subtasks.AstridOrderedListFragmentHelper;
import com.todoroo.astrid.subtasks.OrderedListFragmentHelperInterface;
import com.todoroo.astrid.subtasks.OrderedMetadataListFragmentHelper;
import com.todoroo.astrid.subtasks.SubtasksListFragment; import com.todoroo.astrid.subtasks.SubtasksListFragment;
public class GtasksListFragment extends SubtasksListFragment { public class GtasksListFragment extends SubtasksListFragment {
@ -60,8 +62,8 @@ public class GtasksListFragment extends SubtasksListFragment {
}; };
@Override @Override
protected NewOrderedListFragmentHelper<?> createFragmentHelper() { protected OrderedListFragmentHelperInterface<?> createFragmentHelper() {
return new NewOrderedListFragmentHelper<StoreObject>(this, null /*gtasksTaskListUpdater*/); return new OrderedMetadataListFragmentHelper<StoreObject>(this, gtasksTaskListUpdater);
} }
@Override @Override
@ -75,7 +77,7 @@ public class GtasksListFragment extends SubtasksListFragment {
long storeObjectId = extras.getLong(TOKEN_STORE_ID, 0); long storeObjectId = extras.getLong(TOKEN_STORE_ID, 0);
list = storeObjectDao.fetch(storeObjectId, LIST_PROPERTIES); list = storeObjectDao.fetch(storeObjectId, LIST_PROPERTIES);
((NewOrderedListFragmentHelper<StoreObject>)helper).setList(list); ((AstridOrderedListFragmentHelper<StoreObject>)helper).setList(list);
} }
@Override @Override

@ -29,7 +29,7 @@ import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gtasks.sync.GtasksTaskContainer; import com.todoroo.astrid.gtasks.sync.GtasksTaskContainer;
import com.todoroo.astrid.subtasks.OrderedListUpdater.OrderedListIterator; import com.todoroo.astrid.subtasks.OrderedMetadataListUpdater.OrderedListIterator;
import com.todoroo.astrid.sync.SyncMetadataService; import com.todoroo.astrid.sync.SyncMetadataService;
import com.todoroo.astrid.sync.SyncProviderUtilities; import com.todoroo.astrid.sync.SyncProviderUtilities;

@ -28,10 +28,10 @@ import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gtasks.sync.GtasksSyncService; import com.todoroo.astrid.gtasks.sync.GtasksSyncService;
import com.todoroo.astrid.subtasks.OrderedListUpdater; import com.todoroo.astrid.subtasks.OrderedMetadataListUpdater;
import com.todoroo.astrid.subtasks.OrderedListUpdater.OrderedListIterator; import com.todoroo.astrid.subtasks.OrderedMetadataListUpdater.OrderedListIterator;
public class GtasksTaskListUpdater extends OrderedListUpdater<StoreObject> { public class GtasksTaskListUpdater extends OrderedMetadataListUpdater<StoreObject> {
/** map of task -> parent task */ /** map of task -> parent task */
final HashMap<Long, Long> parents = new HashMap<Long, Long>(); final HashMap<Long, Long> parents = new HashMap<Long, Long>();

@ -38,11 +38,11 @@ import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.ui.DraggableListView; import com.todoroo.astrid.ui.DraggableListView;
import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.AstridPreferences;
public class NewOrderedListFragmentHelper<LIST> { public class AstridOrderedListFragmentHelper<LIST> implements OrderedListFragmentHelperInterface<LIST> {
private final DisplayMetrics metrics = new DisplayMetrics(); private final DisplayMetrics metrics = new DisplayMetrics();
private final NewOrderedListUpdater<LIST> updater; private final AstridOrderedListUpdater<LIST> updater;
private final TaskListFragment fragment; private final TaskListFragment fragment;
@Autowired TaskService taskService; @Autowired TaskService taskService;
@ -52,7 +52,7 @@ public class NewOrderedListFragmentHelper<LIST> {
private LIST list; private LIST list;
public NewOrderedListFragmentHelper(TaskListFragment fragment, NewOrderedListUpdater<LIST> updater) { public AstridOrderedListFragmentHelper(TaskListFragment fragment, AstridOrderedListUpdater<LIST> updater) {
DependencyInjectionService.getInstance().inject(this); DependencyInjectionService.getInstance().inject(this);
this.fragment = fragment; this.fragment = fragment;
this.updater = updater; this.updater = updater;
@ -275,9 +275,9 @@ public class NewOrderedListFragmentHelper<LIST> {
} }
final ArrayList<Long> chained = new ArrayList<Long>(); final ArrayList<Long> chained = new ArrayList<Long>();
updater.applyToDescendants(itemId, new NewOrderedListUpdater.OrderedListNodeVisitor() { updater.applyToDescendants(itemId, new AstridOrderedListUpdater.OrderedListNodeVisitor() {
@Override @Override
public void visitNode(NewOrderedListUpdater.Node node) { public void visitNode(AstridOrderedListUpdater.Node node) {
// Task childTask = taskService.fetchById(node.taskId, Task.RECURRENCE); // Task childTask = taskService.fetchById(node.taskId, Task.RECURRENCE);
// //
// if(!TextUtils.isEmpty(childTask.getValue(Task.RECURRENCE))) { // if(!TextUtils.isEmpty(childTask.getValue(Task.RECURRENCE))) {

@ -17,12 +17,12 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
public abstract class NewOrderedListUpdater<LIST> { public abstract class AstridOrderedListUpdater<LIST> {
@Autowired @Autowired
private TaskService taskService; private TaskService taskService;
public NewOrderedListUpdater() { public AstridOrderedListUpdater() {
DependencyInjectionService.getInstance().inject(this); DependencyInjectionService.getInstance().inject(this);
idToNode = new HashMap<Long, Node>(); idToNode = new HashMap<Long, Node>();
} }

@ -0,0 +1,18 @@
package com.todoroo.astrid.subtasks;
import java.util.concurrent.atomic.AtomicReference;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.data.Task;
public interface OrderedListFragmentHelperInterface<T> {
void setUpUiComponents();
void beforeSetUpTaskList(Filter filter);
void onCreateTask(Task task);
void onDeleteTask(Task task);
TaskAdapter createTaskAdapter(TodorooCursor<Task> cursor, AtomicReference<String> queryTemplate);
}

@ -44,15 +44,15 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.subtasks.OrderedListUpdater.Node; import com.todoroo.astrid.subtasks.OrderedMetadataListUpdater.Node;
import com.todoroo.astrid.subtasks.OrderedListUpdater.OrderedListNodeVisitor; import com.todoroo.astrid.subtasks.OrderedMetadataListUpdater.OrderedListNodeVisitor;
import com.todoroo.astrid.ui.DraggableListView; import com.todoroo.astrid.ui.DraggableListView;
import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.AstridPreferences;
public class OrderedListFragmentHelper<LIST> { public class OrderedMetadataListFragmentHelper<LIST> implements OrderedListFragmentHelperInterface<LIST> {
private final DisplayMetrics metrics = new DisplayMetrics(); private final DisplayMetrics metrics = new DisplayMetrics();
private final OrderedListUpdater<LIST> updater; private final OrderedMetadataListUpdater<LIST> updater;
private final TaskListFragment fragment; private final TaskListFragment fragment;
@Autowired TaskService taskService; @Autowired TaskService taskService;
@ -62,7 +62,7 @@ public class OrderedListFragmentHelper<LIST> {
private LIST list; private LIST list;
public OrderedListFragmentHelper(TaskListFragment fragment, OrderedListUpdater<LIST> updater) { public OrderedMetadataListFragmentHelper(TaskListFragment fragment, OrderedMetadataListUpdater<LIST> updater) {
DependencyInjectionService.getInstance().inject(this); DependencyInjectionService.getInstance().inject(this);
this.fragment = fragment; this.fragment = fragment;
this.updater = updater; this.updater = updater;
@ -321,6 +321,11 @@ public class OrderedListFragmentHelper<LIST> {
this.list = list; this.list = list;
} }
@Override
public void onCreateTask(Task task) {
//
}
public void onDeleteTask(Task task) { public void onDeleteTask(Task task) {
updater.onDeleteTask(getFilter(), list, task.getId()); updater.onDeleteTask(getFilter(), list, task.getId());
taskAdapter.notifyDataSetInvalidated(); taskAdapter.notifyDataSetInvalidated();

@ -18,11 +18,11 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.subtasks.OrderedListUpdater.OrderedListIterator; import com.todoroo.astrid.subtasks.OrderedMetadataListUpdater.OrderedListIterator;
abstract public class OrderedListUpdater<LIST> { abstract public class OrderedMetadataListUpdater<LIST> {
public OrderedListUpdater() { public OrderedMetadataListUpdater() {
DependencyInjectionService.getInstance().inject(this); DependencyInjectionService.getInstance().inject(this);
} }

@ -24,7 +24,7 @@ import com.todoroo.astrid.data.Task;
*/ */
public class SubtasksListFragment extends TaskListFragment { public class SubtasksListFragment extends TaskListFragment {
protected NewOrderedListFragmentHelper<?> helper; protected OrderedListFragmentHelperInterface<?> helper;
@Override @Override
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
@ -32,9 +32,9 @@ public class SubtasksListFragment extends TaskListFragment {
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
} }
protected NewOrderedListFragmentHelper<?> createFragmentHelper() { protected OrderedListFragmentHelperInterface<?> createFragmentHelper() {
NewOrderedListFragmentHelper<TagData> olfh = AstridOrderedListFragmentHelper<TagData> olfh =
new NewOrderedListFragmentHelper<TagData>(this, new SubtasksUpdater()); new AstridOrderedListFragmentHelper<TagData>(this, new SubtasksUpdater());
olfh.setList(getActiveTagData()); olfh.setList(getActiveTagData());
return olfh; return olfh;
} }

@ -16,6 +16,7 @@ import com.todoroo.astrid.data.Metadata;
* @author Tim Su <tim@todoroo.com> * @author Tim Su <tim@todoroo.com>
* *
*/ */
@Deprecated
public class SubtasksMetadata { public class SubtasksMetadata {
public static final String LIST_ACTIVE_TASKS = "[AT]"; //$NON-NLS-1$ public static final String LIST_ACTIVE_TASKS = "[AT]"; //$NON-NLS-1$

@ -17,11 +17,11 @@ import com.todoroo.astrid.data.Task;
public class SubtasksTagListFragment extends TagViewFragment { public class SubtasksTagListFragment extends TagViewFragment {
private final NewOrderedListFragmentHelper<TagData> helper; private final AstridOrderedListFragmentHelper<TagData> helper;
public SubtasksTagListFragment() { public SubtasksTagListFragment() {
super(); super();
helper = new NewOrderedListFragmentHelper<TagData>(this, new SubtasksUpdater()); helper = new AstridOrderedListFragmentHelper<TagData>(this, new SubtasksUpdater());
} }
@Override @Override

@ -15,7 +15,7 @@ import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
public class SubtasksUpdater extends NewOrderedListUpdater<TagData> { public class SubtasksUpdater extends AstridOrderedListUpdater<TagData> {
@Autowired TagDataService tagDataService; @Autowired TagDataService tagDataService;
@Autowired TaskService taskService; @Autowired TaskService taskService;

Loading…
Cancel
Save