Fixes and improvements

blinds
Laurent 3 years ago
parent 6b87d372e6
commit 1201541dfe
  1. 12
      app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt
  2. 7
      app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt
  3. 29
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  4. 3
      app/src/main/java/net/pokeranalytics/android/ui/view/keyboard/StakesKeyboardView.kt

@ -5,6 +5,7 @@ import io.realm.Realm
import net.pokeranalytics.android.model.filter.Query
import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.model.realm.*
import net.pokeranalytics.android.model.realm.handhistory.HandHistory
import net.pokeranalytics.android.model.utils.Seed
import net.pokeranalytics.android.model.utils.SessionSetManager
import net.pokeranalytics.android.util.BLIND_SEPARATOR
@ -134,6 +135,17 @@ class Patcher {
session.cgBlinds = blindsFormatted.joinToString(BLIND_SEPARATOR)
}
}
val handHistories = realm.where(HandHistory::class.java).findAll()
handHistories.forEach { hh ->
val blinds = arrayListOf(hh.oldSmallBlind, hh.oldBigBlind).filterNotNull()
val blindsFormatted = blinds.map { NumberFormat.getInstance().format(it) }
if (blindsFormatted.isNotEmpty()) {
hh.blinds = blindsFormatted.joinToString(BLIND_SEPARATOR)
}
}
}
realm.close()
}

@ -270,8 +270,11 @@ class PokerAnalyticsMigration : RealmMigration {
}
schema.get("HandHistory")?.let { hs ->
hs.addField("cgStakes", String::class.java)
hs.addField("cgBlinds", String::class.java)
hs.setNullable("ante", true)
hs.addField("stakes", String::class.java)
hs.addField("blinds", String::class.java)
hs.addField("biggestBet", Double::class.java)
?.setNullable("biggestBet", true)
hs.renameField("smallBlind", "oldSmallBlind")
hs.renameField("bigBlind", "oldBigBlind")
}

@ -32,15 +32,14 @@ import net.pokeranalytics.android.ui.adapter.UnmanagedRowRepresentableException
import net.pokeranalytics.android.ui.graph.Graph
import net.pokeranalytics.android.ui.view.*
import net.pokeranalytics.android.ui.view.rows.SessionPropertiesRow
import net.pokeranalytics.android.util.CrashLogging
import net.pokeranalytics.android.util.NULL_TEXT
import net.pokeranalytics.android.util.TextFormat
import net.pokeranalytics.android.util.UserDefaults
import net.pokeranalytics.android.util.*
import net.pokeranalytics.android.util.extensions.hourMinute
import net.pokeranalytics.android.util.extensions.shortDateTime
import net.pokeranalytics.android.util.extensions.toCurrency
import net.pokeranalytics.android.util.extensions.toMinutes
import java.text.DateFormat
import java.text.NumberFormat
import java.text.ParseException
import java.util.*
import java.util.Currency
@ -328,7 +327,7 @@ open class Session : RealmObject(), Savable, RowUpdatable, RowRepresentable, Tim
var cgBlinds: String? = null
set(value) {
field = value
field = cleanupBlinds(value)
this.generateStakes()
this.defineHighestBet()
this.computeStats()
@ -1093,6 +1092,26 @@ open class Session : RealmObject(), Savable, RowUpdatable, RowRepresentable, Tim
// this.cgBiggestBet = bets.maxOrNull()
// }
private fun cleanupBlinds(blinds: String?): String? {
if (blinds == null) {
return null
}
val blindValues = blinds.split(BLIND_SEPARATOR).mapNotNull {
try {
NumberFormat.getInstance().parse(it)
} catch (e: ParseException) {
null
}
}
return if (blindValues.isNotEmpty()) {
blindValues.joinToString(BLIND_SEPARATOR)
} else {
null
}
}
/// StakesHolder
override val ante: Double?

@ -10,6 +10,7 @@ import kotlinx.android.synthetic.main.view_keyboard_stakes.view.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.util.BLIND_SEPARATOR
import java.text.DecimalFormatSymbols
class StakesKeyboardView : LinearLayoutCompat {
@ -44,6 +45,7 @@ class StakesKeyboardView : LinearLayoutCompat {
view.value_7.text = "7"
view.value_8.text = "8"
view.value_9.text = "9"
view.value_decimal.text = DecimalFormatSymbols.getInstance().decimalSeparator.toString()
view.value_back.text = ""
view.value_separator.text = "/"
@ -57,6 +59,7 @@ class StakesKeyboardView : LinearLayoutCompat {
view.value_7.setOnClickListener { this.commitText("7") }
view.value_8.setOnClickListener { this.commitText("8") }
view.value_9.setOnClickListener { this.commitText("9") }
view.value_decimal.setOnClickListener { this.commitText(DecimalFormatSymbols.getInstance().decimalSeparator.toString()) }
view.value_separator.setOnClickListener { this.commitText(BLIND_SEPARATOR) }
view.value_back.setOnClickListener { this.deleteText() }

Loading…
Cancel
Save