From 5a0d86e533a1a01fe51100537ffab3219a1e758a Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 3 Nov 2022 15:46:42 +0100 Subject: [PATCH] Fixes --- .../android/PokerAnalyticsApplication.kt | 4 ++- .../android/model/migrations/Patcher.kt | 15 +++++++++++ .../migrations/PokerAnalyticsMigration.kt | 6 +++++ .../android/model/realm/Transaction.kt | 8 ++++-- .../android/util/Preferences.kt | 25 ++++++++++--------- 5 files changed, 43 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index a57afe66..e481dd40 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -39,7 +39,9 @@ class PokerAnalyticsApplication : Application() { override fun onCreate() { super.onCreate() - FirebaseApp.initializeApp(this) + if (!BuildConfig.DEBUG) { + FirebaseApp.initializeApp(this) + } UserDefaults.init(this) diff --git a/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt b/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt index 89db8b65..fc154bae 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt @@ -57,6 +57,10 @@ class Patcher { patchZeroTable() } + Preferences.executeOnce(Preferences.Keys.PATCH_RATED_AMOUNT, context) { + patchRatedAmounts() + } + patchPerformances(application) } @@ -215,5 +219,16 @@ class Patcher { realm.close() } + private fun patchRatedAmounts() { + val realm = Realm.getDefaultInstance() + val transactions = realm.where().findAll() + realm.executeTransaction { + transactions.forEach { t -> + t.computeRatedAmount() + } + } + realm.close() + } + } } \ No newline at end of file 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 91d61f5e..93f7d03c 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 @@ -326,6 +326,12 @@ class PokerAnalyticsMigration : RealmMigration { ucs.addField("transactionTypeIds", String::class.java).setRequired("transactionTypeIds", true) } ?: throw PAIllegalStateException("UserConfig schema not found") + schema.get("Performance")?.let { ps -> + if (!ps.isPrimaryKey("id")) { + ps.addPrimaryKey("id") + } + } + currentVersion++ } 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 094dca1d..05e5e5ac 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 @@ -75,8 +75,7 @@ open class Transaction : RealmObject(), RowRepresentable, RowUpdatable, Manageab override var amount: Double = 0.0 set(value) { field = value - val rate = this.bankroll?.currency?.rate ?: 1.0 - this.ratedAmount = rate * value + computeRatedAmount() } // The amount of the transaction @@ -114,6 +113,11 @@ open class Transaction : RealmObject(), RowRepresentable, RowUpdatable, Manageab RATED_AMOUNT("ratedAmount") } + fun computeRatedAmount() { + val rate = this.bankroll?.currency?.rate ?: 1.0 + this.ratedAmount = rate * this.amount + } + val displayAmount: Double get() { // for transfers we want to show a positive value (in the feed for instance) return if (this.destination == null) { this.amount } else { abs(this.amount) } diff --git a/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt b/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt index 853ffa13..bb78ed43 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/Preferences.kt @@ -48,7 +48,8 @@ class Preferences { PATCH_STAKES("patchStakes"), CLEAN_BLINDS_FILTERS("deleteBlindsFilters"), SHOW_IN_APP_BADGES("showInAppBadges"), - LAST_CALENDAR_BADGE_DATE("lastCalendarBadgeDate") + LAST_CALENDAR_BADGE_DATE("lastCalendarBadgeDate"), + PATCH_RATED_AMOUNT("patchRatedAmount[new field]") } enum class FeedMessage { @@ -101,17 +102,17 @@ class Preferences { companion object { - fun setStringSet(key: PreferenceKey, value: MutableSet, context: Context) { - val preferences = PreferenceManager.getDefaultSharedPreferences(context) - val editor = preferences.edit() - editor.putStringSet(key.identifier, value) - editor.apply() - } - - fun getStringSet(key: Keys, context: Context): MutableSet? { - val preferences = PreferenceManager.getDefaultSharedPreferences(context) - return preferences.getStringSet(key.identifier, null) - } +// fun setStringSet(key: PreferenceKey, value: MutableSet, context: Context) { +// val preferences = PreferenceManager.getDefaultSharedPreferences(context) +// val editor = preferences.edit() +// editor.putStringSet(key.identifier, value) +// editor.apply() +// } +// +// fun getStringSet(key: Keys, context: Context): MutableSet? { +// val preferences = PreferenceManager.getDefaultSharedPreferences(context) +// return preferences.getStringSet(key.identifier, null) +// } fun setString(key: PreferenceKey, value: String, context: Context) { val preferences = PreferenceManager.getDefaultSharedPreferences(context)