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

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

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

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

Loading…
Cancel
Save