parent
2104a9634d
commit
f6bbffedba
@ -0,0 +1,18 @@ |
||||
package net.pokeranalytics.android.model |
||||
|
||||
import net.pokeranalytics.android.calculus.ComputedStat |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
|
||||
class StatRepresentable(stat: ComputedStat) : RowRepresentable { |
||||
|
||||
var computedStat: ComputedStat = stat |
||||
|
||||
override val viewType: Int |
||||
get() = RowViewType.STAT.ordinal |
||||
|
||||
override val resId: Int? |
||||
get() = this.computedStat.stat.resId |
||||
|
||||
} |
||||
@ -1,37 +0,0 @@ |
||||
package net.pokeranalytics.android.ui.datasource |
||||
|
||||
import net.pokeranalytics.android.calculus.ComputedResults |
||||
import net.pokeranalytics.android.calculus.ComputedStat |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
|
||||
class StatRepresentable(stat: ComputedStat) : RowRepresentable { |
||||
|
||||
var computedStat: ComputedStat = stat |
||||
|
||||
override val viewType: Int |
||||
get() = RowViewType.STAT.ordinal |
||||
|
||||
override val resId: Int? |
||||
get() = this.computedStat.stat.resId |
||||
|
||||
} |
||||
|
||||
class StatsDataSource(results: List<ComputedResults>) { |
||||
|
||||
var results: List<ComputedResults> = results |
||||
var rows: List<RowRepresentable> = listOf() |
||||
|
||||
init { |
||||
|
||||
} |
||||
|
||||
fun numberOfRows(): Int { |
||||
return 0 |
||||
// return this.results.fold(0) { acc, computedResults -> |
||||
// return acc + computedResults.numberOfStats() |
||||
// } |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,35 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.R |
||||
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
|
||||
enum class BankrollRow : RowRepresentable { |
||||
LIVE; |
||||
|
||||
override val resId: Int? |
||||
get() { |
||||
return when (this) { |
||||
LIVE -> R.string.live |
||||
} |
||||
} |
||||
|
||||
override val viewType: Int |
||||
get() { |
||||
return when (this) { |
||||
LIVE -> RowViewType.TITLE_SWITCH.ordinal |
||||
} |
||||
} |
||||
|
||||
override val bottomSheetType: BottomSheetType |
||||
get() { |
||||
return when (this) { |
||||
LIVE -> BottomSheetType.NONE |
||||
} |
||||
} |
||||
|
||||
override var displayHeader: Boolean = false |
||||
override var headerValues: ArrayList<String> = ArrayList() |
||||
} |
||||
@ -0,0 +1,34 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.R |
||||
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
enum class GameRow : RowRepresentable { |
||||
SHORT_NAME; |
||||
|
||||
override val resId: Int? |
||||
get() { |
||||
return when (this) { |
||||
SHORT_NAME -> R.string.short_name |
||||
} |
||||
} |
||||
|
||||
override val viewType: Int |
||||
get() { |
||||
return when (this) { |
||||
SHORT_NAME -> RowViewType.TITLE_VALUE.ordinal |
||||
} |
||||
} |
||||
|
||||
override val bottomSheetType: BottomSheetType |
||||
get() { |
||||
return when (this) { |
||||
SHORT_NAME -> BottomSheetType.EDIT_TEXT |
||||
} |
||||
} |
||||
|
||||
override var displayHeader: Boolean = false |
||||
override var headerValues: ArrayList<String> = ArrayList() |
||||
} |
||||
@ -0,0 +1,35 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.R |
||||
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
|
||||
enum class LocationRow : RowRepresentable { |
||||
LOCATION_STATUS; |
||||
|
||||
override val resId: Int? |
||||
get() { |
||||
return when (this) { |
||||
LOCATION_STATUS -> R.string.short_name |
||||
} |
||||
} |
||||
|
||||
override val viewType: Int |
||||
get() { |
||||
return when (this) { |
||||
LOCATION_STATUS -> RowViewType.TITLE.ordinal |
||||
} |
||||
} |
||||
|
||||
override val bottomSheetType: BottomSheetType |
||||
get() { |
||||
return when (this) { |
||||
LOCATION_STATUS -> BottomSheetType.NONE |
||||
} |
||||
} |
||||
|
||||
override var displayHeader: Boolean = false |
||||
override var headerValues: ArrayList<String> = ArrayList() |
||||
} |
||||
@ -0,0 +1,132 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.R |
||||
import net.pokeranalytics.android.model.extensions.SessionState |
||||
import net.pokeranalytics.android.model.realm.Session |
||||
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
|
||||
enum class SessionRow : RowRepresentable { |
||||
|
||||
PRIZE, |
||||
CASHED_OUT, |
||||
INITIAL_BUY_IN, |
||||
BUY_IN, |
||||
POSITION, |
||||
PLAYERS, |
||||
TIPS, |
||||
|
||||
GAME, |
||||
BLINDS, |
||||
LOCATION, |
||||
BANKROLL, |
||||
TABLE_SIZE, |
||||
TOURNAMENT_TYPE, |
||||
START_DATE, |
||||
END_DATE, |
||||
|
||||
BREAK_TIME, |
||||
COMMENT; |
||||
|
||||
companion object { |
||||
/** |
||||
* Return the rows to display for the current session state |
||||
*/ |
||||
fun getRows(type: Int, sessionState: SessionState): ArrayList<RowRepresentable> { |
||||
when (type) { |
||||
Session.TYPE_TOURNAMENT -> { |
||||
return when (sessionState) { |
||||
SessionState.PENDING -> { |
||||
arrayListOf( |
||||
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE, |
||||
START_DATE, END_DATE |
||||
) |
||||
} |
||||
SessionState.STARTED, SessionState.PAUSED, SessionState.FINISHED -> { |
||||
arrayListOf( |
||||
PRIZE, BUY_IN, POSITION, PLAYERS, TIPS, |
||||
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE, |
||||
START_DATE, END_DATE, BREAK_TIME, COMMENT |
||||
) |
||||
} |
||||
else -> arrayListOf() |
||||
} |
||||
} |
||||
Session.TYPE_GAME -> { |
||||
return when (sessionState) { |
||||
SessionState.PENDING -> { |
||||
arrayListOf(GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE) |
||||
} |
||||
SessionState.STARTED, SessionState.PAUSED, SessionState.FINISHED -> { |
||||
arrayListOf( |
||||
CASHED_OUT, BUY_IN, TIPS, |
||||
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE, BREAK_TIME, COMMENT |
||||
) |
||||
} |
||||
else -> arrayListOf() |
||||
} |
||||
} |
||||
} |
||||
return arrayListOf() |
||||
} |
||||
} |
||||
|
||||
override val needSeparator: Boolean |
||||
get() { |
||||
return when (this) { |
||||
SessionRow.TIPS -> true |
||||
else -> false |
||||
} |
||||
} |
||||
|
||||
override val resId: Int? |
||||
get() { |
||||
return when (this) { |
||||
PRIZE -> R.string.prize |
||||
POSITION -> R.string.position |
||||
PLAYERS -> R.string.players |
||||
CASHED_OUT -> R.string.cashed_out |
||||
INITIAL_BUY_IN -> R.string.initial_stack |
||||
BUY_IN -> R.string.buyin |
||||
TIPS -> R.string.tips |
||||
GAME -> R.string.game |
||||
BLINDS -> R.string.blinds |
||||
LOCATION -> R.string.location |
||||
BANKROLL -> R.string.bankroll |
||||
TABLE_SIZE -> R.string.table_size |
||||
TOURNAMENT_TYPE -> R.string.tournament_type |
||||
START_DATE -> R.string.start_date |
||||
END_DATE -> R.string.end_date |
||||
BREAK_TIME -> R.string.break_time |
||||
COMMENT -> R.string.comment |
||||
} |
||||
} |
||||
|
||||
override val viewType: Int |
||||
get() { |
||||
return when (this) { |
||||
PRIZE, POSITION, PLAYERS, CASHED_OUT, INITIAL_BUY_IN, BUY_IN, TIPS, |
||||
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, COMMENT, |
||||
TOURNAMENT_TYPE, START_DATE, END_DATE, BREAK_TIME -> RowViewType.TITLE_VALUE.ordinal |
||||
} |
||||
} |
||||
|
||||
override val bottomSheetType: BottomSheetType |
||||
get() { |
||||
return when (this) { |
||||
CASHED_OUT, INITIAL_BUY_IN, BREAK_TIME, POSITION, PLAYERS, PRIZE -> BottomSheetType.EDIT_TEXT |
||||
BUY_IN, TIPS -> BottomSheetType.SUM |
||||
BLINDS -> BottomSheetType.DOUBLE_EDIT_TEXT |
||||
GAME -> BottomSheetType.LIST_GAME |
||||
LOCATION, BANKROLL, TOURNAMENT_TYPE -> BottomSheetType.LIST |
||||
TABLE_SIZE -> BottomSheetType.GRID |
||||
COMMENT -> BottomSheetType.EDIT_TEXT |
||||
else -> BottomSheetType.NONE |
||||
} |
||||
} |
||||
|
||||
override var displayHeader: Boolean = false |
||||
override var headerValues: ArrayList<String> = ArrayList() |
||||
} |
||||
@ -0,0 +1,45 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.R |
||||
import net.pokeranalytics.android.model.LiveData |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
|
||||
enum class SettingRow : RowRepresentable { |
||||
GDPR, |
||||
BANKROLL, |
||||
GAME, |
||||
LOCATION, |
||||
TOURNAMENT_FEATURE, |
||||
TRANSACTION_TYPE; |
||||
|
||||
override val resId: Int? |
||||
get() { |
||||
this.relatedResultsRepresentable?.let { |
||||
return it.resId |
||||
} ?: run { |
||||
return when (this) { |
||||
GDPR -> R.string.gdpr |
||||
else -> null |
||||
} |
||||
} |
||||
} |
||||
|
||||
override val viewType: Int = RowViewType.TITLE.ordinal |
||||
|
||||
override val relatedResultsRepresentable: LiveData? |
||||
get() { |
||||
return when (this) { |
||||
BANKROLL -> LiveData.BANKROLL |
||||
GAME -> LiveData.GAME |
||||
LOCATION -> LiveData.LOCATION |
||||
TOURNAMENT_FEATURE -> LiveData.TOURNAMENT_FEATURE |
||||
TRANSACTION_TYPE -> LiveData.TRANSACTION_TYPE |
||||
else -> null |
||||
} |
||||
} |
||||
|
||||
override var displayHeader: Boolean = false |
||||
override var headerValues: ArrayList<String> = ArrayList() |
||||
} |
||||
@ -0,0 +1,17 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.R |
||||
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType |
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
import net.pokeranalytics.android.ui.view.RowViewType |
||||
|
||||
|
||||
enum class SimpleRow : RowRepresentable { |
||||
NAME; |
||||
|
||||
override val resId: Int? = R.string.name |
||||
override val viewType: Int = RowViewType.TITLE_VALUE.ordinal |
||||
override val bottomSheetType: BottomSheetType = BottomSheetType.EDIT_TEXT |
||||
override var displayHeader: Boolean = false |
||||
override var headerValues: ArrayList<String> = ArrayList() |
||||
} |
||||
@ -0,0 +1,7 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
|
||||
|
||||
enum class TournamentFeatureRow : RowRepresentable { |
||||
} |
||||
@ -0,0 +1,7 @@ |
||||
package net.pokeranalytics.android.ui.view.rowrepresentable |
||||
|
||||
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||
|
||||
|
||||
enum class TransactionTypeRow : RowRepresentable { |
||||
} |
||||
Loading…
Reference in new issue