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() {
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.orderProperty());
return properties.toArray(new Property<?>[properties.size()]);

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

@ -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<Task> cursor = (TodorooCursor<Task>)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();

Loading…
Cancel
Save