summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt8
1 files changed, 7 insertions, 1 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt b/wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt
index ae338e8..9292ef5 100644
--- a/wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt
@@ -17,11 +17,11 @@
package net.taler.wallet.backend
import android.util.Log
-import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import net.taler.qtart.TalerWalletCore
import net.taler.wallet.BuildConfig
import org.json.JSONObject
+import java.util.concurrent.atomic.AtomicBoolean
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine
@@ -39,14 +39,20 @@ class BackendManager(
private const val TAG_CORE = "taler-wallet-embedded"
val json = Json {
ignoreUnknownKeys = true
+ coerceInputValues = true
}
+ @JvmStatic
+ private val initialized = AtomicBoolean(false)
}
private val walletCore = TalerWalletCore()
private val requestManager = RequestManager()
init {
+ // TODO using Dagger/Hilt and @Singleton would be nice as well
+ if (initialized.getAndSet(true)) error("Already initialized")
walletCore.setMessageHandler { onMessageReceived(it) }
+ walletCore.setCurlHttpClient()
if (BuildConfig.DEBUG) walletCore.setStdoutHandler {
Log.d(TAG_CORE, it)
}