Remove some task cursor usage

pull/467/head
Alex Baker 8 years ago
parent 10f5f3c1f4
commit 6377cf1e3b

@ -78,6 +78,10 @@ public class TaskDao {
return dao.query(query);
}
public void forEach(Query query, Callback<Task> callback) {
query(query).forEach(callback);
}
public void selectActive(Criterion criterion, Callback<Task> callback) {
dao.query(Query.select(Task.PROPERTIES).where(Criterion.and(TaskCriteria.isActive(), criterion)), callback);
}
@ -456,13 +460,17 @@ public class TaskDao {
}
public TodorooCursor<Task> fetchFiltered(String queryTemplate, Property<?>... properties) {
if(queryTemplate == null) {
return query(Query.selectDistinct(properties));
return query(fetchFilteredQuery(queryTemplate, properties));
}
public Query fetchFilteredQuery(String queryTemplate, Property<?>... properties) {
if (queryTemplate == null) {
return Query.selectDistinct(properties);
}
String sql = PermaSql.replacePlaceholders(queryTemplate);
return query(Query.select(properties).withQueryTemplate(sql));
return Query.select(properties).withQueryTemplate(sql);
}
}

@ -14,7 +14,6 @@ import android.support.v4.app.NotificationCompat;
import android.text.TextUtils;
import com.google.common.base.Strings;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.TaskListActivity;
@ -144,24 +143,9 @@ public class Notifier {
public void triggerFilterNotification(final Filter filter) {
String title = filter.listingTitle;
String query = filter.getSqlQuery();
TodorooCursor<Task> taskTodorooCursor = null;
int count;
try {
taskTodorooCursor = taskDao.fetchFiltered(query, Task.ID);
if (taskTodorooCursor == null) {
return;
}
count = taskTodorooCursor.getCount();
if (count == 0) {
return;
}
} catch (Exception e) {
Timber.e(e, e.getMessage());
int count = taskDao.count(filter);
if (count == 0) {
return;
} finally {
if (taskTodorooCursor != null) {
taskTodorooCursor.close();
}
}
String subtitle = context.getString(R.string.task_count, count);

Loading…
Cancel
Save