diff --git a/astrid/res/layout/task_list_body_subtasks.xml b/astrid/res/layout/task_list_body_subtasks.xml
new file mode 100644
index 000000000..f2aab0d9a
--- /dev/null
+++ b/astrid/res/layout/task_list_body_subtasks.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/astrid/src/com/todoroo/astrid/activity/AstridActivity.java b/astrid/src/com/todoroo/astrid/activity/AstridActivity.java
index 0689a2545..371c7507c 100644
--- a/astrid/src/com/todoroo/astrid/activity/AstridActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/AstridActivity.java
@@ -189,7 +189,7 @@ public class AstridActivity extends FragmentActivity
}
protected final void setupTasklistFragmentWithFilter(Filter filter) {
- setupTasklistFragmentWithFilterAndCustomTaskList(filter, TaskListFragment.class);
+ setupTasklistFragmentWithFilterAndCustomTaskList(filter, SubtasksListFragment.class);
}
protected final void setupTasklistFragmentWithFilterAndCustomTaskList(Filter filter, Class> customTaskList) {
diff --git a/astrid/src/com/todoroo/astrid/activity/DraggableTaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/DraggableTaskListFragment.java
index 51ff0fd00..3d75b8421 100644
--- a/astrid/src/com/todoroo/astrid/activity/DraggableTaskListFragment.java
+++ b/astrid/src/com/todoroo/astrid/activity/DraggableTaskListFragment.java
@@ -5,7 +5,6 @@ import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import android.database.Cursor;
-import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
@@ -17,9 +16,7 @@ import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.IntegerProperty;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.astrid.adapter.TaskAdapter;
-import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.data.Task;
-import com.todoroo.astrid.helper.SyncActionHelper;
/**
* Activity for working with draggable task lists, like Google Tasks lists
@@ -44,48 +41,20 @@ public class DraggableTaskListFragment extends TaskListFragment {
return tlv;
}
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- }
-
@Override
protected View getListBody(ViewGroup root) {
return getActivity().getLayoutInflater().inflate(R.layout.task_list_body_draggable, root, false);
}
@Override
- protected void setUpUiComponents() {
- super.setUpUiComponents();
- //getView().findViewById(R.id.sortContainer).setVisibility(View.GONE);
+ protected TaskAdapter createTaskAdapter(TodorooCursor cursor) {
+ return new DraggableTaskAdapter(this, R.layout.task_adapter_draggable_row,
+ cursor, sqlQueryTemplate, false, null);
}
- // --- task adapter
-
- /**
- * Fill in the Task List with current items
- * @param withCustomId force task with given custom id to be part of list
- */
@Override
- protected void setUpTaskList() {
- sqlQueryTemplate.set(SortHelper.adjustQueryForFlagsAndSort(filter.sqlQuery,
- sortFlags, sortSort));
-
- // perform query
- TodorooCursor currentCursor = taskService.fetchFiltered(
- sqlQueryTemplate.get(), null, getProperties());
- getActivity().startManagingCursor(currentCursor);
-
- // set up list adapters
- taskAdapter = new DraggableTaskAdapter(this, R.layout.task_adapter_draggable_row,
- currentCursor, sqlQueryTemplate, false, null);
-
- setListAdapter(taskAdapter);
- getListView().setOnScrollListener(this);
- registerForContextMenu(getListView());
-
- syncActionHelper = new SyncActionHelper(getActivity());
- loadTaskListContent(false);
+ protected void setUpUiComponents() {
+ super.setUpUiComponents();
getTouchListView().setOnTouchListener(new OnTouchListener() {
@Override
@@ -95,6 +64,8 @@ public class DraggableTaskListFragment extends TaskListFragment {
});
}
+ // --- task adapter
+
public Property>[] getProperties() {
ArrayList> properties = new ArrayList>(Arrays.asList(TaskAdapter.PROPERTIES));
if(getIndentProperty() != null)
diff --git a/astrid/src/com/todoroo/astrid/activity/SubtasksListFragment.java b/astrid/src/com/todoroo/astrid/activity/SubtasksListFragment.java
new file mode 100644
index 000000000..f17454658
--- /dev/null
+++ b/astrid/src/com/todoroo/astrid/activity/SubtasksListFragment.java
@@ -0,0 +1,35 @@
+package com.todoroo.astrid.activity;
+
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.View.OnTouchListener;
+import android.view.ViewGroup;
+
+import com.commonsware.cwac.tlv.TouchListView;
+import com.timsu.astrid.R;
+
+public class SubtasksListFragment extends TaskListFragment {
+
+ public TouchListView getTouchListView() {
+ TouchListView tlv = (TouchListView) getListView();
+ return tlv;
+ }
+
+ @Override
+ protected View getListBody(ViewGroup root) {
+ return getActivity().getLayoutInflater().inflate(R.layout.task_list_body_subtasks, root, false);
+ }
+
+ @Override
+ protected void setUpUiComponents() {
+ super.setUpUiComponents();
+
+ getTouchListView().setOnTouchListener(new OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ return false;
+ }
+ });
+ }
+
+}
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
index 79451c127..f76e273ae 100644
--- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
@@ -142,7 +142,8 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
commentsButton.setOnClickListener(commentsButtonClickListener);
Filter savedFilter = getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER);
- if (getIntent().getIntExtra(TaskListFragment.TOKEN_SOURCE, Constants.SOURCE_DEFAULT) == Constants.SOURCE_NOTIFICATION)
+ if (getIntent().getIntExtra(TaskListFragment.TOKEN_SOURCE, Constants.SOURCE_DEFAULT) ==
+ Constants.SOURCE_NOTIFICATION)
setupTasklistFragmentWithFilterAndCustomTaskList(savedFilter, NotificationFragment.class);
else
setupTasklistFragmentWithFilter(savedFilter);
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java
index 8b2a5d704..35df389ed 100644
--- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java
@@ -764,6 +764,18 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
syncActionHelper.request();
}
+ protected TaskAdapter createTaskAdapter(TodorooCursor cursor) {
+ return new TaskAdapter(this, R.layout.task_adapter_row,
+ cursor, sqlQueryTemplate, false,
+ new OnCompletedTaskListener() {
+ @Override
+ public void onCompletedTask(Task item, boolean newState) {
+ if (newState == true)
+ onTaskCompleted(item);
+ }
+ });
+ }
+
/**
* Fill in the Task List with current items
*
@@ -782,15 +794,8 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
sqlQueryTemplate.get(), null, TaskAdapter.PROPERTIES);
// set up list adapters
- taskAdapter = new TaskAdapter(this, R.layout.task_adapter_row,
- currentCursor, sqlQueryTemplate, false,
- new OnCompletedTaskListener() {
- @Override
- public void onCompletedTask(Task item, boolean newState) {
- if (newState == true)
- onTaskCompleted(item);
- }
- });
+ taskAdapter = createTaskAdapter(currentCursor);
+
setListAdapter(taskAdapter);
getListView().setOnScrollListener(this);
registerForContextMenu(getListView());