diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java index 40c5e2c68..c45c9a598 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CoreFilterExposer.java @@ -68,7 +68,7 @@ public final class CoreFilterExposer extends BroadcastReceiver implements Astrid filters.add(getTodayFilter(r)); 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) + PluginServices.getWaitingOnMeDao().count(Query.select(WaitingOnMe.ID).where(Criterion.and(WaitingOnMe.DELETED_AT.eq(0), WaitingOnMe.READ_AT.eq(0), WaitingOnMe.ACKNOWLEDGED.neq(1)))) > 0) filters.add(getWaitingOnMeFilter(r)); // transmit filter list @@ -114,7 +114,7 @@ public final class CoreFilterExposer extends BroadcastReceiver implements Astrid FilterWithCustomIntent waitingOnMe = new FilterWithCustomIntent(r.getString(R.string.BFE_waiting_on_me), r.getString(R.string.BFE_waiting_on_me), new QueryTemplate().join(Join.inner(WaitingOnMe.TABLE, Task.UUID.eq(WaitingOnMe.TASK_UUID))).where( Criterion.and(TaskCriteria.activeVisibleMine(), - WaitingOnMe.DELETED_AT.eq(0), WaitingOnMe.ACKNOWLEDGED.eq(0))).groupBy(Task.UUID), null); + WaitingOnMe.DELETED_AT.eq(0), Criterion.or(WaitingOnMe.ACKNOWLEDGED.isNull(), WaitingOnMe.ACKNOWLEDGED.eq(0)))).groupBy(Task.UUID), null); waitingOnMe.customTaskList = new ComponentName(ContextManager.getContext(), WaitingOnMeFragment.class); int themeFlags = ThemeService.getFilterThemeFlags(); waitingOnMe.listingIcon = ((BitmapDrawable) r.getDrawable( diff --git a/astrid/res/layout/task_edit_activity.xml b/astrid/res/layout/task_edit_activity.xml index 13409475b..c63c4c3af 100644 --- a/astrid/res/layout/task_edit_activity.xml +++ b/astrid/res/layout/task_edit_activity.xml @@ -28,7 +28,7 @@ { public WaitingOnMe findByTask(String taskUuid) { TodorooCursor cursor = query(Query.select(WaitingOnMe.PROPERTIES).where( - Criterion.and(WaitingOnMe.TASK_UUID.eq(taskUuid), WaitingOnMe.ACKNOWLEDGED.eq(0), WaitingOnMe.DELETED_AT.eq(0)))); + Criterion.and(WaitingOnMe.TASK_UUID.eq(taskUuid), + Criterion.or(WaitingOnMe.ACKNOWLEDGED.eq(0), WaitingOnMe.ACKNOWLEDGED.isNull()), + Criterion.or(WaitingOnMe.DELETED_AT.eq(0), WaitingOnMe.DELETED_AT.isNull())))); + cursor.moveToFirst(); return returnFetchResult(cursor); } }