|
|
|
|
@ -2,6 +2,7 @@ package net.pokeranalytics.android.ui.view.rowrepresentable |
|
|
|
|
|
|
|
|
|
import net.pokeranalytics.android.ui.view.RowRepresentable |
|
|
|
|
import net.pokeranalytics.android.ui.view.RowViewType |
|
|
|
|
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategory.* |
|
|
|
|
|
|
|
|
|
interface FilterSectionDataSource : RowRepresentable { |
|
|
|
|
enum class SelectionType { |
|
|
|
|
@ -45,70 +46,86 @@ private interface DefaultFilterSectionDataSource : FilterSectionDataSource { |
|
|
|
|
|
|
|
|
|
enum class FilterSection(override val resId: Int?): DefaultFilterSectionDataSource, RowRepresentable { |
|
|
|
|
CASH_TOURNAMENT(net.pokeranalytics.android.R.string.cash_or_tournament), |
|
|
|
|
GAMES(net.pokeranalytics.android.R.string.games), |
|
|
|
|
/* |
|
|
|
|
LIVE_ONLINE, |
|
|
|
|
GAME, |
|
|
|
|
LIMIT_TYPE, |
|
|
|
|
TABLE_SIZE, |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
LIVE_ONLINE(net.pokeranalytics.android.R.string.live_or_online), |
|
|
|
|
GAME(net.pokeranalytics.android.R.string.games), |
|
|
|
|
LIMIT_TYPE(net.pokeranalytics.android.R.string.limits), |
|
|
|
|
TABLE_SIZE(net.pokeranalytics.android.R.string.table_sizes), |
|
|
|
|
DYNAMIC_DATE(net.pokeranalytics.android.R.string.dynamic_date), |
|
|
|
|
FIXED_DATE(net.pokeranalytics.android.R.string.fixed_date), |
|
|
|
|
/* |
|
|
|
|
DURATION, |
|
|
|
|
YEAR, |
|
|
|
|
WEEKDAYS_OR_WEEKEND, |
|
|
|
|
DAY_OF_WEEK, |
|
|
|
|
MONTH_OF_YEAR, |
|
|
|
|
|
|
|
|
|
// Duration |
|
|
|
|
SESSION_DURATION, |
|
|
|
|
RANGE, |
|
|
|
|
|
|
|
|
|
// Sessions |
|
|
|
|
// - |
|
|
|
|
|
|
|
|
|
// Cash |
|
|
|
|
BLINDS, |
|
|
|
|
CASH_RE_BUY_COUNT, |
|
|
|
|
|
|
|
|
|
// Tournament |
|
|
|
|
TOURNAMENT_TYPE, |
|
|
|
|
COMPLETION_PERCENTAGE, |
|
|
|
|
PLACE, |
|
|
|
|
PLAYERS_COUNT, |
|
|
|
|
TOURNAMENT_RE_BUY_COUNT, |
|
|
|
|
BUY_IN, |
|
|
|
|
|
|
|
|
|
// Online |
|
|
|
|
MULTI_TABLING, |
|
|
|
|
|
|
|
|
|
// Result |
|
|
|
|
VALUE, |
|
|
|
|
|
|
|
|
|
// Transaction types |
|
|
|
|
// - |
|
|
|
|
|
|
|
|
|
// Location |
|
|
|
|
LOCATION, |
|
|
|
|
|
|
|
|
|
// Bankroll |
|
|
|
|
BANKROLL, |
|
|
|
|
|
|
|
|
|
// Players |
|
|
|
|
NUMBER_OF_PLAYERS, |
|
|
|
|
MULTI_PLAYER; |
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
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(net.pokeranalytics.android.R.string.session_duration), |
|
|
|
|
RANGE(net.pokeranalytics.android.R.string.hour_slot), |
|
|
|
|
BLINDS(net.pokeranalytics.android.R.string.blinds), |
|
|
|
|
CASH_RE_BUY_COUNT(net.pokeranalytics.android.R.string.cash_game), |
|
|
|
|
TOURNAMENT_TYPE(net.pokeranalytics.android.R.string.tournament_types), |
|
|
|
|
COMPLETION_PERCENTAGE(net.pokeranalytics.android.R.string.tournament_completion_percentage_interval), |
|
|
|
|
PLACE(net.pokeranalytics.android.R.string.final_position), |
|
|
|
|
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(net.pokeranalytics.android.R.string.multi_tabling), |
|
|
|
|
VALUE(net.pokeranalytics.android.R.string.value), |
|
|
|
|
LOCATION(net.pokeranalytics.android.R.string.locations), |
|
|
|
|
BANKROLL(net.pokeranalytics.android.R.string.bankrolls), |
|
|
|
|
NUMBER_OF_PLAYERS(net.pokeranalytics.android.R.string.number_of_players), |
|
|
|
|
MULTI_PLAYER(net.pokeranalytics.android.R.string.multiplayer), |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
fun filterSectionsFor(category: FilterCategory) : List < FilterSection > { |
|
|
|
|
return when (category) { |
|
|
|
|
FilterCategory.GENERAL -> arrayListOf(CASH_TOURNAMENT, GAMES) |
|
|
|
|
FilterCategory.DATE -> arrayListOf(DYNAMIC_DATE, FIXED_DATE) |
|
|
|
|
GENERAL -> arrayListOf( |
|
|
|
|
CASH_TOURNAMENT, |
|
|
|
|
LIVE_ONLINE, |
|
|
|
|
GAME, LIMIT_TYPE, |
|
|
|
|
TABLE_SIZE |
|
|
|
|
) |
|
|
|
|
DATE -> arrayListOf( |
|
|
|
|
DYNAMIC_DATE, |
|
|
|
|
FIXED_DATE, |
|
|
|
|
DURATION, |
|
|
|
|
YEAR, |
|
|
|
|
WEEKDAYS_OR_WEEKEND, |
|
|
|
|
DAY_OF_WEEK, |
|
|
|
|
MONTH_OF_YEAR |
|
|
|
|
) |
|
|
|
|
BANKROLLS -> arrayListOf( |
|
|
|
|
BANKROLL |
|
|
|
|
) |
|
|
|
|
CASH -> arrayListOf( |
|
|
|
|
BLINDS, |
|
|
|
|
CASH_RE_BUY_COUNT |
|
|
|
|
) |
|
|
|
|
TOURNAMENT -> arrayListOf( |
|
|
|
|
TOURNAMENT_TYPE, |
|
|
|
|
COMPLETION_PERCENTAGE, |
|
|
|
|
PLACE, |
|
|
|
|
PLAYERS_COUNT, |
|
|
|
|
TOURNAMENT_RE_BUY_COUNT, |
|
|
|
|
BUY_IN |
|
|
|
|
) |
|
|
|
|
ONLINE -> arrayListOf( |
|
|
|
|
MULTI_TABLING |
|
|
|
|
) |
|
|
|
|
LOCATIONS -> arrayListOf( |
|
|
|
|
LOCATION |
|
|
|
|
) |
|
|
|
|
PLAYERS -> arrayListOf( |
|
|
|
|
NUMBER_OF_PLAYERS, |
|
|
|
|
MULTI_PLAYER |
|
|
|
|
) |
|
|
|
|
RESULT -> arrayListOf( |
|
|
|
|
VALUE |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
TIME_FRAME -> arrayListOf() |
|
|
|
|
SESSION -> arrayListOf() |
|
|
|
|
TRANSACTION_TYPES -> arrayListOf() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -118,7 +135,7 @@ enum class FilterSection(override val resId: Int?): DefaultFilterSectionDataSour |
|
|
|
|
override val selectionType: FilterSectionDataSource.SelectionType |
|
|
|
|
get() { |
|
|
|
|
return when (this) { |
|
|
|
|
CASH_TOURNAMENT, DYNAMIC_DATE -> FilterSectionDataSource.SelectionType.SINGLE |
|
|
|
|
CASH_TOURNAMENT, DYNAMIC_DATE, LIVE_ONLINE -> FilterSectionDataSource.SelectionType.SINGLE |
|
|
|
|
else -> FilterSectionDataSource.SelectionType.MULTIPLE |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -136,120 +153,7 @@ enum class FilterSection(override val resId: Int?): DefaultFilterSectionDataSour |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
GAME -> { |
|
|
|
|
val games = realm.copyFromRealm(LiveData.GAME.items(realm) as RealmResults<Game>) |
|
|
|
|
games.forEach { |
|
|
|
|
rows.add(FilterElement.Game(game = it)) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
enum class FilterSection : RowRepresentable { |
|
|
|
|
|
|
|
|
|
// General |
|
|
|
|
CASH_TOURNAMENT, |
|
|
|
|
LIVE_ONLINE, |
|
|
|
|
GAME, |
|
|
|
|
LIMIT_TYPE, |
|
|
|
|
TABLE_SIZE, |
|
|
|
|
|
|
|
|
|
// Date |
|
|
|
|
DYNAMIC_DATE, |
|
|
|
|
FIXED_DATE, |
|
|
|
|
DURATION, |
|
|
|
|
YEAR, |
|
|
|
|
WEEKDAYS_OR_WEEKEND, |
|
|
|
|
DAY_OF_WEEK, |
|
|
|
|
MONTH_OF_YEAR, |
|
|
|
|
|
|
|
|
|
// Duration |
|
|
|
|
SESSION_DURATION, |
|
|
|
|
RANGE, |
|
|
|
|
|
|
|
|
|
// Sessions |
|
|
|
|
// - |
|
|
|
|
|
|
|
|
|
// Cash |
|
|
|
|
BLINDS, |
|
|
|
|
CASH_RE_BUY_COUNT, |
|
|
|
|
|
|
|
|
|
// Tournament |
|
|
|
|
TOURNAMENT_TYPE, |
|
|
|
|
COMPLETION_PERCENTAGE, |
|
|
|
|
PLACE, |
|
|
|
|
PLAYERS_COUNT, |
|
|
|
|
TOURNAMENT_RE_BUY_COUNT, |
|
|
|
|
BUY_IN, |
|
|
|
|
|
|
|
|
|
// Online |
|
|
|
|
MULTI_TABLING, |
|
|
|
|
|
|
|
|
|
// Result |
|
|
|
|
VALUE, |
|
|
|
|
|
|
|
|
|
// Transaction types |
|
|
|
|
// - |
|
|
|
|
|
|
|
|
|
// Location |
|
|
|
|
LOCATION, |
|
|
|
|
|
|
|
|
|
// Bankroll |
|
|
|
|
BANKROLL, |
|
|
|
|
|
|
|
|
|
// Players |
|
|
|
|
NUMBER_OF_PLAYERS, |
|
|
|
|
MULTI_PLAYER; |
|
|
|
|
|
|
|
|
|
enum class Type { |
|
|
|
|
SINGLE, |
|
|
|
|
MULTIPLE, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override val resId: Int? |
|
|
|
|
get() { |
|
|
|
|
return when (this) { |
|
|
|
|
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 -> 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 -> net.pokeranalytics.android.R.string.session_duration |
|
|
|
|
RANGE -> net.pokeranalytics.android.R.string.hour_slot |
|
|
|
|
|
|
|
|
|
BLINDS -> net.pokeranalytics.android.R.string.blinds |
|
|
|
|
CASH_RE_BUY_COUNT -> net.pokeranalytics.android.R.string.rebuy_count |
|
|
|
|
|
|
|
|
|
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 -> net.pokeranalytics.android.R.string.multi_tabling |
|
|
|
|
|
|
|
|
|
VALUE -> net.pokeranalytics.android.R.string.value |
|
|
|
|
|
|
|
|
|
LOCATION -> net.pokeranalytics.android.R.string.location |
|
|
|
|
|
|
|
|
|
BANKROLL -> net.pokeranalytics.android.R.string.bankroll |
|
|
|
|
|
|
|
|
|
NUMBER_OF_PLAYERS -> net.pokeranalytics.android.R.string.number_of_players |
|
|
|
|
MULTI_PLAYER -> net.pokeranalytics.android.R.string.multiplayer |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override val viewType: Int = RowViewType.HEADER_TITLE.ordinal |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Return the type of the selection |
|
|
|
|
|