From da8d8c2be1c66e2cb3c9e90197dcb3a97ae4f8bb Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 2 Oct 2020 15:42:00 +0200 Subject: [PATCH] Fixes issues with result capture method --- .../android/model/realm/Bankroll.kt | 7 ++++--- .../ui/modules/data/BankrollDataFragment.kt | 17 +++++++++++++---- .../ui/view/rowrepresentable/BankrollRow.kt | 18 ++++++++++++++---- .../ui/view/rowrepresentable/SessionRow.kt | 18 +++++++++++------- 4 files changed, 42 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt index 072be84a..de162646 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt @@ -59,7 +59,7 @@ open class Bankroll : RealmObject(), NameManageable, RowRepresentable { override fun updateValue(value: Any?, row: RowRepresentable) { when (row) { SimpleRow.NAME -> this.name = value as String? ?: "" - BankrollRow.LIVE -> { + BankrollRow.ONLINE -> { this.live = if (value is Boolean) !value else false } BankrollRow.INITIAL_VALUE -> { @@ -107,8 +107,9 @@ open class Bankroll : RealmObject(), NameManageable, RowRepresentable { } fun resultCaptureType(context: Context): ResultCaptureType { - return Preferences.getResultCaptureType(this, context) ?: run { - when (this.live) { + return Preferences.getResultCaptureType(this, context) + ?: run { + when (this.live) { true -> ResultCaptureType.BUYIN_CASHEDOUT else -> ResultCaptureType.NET_RESULT } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/data/BankrollDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/data/BankrollDataFragment.kt index 9d5a94a4..61d5dd41 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/data/BankrollDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/data/BankrollDataFragment.kt @@ -32,7 +32,7 @@ import java.util.* class BankrollDataViewModel: DataManagerViewModel() { - var selectedCaptureType: MutableLiveData = MutableLiveData(ResultCaptureType.BUYIN_CASHEDOUT) + var selectedCaptureType: MutableLiveData = MutableLiveData() } @@ -106,6 +106,9 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS Preferences.getResultCaptureType(this.bankroll, requireContext())?.let { this.bankrollModel.selectedCaptureType.value = it } + if (this.bankrollModel.selectedCaptureType.value == null && !this.bankroll.live) { + this.bankrollModel.selectedCaptureType.value = ResultCaptureType.NET_RESULT + } } @@ -159,7 +162,7 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS override fun boolForRow(row: RowRepresentable): Boolean { return when(row) { - BankrollRow.LIVE -> !bankroll.live + BankrollRow.ONLINE -> !bankroll.live BankrollRow.REFRESH_RATE -> isRefreshingRate else -> super.boolForRow(row) } @@ -199,6 +202,12 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS this.lastRefreshRateCall = 0 this.rowRepresentableAdapter.notifyDataSetChanged() } + BankrollRow.ONLINE -> { + when (value as? Boolean) { + false -> this.bankrollModel.selectedCaptureType.value = ResultCaptureType.NET_RESULT + else -> this.bankrollModel.selectedCaptureType.value = null + } + } } updateAdapterUI() @@ -211,7 +220,7 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS rows.clear() rows.add(SimpleRow.NAME) - rows.add(BankrollRow.LIVE) + rows.add(BankrollRow.ONLINE) rows.add(BankrollRow.INITIAL_VALUE) rows.add(CustomizableRowRepresentable(customViewType = RowViewType.HEADER_TITLE, resId = R.string.currency)) rows.add(BankrollRow.CURRENCY) @@ -222,8 +231,8 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS if (!this.bankroll.live) { rows.add(CustomizableRowRepresentable(customViewType = RowViewType.HEADER_TITLE, resId = R.string.bankroll_capture_method)) - rows.add(BankrollRow.CAPTURE_BUYIN_CASHEDOUT) rows.add(BankrollRow.CAPTURE_NET_RESULT) + rows.add(BankrollRow.CAPTURE_BUYIN_CASHEDOUT) } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/BankrollRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/BankrollRow.kt index 8551b2ae..09042aee 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/BankrollRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/BankrollRow.kt @@ -10,7 +10,7 @@ import net.pokeranalytics.android.ui.view.RowViewType enum class BankrollRow : RowRepresentable, DefaultEditDataSource { - LIVE, + ONLINE, INITIAL_VALUE, CURRENCY, RATE, @@ -21,7 +21,7 @@ enum class BankrollRow : RowRepresentable, DefaultEditDataSource { override val resId: Int? get() { return when (this) { - LIVE -> R.string.online + ONLINE -> R.string.online INITIAL_VALUE -> R.string.initial_value CURRENCY -> R.string.currency RATE -> R.string.rate @@ -34,7 +34,7 @@ enum class BankrollRow : RowRepresentable, DefaultEditDataSource { override val viewType: Int get() { return when (this) { - LIVE -> RowViewType.TITLE_SWITCH.ordinal + ONLINE -> RowViewType.TITLE_SWITCH.ordinal INITIAL_VALUE -> RowViewType.TITLE_VALUE.ordinal CURRENCY -> RowViewType.TITLE_VALUE_ARROW.ordinal RATE -> RowViewType.TITLE_VALUE.ordinal @@ -47,7 +47,7 @@ enum class BankrollRow : RowRepresentable, DefaultEditDataSource { override val bottomSheetType: BottomSheetType get() { return when (this) { - LIVE -> BottomSheetType.NONE + ONLINE -> BottomSheetType.NONE INITIAL_VALUE -> BottomSheetType.NUMERIC_TEXT CURRENCY -> BottomSheetType.NONE RATE -> BottomSheetType.NUMERIC_TEXT @@ -76,4 +76,14 @@ enum class BankrollRow : RowRepresentable, DefaultEditDataSource { else -> super.editingDescriptors(map) } } + +// val resultCaptureType: ResultCaptureType? +// get() { +// return when (this) { +// CAPTURE_NET_RESULT -> ResultCaptureType.NET_RESULT +// CAPTURE_BUYIN_CASHEDOUT -> ResultCaptureType.BUYIN_CASHEDOUT +// else -> null +// } +// } + } \ 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 587845b3..b13a2ee1 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 @@ -105,14 +105,18 @@ enum class SessionRow : RowRepresentable { val fields = mutableListOf() - when (session.bankroll?.resultCaptureType(context)) { - ResultCaptureType.BUYIN_CASHEDOUT -> fields.addAll(listOf(CASHED_OUT, BUY_IN, TIPS)) - ResultCaptureType.NET_RESULT -> fields.add(NET_RESULT) -// session.hasBuyin -> fields.addAll(listOf(CASHED_OUT, BUY_IN, TIPS)) -// session.hasNetResult -> fields.add(NET_RESULT) -// session.isLive -> fields.addAll(listOf(CASHED_OUT, BUY_IN, TIPS)) - else -> fields.add(NET_RESULT) + when { + session.hasBuyin -> fields.addAll(listOf(CASHED_OUT, BUY_IN, TIPS)) + session.hasNetResult -> fields.add(NET_RESULT) + else -> { + when (session.bankroll?.resultCaptureType(context)) { + ResultCaptureType.BUYIN_CASHEDOUT -> fields.addAll(listOf(CASHED_OUT, BUY_IN, TIPS)) + ResultCaptureType.NET_RESULT -> fields.add(NET_RESULT) + else -> fields.add(NET_RESULT) + } + } } + fields.add(SeparatorRow()) fields.add(COMMENT) if (session.handHistories?.isNotEmpty() == true) {