diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index 54d41a10..aa58458b 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -90,11 +90,11 @@ class PokerAnalyticsApplication : Application() { } // Tournament types - val tournamentType = resources.getStringArray(R.array.tournament_type) - if (realm.where().findAll().isEmpty()) { + val tournamentFakeName = resources.getStringArray(R.array.tournament_fake_name) + if (realm.where().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) diff --git a/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt b/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt index 7500363a..13b27eba 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt @@ -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 } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/TournamentKind.kt b/app/src/main/java/net/pokeranalytics/android/model/TournamentKind.kt new file mode 100644 index 00000000..59781a2c --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/TournamentKind.kt @@ -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 + } + } +} \ No newline at end of file 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 ec5e0de5..20c68941 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 @@ -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() diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt similarity index 90% rename from app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt rename to app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt index c29e87b7..5a3c2789 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt @@ -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? { val rows = ArrayList() rows.add(SimpleRow.NAME) - //rows.addAll(TournamentType.values()) + rows.addAll(TournamentNameRow.values()) return rows } diff --git a/app/src/main/java/net/pokeranalytics/android/model/utils/FavoriteSessionFinder.kt b/app/src/main/java/net/pokeranalytics/android/model/utils/FavoriteSessionFinder.kt index 2dc4a7d8..3a262e34 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/utils/FavoriteSessionFinder.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/utils/FavoriteSessionFinder.kt @@ -32,7 +32,7 @@ private fun Session.significantFields() : List { SessionRow.INITIAL_BUY_IN, SessionRow.BANKROLL, SessionRow.TABLE_SIZE, - SessionRow.TOURNAMENT_TYPE + SessionRow.TOURNAMENT_NAME ) } Session.Type.TOURNAMENT.ordinal -> { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt index 8642d0f1..f0450fcb 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt @@ -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") } 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 a8b6c56d..20456919 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 @@ -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 diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt index 13b3ad50..4834ad4f 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SettingRow.kt @@ -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 } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TournamentNameRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TournamentNameRow.kt new file mode 100644 index 00000000..f4baf866 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TournamentNameRow.kt @@ -0,0 +1,6 @@ +package net.pokeranalytics.android.ui.view.rowrepresentable + +import net.pokeranalytics.android.ui.view.RowRepresentable + +enum class TournamentNameRow : RowRepresentable { +} \ No newline at end of file diff --git a/app/src/main/res/values/array_tournament_fake_name.xml b/app/src/main/res/values/array_tournament_fake_name.xml new file mode 100644 index 00000000..12e55876 --- /dev/null +++ b/app/src/main/res/values/array_tournament_fake_name.xml @@ -0,0 +1,8 @@ + + + + LA FIEVRE + NITRO + WCOOP EVENT #1 + + \ No newline at end of file diff --git a/app/src/main/res/values/array_tournament_type.xml b/app/src/main/res/values/array_tournament_type.xml deleted file mode 100644 index 5517b8f9..00000000 --- a/app/src/main/res/values/array_tournament_type.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - MTT - Sit&Go - Turbo Sit&Go - - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c67cb572..47b8d225 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -733,4 +733,9 @@ Save + Tournament name + Tournament feature + New tournament name + New tournament feature +