diff --git a/app/src/main/java/net/pokeranalytics/android/model/extensions/SessionExtensions.kt b/app/src/main/java/net/pokeranalytics/android/model/extensions/SessionExtensions.kt index a2019f09..278ece74 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/extensions/SessionExtensions.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/extensions/SessionExtensions.kt @@ -18,7 +18,7 @@ enum class SessionState { fun Session.getState(): SessionState { if (timeFrame == null) { - return SessionState.INVALID + return SessionState.PENDING } val endDate = timeFrame?.endDate diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index ae4edf57..1f8a99b3 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -27,18 +27,12 @@ import kotlin.collections.ArrayList open class Session : RealmObject(), SessionInterface, Savable, RowRepresentableDataSource, RowRepresentable { - enum class Type { CASH_GAME, TOURNAMENT } companion object { - - // Type: cash game = 0, tournament = 1 - const val TYPE_GAME = 0 - const val TYPE_TOURNAMENT = 1 - fun newInstance(): Session { val session = Session() session.result = Result() @@ -53,7 +47,7 @@ open class Session : RealmObject(), SessionInterface, Savable, /** * Indicates the type of session, cash game or tournament */ - var type: Int = TYPE_GAME + var type: Int = Type.CASH_GAME.ordinal // The result of the main user var result: Result? = null @@ -123,6 +117,20 @@ open class Session : RealmObject(), SessionInterface, Savable, // The features of the tournament, like Knockout, Shootout, Turbo... var tournamentFeatures: RealmList = RealmList() + /** + * Return if this session is a tournament + */ + fun isTournament(): Boolean { + return type == Type.TOURNAMENT.ordinal + } + + /** + * Return if this session is a cash game + */ + fun isCashGame(): Boolean { + return type == Type.CASH_GAME.ordinal + } + /** * Start a session */ @@ -336,7 +344,7 @@ open class Session : RealmObject(), SessionInterface, Savable, ) ) - if (type == TYPE_GAME) { + if (!isTournament()) { rows.add( HeaderRowRepresentable( RowViewType.HEADER_TITLE_VALUE, diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt index 993febf9..afdc0ef3 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt @@ -281,12 +281,12 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott } else { realm.beginTransaction() currentSession = realm.createObject(Session::class.java, UUID.randomUUID().toString()) - currentSession.type = if (isTournament) Session.TYPE_TOURNAMENT else Session.TYPE_GAME + currentSession.type = if (isTournament) Session.Type.TOURNAMENT.ordinal else Session.Type.CASH_GAME.ordinal realm.commitTransaction() } toolbar.title = - if (currentSession.type == Session.TYPE_TOURNAMENT) getString(R.string.tournament) else getString(R.string.cash_game) + if (currentSession.isTournament()) getString(R.string.tournament) else getString(R.string.cash_game) sessionAdapter = RowRepresentableAdapter(currentSession, this) recyclerView.adapter = sessionAdapter diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt index 244af97b..876d659a 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt @@ -96,7 +96,7 @@ class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource { val tSessions = mutableListOf() allSessions.forEach { session -> - if (session.type == Session.Type.CASH_GAME.ordinal) { + if (session.isCashGame()) { cgSessions.add(session) } else { tSessions.add(session) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/SessionRowView.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/SessionRowView.kt index d40ad77b..89262a63 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/SessionRowView.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/SessionRowView.kt @@ -64,7 +64,7 @@ class SessionRowView : FrameLayout { // Title / Game type var title = "" - if (session.type == Session.TYPE_TOURNAMENT) { + if (session.isTournament()) { if (session.tournamentEntryFee != null) { title += session.tournamentEntryFee?.toCurrency() } @@ -76,7 +76,7 @@ class SessionRowView : FrameLayout { title = context.getString(R.string.tournament).capitalize() } - } else if (session.type == Session.TYPE_GAME) { + } else { if (session.cgSmallBlind != null && session.cgBigBlind != null) { title += session.getBlinds() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SessionRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SessionRow.kt index 2d22d3e5..6a9b70b8 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SessionRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SessionRow.kt @@ -36,7 +36,7 @@ enum class SessionRow : RowRepresentable { */ fun getRows(type: Int, sessionState: SessionState): ArrayList { when (type) { - Session.TYPE_TOURNAMENT -> { + Session.Type.TOURNAMENT.ordinal -> { return when (sessionState) { SessionState.PENDING -> { arrayListOf( @@ -54,7 +54,7 @@ enum class SessionRow : RowRepresentable { else -> arrayListOf() } } - Session.TYPE_GAME -> { + Session.Type.CASH_GAME.ordinal -> { return when (sessionState) { SessionState.PENDING -> { arrayListOf(GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE)