From 9eb4884172eaf07cb5d4fad1afe395bd03d711f3 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Fri, 8 Mar 2019 18:31:11 +0100 Subject: [PATCH] refactor tournament kind --- .../{TournamentKind.kt => TournamentType.kt} | 6 +-- .../android/model/realm/Session.kt | 14 +++--- .../ui/fragment/EditableDataFragment.kt | 44 +------------------ .../BottomSheetStaticListFragment.kt | 8 ++-- .../ui/view/rowrepresentable/SessionRow.kt | 12 ++--- app/src/main/res/values/strings.xml | 2 +- 6 files changed, 22 insertions(+), 64 deletions(-) rename app/src/main/java/net/pokeranalytics/android/model/{TournamentKind.kt => TournamentType.kt} (76%) diff --git a/app/src/main/java/net/pokeranalytics/android/model/TournamentKind.kt b/app/src/main/java/net/pokeranalytics/android/model/TournamentType.kt similarity index 76% rename from app/src/main/java/net/pokeranalytics/android/model/TournamentKind.kt rename to app/src/main/java/net/pokeranalytics/android/model/TournamentType.kt index 772a593f..c06cfed4 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/TournamentKind.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/TournamentType.kt @@ -4,14 +4,14 @@ import net.pokeranalytics.android.R import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType -enum class TournamentKind : RowRepresentable { +enum class TournamentType : RowRepresentable { MTT, SNG; companion object { - val all : List + val all : List get() { - return TournamentKind.values() as List + return TournamentType.values() as List } } 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 42db95e4..d0337432 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 @@ -16,7 +16,7 @@ import net.pokeranalytics.android.exceptions.ModelException 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.TournamentType import net.pokeranalytics.android.model.extensions.SessionState import net.pokeranalytics.android.model.extensions.getState import net.pokeranalytics.android.model.interfaces.Manageable @@ -169,7 +169,7 @@ open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepre var tournamentName: TournamentName? = null // The kind of the tournament, MTT or SnG - var tournamentKind: Int? = null + var tournamentType: Int? = null // The features of the tournament, like Knockout, Shootout, Turbo... var tournamentFeatures: RealmList = RealmList() @@ -551,8 +551,8 @@ open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepre SessionRow.START_DATE -> this.startDate?.shortDateTime() ?: NULL_TEXT SessionRow.TABLE_SIZE -> this.tableSize?.let { TableSize(it).localizedTitle(context) } ?: NULL_TEXT SessionRow.TIPS -> result?.tips?.toCurrency() ?: NULL_TEXT - SessionRow.TOURNAMENT_KIND -> this.tournamentKind?.let { - TournamentKind.values()[it].localizedTitle(context) + SessionRow.TOURNAMENT_TYPE -> this.tournamentType?.let { + TournamentType.values()[it].localizedTitle(context) } ?: run { NULL_TEXT } @@ -693,9 +693,9 @@ open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepre // Add current tournament name and tournament names list data.add(RowRepresentableEditDescriptor(tournamentName, data = LiveData.TOURNAMENT_NAME.items(realm))) } - SessionRow.TOURNAMENT_KIND -> { + SessionRow.TOURNAMENT_TYPE -> { // Add current tournament kind and tournament kind list - data.add(RowRepresentableEditDescriptor(tournamentKind, staticData = TournamentKind.values().map { + data.add(RowRepresentableEditDescriptor(tournamentType, staticData = TournamentType.values().map { it })) } @@ -795,7 +795,7 @@ open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepre result = localResult } SessionRow.TOURNAMENT_NAME -> tournamentName = value as TournamentName? - SessionRow.TOURNAMENT_KIND -> tournamentKind = value as Int? + SessionRow.TOURNAMENT_TYPE -> tournamentType = value as Int? } realm.commitTransaction() } 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 3ef2ae24..bc59059e 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 @@ -12,14 +12,9 @@ import kotlinx.android.synthetic.main.fragment_editable_data.* import kotlinx.android.synthetic.main.fragment_editable_data.view.* import net.pokeranalytics.android.R import net.pokeranalytics.android.model.LiveData -import net.pokeranalytics.android.model.TournamentKind import net.pokeranalytics.android.model.interfaces.Identifiable import net.pokeranalytics.android.model.interfaces.Manageable 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.TournamentName import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter @@ -109,10 +104,10 @@ open class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDele if (this.dataType != null) { val proxyItem: RealmObject? = this.liveDataType.getData(this.getRealm(), primaryKey) proxyItem?.let { - this.appBar.toolbar.title = "Update ${this.liveDataType.name.toLowerCase().capitalize()}" + this.appBar.toolbar.title = "Update ${this.liveDataType.localizedTitle(this.parentActivity).toLowerCase().capitalize()}" isUpdating = true } ?: run { - this.appBar.toolbar.title = "New ${this.liveDataType.name.toLowerCase().capitalize()}" + this.appBar.toolbar.title = "New ${this.liveDataType.localizedTitle(this.parentActivity).toLowerCase().capitalize()}" } this.item = this.liveDataType.updateOrCreate(this.getRealm(), primaryKey) this.rowRepresentableAdapter = RowRepresentableAdapter( @@ -154,16 +149,6 @@ open class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDele finishActivityWithResult(uniqueIdentifier) } } else { - /* - val message = when (item) { - 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 TournamentName -> R.string.tt_empty_field_error - is TournamentKind -> R.string.tt_empty_field_error - else -> throw IllegalStateException("Need to manage ${item::class.java} error") - } - */ val message = (this.item as Savable).getFailedSaveMessage() val builder = AlertDialog.Builder(requireContext()) .setMessage(message) @@ -207,31 +192,6 @@ open class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDele fun setData(dataType: Int, primaryKey: String?) { this.dataType = dataType this.liveDataType = LiveData.values()[dataType] - - /* - val proxyItem: RealmObject? = this.liveDataType.getData(this.getRealm(), primaryKey) - - proxyItem?.let { - this.appBar.toolbar.title = "Update ${this.liveDataType.localizedTitle(this.parentActivity).toLowerCase().capitalize()}" - isUpdating = true - } ?: run { - this.appBar.toolbar.title = "New ${this.liveDataType.localizedTitle(this.parentActivity).toLowerCase().capitalize()}" - } - this.item = this.liveDataType.updateOrCreate(this.getRealm(), primaryKey) - this.rowRepresentableAdapter = RowRepresentableAdapter( - (this.item as RowRepresentableDataSource), - this - ) - this.recyclerView.adapter = rowRepresentableAdapter - - // When creating an object, open automatically the keyboard for the first row - if (!isUpdating && this.item is RowRepresentableDataSource) { - val row = (this.item as RowRepresentableDataSource).adapterRows()?.firstOrNull() - row?.let { - onRowSelected(0, it) - } - } - */ this.primaryKey = primaryKey } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStaticListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStaticListFragment.kt index fbd909b2..7967e274 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStaticListFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStaticListFragment.kt @@ -4,17 +4,14 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import androidx.recyclerview.widget.LinearLayoutManager -import io.realm.RealmResults import kotlinx.android.synthetic.main.bottom_sheet_list.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import net.pokeranalytics.android.R -import net.pokeranalytics.android.model.TournamentKind -import net.pokeranalytics.android.ui.adapter.LiveRowRepresentableDataSource +import net.pokeranalytics.android.model.TournamentType import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.view.RowRepresentable -import net.pokeranalytics.android.ui.view.RowViewType class BottomSheetStaticListFragment : BottomSheetFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate { @@ -38,7 +35,7 @@ class BottomSheetStaticListFragment : BottomSheetFragment(), StaticRowRepresenta } override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { - this.delegate.onRowValueChanged((row as TournamentKind).ordinal, this.row) + this.delegate.onRowValueChanged((row as TournamentType).ordinal, this.row) dismiss() super.onRowSelected(position, row, fromAction) } @@ -69,6 +66,7 @@ class BottomSheetStaticListFragment : BottomSheetFragment(), StaticRowRepresenta adapter = dataAdapter } + this.setAddButtonVisible(false) } } \ No newline at end of file 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 e5ac8960..e6ed1888 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,7 @@ enum class SessionRow : RowRepresentable { LOCATION, BANKROLL, TABLE_SIZE, - TOURNAMENT_KIND, + TOURNAMENT_TYPE, TOURNAMENT_NAME, TOURNAMENT_FEATURE, START_DATE, @@ -44,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_KIND, TOURNAMENT_NAME, TOURNAMENT_FEATURE, + GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE, TOURNAMENT_NAME, TOURNAMENT_FEATURE, START_DATE, END_DATE ) } @@ -52,7 +52,7 @@ enum class SessionRow : RowRepresentable { arrayListOf( PRIZE, BUY_IN, POSITION, PLAYERS, TIPS, SeparatorRowRepresentable(), - GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_KIND, TOURNAMENT_NAME, TOURNAMENT_FEATURE, + GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE, TOURNAMENT_NAME, TOURNAMENT_FEATURE, SeparatorRowRepresentable(), START_DATE, END_DATE, BREAK_TIME, COMMENT ) @@ -105,7 +105,7 @@ enum class SessionRow : RowRepresentable { LOCATION -> R.string.location BANKROLL -> R.string.bankroll TABLE_SIZE -> R.string.table_size - TOURNAMENT_KIND -> R.string.tournament_type + TOURNAMENT_TYPE -> R.string.tournament_type TOURNAMENT_NAME -> R.string.tournament_name TOURNAMENT_FEATURE -> R.string.tournament_feature START_DATE -> R.string.start_date @@ -120,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_KIND, TOURNAMENT_NAME, TOURNAMENT_FEATURE, START_DATE, END_DATE, BREAK_TIME -> RowViewType.TITLE_VALUE.ordinal + TOURNAMENT_TYPE, TOURNAMENT_NAME, TOURNAMENT_FEATURE, START_DATE, END_DATE, BREAK_TIME -> RowViewType.TITLE_VALUE.ordinal } } @@ -131,7 +131,7 @@ enum class SessionRow : RowRepresentable { BUY_IN, TIPS -> BottomSheetType.SUM BLINDS -> BottomSheetType.DOUBLE_EDIT_TEXT GAME -> BottomSheetType.LIST_GAME - TOURNAMENT_KIND -> BottomSheetType.LIST_STATIC + TOURNAMENT_TYPE -> BottomSheetType.LIST_STATIC LOCATION, BANKROLL, TOURNAMENT_NAME, TOURNAMENT_FEATURE -> BottomSheetType.LIST TABLE_SIZE -> BottomSheetType.GRID COMMENT -> BottomSheetType.EDIT_TEXT_MULTI_LINES diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bd24dbdd..a19a6f50 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -550,7 +550,7 @@ Completion percentage Return on investment Results will be filtered on tournaments - Tournament type + Tournament Type Tournament types Types Tournaments