diff --git a/app/src/main/java/net/pokeranalytics/android/util/csv/CSVDescriptor.kt b/app/src/main/java/net/pokeranalytics/android/util/csv/CSVDescriptor.kt index 2020fdd6..b28c5182 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/csv/CSVDescriptor.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/csv/CSVDescriptor.kt @@ -130,14 +130,14 @@ abstract class CSVDescriptor(var source: DataSource, vararg elements: CSVField) this.fields.forEach { field -> val index = headers.indexOf(field.header) - this.fieldMapping[field] = index - if (index >= 0) { + this.fieldMapping[field] = index count++ } } + val mandatoryfields = this.fields.filter { it.optional == false } Timber.d("source= ${this.source.name} > total fields = ${this.fields.size}, identified = $count") - return count == this.fields.size + return count >= mandatoryfields.size } } diff --git a/app/src/main/java/net/pokeranalytics/android/util/csv/CSVField.kt b/app/src/main/java/net/pokeranalytics/android/util/csv/CSVField.kt index 68c97e81..a5367951 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/csv/CSVField.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/csv/CSVField.kt @@ -89,4 +89,8 @@ interface TypedCSVField : CSVField { interface CSVField { val header: String + val optional: Boolean + get() { + return false + } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/util/csv/ProductCSVDescriptors.kt b/app/src/main/java/net/pokeranalytics/android/util/csv/ProductCSVDescriptors.kt index 2d84ff19..02d86087 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/csv/ProductCSVDescriptors.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/csv/ProductCSVDescriptors.kt @@ -37,7 +37,7 @@ class ProductCSVDescriptors { SessionField.Game("game"), SessionField.Bankroll("currency"), // same as currency code SessionField.Location("type"), -// SessionField.Comment("sessionnote"), + SessionField.Comment("comment", true), SessionField.Tips("expensesfromstack"), SessionField.SmallBlind("smallblind"), SessionField.BigBlind("bigblind"), diff --git a/app/src/main/java/net/pokeranalytics/android/util/csv/SessionField.kt b/app/src/main/java/net/pokeranalytics/android/util/csv/SessionField.kt index 4e1e2922..677c60a4 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/csv/SessionField.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/csv/SessionField.kt @@ -114,7 +114,7 @@ sealed class SessionField { data class LocationType(override var header: String) : CSVField data class Bankroll(override var header: String) : CSVField data class LimitType(override var header: String) : CSVField - data class Comment(override var header: String) : CSVField + data class Comment(override var header: String, override val optional: Boolean = false) : CSVField data class SessionType(override var header: String) : CSVField data class TableSize(override var header: String) : CSVField data class CurrencyCode(override var header: String) : CSVField