diff --git a/api/src/com/todoroo/andlib/data/DatabaseDao.java b/api/src/com/todoroo/andlib/data/DatabaseDao.java index a6cc41c4c..2535c001f 100644 --- a/api/src/com/todoroo/andlib/data/DatabaseDao.java +++ b/api/src/com/todoroo/andlib/data/DatabaseDao.java @@ -440,4 +440,13 @@ public class DatabaseDao { cursor.moveToFirst(); return new TodorooCursor(cursor, properties); } + + public int count(Query query) { + TodorooCursor cursor = query(query); + try { + return cursor.getCount(); + } finally { + cursor.close(); + } + } } diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java index f5b6336ed..ff47813cf 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java @@ -63,7 +63,8 @@ public final class CoreFilterExposer extends BroadcastReceiver implements Astrid if (Preferences.getBoolean(R.string.p_show_today_filter, true)) filters.add(getTodayFilter(r)); - if (Preferences.getBoolean(R.string.p_show_waiting_on_me_filter, true)) + if (Preferences.getBoolean(R.string.p_show_waiting_on_me_filter, true) && + PluginServices.getWaitingOnMeDao().count(Query.select(WaitingOnMe.ID).where(WaitingOnMe.DELETED_AT.eq(0))) > 0); filters.add(getWaitingOnMeFilter(r)); // transmit filter list diff --git a/astrid/src/com/todoroo/astrid/service/TaskService.java b/astrid/src/com/todoroo/astrid/service/TaskService.java index 98e653e1c..6ac6fe444 100644 --- a/astrid/src/com/todoroo/astrid/service/TaskService.java +++ b/astrid/src/com/todoroo/astrid/service/TaskService.java @@ -352,12 +352,7 @@ public class TaskService { * @return how many tasks are matched by this query */ public int count(Query query) { - TodorooCursor cursor = taskDao.query(query); - try { - return cursor.getCount(); - } finally { - cursor.close(); - } + return taskDao.count(query); } /**