From 7ab7b11c2ae5cea39702c03f3698b96ae5e384c1 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Fri, 22 Feb 2019 13:37:47 +0100 Subject: [PATCH] Improve Session --- .../android/model/realm/Session.kt | 28 +++++++++++++++++-- .../android/ui/adapter/LimitTypesAdapter.kt | 1 + app/src/main/res/layout/fragment_session.xml | 1 + 3 files changed, 27 insertions(+), 3 deletions(-) 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 e023d1e5..49cc1552 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 @@ -18,6 +18,7 @@ import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.SessionRow import net.pokeranalytics.android.util.data.sessionDao import net.pokeranalytics.android.util.getDuration +import net.pokeranalytics.android.util.round import net.pokeranalytics.android.util.short import net.pokeranalytics.android.util.toCurrency import java.util.* @@ -149,6 +150,13 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource return startDate.getDuration(context, enDate) } + /** + * Return the formatted blinds + */ + fun getBlinds() : String { + return if (cgSmallBlind == null) "--" else "$${cgSmallBlind?.round()}/${cgBigBlind?.round()}" + } + /** * Delete the object from realm * TODO: Cascade delete? @@ -255,7 +263,8 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource override fun stringForRow(row: RowRepresentable): String { return when (row) { SessionRow.BUY_IN -> buyin.toCurrency() - SessionRow.BLINDS -> if (cgSmallBlind != null && cgBigBlind != null) "$cgSmallBlind / $cgBigBlind" else "--" + SessionRow.CASHED_OUT -> result?.cashout?.toCurrency() ?: "--" + SessionRow.BLINDS -> getBlinds() SessionRow.GAME -> game?.title ?: "--" SessionRow.LOCATION -> location?.title ?: "--" SessionRow.BANKROLL -> bankroll?.title ?: "--" @@ -305,6 +314,9 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource ) ) } + SessionRow.CASHED_OUT -> { + data.add(BottomSheetData(result?.cashout, inputType = InputType.TYPE_CLASS_NUMBER)) + } SessionRow.TIPS -> { // Disable the buttons with value = 0, add current value & set the 2 edit texts // TODO: manage tips @@ -345,10 +357,14 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource override fun updateValue(value: Any?, row: RowRepresentable) { realm.beginTransaction() when (row) { - SessionRow.BUY_IN -> { val localResult = if (result != null) result as Result else realm.createObject(Result::class.java) - localResult.buyin = value as Double + localResult.buyin = value as Double? + result = localResult + } + SessionRow.CASHED_OUT -> { + val localResult = if (result != null) result as Result else realm.createObject(Result::class.java) + localResult.cashout = if (value == null) null else (value as String).toDouble() result = localResult } SessionRow.TABLE_SIZE -> tableSize = value as Int? @@ -367,6 +383,12 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource } catch (e: Exception) { null } + + cgBigBlind?.let { + if (cgSmallBlind == null || cgSmallBlind == 0.0) { + cgSmallBlind = it / 2.0 + } + } } //TODO: Update SessionRow.START_DATE -> if (value is Date?) { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/LimitTypesAdapter.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/LimitTypesAdapter.kt index 81e5af9a..52832cbd 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/adapter/LimitTypesAdapter.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/LimitTypesAdapter.kt @@ -21,6 +21,7 @@ class LimitTypesAdapter(private var tableSizes: ArrayList) : RecyclerVie itemView.title.text = tableSize itemView.container.setOnClickListener { onClickOnItem?.invoke(adapterPosition) + } } } diff --git a/app/src/main/res/layout/fragment_session.xml b/app/src/main/res/layout/fragment_session.xml index 2ff2e6e1..2d74bac0 100644 --- a/app/src/main/res/layout/fragment_session.xml +++ b/app/src/main/res/layout/fragment_session.xml @@ -69,6 +69,7 @@ app:layout_constraintTop_toTopOf="parent" />