From 947c865e8b1bbdccee8ba816532406e9f29a1a3a Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 4 Oct 2019 10:40:10 +0200 Subject: [PATCH] Throws exception if the currency code is wrong when setting it --- .../pokeranalytics/android/model/realm/Currency.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 75655d36..6796bc84 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 @@ -3,6 +3,7 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmObject import io.realm.annotations.Ignore import io.realm.annotations.PrimaryKey +import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.util.UserDefaults import java.util.* @@ -22,6 +23,17 @@ open class Currency : RealmObject() { * The currency code of the currency, i.e. USD, EUR... */ var code: String? = null + set(value) { + try { + if (value != null) { + java.util.Currency.getInstance(value) // test validity of code + } + field = value + } catch (e: Exception) { + // make app crash earlier than later, possibly to show an error message to the user in the future + throw PAIllegalStateException(e.localizedMessage) + } + } /** * The rate of the currency with the main currency