From cc2824726f07cd0edd81f3b070c754ab1ae2d4fa Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Mon, 14 Jan 2013 12:32:41 -0800 Subject: [PATCH] Optimized query with fewer properties when in title only mode --- .../OrderedMetadataListFragmentHelper.java | 6 +++++- .../todoroo/astrid/activity/TaskListFragment.java | 2 ++ .../com/todoroo/astrid/adapter/TaskAdapter.java | 15 +++++++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java b/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java index 21d9336a6..4a5adb173 100644 --- a/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java +++ b/astrid/plugin-src/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java @@ -123,7 +123,11 @@ public class OrderedMetadataListFragmentHelper implements OrderedListFragm } public Property[] taskProperties() { - ArrayList> properties = new ArrayList>(Arrays.asList(TaskAdapter.PROPERTIES)); + Property[] baseProperties = TaskAdapter.PROPERTIES; + if (Preferences.getIntegerFromString(R.string.p_taskRowStyle_v2, 0) == 2) + baseProperties = TaskAdapter.BASIC_PROPERTIES; + + ArrayList> properties = new ArrayList>(Arrays.asList(baseProperties)); properties.add(updater.indentProperty()); properties.add(updater.orderProperty()); return properties.toArray(new Property[properties.size()]); diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java index f36ea0d0b..c4d16e013 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java @@ -934,6 +934,8 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, } public Property[] taskProperties() { + if (Preferences.getIntegerFromString(R.string.p_taskRowStyle_v2, 0) == 2) + return TaskAdapter.BASIC_PROPERTIES; return TaskAdapter.PROPERTIES; } diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index f27d52cea..91cf54ac5 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -144,6 +144,15 @@ public class TaskAdapter extends CursorAdapter implements Filterable { TAGS // Concatenated list of tags }; + public static final Property[] BASIC_PROPERTIES = new Property[] { + Task.ID, + Task.TITLE, + Task.FLAGS, + Task.COMPLETION_DATE, + Task.HIDE_UNTIL, + Task.DELETION_DATE + }; + public static int[] IMPORTANCE_RESOURCES = new int[] { R.drawable.importance_check_1, R.drawable.importance_check_2, @@ -374,8 +383,10 @@ public class TaskAdapter extends CursorAdapter implements Filterable { TodorooCursor cursor = (TodorooCursor)c; ViewHolder viewHolder = ((ViewHolder)view.getTag()); - viewHolder.isTaskRabbit = (cursor.get(TASK_RABBIT_ID) > 0); - viewHolder.tagsString = cursor.get(TAGS); + if (!titleOnly) { + viewHolder.isTaskRabbit = (cursor.get(TASK_RABBIT_ID) > 0); + viewHolder.tagsString = cursor.get(TAGS); + } Task task = viewHolder.task; task.clear();