From 1deb7d4d46357ab270dc60c4273e6f0ef85dae4f Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 23 May 2019 09:32:09 +0200 Subject: [PATCH] Update blind parsing code --- .../android/util/csv/SessionCSVDescriptor.kt | 11 +++-------- .../net/pokeranalytics/android/util/csv/TypedField.kt | 10 ++++++++++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/util/csv/SessionCSVDescriptor.kt b/app/src/main/java/net/pokeranalytics/android/util/csv/SessionCSVDescriptor.kt index b13f776f..9475514b 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/csv/SessionCSVDescriptor.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/csv/SessionCSVDescriptor.kt @@ -10,7 +10,6 @@ import net.pokeranalytics.android.model.utils.SessionUtils import net.pokeranalytics.android.util.extensions.getOrCreate import net.pokeranalytics.android.util.extensions.setHourMinutes import org.apache.commons.csv.CSVRecord -import timber.log.Timber import java.util.* sealed class SessionField { @@ -254,13 +253,9 @@ class SessionCSVDescriptor(source: DataSource, private var isTournament: Boolean is SessionField.LimitType -> session.limit = Limit.getInstance(value)?.ordinal is SessionField.Comment -> session.comment = value is SessionField.Blind -> { // 1/2 - val strBlinds = value.split("/") - if (strBlinds.size > 1) { - session.cgBigBlind = strBlinds.last().toDouble() - session.cgSmallBlind = strBlinds[strBlinds.size - 2].toDouble() - } else { - Timber.d("Blinds could not be parsed: $value") - } + val blinds = field.parse(value) + session.cgSmallBlind = blinds?.first + session.cgBigBlind = blinds?.second } is SessionField.SmallBlind -> session.cgSmallBlind = field.parse(value) is SessionField.BigBlind -> session.cgBigBlind = field.parse(value) diff --git a/app/src/main/java/net/pokeranalytics/android/util/csv/TypedField.kt b/app/src/main/java/net/pokeranalytics/android/util/csv/TypedField.kt index c4a27b6d..7f0c9d5b 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/csv/TypedField.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/csv/TypedField.kt @@ -53,6 +53,16 @@ interface BlindField : TypedField> { this.callback?.let { cb -> return cb(value) } + + val strBlinds = value.split("/") + if (strBlinds.size == 2) { + val bb = strBlinds.last().toDouble() + val sb = strBlinds.first().toDouble() + return Pair(sb, bb) + } else { + Timber.d("Blinds could not be parsed: $value") + } + return null }