Optimized query with fewer properties when in title only mode

pull/14/head
Sam Bosley 13 years ago
parent e88eec54a3
commit cc2824726f

@ -123,7 +123,11 @@ public class OrderedMetadataListFragmentHelper<LIST> implements OrderedListFragm
} }
public Property<?>[] taskProperties() { public Property<?>[] taskProperties() {
ArrayList<Property<?>> properties = new ArrayList<Property<?>>(Arrays.asList(TaskAdapter.PROPERTIES)); Property<?>[] baseProperties = TaskAdapter.PROPERTIES;
if (Preferences.getIntegerFromString(R.string.p_taskRowStyle_v2, 0) == 2)
baseProperties = TaskAdapter.BASIC_PROPERTIES;
ArrayList<Property<?>> properties = new ArrayList<Property<?>>(Arrays.asList(baseProperties));
properties.add(updater.indentProperty()); properties.add(updater.indentProperty());
properties.add(updater.orderProperty()); properties.add(updater.orderProperty());
return properties.toArray(new Property<?>[properties.size()]); return properties.toArray(new Property<?>[properties.size()]);

@ -934,6 +934,8 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
} }
public Property<?>[] taskProperties() { public Property<?>[] taskProperties() {
if (Preferences.getIntegerFromString(R.string.p_taskRowStyle_v2, 0) == 2)
return TaskAdapter.BASIC_PROPERTIES;
return TaskAdapter.PROPERTIES; return TaskAdapter.PROPERTIES;
} }

@ -144,6 +144,15 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
TAGS // Concatenated list of tags 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[] { public static int[] IMPORTANCE_RESOURCES = new int[] {
R.drawable.importance_check_1, R.drawable.importance_check_1,
R.drawable.importance_check_2, R.drawable.importance_check_2,
@ -374,8 +383,10 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
TodorooCursor<Task> cursor = (TodorooCursor<Task>)c; TodorooCursor<Task> cursor = (TodorooCursor<Task>)c;
ViewHolder viewHolder = ((ViewHolder)view.getTag()); ViewHolder viewHolder = ((ViewHolder)view.getTag());
viewHolder.isTaskRabbit = (cursor.get(TASK_RABBIT_ID) > 0); if (!titleOnly) {
viewHolder.tagsString = cursor.get(TAGS); viewHolder.isTaskRabbit = (cursor.get(TASK_RABBIT_ID) > 0);
viewHolder.tagsString = cursor.get(TAGS);
}
Task task = viewHolder.task; Task task = viewHolder.task;
task.clear(); task.clear();

Loading…
Cancel
Save