Fixes for making google tasks work

pull/14/head
Tim Su 13 years ago
parent a8ea63ed30
commit e60c44f710

@ -17,7 +17,9 @@ import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.dao.StoreObjectDao;
import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gtasks.sync.GtasksSyncService;
import com.todoroo.astrid.service.SyncV2Service;
import com.todoroo.astrid.subtasks.OrderedListFragmentHelper;
import com.todoroo.astrid.subtasks.SubtasksListFragment;
public class GtasksListFragment extends SubtasksListFragment {
@ -34,6 +36,8 @@ public class GtasksListFragment extends SubtasksListFragment {
@Autowired private GtasksMetadataService gtasksMetadataService;
@Autowired private GtasksSyncService gtasksSyncService;
@Autowired private GtasksPreferenceService gtasksPreferenceService;
@Autowired private SyncV2Service syncService;
@ -49,6 +53,17 @@ public class GtasksListFragment extends SubtasksListFragment {
GtasksList.LAST_SYNC
};
@Override
protected OrderedListFragmentHelper<?> createFragmentHelper() {
return new OrderedListFragmentHelper<StoreObject>(this, gtasksTaskListUpdater) {
@Override
protected void onMetadataChanged(long targetTaskId) {
gtasksSyncService.triggerMoveForMetadata(gtasksMetadataService.
getTaskMetadata(targetTaskId));
}
};
}
@Override
public void onActivityCreated(Bundle icicle) {
super.onActivityCreated(icicle);
@ -63,6 +78,7 @@ public class GtasksListFragment extends SubtasksListFragment {
long storeObjectId = getActivity().getIntent().getLongExtra(TOKEN_STORE_ID, 0);
list = storeObjectDao.fetch(storeObjectId, LIST_PROPERTIES);
((OrderedListFragmentHelper<StoreObject>)helper).setList(list);
}
@Override
@ -75,7 +91,8 @@ public class GtasksListFragment extends SubtasksListFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
MenuItem item = menu.add(Menu.NONE, MENU_CLEAR_COMPLETED_ID, Menu.FIRST, this.getString(R.string.gtasks_GTA_clear_completed));
MenuItem item = menu.add(Menu.NONE, MENU_CLEAR_COMPLETED_ID, Menu.FIRST,
this.getString(R.string.gtasks_GTA_clear_completed));
item.setIcon(android.R.drawable.ic_input_delete); // Needs new icon
}

@ -20,7 +20,6 @@ import com.todoroo.astrid.dao.MetadataDao;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gtasks.sync.GtasksSyncService;
import com.todoroo.astrid.subtasks.OrderedListUpdater;
public class GtasksTaskListUpdater extends OrderedListUpdater<StoreObject> {
@ -36,7 +35,6 @@ public class GtasksTaskListUpdater extends OrderedListUpdater<StoreObject> {
@Autowired private GtasksListService gtasksListService;
@Autowired private GtasksMetadataService gtasksMetadataService;
@Autowired private GtasksSyncService gtasksSyncService;
@Autowired private MetadataDao metadataDao;
public GtasksTaskListUpdater() {
@ -76,11 +74,6 @@ public class GtasksTaskListUpdater extends OrderedListUpdater<StoreObject> {
updateParentSiblingMapsFor(list);
}
@Override
public void onMetadataChanged(long taskId) {
gtasksSyncService.triggerMoveForMetadata(gtasksMetadataService.getTaskMetadata(taskId));
}
@Override
protected void iterateThroughList(Filter filter, StoreObject list, OrderedListIterator iterator) {
gtasksMetadataService.iterateThroughList(list, iterator);

@ -107,7 +107,7 @@ public class OrderedListFragmentHelper<LIST> {
updater.moveTo(getFilter(), list, targetTaskId, destinationTaskId);
fragment.loadTaskListContent(true);
updater.onMetadataChanged(targetTaskId);
onMetadataChanged(targetTaskId);
}
};
@ -117,7 +117,7 @@ public class OrderedListFragmentHelper<LIST> {
long targetTaskId = taskAdapter.getItemId(which);
updater.indent(getFilter(), list, targetTaskId, 1);
fragment.loadTaskListContent(true);
updater.onMetadataChanged(targetTaskId);
onMetadataChanged(targetTaskId);
}
@Override
@ -125,7 +125,7 @@ public class OrderedListFragmentHelper<LIST> {
long targetTaskId = taskAdapter.getItemId(which);
updater.indent(getFilter(), list, targetTaskId, -1);
fragment.loadTaskListContent(true);
updater.onMetadataChanged(targetTaskId);
onMetadataChanged(targetTaskId);
}
};
@ -163,6 +163,13 @@ public class OrderedListFragmentHelper<LIST> {
return taskAdapter;
}
/**
* @param targetTaskId
*/
protected void onMetadataChanged(long targetTaskId) {
// hook
}
private final class DraggableTaskAdapter extends TaskAdapter {
private DraggableTaskAdapter(TaskListFragment activity, int resource,

@ -47,13 +47,6 @@ abstract public class OrderedListUpdater<LIST> {
//
}
/**
* @param taskId
*/
public void onMetadataChanged(long taskId) {
//
}
/**
* @param list
*/

@ -18,16 +18,18 @@ import com.todoroo.astrid.data.Task;
*/
public class SubtasksListFragment extends TaskListFragment {
protected OrderedListFragmentHelper<String> helper;
protected OrderedListFragmentHelper<?> helper;
public SubtasksListFragment() {
super();
createFragmentHelper();
helper = createFragmentHelper();
}
protected void createFragmentHelper() {
helper = new OrderedListFragmentHelper<String>(this, new SubtasksUpdater());
helper.setList(SubtasksMetadata.LIST_ACTIVE_TASKS);
protected OrderedListFragmentHelper<?> createFragmentHelper() {
OrderedListFragmentHelper<String> olfh =
new OrderedListFragmentHelper<String>(this, new SubtasksUpdater());
olfh.setList(SubtasksMetadata.LIST_ACTIVE_TASKS);
return olfh;
}
@Override

Loading…
Cancel
Save