From c95ab684d81d71802ad35935bb611fa5e228188d Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 30 Nov 2022 17:35:22 +0100 Subject: [PATCH] Fixes issue in CSV import --- .../android/model/realm/Session.kt | 4 +--- .../android/model/utils/SessionSetManager.kt | 2 -- .../android/util/csv/PACSVDescriptor.kt | 19 +++++++++++++------ 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index 09c073ee..096e0fb0 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -69,9 +69,7 @@ open class Session : RealmObject(), Savable, RowUpdatable, RowRepresentable, Tim fun newInstance(realm: Realm, isTournament: Boolean, bankroll: Bankroll? = null): Session { val session = Session() - val result = Result() -// result.inverseSession = WeakReference(session) - session.result = result + session.result = Result() if (bankroll != null) { session.bankroll = realm.copyFromRealm(bankroll) diff --git a/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt b/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt index 93a42230..e22929a7 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/utils/SessionSetManager.kt @@ -59,8 +59,6 @@ object SessionSetManager { private fun processSessions(realm: Realm, sessionIds: List) { - Timber.d("PROCESS SESSIONS") - for (sessionId in sessionIds) { realm.findById(sessionId)?.let { session -> if (session.startDate != null && session.endDate != null) { diff --git a/app/src/main/java/net/pokeranalytics/android/util/csv/PACSVDescriptor.kt b/app/src/main/java/net/pokeranalytics/android/util/csv/PACSVDescriptor.kt index 845f3ec3..0deca784 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/csv/PACSVDescriptor.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/csv/PACSVDescriptor.kt @@ -1,6 +1,7 @@ package net.pokeranalytics.android.util.csv import io.realm.Realm +import io.realm.kotlin.where import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.model.Limit import net.pokeranalytics.android.model.TableSize @@ -21,15 +22,15 @@ import java.text.SimpleDateFormat import java.util.* abstract class PACSVDescriptor(source: DataSource, - private var isTournament: Boolean?, - vararg elements: CSVField) + private var isTournament: Boolean?, + vararg elements: CSVField) : DataCSVDescriptor(source, *elements) { - var noSessionImport: Boolean = false + private var noSessionImport: Boolean = false init { val realm = Realm.getDefaultInstance() - this.noSessionImport = realm.count(Session::class.java) == 0L + this.noSessionImport = realm.count(Session::class.java) == 0L realm.close() } @@ -39,13 +40,20 @@ abstract class PACSVDescriptor(source: DataSource, private var dateFormat: DateFormat? = null + private fun newSession(isTournament: Boolean): Session { + val session = Session() + session.result = Result() + session.type = if (isTournament) Session.Type.TOURNAMENT.ordinal else Session.Type.CASH_GAME.ordinal + return session + } + /** * Parses a [record] and return an optional Session */ protected fun parseSession(realm: Realm, record: CSVRecord): Session? { val isTournament = isTournament ?: false - val session = Session.newInstance(realm, isTournament) + val session = this.newSession(isTournament) // Session.newInstance(realm, isTournament) var startDate: Date? = null var endDate: Date? = null @@ -277,7 +285,6 @@ abstract class PACSVDescriptor(source: DataSource, } managedSession.preCompute() - return managedSession } else { Timber.d("Session already exists(count=$count): sd=$startDate, ed=$endDate, net=$net")