Fixes issues with result capture method

kmm
Laurent 5 years ago
parent 777d4826ba
commit da8d8c2be1
  1. 5
      app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt
  2. 17
      app/src/main/java/net/pokeranalytics/android/ui/modules/data/BankrollDataFragment.kt
  3. 18
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/BankrollRow.kt
  4. 10
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SessionRow.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,7 +107,8 @@ open class Bankroll : RealmObject(), NameManageable, RowRepresentable {
}
fun resultCaptureType(context: Context): ResultCaptureType {
return Preferences.getResultCaptureType(this, context) ?: run {
return Preferences.getResultCaptureType(this, context)
?: run {
when (this.live) {
true -> ResultCaptureType.BUYIN_CASHEDOUT
else -> ResultCaptureType.NET_RESULT

@ -32,7 +32,7 @@ import java.util.*
class BankrollDataViewModel: DataManagerViewModel() {
var selectedCaptureType: MutableLiveData<ResultCaptureType> = MutableLiveData(ResultCaptureType.BUYIN_CASHEDOUT)
var selectedCaptureType: MutableLiveData<ResultCaptureType?> = 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)
}
}

@ -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<RowRepresentable>.editingDescriptors(map)
}
}
// val resultCaptureType: ResultCaptureType?
// get() {
// return when (this) {
// CAPTURE_NET_RESULT -> ResultCaptureType.NET_RESULT
// CAPTURE_BUYIN_CASHEDOUT -> ResultCaptureType.BUYIN_CASHEDOUT
// else -> null
// }
// }
}

@ -105,14 +105,18 @@ enum class SessionRow : RowRepresentable {
val fields = mutableListOf<RowRepresentable>()
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)
// 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)
}
}
}
fields.add(SeparatorRow())
fields.add(COMMENT)
if (session.handHistories?.isNotEmpty() == true) {

Loading…
Cancel
Save