From 7fe851d072beffb22685b6f0840bb26a89e82362 Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 1 Dec 2022 11:37:46 +0100 Subject: [PATCH] cleanup --- .../android/PokerAnalyticsApplication.kt | 5 - .../migrations/PokerAnalyticsMigration.kt | 4 - .../android/model/realm/Comment.kt | 2 +- .../android/model/realm/ComputableResult.kt | 7 +- .../android/model/realm/CustomField.kt | 4 - .../android/model/realm/FilterCondition.kt | 10 - .../android/model/realm/Game.kt | 9 +- .../android/model/realm/Player.kt | 2 +- .../android/model/realm/Result.kt | 11 +- .../android/model/realm/SessionSet.kt | 7 +- .../android/model/realm/TimeFrame.kt | 288 ------------------ .../android/model/realm/TournamentFeature.kt | 2 +- .../android/model/realm/TournamentName.kt | 2 +- .../android/model/realm/Transaction.kt | 2 +- 14 files changed, 11 insertions(+), 344 deletions(-) delete mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index 6d4f240f..cc823857 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -55,7 +55,6 @@ class PokerAnalyticsApplication : Application() { val realmConfiguration = RealmConfiguration.Builder() .name(Realm.DEFAULT_REALM_NAME) .schemaVersion(15) -// .allowWritesOnUiThread(true) .migration(PokerAnalyticsMigration()) .initialData(Seed(this)) .build() @@ -90,10 +89,6 @@ class PokerAnalyticsApplication : Application() { val locale = Locale.getDefault() CrashLogging.log("Country: ${locale.country}, language: ${locale.language}") -// Realm.getDefaultInstance().executeTransaction { -// it.delete(Performance::class.java) -// } - } /** diff --git a/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt b/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt index 9ed55aab..3c97dc3d 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/migrations/PokerAnalyticsMigration.kt @@ -337,10 +337,6 @@ class PokerAnalyticsMigration : RealmMigration { // Migrate to version 15 if (currentVersion == 14) { -// schema.get("ComputableResult")?.let { crs -> -// crs.addField("id", String::class.java).setRequired("id", true) -// crs.addPrimaryKey("id") -// } schema.get("Result")?.let { crs -> crs.addField("id", String::class.java).setRequired("id", true) crs.addPrimaryKey("id") diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt index bfe08c1b..48936503 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Comment.kt @@ -42,7 +42,7 @@ open class Comment : RealmObject(), Manageable, RowRepresentable, RowUpdatable { } override fun getDisplayName(context: Context): String { - return if (content.isNotEmpty()) content else NULL_TEXT + return content.ifEmpty { NULL_TEXT } } // override fun startEditing(dataSource: Any?, parent: Fragment?) { diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt index e5415281..bbc7bc31 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/ComputableResult.kt @@ -1,16 +1,11 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmObject -import io.realm.annotations.PrimaryKey import net.pokeranalytics.android.model.filter.Filterable import net.pokeranalytics.android.model.filter.QueryCondition -import java.util.* open class ComputableResult : RealmObject(), Filterable { -// @PrimaryKey -// var id = UUID.randomUUID().toString() - var ratedNet: Double = 0.0 var bbNet: BB = 0.0 @@ -27,7 +22,7 @@ open class ComputableResult : RealmObject(), Filterable { var session: Session? = null - var ratedTips: Double = 0.0 + private var ratedTips: Double = 0.0 fun updateWith(session: Session) { diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt index 3fd6dc22..0e6cef50 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt @@ -139,10 +139,6 @@ open class CustomField : RealmObject(), RowRepresentable, RowUpdatable, NameMana } } - override fun isValidForSave(): Boolean { - return super.isValidForSave() - } - override fun getFailedSaveMessage(status: SaveValidityStatus): Int { return when (status) { SaveValidityStatus.DATA_INVALID -> R.string.cf_empty_field_error diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt index b299ef32..7a8f6d36 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt @@ -63,16 +63,6 @@ open class FilterCondition() : RealmObject() { } } - fun getv(clazz: Class) : T { - return when (clazz) { - Int::class -> intValue ?: 0 - Double::class -> doubleValue?: 0.0 - Date::class -> dateValue ?: Date() - String::class -> stringValue ?: "" - else -> throw PokerAnalyticsException.QueryValueMapUnexpectedValue - } as T - } - inline fun getValue(): T { return when (T::class) { Int::class -> intValue ?: 0 diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt index 98f7e861..a4a2fa65 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt @@ -50,13 +50,6 @@ open class Game : RealmObject(), NameManageable, StaticRowRepresentableDataSourc @Ignore override val ownerClass: Class = Session::class.java - fun getNotNullShortName() : String { - this.shortName?.let { - return it - } - return this.name - } - override fun getDisplayName(context: Context): String { return this.name } @@ -71,7 +64,7 @@ open class Game : RealmObject(), NameManageable, StaticRowRepresentableDataSourc tag: Int ): CharSequence { return when (row) { - SimpleRow.NAME -> if (this.name.isNotEmpty()) this.name else NULL_TEXT + SimpleRow.NAME -> this.name.ifEmpty { NULL_TEXT } GamePropertiesRow.SHORT_NAME -> this.shortName ?: NULL_TEXT else -> return super.charSequenceForRow(row, context, 0) } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt index f9270c34..713bbe89 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt @@ -83,7 +83,7 @@ open class Player : RealmObject(), NameManageable, Savable, Deletable, StaticRow tag: Int ): CharSequence { return when (row) { - PlayerPropertiesRow.NAME -> if (this.name.isNotEmpty()) this.name else NULL_TEXT + PlayerPropertiesRow.NAME -> this.name.ifEmpty { NULL_TEXT } else -> return super.charSequenceForRow(row, context, 0) } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt index facf5f5a..f447cc10 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt @@ -78,7 +78,7 @@ open class Result : RealmObject(), Filterable { var tournamentFinalPosition: Int? = null // Number of rebuys - var numberOfRebuy: Double? = null + private var numberOfRebuy: Double? = null @LinkingObjects("result") private val sessions: RealmResults? = null @@ -88,15 +88,6 @@ open class Result : RealmObject(), Filterable { return this.sessions?.firstOrNull() ?: throw PADataModelException("Unmanaged Result") } -// // Manually set session -// @Ignore -// var inverseSession: WeakReference? = null -// -//// @Ignore -// fun session() : Session { -// return this.inverseSession?.get() ?: throw PADataModelException("Inverse session not set") -// } - /** * Returns 1 if the session is positive */ diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt index 20025072..95ed2768 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt @@ -18,8 +18,7 @@ import net.pokeranalytics.android.util.TextFormat import java.text.DateFormat import java.util.* - -open class SessionSet() : RealmObject(), Timed, Filterable { +open class SessionSet : RealmObject(), Timed, Filterable { @PrimaryKey override var id = UUID.randomUUID().toString() @@ -75,7 +74,7 @@ open class SessionSet() : RealmObject(), Timed, Filterable { var ratedNet: Double = 0.0 - val hourlyRate: Double + private val hourlyRate: Double get() { return this.ratedNet / this.hourlyDuration } @@ -84,7 +83,7 @@ open class SessionSet() : RealmObject(), Timed, Filterable { var bbNet: BB = 0.0 - val bbHourlyRate: BB + private val bbHourlyRate: BB get() { return this.bbNet / this.hourlyDuration } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt deleted file mode 100644 index f9fe2236..00000000 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt +++ /dev/null @@ -1,288 +0,0 @@ -//package net.pokeranalytics.android.model.realm -// -//import io.realm.RealmObject -//import io.realm.RealmQuery -//import io.realm.RealmResults -//import io.realm.annotations.Ignore -//import io.realm.annotations.LinkingObjects -//import net.pokeranalytics.android.exceptions.ModelException -//import timber.log.Timber -//import java.util.* -// -//open class TimeFrame : RealmObject() { -// -// // A start date -// var startDate: Date = Date() -// private set(value) { -// field = value -// this.computeNetDuration() -// } -// -// // An end date -// var endDate: Date? = null -// private set(value) { -// field = value -// this.computeNetDuration() -// } -// -// // The latest pause date -// var pauseDate: Date? = null -// set(value) { -// field?.let { -// if (value == null && field != null) { -// breakDuration += Date().time - it.time -// } -// } -// field = value -// this.computeNetDuration() -// } -// -// // The break netDuration -// var breakDuration: Long = 0L -// set(value) { -// field = value -// this.computeNetDuration() -// } -// -// // the total netDuration -// var netDuration: Long = 0L -// private set -// -// var hourlyDuration: Double = 0.0 -// get() { -// return this.netDuration / 3600000.0 // 3.6 millions of milliseconds -// } -// -// // Session -// @LinkingObjects("timeFrame") -// private val endedSessions: RealmResults? = null // we should have only one session -// -// @Ignore -// var session: Session? = null -// get() = if (this.endedSessions != null && this.endedSessions.isEmpty()) null else this.endedSessions?.first() -// -// // Group -// @LinkingObjects("timeFrame") -// private val sets: RealmResults? = null // we should have only one sessionGroup -// -// @Ignore -// var set: SessionSet? = null -// get() = this.sets?.first() -// -// fun setStart(startDate: Date) { -// this.startDate = startDate -// this.session?.let { -// this.notifySessionDateChange(it) -// } -// } -// -// fun setEnd(endDate: Date?) { -// this.endDate = endDate -// this.session?.let { -// this.notifySessionDateChange(it) -// } -// } -// -// fun setDate(startDate: Date, endDate: Date?) { -// this.startDate = startDate -// this.endDate = endDate -// -// this.session?.let { -// this.notifySessionDateChange(it) -// } -// } -// -// /** -// * Computes the net netDuration of the session -// */ -// private fun computeNetDuration() { -// var endDate: Date = this.endDate ?: Date() -// this.netDuration = endDate.time - this.startDate.time - this.breakDuration -// } -// -// /** -// * Queries all time frames that might be impacted by the date change -// * Makes all necessary changes to keep sequential time frames -// */ -// fun notifySessionDateChange(owner: Session) { -// -// var query: RealmQuery = this.realm.where(SessionSet::class.java) -// query.isNotNull("timeFrame") -// -//// Timber.d("this> sd = : ${this.startDate}, ed = ${this.endDate}") -// -// val sets = realm.where(SessionSet::class.java).findAll() -//// Timber.d("set count = ${sets.size}") -// -// if (this.endDate == null) { -// query.greaterThanOrEqualTo("timeFrame.startDate", this.startDate) -// .or() -// .greaterThanOrEqualTo("timeFrame.endDate", this.startDate) -// .or() -// .isNull("timeFrame.endDate") -// } else { -// val endDate = this.endDate!! -// query -// .lessThanOrEqualTo("timeFrame.startDate", this.startDate) -// .greaterThanOrEqualTo("timeFrame.endDate", this.startDate) -// .or() -// .lessThanOrEqualTo("timeFrame.startDate", endDate) -// .greaterThanOrEqualTo("timeFrame.endDate", endDate) -// .or() -// .greaterThanOrEqualTo("timeFrame.startDate", this.startDate) -// .lessThanOrEqualTo("timeFrame.endDate", endDate) -// .or() -// .isNull("timeFrame.endDate") -// .lessThanOrEqualTo("timeFrame.startDate", endDate) -// } -// -// val sessionGroups = query.findAll() -// -// this.updateTimeFrames(sessionGroups, owner) -// -// } -// -// /** -// * Update Time frames from sets -// */ -// private fun updateTimeFrames(sessionSets: RealmResults, owner: Session) { -// -// when (sessionSets.size) { -// 0 -> this.createOrUpdateSessionSet(owner) -// 1 -> this.updateSessionGroup(owner, sessionSets.first()!!) -// else -> this.mergeSessionGroups(owner, sessionSets) -// } -// -// } -// -// /** -// * Creates the session sessionGroup when the session has none -// */ -// private fun createOrUpdateSessionSet(owner: Session) { -// -// val set = owner.sessionSet -// if (set != null) { -// set.timeFrame?.startDate = this.startDate -// set.timeFrame?.endDate = this.endDate -// } else { -// this.createSessionSet(owner) -// } -// -//// Timber.d("sd = : ${set.timeFrame?.startDate}, ed = ${set.timeFrame?.endDate}") -// Timber.d("netDuration 1 = : ${set?.timeFrame?.netDuration}") -// -// } -// -// fun createSessionSet(owner: Session) { -// val set: SessionSet = SessionSet.newInstanceForResult(this.realm) -// set.timeFrame?.let { -// it.startDate = this.startDate -// it.endDate = this.endDate -// } ?: run { -// throw ModelException("TimeFrame should never be null here") -// } -// -// owner.sessionSet = set -// } -// -// -// /** -// * Single SessionSet update, the session might be the owner -// * Changes the sessionGroup timeframe using the current timeframe dates -// */ -// private fun updateSessionGroup(owner: Session, sessionSet: SessionSet) { -// -// var timeFrame: TimeFrame = sessionSet.timeFrame!! // tested in the query -//// timeFrame.setDate(this.startDate, this.endDate) -// -// val sisterSessions = sessionSet.endedSessions!! // shouldn't crash ever -// -// // if we have only one session in the set and that it corresponds to the set -// if (sessionSet.endedSessions?.size == 1 && sessionSet.endedSessions?.first() == owner) { -// timeFrame.setDate(this.startDate, this.endDate) -// } else { // there are 2+ endedSessions to manage and possible splits -// -// val endDate = this.endDate -// -// // case where all endedSessions are over but the set is not, we might have a split, so we delete the set and save everything again -// if (endDate != null && sisterSessions.all { it.timeFrame?.endDate != null } && timeFrame.endDate == null) { -// var endedSessions = mutableListOf(owner) -// sessionSet.endedSessions?.forEach { endedSessions.add(it) } -// sessionSet.deleteFromRealm() -// endedSessions.forEach { it.timeFrame?.notifySessionDateChange(it) } -// } else { -// -// if (this.startDate.before(timeFrame.startDate)) { -// timeFrame.startDate = this.startDate -// } -// if (endDate != null && timeFrame.endDate != null && endDate.after(timeFrame.endDate)) { -// timeFrame.endDate = endDate -// } else if (endDate == null) { -// timeFrame.endDate = null -// } -// -// owner.sessionSet = sessionSet -// -//// Timber.d("sd = : ${sessionSet.timeFrame?.startDate}, ed = ${sessionSet.timeFrame?.endDate}") -// Timber.d("netDuration 2 = : ${sessionSet.timeFrame?.netDuration}") -// } -// -// } -// -// } -// -// /** -// * Multiple session sets update: -// * Merges all sets into one (delete all then create a new one) -// */ -// private fun mergeSessionGroups(owner: Session, sessionSets: RealmResults) { -// -// var startDate: Date = this.startDate -// var endDate: Date? = this.endDate -// -// // find earlier and later dates from all sets -// val timeFrames = sessionSets.mapNotNull { it.timeFrame } -// timeFrames.forEach { tf -> -// if (tf.startDate.before(startDate)) { -// startDate = tf.startDate -// } -// -// endDate?.let { ed -> -// tf.endDate?.let { tfed -> -// if (tfed.after(ed)) { -// endDate = tfed -// } -// } -// } ?: run { -// endDate = tf.endDate -// } -// -// } -// -// // get all endedSessions from sets -// var endedSessions = mutableSetOf() -// sessionSets.forEach { set -> -// set.endedSessions?.asIterable()?.let { endedSessions.addAll(it) } -// } -// -// // delete all sets -// sessionSets.deleteAllFromRealm() -// -// // Create a new sets -// val set: SessionSet = SessionSet.newInstanceForResult(this.realm) -// set.timeFrame?.let { -// it.setDate(startDate, endDate) -// } ?: run { -// throw ModelException("TimeFrame should never be null here") -// } -// -// // Add the session linked to this timeframe to the new sessionGroup -// owner.sessionSet = set -// -// // Add all orphan endedSessions -// endedSessions.forEach { it.sessionSet = set } -// Timber.d("netDuration 3 = : ${set.timeFrame?.netDuration}") -// -// } -// -//} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt index 63563857..7fe72d47 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt @@ -62,7 +62,7 @@ open class TournamentFeature : RealmObject(), RowRepresentable, RowUpdatable, Na tag: Int ): CharSequence { return when (row) { - SimpleRow.NAME -> if (this.name.isNotEmpty()) this.name else NULL_TEXT + SimpleRow.NAME -> this.name.ifEmpty { NULL_TEXT } else -> return super.charSequenceForRow(row, context, 0) } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt index b3d5e3b6..560408b3 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt @@ -61,7 +61,7 @@ open class TournamentName : RealmObject(), NameManageable, StaticRowRepresentabl tag: Int ): CharSequence { return when (row) { - SimpleRow.NAME -> if (this.name.isNotEmpty()) this.name else NULL_TEXT + SimpleRow.NAME -> this.name.ifEmpty { NULL_TEXT } else -> return super.charSequenceForRow(row, context,0) } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt index 05e5e5ac..86781256 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt @@ -79,7 +79,7 @@ open class Transaction : RealmObject(), RowRepresentable, RowUpdatable, Manageab } // The amount of the transaction - var ratedAmount: Double = 0.0 + private var ratedAmount: Double = 0.0 // The date of the transaction override var date: Date = Date()