diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt index 45f8dcd9..264400fd 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt @@ -3,8 +3,6 @@ package net.pokeranalytics.android.model.realm import io.realm.Realm import io.realm.RealmList import io.realm.RealmObject -import io.realm.RealmResults -import io.realm.annotations.LinkingObjects import io.realm.annotations.PrimaryKey import io.realm.kotlin.where import net.pokeranalytics.android.R @@ -34,9 +32,6 @@ open class Bankroll() : RealmObject(), NameManageable, StaticRowRepresentableDat } } - @LinkingObjects("bankroll") - private val sessions: RealmResults? = null - @PrimaryKey override var id = UUID.randomUUID().toString() @@ -51,12 +46,6 @@ open class Bankroll() : RealmObject(), NameManageable, StaticRowRepresentableDat // The currency of the bankroll var currency: Currency? = null - fun currencyCodeHasBeenUpdated() { - sessions?.forEach { - it.bankrollHasBeenUpdated() - } - } - override fun getDisplayName(): String { return this.name } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt index 60e67d27..5dc19015 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt @@ -1,11 +1,8 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmObject -import io.realm.RealmResults import io.realm.annotations.Ignore -import io.realm.annotations.LinkingObjects import io.realm.annotations.PrimaryKey -import net.pokeranalytics.android.util.Preferences import java.util.* open class Currency : RealmObject() { @@ -16,19 +13,10 @@ open class Currency : RealmObject() { @PrimaryKey var id = UUID.randomUUID().toString() - @LinkingObjects("currency") - private val bankrolls: RealmResults? = null - /** * The currency code of the currency, i.e. USD, EUR... */ var code: String? = null - set(value) { - field = value - bankrolls?.forEach { - it.currencyCodeHasBeenUpdated() - } - } /** * The rate of the currency with the main currency @@ -49,6 +37,8 @@ open class Currency : RealmObject() { computable.ratedBuyin = it * rate } + computable.session?.bankrollHasBeenUpdated() + } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt index 4ed534d9..782b6de8 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt @@ -12,6 +12,7 @@ import kotlinx.android.synthetic.main.fragment_settings.* import net.pokeranalytics.android.BuildConfig import net.pokeranalytics.android.R import net.pokeranalytics.android.model.realm.Bankroll +import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.ui.activity.CurrenciesActivity import net.pokeranalytics.android.ui.activity.DataListActivity import net.pokeranalytics.android.ui.activity.GDPRActivity @@ -74,8 +75,8 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta Preferences.setCurrencyCode(data.getStringExtra(CurrenciesFragment.INTENT_CURRENCY_CODE), requireContext()) val realm = Realm.getDefaultInstance() realm.executeTransaction { - it.where(Bankroll::class.java).isNull("currency.code").findAll().forEach { bankroll -> - bankroll.currencyCodeHasBeenUpdated() + it.where(Session::class.java).isNull("bankroll.currency.code").findAll().forEach { + it.bankrollHasBeenUpdated() } } realm.close()