Add custom filter criteria for hidden tasks

pull/1194/head
Alex Baker 4 years ago
parent 98af963256
commit f3e7440453

@ -36,7 +36,7 @@ public final class PermaSql {
/** value to be replaced by approximate end of day next month as long */
public static final String VALUE_EOD_NEXT_MONTH = "EODM()"; // $NON-NLS-1$
/** value to be replaced with the current time as long */
private static final String VALUE_NOW = "NOW()"; // $NON-NLS-1$
public static final String VALUE_NOW = "NOW()"; // $NON-NLS-1$
/** value to be replaced by noon yesterday as long */
private static final String VALUE_NOON_YESTERDAY = "NOONY()"; // $NON-NLS-1$
/** value to be replaced by noon tomorrow as long */

@ -34,6 +34,7 @@ class FilterCriteriaProvider @Inject constructor(
IDENTIFIER_TAG_CONTAINS -> tagNameContainsFilter
IDENTIFIER_RECUR -> recurringFilter
IDENTIFIER_COMPLETED -> completedFilter
IDENTIFIER_HIDDEN -> hiddenFilter
else -> throw RuntimeException("Unknown identifier: $identifier")
}
}
@ -61,6 +62,7 @@ class FilterCriteriaProvider @Inject constructor(
result.add(caldavFilterCriteria())
result.add(recurringFilter)
result.add(completedFilter)
result.add(hiddenFilter)
return result
}
@ -108,6 +110,16 @@ class FilterCriteriaProvider @Inject constructor(
.toString()
)
private val hiddenFilter: CustomFilterCriterion
get() = BooleanCriterion(
IDENTIFIER_HIDDEN,
context.getString(R.string.widget_due_date_hidden),
select(Task.ID)
.from(Task.TABLE)
.where(field("${Task.HIDE_UNTIL.gt(PermaSql.VALUE_NOW)}").eq(1))
.toString()
)
val tagNameContainsFilter: CustomFilterCriterion
get() = TextInputCriterion(
IDENTIFIER_TAG_CONTAINS,
@ -252,5 +264,6 @@ class FilterCriteriaProvider @Inject constructor(
private const val IDENTIFIER_TAG_CONTAINS = "tag_contains"
private const val IDENTIFIER_RECUR = "tag_recur"
private const val IDENTIFIER_COMPLETED = "tag_completed"
private const val IDENTIFIER_HIDDEN = "tag_hidden"
}
}
Loading…
Cancel
Save