refactoring tournament parameters

feature/top10
Razmig Sarkissian 7 years ago
parent fe6bf3eba3
commit fba37cd13a
  1. 8
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt
  2. 8
      app/src/main/java/net/pokeranalytics/android/model/LiveData.kt
  3. 17
      app/src/main/java/net/pokeranalytics/android/model/TournamentKind.kt
  4. 32
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  5. 5
      app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt
  6. 2
      app/src/main/java/net/pokeranalytics/android/model/utils/FavoriteSessionFinder.kt
  7. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
  8. 16
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SessionRow.kt
  9. 2
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt
  10. 6
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TournamentNameRow.kt
  11. 8
      app/src/main/res/values/array_tournament_fake_name.xml
  12. 8
      app/src/main/res/values/array_tournament_type.xml
  13. 5
      app/src/main/res/values/strings.xml

@ -90,11 +90,11 @@ class PokerAnalyticsApplication : Application() {
}
// Tournament types
val tournamentType = resources.getStringArray(R.array.tournament_type)
if (realm.where<TournamentType>().findAll().isEmpty()) {
val tournamentFakeName = resources.getStringArray(R.array.tournament_fake_name)
if (realm.where<TournamentName>().findAll().isEmpty()) {
realm.executeTransaction {
for (type in tournamentType) {
val tournament = TournamentType()
for (type in tournamentFakeName) {
val tournament = TournamentName()
tournament.id = UUID.randomUUID().toString()
tournament.name = type
realm.copyToRealmOrUpdate(tournament)

@ -16,7 +16,7 @@ enum class LiveData : Localizable {
BANKROLL,
GAME,
LOCATION,
TOURNAMENT_TYPE,
TOURNAMENT_NAME,
TOURNAMENT_FEATURE,
TRANSACTION_TYPE;
@ -51,7 +51,7 @@ enum class LiveData : Localizable {
BANKROLL -> Bankroll::class.java
GAME -> Game::class.java
LOCATION -> Location::class.java
TOURNAMENT_TYPE -> TournamentType::class.java
TOURNAMENT_NAME -> TournamentName::class.java
TOURNAMENT_FEATURE -> TournamentFeature::class.java
TRANSACTION_TYPE -> TransactionType::class.java
}
@ -91,8 +91,8 @@ enum class LiveData : Localizable {
BANKROLL -> R.string.bankroll
GAME -> R.string.game
LOCATION -> R.string.location
TOURNAMENT_TYPE -> R.string.tournament_type
TOURNAMENT_FEATURE -> R.string.tournament_type
TOURNAMENT_NAME -> R.string.tournament_name
TOURNAMENT_FEATURE -> R.string.tournament_feature
TRANSACTION_TYPE -> R.string.operation_types
}
}

@ -0,0 +1,17 @@
package net.pokeranalytics.android.model
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.view.RowRepresentable
enum class TournamentKind : RowRepresentable {
MTT,
SNG;
override val resId: Int?
get() {
return when (this) {
MTT -> R.string.mtt
SNG -> R.string.sng
}
}
}

@ -15,6 +15,7 @@ import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.model.Limit
import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.model.TableSize
import net.pokeranalytics.android.model.TournamentKind
import net.pokeranalytics.android.model.extensions.SessionState
import net.pokeranalytics.android.model.extensions.getState
import net.pokeranalytics.android.model.interfaces.Savable
@ -115,7 +116,7 @@ open class Session : RealmObject(), SessionInterface, Savable,
var tournamentNumberOfPlayers: Int? = null
// The name of the tournament
var tournamentType: TournamentType? = null
var tournamentName: TournamentName? = null
// The kind of the tournament, MTT or SnG
var tournamentKind: Int? = null
@ -407,8 +408,19 @@ open class Session : RealmObject(), SessionInterface, Savable,
?: NULL_TEXT else NULL_TEXT
SessionRow.TABLE_SIZE -> this.tableSize?.let { TableSize(it).localizedTitle(context) } ?: NULL_TEXT
SessionRow.TIPS -> result?.tips?.toCurrency() ?: NULL_TEXT
SessionRow.TOURNAMENT_TYPE -> tournamentType?.name ?: NULL_TEXT
SessionRow.TOURNAMENT_KIND -> this.tournamentKind?.let {
TournamentKind.values()[it].localizedTitle(context)
} ?: run {
NULL_TEXT
}
SessionRow.TOURNAMENT_FEATURE -> tournamentFeatures?.let {
it.joinToString {feature ->
feature.name
}
}
SessionRow.TOURNAMENT_NAME -> tournamentName?.name ?: NULL_TEXT
else -> NULL_TEXT
}
}
@ -535,9 +547,17 @@ open class Session : RealmObject(), SessionInterface, Savable,
data.add(RowRepresentableEditDescriptor("", inputType = InputType.TYPE_CLASS_NUMBER))
data.add(RowRepresentableEditDescriptor("", inputType = InputType.TYPE_CLASS_NUMBER))
}
SessionRow.TOURNAMENT_TYPE -> {
// Add current tournament type and tournament types list
data.add(RowRepresentableEditDescriptor(tournamentType, data = LiveData.TOURNAMENT_TYPE.items(realm)))
SessionRow.TOURNAMENT_NAME -> {
// Add current tournament name and tournament names list
data.add(RowRepresentableEditDescriptor(tournamentName, data = LiveData.TOURNAMENT_NAME.items(realm)))
}
SessionRow.TOURNAMENT_KIND -> {
// Add current tournament kind and tournament kind list
data.add(RowRepresentableEditDescriptor(tournamentKind))
}
SessionRow.TOURNAMENT_FEATURE -> {
// Add current tournament feature and tournament features list
data.add(RowRepresentableEditDescriptor(tournamentFeatures, data = LiveData.TOURNAMENT_FEATURE.items(realm)))
}
}
@ -647,7 +667,7 @@ open class Session : RealmObject(), SessionInterface, Savable,
localResult.tips = value as Double?
result = localResult
}
SessionRow.TOURNAMENT_TYPE -> tournamentType = value as TournamentType?
SessionRow.TOURNAMENT_NAME -> tournamentName = value as TournamentName?
}
realm.commitTransaction()

@ -7,11 +7,12 @@ import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.rowrepresentable.SimpleRow
import net.pokeranalytics.android.ui.view.rowrepresentable.TournamentNameRow
import java.util.*
import kotlin.collections.ArrayList
open class TournamentType : RealmObject(), Savable, StaticRowRepresentableDataSource, RowRepresentable {
open class TournamentName : RealmObject(), Savable, StaticRowRepresentableDataSource, RowRepresentable {
@PrimaryKey
var id = UUID.randomUUID().toString()
@ -36,7 +37,7 @@ open class TournamentType : RealmObject(), Savable, StaticRowRepresentableDataSo
override fun adapterRows(): List<RowRepresentable>? {
val rows = ArrayList<RowRepresentable>()
rows.add(SimpleRow.NAME)
//rows.addAll(TournamentType.values())
rows.addAll(TournamentNameRow.values())
return rows
}

@ -32,7 +32,7 @@ private fun Session.significantFields() : List<SessionRow> {
SessionRow.INITIAL_BUY_IN,
SessionRow.BANKROLL,
SessionRow.TABLE_SIZE,
SessionRow.TOURNAMENT_TYPE
SessionRow.TOURNAMENT_NAME
)
}
Session.Type.TOURNAMENT.ordinal -> {

@ -17,7 +17,7 @@ import net.pokeranalytics.android.model.interfaces.Savable
import net.pokeranalytics.android.model.realm.Bankroll
import net.pokeranalytics.android.model.realm.Game
import net.pokeranalytics.android.model.realm.Location
import net.pokeranalytics.android.model.realm.TournamentType
import net.pokeranalytics.android.model.realm.TournamentName
import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
@ -146,7 +146,7 @@ class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate,
is Bankroll -> R.string.empty_name_for_br_error
is Location -> R.string.location_empty_field_error
is Game -> R.string.location_empty_field_error
is TournamentType -> R.string.tt_empty_field_error
is TournamentName -> R.string.tt_empty_field_error
//is TransactionType -> R.string.operation_type_empty_field_error
else -> throw IllegalStateException("Need to manage ${item::class.java} error")
}

@ -25,7 +25,9 @@ enum class SessionRow : RowRepresentable {
LOCATION,
BANKROLL,
TABLE_SIZE,
TOURNAMENT_TYPE,
TOURNAMENT_KIND,
TOURNAMENT_NAME,
TOURNAMENT_FEATURE,
START_DATE,
END_DATE,
@ -42,7 +44,7 @@ enum class SessionRow : RowRepresentable {
return when (session.getState()) {
SessionState.PENDING, SessionState.PLANNED -> {
arrayListOf(
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE,
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_KIND, TOURNAMENT_NAME, TOURNAMENT_FEATURE,
START_DATE, END_DATE
)
}
@ -50,7 +52,7 @@ enum class SessionRow : RowRepresentable {
arrayListOf(
PRIZE, BUY_IN, POSITION, PLAYERS, TIPS,
SeparatorRowRepresentable(),
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE,
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_KIND, TOURNAMENT_NAME, TOURNAMENT_FEATURE,
SeparatorRowRepresentable(),
START_DATE, END_DATE, BREAK_TIME, COMMENT
)
@ -103,7 +105,9 @@ enum class SessionRow : RowRepresentable {
LOCATION -> R.string.location
BANKROLL -> R.string.bankroll
TABLE_SIZE -> R.string.table_size
TOURNAMENT_TYPE -> R.string.tournament_type
TOURNAMENT_KIND -> R.string.tournament_type
TOURNAMENT_NAME -> R.string.tournament_name
TOURNAMENT_FEATURE -> R.string.tournament_feature
START_DATE -> R.string.start_date
END_DATE -> R.string.end_date
BREAK_TIME -> R.string.break_time
@ -116,7 +120,7 @@ enum class SessionRow : RowRepresentable {
return when (this) {
NET_RESULT, 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
TOURNAMENT_KIND, TOURNAMENT_NAME, TOURNAMENT_FEATURE, START_DATE, END_DATE, BREAK_TIME -> RowViewType.TITLE_VALUE.ordinal
}
}
@ -127,7 +131,7 @@ enum class SessionRow : RowRepresentable {
BUY_IN, TIPS -> BottomSheetType.SUM
BLINDS -> BottomSheetType.DOUBLE_EDIT_TEXT
GAME -> BottomSheetType.LIST_GAME
LOCATION, BANKROLL, TOURNAMENT_TYPE -> BottomSheetType.LIST
LOCATION, BANKROLL, TOURNAMENT_KIND, TOURNAMENT_NAME, TOURNAMENT_FEATURE -> BottomSheetType.LIST
TABLE_SIZE -> BottomSheetType.GRID
COMMENT -> BottomSheetType.EDIT_TEXT_MULTI_LINES
else -> BottomSheetType.NONE

@ -101,7 +101,7 @@ enum class SettingRow : RowRepresentable {
BANKROLL -> LiveData.BANKROLL
GAME -> LiveData.GAME
LOCATION -> LiveData.LOCATION
TOURNAMENT_TYPE -> LiveData.TOURNAMENT_TYPE
TOURNAMENT_TYPE -> LiveData.TOURNAMENT_NAME
else -> null
}
}

@ -0,0 +1,6 @@
package net.pokeranalytics.android.ui.view.rowrepresentable
import net.pokeranalytics.android.ui.view.RowRepresentable
enum class TournamentNameRow : RowRepresentable {
}

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="tournament_fake_name">
<item>LA FIEVRE</item>
<item>NITRO</item>
<item>WCOOP EVENT #1</item>
</string-array>
</resources>

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="tournament_type">
<item>MTT</item>
<item>Sit&amp;Go</item>
<item>Turbo Sit&amp;Go</item>
</string-array>
</resources>

@ -733,4 +733,9 @@
<string name="save">Save</string>
<string name="tournament_name">Tournament name</string>
<string name="tournament_feature">Tournament feature</string>
<string name="new_tournament_name">New tournament name</string>
<string name="new_tournament_feature">New tournament feature</string>
</resources>

Loading…
Cancel
Save