From 8c4d37e49ab298c538caf8150efbd9eaccc9910d Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Fri, 29 Mar 2013 12:42:37 -0700 Subject: [PATCH] Only show waiting on me filter if there are things in it --- api/src/com/todoroo/andlib/data/DatabaseDao.java | 9 +++++++++ .../com/todoroo/astrid/core/CoreFilterExposer.java | 3 ++- astrid/src/com/todoroo/astrid/service/TaskService.java | 7 +------ 3 files changed, 12 insertions(+), 7 deletions(-) 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); } /**