diff options
author | Torsten Grote <t@grobox.de> | 2020-01-22 09:30:27 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-01-22 09:37:51 -0300 |
commit | c20a7945f2b37863264c3b9bdcc85454018bd4cd (patch) | |
tree | 36ce127f99aa1ff910af817be4a96c5175456b4f /app/src/main/java | |
parent | 2371ad0e4492e31648c0451b0b3fa799f7a99a42 (diff) | |
download | wallet-android-c20a7945f2b37863264c3b9bdcc85454018bd4cd.tar.gz wallet-android-c20a7945f2b37863264c3b9bdcc85454018bd4cd.tar.bz2 wallet-android-c20a7945f2b37863264c3b9bdcc85454018bd4cd.zip |
Don't crash on and show unknown events
Also don't crash on unexpected properties
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/net/taler/wallet/WalletViewModel.kt | 5 | ||||
-rw-r--r-- | app/src/main/java/net/taler/wallet/history/HistoryEvent.kt | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/app/src/main/java/net/taler/wallet/WalletViewModel.kt b/app/src/main/java/net/taler/wallet/WalletViewModel.kt index bc8c7e2..ad41e77 100644 --- a/app/src/main/java/net/taler/wallet/WalletViewModel.kt +++ b/app/src/main/java/net/taler/wallet/WalletViewModel.kt @@ -19,6 +19,7 @@ package net.taler.wallet import android.app.Application import android.util.Log import androidx.lifecycle.* +import com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.kotlin.KotlinModule import com.fasterxml.jackson.module.kotlin.readValue @@ -130,7 +131,9 @@ class WalletViewModel(val app: Application) : AndroidViewModel(app) { private var currentWithdrawRequestId = 0 private val walletBackendApi = WalletBackendApi(app) - private val mapper = ObjectMapper().registerModule(KotlinModule()) + private val mapper = ObjectMapper() + .registerModule(KotlinModule()) + .configure(FAIL_ON_UNKNOWN_PROPERTIES, false) fun init() { if (initialized) { diff --git a/app/src/main/java/net/taler/wallet/history/HistoryEvent.kt b/app/src/main/java/net/taler/wallet/history/HistoryEvent.kt index e2a7c7e..787b430 100644 --- a/app/src/main/java/net/taler/wallet/history/HistoryEvent.kt +++ b/app/src/main/java/net/taler/wallet/history/HistoryEvent.kt @@ -87,7 +87,8 @@ typealias History = ArrayList<HistoryEvent> @JsonTypeInfo( use = NAME, include = PROPERTY, - property = "type" + property = "type", + defaultImpl = HistoryUnknownEvent::class ) /** missing: AuditorComplaintSent = "auditor-complained-sent", @@ -136,6 +137,10 @@ abstract class HistoryEvent( } +class HistoryUnknownEvent(timestamp: Timestamp) : HistoryEvent(timestamp) { + override val title = R.string.history_event_unknown +} + @JsonTypeName("exchange-added") class ExchangeAddedEvent( timestamp: Timestamp, |