Refactor to allow tag data to experience the joy of draggable lists

pull/14/head
Tim Su 14 years ago
parent 51324c9d2f
commit e530e5f561

@ -73,7 +73,7 @@ public class TagViewFragment extends TaskListFragment {
public static final String TOKEN_START_ACTIVITY = "startActivity"; //$NON-NLS-1$ public static final String TOKEN_START_ACTIVITY = "startActivity"; //$NON-NLS-1$
private TagData tagData; protected TagData tagData;
@Autowired TagDataService tagDataService; @Autowired TagDataService tagDataService;
@ -83,7 +83,7 @@ public class TagViewFragment extends TaskListFragment {
@Autowired SyncV2Service syncService; @Autowired SyncV2Service syncService;
private View taskListView; protected View taskListView;
private boolean dataLoaded = false; private boolean dataLoaded = false;

@ -0,0 +1,265 @@
package com.todoroo.astrid.subtasks;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
import android.app.Activity;
import android.database.Cursor;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.View;
import android.widget.ListView;
import com.commonsware.cwac.tlv.TouchListView.DropListener;
import com.commonsware.cwac.tlv.TouchListView.GrabberClickListener;
import com.commonsware.cwac.tlv.TouchListView.SwipeListener;
import com.timsu.astrid.R;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.OrderedListUpdater.OrderedListIterator;
import com.todoroo.astrid.ui.DraggableListView;
public class SubtasksFragmentHelper {
private final DisplayMetrics metrics = new DisplayMetrics();
private final SubtasksUpdater updater = new SubtasksUpdater();
private final TaskListFragment fragment;
@Autowired TaskService taskService;
private DraggableTaskAdapter taskAdapter;
private String list;
public SubtasksFragmentHelper(TaskListFragment fragment) {
DependencyInjectionService.getInstance().inject(this);
this.fragment = fragment;
}
// --- ui component setup
private Activity getActivity() {
return fragment.getActivity();
}
private ListView getListView() {
return fragment.getListView();
}
private Filter getFilter() {
return fragment.getFilter();
}
public DraggableListView getTouchListView() {
DraggableListView tlv = (DraggableListView) fragment.getListView();
return tlv;
}
public void setUpUiComponents() {
TypedValue tv = new TypedValue();
getActivity().getTheme().resolveAttribute(R.attr.asThemeTextColor, tv, false);
getTouchListView().setDragndropBackgroundColor(tv.data);
getTouchListView().setDropListener(dropListener);
getTouchListView().setClickListener(rowClickListener);
getTouchListView().setSwipeListener(swipeListener);
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
}
public void beforeSetUpTaskList(Filter filter) {
updater.applySubtasksToFilter(filter, null);
updater.sanitizeTaskList(filter, list);
}
public Property<?>[] taskProperties() {
ArrayList<Property<?>> properties = new ArrayList<Property<?>>(Arrays.asList(TaskAdapter.PROPERTIES));
properties.add(SubtasksMetadata.INDENT);
properties.add(SubtasksMetadata.ORDER);
return properties.toArray(new Property<?>[properties.size()]);
}
private final DropListener dropListener = new DropListener() {
@Override
public void drop(int from, int to) {
long targetTaskId = taskAdapter.getItemId(from);
long destinationTaskId = taskAdapter.getItemId(to);
if(to == getListView().getCount() - 1)
updater.moveTo(getFilter(), list, targetTaskId, -1);
else
updater.moveTo(getFilter(), list, targetTaskId, destinationTaskId);
fragment.loadTaskListContent(true);
}
};
private final SwipeListener swipeListener = new SwipeListener() {
@Override
public void swipeRight(int which) {
long targetTaskId = taskAdapter.getItemId(which);
updater.indent(getFilter(), list, targetTaskId, 1);
fragment.loadTaskListContent(true);
}
@Override
public void swipeLeft(int which) {
long targetTaskId = taskAdapter.getItemId(which);
updater.indent(getFilter(), list, targetTaskId, -1);
fragment.loadTaskListContent(true);
}
};
private final GrabberClickListener rowClickListener = new GrabberClickListener() {
@Override
public void onLongClick(final View v) {
fragment.registerForContextMenu(getListView());
getListView().showContextMenuForChild(v);
fragment.unregisterForContextMenu(getListView());
}
@Override
public void onClick(View v) {
((DraggableTaskAdapter) taskAdapter).getListener().onClick(v);
}
};
public TaskAdapter createTaskAdapter(TodorooCursor<Task> cursor,
AtomicReference<String> sqlQueryTemplate) {
taskAdapter = new DraggableTaskAdapter(fragment, R.layout.task_adapter_row,
cursor, sqlQueryTemplate, false, null);
taskAdapter.addOnCompletedTaskListener(new OnCompletedTaskListener() {
@Override
public void onCompletedTask(Task item, boolean newState) {
setCompletedForItemAndSubtasks(item, newState);
}
});
return taskAdapter;
}
private final class DraggableTaskAdapter extends TaskAdapter {
private DraggableTaskAdapter(TaskListFragment activity, int resource,
Cursor c, AtomicReference<String> query, boolean autoRequery,
OnCompletedTaskListener onCompletedTaskListener) {
super(activity, resource, c, query, autoRequery,
onCompletedTaskListener);
applyListeners = APPLY_LISTENERS_NONE;
}
@Override
protected ViewHolder getTagFromCheckBox(View v) {
return (ViewHolder)((View)v.getParent()).getTag();
}
@Override
public synchronized void setFieldContentsAndVisibility(View view) {
super.setFieldContentsAndVisibility(view);
view.getLayoutParams().height = Math.round(45 * metrics.density);
ViewHolder vh = (ViewHolder) view.getTag();
int indent = vh.task.getValue(SubtasksMetadata.INDENT);
vh.rowBody.setPadding(Math.round(indent * 20 * metrics.density), 0, 0, 0);
}
@Override
protected void addListeners(View container) {
super.addListeners(container);
}
public TaskRowListener getListener() {
return listener;
}
}
private void setCompletedForItemAndSubtasks(final Task item, final boolean completedState) {
final Map<Long, ArrayList<Long>> chainedCompletions =
Collections.synchronizedMap(new HashMap<Long, ArrayList<Long>>());
final long itemId = item.getId();
final Task task = new Task();
task.setValue(Task.COMPLETION_DATE, completedState ? DateUtilities.now() : 0);
if(completedState == false) {
ArrayList<Long> chained = chainedCompletions.get(itemId);
if(chained != null) {
for(Long taskId : chained) {
taskAdapter.getCompletedItems().put(taskId, false);
task.setId(taskId);
taskService.save(task);
}
taskAdapter.notifyDataSetInvalidated();
}
return;
}
new Thread() {
@Override
public void run() {
final AtomicInteger startIndent = new AtomicInteger(
item.getValue(SubtasksMetadata.INDENT));
final AtomicLong startOrder= new AtomicLong(
item.getValue(SubtasksMetadata.ORDER));
final AtomicBoolean finished = new AtomicBoolean(false);
final ArrayList<Long> chained = new ArrayList<Long>();
chainedCompletions.put(itemId, chained);
updater.iterateThroughList(getFilter(), list, new OrderedListIterator() {
@Override
public void processTask(long taskId, Metadata metadata) {
if(finished.get())
return;
long order = metadata.containsNonNullValue(SubtasksMetadata.ORDER) ?
metadata.getValue(SubtasksMetadata.ORDER) : 0;
int indent = metadata.containsNonNullValue(SubtasksMetadata.INDENT) ?
metadata.getValue(SubtasksMetadata.INDENT) : 0;
if(order < startOrder.get())
return;
else if(indent == startIndent.get()) {
finished.set(true);
return;
}
taskAdapter.getCompletedItems().put(taskId, true);
task.setId(taskId);
taskService.save(task);
chained.add(taskId);
}
});
getActivity().runOnUiThread(new Runnable() {
public void run() {
taskAdapter.notifyDataSetInvalidated();
}
});
}
}.start();
}
public void setList(String list) {
this.list = list;
}
}

@ -1,35 +1,14 @@
package com.todoroo.astrid.subtasks; package com.todoroo.astrid.subtasks;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
import android.database.Cursor;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.commonsware.cwac.tlv.TouchListView.DropListener;
import com.commonsware.cwac.tlv.TouchListView.GrabberClickListener;
import com.commonsware.cwac.tlv.TouchListView.SwipeListener;
import com.timsu.astrid.R; import com.timsu.astrid.R;
import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener;
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.ui.DraggableListView;
/** /**
* Fragment for subtasks * Fragment for subtasks
@ -39,13 +18,12 @@ import com.todoroo.astrid.ui.DraggableListView;
*/ */
public class SubtasksListFragment extends TaskListFragment { public class SubtasksListFragment extends TaskListFragment {
private final DisplayMetrics metrics = new DisplayMetrics(); private final SubtasksFragmentHelper helper;
private final SubtasksUpdater updater = new SubtasksUpdater();
public DraggableListView getTouchListView() { public SubtasksListFragment() {
DraggableListView tlv = (DraggableListView) getListView(); super();
return tlv; helper = new SubtasksFragmentHelper(this);
helper.setList(SubtasksMetadata.LIST_ACTIVE_TASKS);
} }
@Override @Override
@ -57,204 +35,32 @@ public class SubtasksListFragment extends TaskListFragment {
protected void setUpUiComponents() { protected void setUpUiComponents() {
super.setUpUiComponents(); super.setUpUiComponents();
TypedValue tv = new TypedValue(); helper.setUpUiComponents();
getActivity().getTheme().resolveAttribute(R.attr.asThemeTextColor, tv, false);
getTouchListView().setDragndropBackgroundColor(tv.data);
getTouchListView().setDropListener(dropListener);
getTouchListView().setClickListener(rowClickListener);
getTouchListView().setSwipeListener(swipeListener);
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
} }
@Override @Override
protected void setUpTaskList() { protected void setUpTaskList() {
helper.beforeSetUpTaskList(filter);
updater.applySubtasksToFilter(filter, null);
updater.sanitizeTaskList(filter, SubtasksMetadata.LIST_ACTIVE_TASKS);
super.setUpTaskList(); super.setUpTaskList();
unregisterForContextMenu(getListView()); unregisterForContextMenu(getListView());
} }
@Override @Override
public Property<?>[] taskProperties() { public Property<?>[] taskProperties() {
ArrayList<Property<?>> properties = new ArrayList<Property<?>>(Arrays.asList(TaskAdapter.PROPERTIES)); return helper.taskProperties();
properties.add(SubtasksMetadata.INDENT);
properties.add(SubtasksMetadata.ORDER);
return properties.toArray(new Property<?>[properties.size()]);
} }
private final DropListener dropListener = new DropListener() {
@Override
public void drop(int from, int to) {
long targetTaskId = taskAdapter.getItemId(from);
long destinationTaskId = taskAdapter.getItemId(to);
if(to == getListView().getCount() - 1)
updater.moveTo(filter, SubtasksMetadata.LIST_ACTIVE_TASKS, targetTaskId, -1);
else
updater.moveTo(filter, SubtasksMetadata.LIST_ACTIVE_TASKS, targetTaskId, destinationTaskId);
loadTaskListContent(true);
}
};
private final SwipeListener swipeListener = new SwipeListener() {
@Override
public void swipeRight(int which) {
long targetTaskId = taskAdapter.getItemId(which);
updater.indent(filter, SubtasksMetadata.LIST_ACTIVE_TASKS, targetTaskId, 1);
loadTaskListContent(true);
}
@Override
public void swipeLeft(int which) {
long targetTaskId = taskAdapter.getItemId(which);
updater.indent(filter, SubtasksMetadata.LIST_ACTIVE_TASKS, targetTaskId, -1);
loadTaskListContent(true);
}
};
private final GrabberClickListener rowClickListener = new GrabberClickListener() {
@Override
public void onLongClick(final View v) {
registerForContextMenu(getListView());
getListView().showContextMenuForChild(v);
unregisterForContextMenu(getListView());
}
@Override
public void onClick(View v) {
((DraggableTaskAdapter) taskAdapter).getListener().onClick(v);
}
};
// --- task adapter
@Override
protected TaskAdapter createTaskAdapter(TodorooCursor<Task> cursor) {
taskAdapter = new DraggableTaskAdapter(this, R.layout.task_adapter_row,
cursor, sqlQueryTemplate, false, null);
taskAdapter.addOnCompletedTaskListener(new OnCompletedTaskListener() {
@Override
public void onCompletedTask(Task item, boolean newState) {
setCompletedForItemAndSubtasks(item, newState);
}
});
return taskAdapter;
}
private final class DraggableTaskAdapter extends TaskAdapter {
private DraggableTaskAdapter(TaskListFragment activity, int resource,
Cursor c, AtomicReference<String> query, boolean autoRequery,
OnCompletedTaskListener onCompletedTaskListener) {
super(activity, resource, c, query, autoRequery,
onCompletedTaskListener);
applyListeners = APPLY_LISTENERS_NONE;
}
@Override
protected ViewHolder getTagFromCheckBox(View v) {
return (ViewHolder)((View)v.getParent()).getTag();
}
@Override
public synchronized void setFieldContentsAndVisibility(View view) {
super.setFieldContentsAndVisibility(view);
view.getLayoutParams().height = Math.round(45 * metrics.density);
ViewHolder vh = (ViewHolder) view.getTag();
int indent = vh.task.getValue(SubtasksMetadata.INDENT);
vh.rowBody.setPadding(Math.round(indent * 20 * metrics.density), 0, 0, 0);
}
@Override
protected void addListeners(View container) {
super.addListeners(container);
}
public TaskRowListener getListener() {
return listener;
}
}
@Override @Override
protected boolean isDraggable() { protected boolean isDraggable() {
return true; return true;
} }
@Override
protected TaskAdapter createTaskAdapter(TodorooCursor<Task> cursor) {
private void setCompletedForItemAndSubtasks(final Task item, final boolean completedState) { return helper.createTaskAdapter(cursor, sqlQueryTemplate);
final Map<Long, ArrayList<Long>> chainedCompletions =
Collections.synchronizedMap(new HashMap<Long, ArrayList<Long>>());
final long itemId = item.getId();
final Task task = new Task();
task.setValue(Task.COMPLETION_DATE, completedState ? DateUtilities.now() : 0);
if(completedState == false) {
ArrayList<Long> chained = chainedCompletions.get(itemId);
if(chained != null) {
for(Long taskId : chained) {
taskAdapter.getCompletedItems().put(taskId, false);
task.setId(taskId);
taskService.save(task);
}
taskAdapter.notifyDataSetInvalidated();
}
return;
}
new Thread() {
@Override
public void run() {
final AtomicInteger startIndent = new AtomicInteger(
item.getValue(SubtasksMetadata.INDENT));
final AtomicLong startOrder= new AtomicLong(
item.getValue(SubtasksMetadata.ORDER));
final AtomicBoolean finished = new AtomicBoolean(false);
final ArrayList<Long> chained = new ArrayList<Long>();
chainedCompletions.put(itemId, chained);
updater.iterateThroughList(filter, SubtasksMetadata.LIST_ACTIVE_TASKS, new OrderedListIterator() {
@Override
public void processTask(long taskId, Metadata metadata) {
if(finished.get())
return;
long order = metadata.containsNonNullValue(SubtasksMetadata.ORDER) ?
metadata.getValue(SubtasksMetadata.ORDER) : 0;
int indent = metadata.containsNonNullValue(SubtasksMetadata.INDENT) ?
metadata.getValue(SubtasksMetadata.INDENT) : 0;
if(order < startOrder.get())
return;
else if(indent == startIndent.get()) {
finished.set(true);
return;
}
taskAdapter.getCompletedItems().put(taskId, true);
task.setId(taskId);
taskService.save(task);
chained.add(taskId);
}
});
getActivity().runOnUiThread(new Runnable() {
public void run() {
taskAdapter.notifyDataSetInvalidated();
}
});
}
}.start();
} }
} }

@ -0,0 +1,77 @@
package com.todoroo.astrid.subtasks;
import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
import com.timsu.astrid.R;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.data.Task;
public class SubtasksTagListFragment extends TagViewFragment {
private final SubtasksFragmentHelper helper;
public SubtasksTagListFragment() {
super();
helper = new SubtasksFragmentHelper(this);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
String list = "td:" + tagData.getId(); //$NON-NLS-1$
helper.setList(list);
}
/* (non-Javadoc)
* @see com.todoroo.astrid.activity.TaskListActivity#getListBody(android.view.ViewGroup)
*/
@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
protected void setUpTaskList() {
helper.beforeSetUpTaskList(filter);
super.setUpTaskList();
unregisterForContextMenu(getListView());
}
@Override
public Property<?>[] taskProperties() {
return helper.taskProperties();
}
@Override
protected boolean isDraggable() {
return true;
}
@Override
protected TaskAdapter createTaskAdapter(TodorooCursor<Task> cursor) {
return helper.createTaskAdapter(cursor, sqlQueryTemplate);
}
}

@ -12,6 +12,7 @@ import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
@ -37,13 +38,16 @@ import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.FilterWithUpdate; import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.gtasks.GtasksPreferenceService; import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.service.AstridDependencyInjector; import com.todoroo.astrid.service.AstridDependencyInjector;
import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.subtasks.SubtasksTagListFragment;
import com.todoroo.astrid.tags.TagService.Tag; import com.todoroo.astrid.tags.TagService.Tag;
import com.todoroo.astrid.utility.AstridPreferences;
/** /**
* Exposes filters based on tags * Exposes filters based on tags
@ -92,7 +96,13 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
newTagIntent(context, RenameTagActivity.class, tag, tagTemplate.toString()), newTagIntent(context, RenameTagActivity.class, tag, tagTemplate.toString()),
newTagIntent(context, DeleteTagActivity.class, tag, tagTemplate.toString()) newTagIntent(context, DeleteTagActivity.class, tag, tagTemplate.toString())
}; };
filter.customTaskList = new ComponentName(ContextManager.getContext(), TagViewFragment.class);
SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(context);
int sortFlags = publicPrefs.getInt(SortHelper.PREF_SORT_FLAGS, 0);
Class<?> fragmentClass = SortHelper.isManualSort(sortFlags) ?
SubtasksTagListFragment.class : TagViewFragment.class;
filter.customTaskList = new ComponentName(ContextManager.getContext(), fragmentClass);
if(tag.image != null) if(tag.image != null)
filter.imageUrl = tag.image; filter.imageUrl = tag.image;
if(tag.updateText != null) if(tag.updateText != null)

@ -205,7 +205,7 @@ public class AstridActivity extends FragmentActivity
protected final void setupTasklistFragmentWithFilter(Filter filter) { protected final void setupTasklistFragmentWithFilter(Filter filter) {
Class<?> customTaskList = TaskListFragment.class; Class<?> customTaskList = TaskListFragment.class;
System.err.println("default time"); //$NON-NLS-1$ System.err.println("default time - " + ((filter != null) ? filter.title : "null")); //$NON-NLS-1$
if(filter == null || CoreFilterExposer.isInbox(filter)) { if(filter == null || CoreFilterExposer.isInbox(filter)) {
System.err.println("is inbox"); //$NON-NLS-1$ System.err.println("is inbox"); //$NON-NLS-1$
SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(this); SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(this);

@ -496,7 +496,6 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
} }
}); });
System.err.println("NOW setup ui componetns");
SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(getActivity()); SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(getActivity());
sortFlags = publicPrefs.getInt(SortHelper.PREF_SORT_FLAGS, 0); sortFlags = publicPrefs.getInt(SortHelper.PREF_SORT_FLAGS, 0);
sortSort = publicPrefs.getInt(SortHelper.PREF_SORT_SORT, 0); sortSort = publicPrefs.getInt(SortHelper.PREF_SORT_SORT, 0);
@ -1061,7 +1060,6 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
showSettings(); showSettings();
return true; return true;
case MENU_SORT_ID: case MENU_SORT_ID:
System.err.println("displaying " + sortFlags);
StatisticsService.reportEvent(StatisticsConstants.TLA_MENU_SORT); StatisticsService.reportEvent(StatisticsConstants.TLA_MENU_SORT);
AlertDialog dialog = SortSelectionActivity.createDialog( AlertDialog dialog = SortSelectionActivity.createDialog(
getActivity(), isInbox, this, sortFlags, sortSort); getActivity(), isInbox, this, sortFlags, sortSort);
@ -1185,8 +1183,6 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
sortFlags = flags; sortFlags = flags;
sortSort = sort; sortSort = sort;
System.err.println("FLAGS : " + flags);
if (always) { if (always) {
SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(getActivity()); SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(getActivity());
Editor editor = publicPrefs.edit(); Editor editor = publicPrefs.edit();

Loading…
Cancel
Save