summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-01-22 09:30:27 -0300
committerTorsten Grote <t@grobox.de>2020-01-22 09:37:51 -0300
commitc20a7945f2b37863264c3b9bdcc85454018bd4cd (patch)
tree36ce127f99aa1ff910af817be4a96c5175456b4f /app/src/main/java
parent2371ad0e4492e31648c0451b0b3fa799f7a99a42 (diff)
downloadwallet-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.kt5
-rw-r--r--app/src/main/java/net/taler/wallet/history/HistoryEvent.kt7
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,