Initial subtasks thing

pull/14/head
Tim Su 14 years ago
parent 6a6d237a68
commit a5c33f3045

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- See the file "LICENSE" for the full license governing this code. -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100">
<!-- No Tasks label -->
<TextView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"
android:text="@string/TLA_no_items"
style="@style/TextAppearance.TLA_NoItems"/>
<com.commonsware.cwac.tlv.TouchListView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tlv="http://schemas.android.com/apk/res/com.timsu.astrid"
android:id="@android:id/list"
android:scrollbars="vertical"
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:smoothScrollbar="false"
tlv:normal_height="45dip"
/>
</FrameLayout>

@ -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) {

@ -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<Task> 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<Task> 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<Property<?>> properties = new ArrayList<Property<?>>(Arrays.asList(TaskAdapter.PROPERTIES));
if(getIndentProperty() != null)

@ -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;
}
});
}
}

@ -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);

@ -764,6 +764,18 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
syncActionHelper.request();
}
protected TaskAdapter createTaskAdapter(TodorooCursor<Task> 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());

Loading…
Cancel
Save