From f243c418ab481a517a9c6f1f3d6a8c21c9d2c1c9 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Tue, 9 Apr 2019 12:05:19 +0200 Subject: [PATCH] add dynamic date query type --- .../android/model/filter/QueryCondition.kt | 13 +++++++++++++ .../view/rowrepresentable/FilterElementRow.kt | 19 +++++++++---------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt index 8dd1c786..0ad656f7 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt @@ -6,7 +6,11 @@ import net.pokeranalytics.android.exceptions.PokerAnalyticsException import net.pokeranalytics.android.model.realm.FilterCondition import net.pokeranalytics.android.model.realm.FilterElementBlind import net.pokeranalytics.android.model.realm.Session +import java.time.* import java.util.* +import java.time.temporal.TemporalQueries.zoneId + + /** @@ -58,6 +62,12 @@ enum class QueryCondition(var operator: Operator? = null) { YEAR, WEEK_DAY, WEEK_END, + TODAY, + YESTERDAY, + TODAY_AND_YESTERDAY, + THIS_WEEK, + THIS_MONTH, + THIS_YEAR, CURRENCY, CURRENCY_CODE, @@ -232,6 +242,9 @@ enum class QueryCondition(var operator: Operator? = null) { } query.`in`(fieldName, arrayOf(Calendar.SATURDAY, Calendar.SUNDAY)) } + TODAY, YESTERDAY, TODAY_AND_YESTERDAY, THIS_WEEK, THIS_MONTH, THIS_YEAR -> { + realmQuery + } else -> { throw PokerAnalyticsException.QueryTypeUnhandled } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt index b3ece087..0fa8f58f 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt @@ -79,16 +79,15 @@ sealed class FilterElementRow : RowRepresentable { is Online -> QueryCondition.ONLINE is Weekday -> QueryCondition.WEEK_DAY is Weekend -> QueryCondition.WEEK_END - - /* - is Today -> QueryCondition. - is Yesterday -> R.string.yesterday - is TodayAndYesterday -> R.string.yesterday_and_today - is CurrentWeek -> R.string.current_week - is CurrentMonth -> R.string.current_month - is CurrentYear -> R.string.current_year - is PastDays -> R.string.period_in_days - */ + is Today -> QueryCondition.TODAY + is Yesterday -> QueryCondition.YESTERDAY + is TodayAndYesterday -> QueryCondition.TODAY_AND_YESTERDAY + is CurrentWeek -> QueryCondition.THIS_WEEK + is CurrentMonth -> QueryCondition.THIS_MONTH + is CurrentYear -> QueryCondition.THIS_YEAR + /* + is PastDays -> R.string.period_in_days + */ is Limit -> QueryCondition.LIMIT is TableSize -> QueryCondition.TABLE_SIZE