diff options
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.kt | 8 |
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) } |