had to rewrite filter counting query to make sense of LIMIT clause

pull/14/head
Tim Su 14 years ago
parent 175543d494
commit ea1764dfce

@ -24,7 +24,6 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.andlib.data.Property.CountProperty;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.api.AstridApiConstants;
@ -104,11 +103,10 @@ public class FilterAdapter extends BaseExpandableListAdapter {
filterSizeLoadingThread = new Thread() {
@Override
public void run() {
CountProperty cp = new CountProperty();
while(true) {
try {
Filter filter = filterQueue.take();
int size = taskService.countTasks(filter, cp);
int size = taskService.countTasks(filter);
filter.listingTitle = filter.listingTitle + (" (" + //$NON-NLS-1$
size + ")"); //$NON-NLS-1$
activity.runOnUiThread(new Runnable() {

@ -1,7 +1,6 @@
package com.todoroo.astrid.service;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.CountProperty;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -233,11 +232,10 @@ public class TaskService {
}
}
public int countTasks(Filter filter, CountProperty countProperty) {
TodorooCursor<Task> cursor = query(Query.select(countProperty).withQueryTemplate(filter.sqlQuery));
public int countTasks(Filter filter) {
TodorooCursor<Task> cursor = query(Query.select(Task.ID).withQueryTemplate(filter.sqlQuery));
try {
cursor.moveToFirst();
return cursor.getInt(0);
return cursor.getCount();
} finally {
cursor.close();
}

Loading…
Cancel
Save