|
|
|
|
@ -2,8 +2,8 @@ package net.pokeranalytics.android.ui.view.rowrepresentable |
|
|
|
|
|
|
|
|
|
import io.realm.Realm |
|
|
|
|
import io.realm.RealmResults |
|
|
|
|
import io.realm.Sort |
|
|
|
|
import io.realm.kotlin.where |
|
|
|
|
import net.pokeranalytics.android.R |
|
|
|
|
import net.pokeranalytics.android.model.Limit |
|
|
|
|
import net.pokeranalytics.android.model.LiveData |
|
|
|
|
import net.pokeranalytics.android.model.TableSize |
|
|
|
|
@ -11,6 +11,10 @@ import net.pokeranalytics.android.model.realm.Game |
|
|
|
|
import net.pokeranalytics.android.model.realm.Session |
|
|
|
|
import net.pokeranalytics.android.ui.view.RowRepresentable |
|
|
|
|
import net.pokeranalytics.android.ui.view.RowViewType |
|
|
|
|
import java.text.DateFormatSymbols |
|
|
|
|
import java.util.* |
|
|
|
|
import kotlin.collections.ArrayList |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum class FilterSubcategoryRow : RowRepresentable { |
|
|
|
|
|
|
|
|
|
@ -76,43 +80,43 @@ enum class FilterSubcategoryRow : RowRepresentable { |
|
|
|
|
override val resId: Int? |
|
|
|
|
get() { |
|
|
|
|
return when (this) { |
|
|
|
|
CASH_TOURNAMENT -> R.string.cash_or_tournament |
|
|
|
|
LIVE_ONLINE -> R.string.live_or_online |
|
|
|
|
GAME -> R.string.game |
|
|
|
|
LIMIT_TYPE -> R.string.type_de_limite |
|
|
|
|
TABLE_SIZE -> R.string.table_size |
|
|
|
|
CASH_TOURNAMENT -> net.pokeranalytics.android.R.string.cash_or_tournament |
|
|
|
|
LIVE_ONLINE -> net.pokeranalytics.android.R.string.live_or_online |
|
|
|
|
GAME -> net.pokeranalytics.android.R.string.game |
|
|
|
|
LIMIT_TYPE -> net.pokeranalytics.android.R.string.type_de_limite |
|
|
|
|
TABLE_SIZE -> net.pokeranalytics.android.R.string.table_size |
|
|
|
|
|
|
|
|
|
DYNAMIC_DATE -> R.string.dynamic_date |
|
|
|
|
FIXED_DATE -> R.string.fixed_date |
|
|
|
|
DURATION -> R.string.duration |
|
|
|
|
YEAR -> R.string.year |
|
|
|
|
WEEKDAYS_OR_WEEKEND -> R.string.weekdays_or_weekend |
|
|
|
|
DAY_OF_WEEK -> R.string.day_of_the_week |
|
|
|
|
MONTH_OF_YEAR -> R.string.month_of_the_year |
|
|
|
|
DYNAMIC_DATE -> net.pokeranalytics.android.R.string.dynamic_date |
|
|
|
|
FIXED_DATE -> net.pokeranalytics.android.R.string.fixed_date |
|
|
|
|
DURATION -> net.pokeranalytics.android.R.string.duration |
|
|
|
|
YEAR -> net.pokeranalytics.android.R.string.year |
|
|
|
|
WEEKDAYS_OR_WEEKEND -> net.pokeranalytics.android.R.string.weekdays_or_weekend |
|
|
|
|
DAY_OF_WEEK -> net.pokeranalytics.android.R.string.day_of_the_week |
|
|
|
|
MONTH_OF_YEAR -> net.pokeranalytics.android.R.string.month_of_the_year |
|
|
|
|
|
|
|
|
|
SESSION_DURATION -> R.string.session_duration |
|
|
|
|
RANGE -> R.string.hour_slot |
|
|
|
|
SESSION_DURATION -> net.pokeranalytics.android.R.string.session_duration |
|
|
|
|
RANGE -> net.pokeranalytics.android.R.string.hour_slot |
|
|
|
|
|
|
|
|
|
BLINDS -> R.string.blinds |
|
|
|
|
CASH_RE_BUY_COUNT -> R.string.rebuy_count |
|
|
|
|
BLINDS -> net.pokeranalytics.android.R.string.blinds |
|
|
|
|
CASH_RE_BUY_COUNT -> net.pokeranalytics.android.R.string.rebuy_count |
|
|
|
|
|
|
|
|
|
TOURNAMENT_TYPE -> R.string.tournament_type |
|
|
|
|
COMPLETION_PERCENTAGE -> R.string.tournament_completion_percentage_interval |
|
|
|
|
PLACE -> R.string.place |
|
|
|
|
PLAYERS_COUNT -> R.string.players_count |
|
|
|
|
TOURNAMENT_RE_BUY_COUNT -> R.string.rebuy_count |
|
|
|
|
BUY_IN -> R.string.buyin |
|
|
|
|
TOURNAMENT_TYPE -> net.pokeranalytics.android.R.string.tournament_type |
|
|
|
|
COMPLETION_PERCENTAGE -> net.pokeranalytics.android.R.string.tournament_completion_percentage_interval |
|
|
|
|
PLACE -> net.pokeranalytics.android.R.string.place |
|
|
|
|
PLAYERS_COUNT -> net.pokeranalytics.android.R.string.players_count |
|
|
|
|
TOURNAMENT_RE_BUY_COUNT -> net.pokeranalytics.android.R.string.rebuy_count |
|
|
|
|
BUY_IN -> net.pokeranalytics.android.R.string.buyin |
|
|
|
|
|
|
|
|
|
MULTI_TABLING -> R.string.multi_tabling |
|
|
|
|
MULTI_TABLING -> net.pokeranalytics.android.R.string.multi_tabling |
|
|
|
|
|
|
|
|
|
VALUE -> R.string.value |
|
|
|
|
VALUE -> net.pokeranalytics.android.R.string.value |
|
|
|
|
|
|
|
|
|
LOCATION -> R.string.location |
|
|
|
|
LOCATION -> net.pokeranalytics.android.R.string.location |
|
|
|
|
|
|
|
|
|
BANKROLL -> R.string.bankroll |
|
|
|
|
BANKROLL -> net.pokeranalytics.android.R.string.bankroll |
|
|
|
|
|
|
|
|
|
NUMBER_OF_PLAYERS -> R.string.number_of_players |
|
|
|
|
MULTI_PLAYER -> R.string.multiplayer |
|
|
|
|
NUMBER_OF_PLAYERS -> net.pokeranalytics.android.R.string.number_of_players |
|
|
|
|
MULTI_PLAYER -> net.pokeranalytics.android.R.string.multiplayer |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -162,10 +166,46 @@ enum class FilterSubcategoryRow : RowRepresentable { |
|
|
|
|
) |
|
|
|
|
FIXED_DATE -> rows.addAll(arrayListOf(FilterRow.FROM, FilterRow.TO)) |
|
|
|
|
DURATION -> rows.addAll(arrayListOf(FilterRow.PAST_DAYS)) |
|
|
|
|
YEAR -> rows.addAll(arrayListOf()) //TODO |
|
|
|
|
YEAR -> { |
|
|
|
|
|
|
|
|
|
//TODO: Maybe move this code |
|
|
|
|
|
|
|
|
|
val calendar = Calendar.getInstance() |
|
|
|
|
val sessions = realm.where<Session>().sort("endDate", Sort.DESCENDING).findAll() |
|
|
|
|
val years = ArrayList<Int>() |
|
|
|
|
|
|
|
|
|
for (session in sessions) { |
|
|
|
|
session.endDate?.let { |
|
|
|
|
calendar.time = it |
|
|
|
|
val year = calendar.get(Calendar.YEAR) |
|
|
|
|
if (!years.contains(year)) { |
|
|
|
|
years.add(year) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (year in years) { |
|
|
|
|
rows.add(CustomizableRowRepresentable(customViewType = RowViewType.TITLE_CHECK, title = year.toString(), isSelectable = true)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
WEEKDAYS_OR_WEEKEND -> rows.addAll(arrayListOf(FilterRow.WEEKDAYS, FilterRow.WEEKEND)) |
|
|
|
|
DAY_OF_WEEK -> rows.addAll(arrayListOf()) //TODO |
|
|
|
|
MONTH_OF_YEAR -> rows.addAll(arrayListOf()) //TODO |
|
|
|
|
DAY_OF_WEEK -> { |
|
|
|
|
val dfs = DateFormatSymbols.getInstance(Locale.getDefault()) |
|
|
|
|
for (day in dfs.weekdays) { |
|
|
|
|
if (day.isNotEmpty()) { |
|
|
|
|
rows.add(CustomizableRowRepresentable(customViewType = RowViewType.TITLE_CHECK, title = day, isSelectable = true)) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
MONTH_OF_YEAR -> { |
|
|
|
|
val dfs = DateFormatSymbols.getInstance(Locale.getDefault()) |
|
|
|
|
for (month in dfs.months) { |
|
|
|
|
if (month.isNotEmpty()) { |
|
|
|
|
rows.add(CustomizableRowRepresentable(customViewType = RowViewType.TITLE_CHECK, title = month, isSelectable = true)) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else -> rows.addAll(arrayListOf()) |
|
|
|
|
|