/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.subtasks;
import android.view.View;
import android.view.ViewGroup;
import com.timsu.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata;
public class SubtasksTagListFragment extends TagViewFragment {
private final AstridOrderedListFragmentHelper<TaskListMetadata> helper;
private int lastVisibleIndex = -1;
public SubtasksTagListFragment() {
super();
helper = new AstridOrderedListFragmentHelper<TaskListMetadata>(this, new SubtasksTagUpdater(isBeingFiltered));
}
@Override
protected void postLoadTaskListMetadata() {
helper.setList(taskListMetadata);
}
@Override
protected View getListBody(ViewGroup root) {
ViewGroup parent = (ViewGroup) getActivity().getLayoutInflater().inflate(
R.layout.task_list_body_tag, root, false);
taskListView =
getActivity().getLayoutInflater().inflate(R.layout.task_list_body_subtasks, root, false);
parent.addView(taskListView);
return parent;
}
@Override
protected void setUpUiComponents() {
super.setUpUiComponents();
helper.setUpUiComponents();
}
@Override
public void setUpTaskList() {
helper.beforeSetUpTaskList(filter);
super.setUpTaskList();
setUpMembersGallery();
unregisterForContextMenu(getListView());
}
@Override
public void onPause() {
super.onPause();
lastVisibleIndex = getListView().getFirstVisiblePosition();
}
@Override
public void onResume() {
super.onResume();
if (lastVisibleIndex >= 0 && !justDeleted) {
getListView().setSelection(lastVisibleIndex);
}
}
@Override
protected boolean isDraggable() {
return true;
}
@Override
public void onTaskCreated(Task task) {
super.onTaskCreated(task);
helper.onCreateTask(task);
}
@Override
protected void onTaskDelete(Task task) {
super.onTaskDelete(task);
helper.onDeleteTask(task);
}
@Override
protected TaskAdapter createTaskAdapter(TodorooCursor<Task> cursor) {
return helper.createTaskAdapter(cursor, sqlQueryTemplate);
}
@Override
protected void refresh() {
initializeTaskListMetadata();
setUpTaskList();
}
}