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 | 5 |
1 files changed, 5 insertions, 0 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..b2f1f10 100644 --- a/wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt +++ b/wallet/src/main/java/net/taler/wallet/backend/BackendManager.kt @@ -22,6 +22,7 @@ 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 @@ -40,12 +41,16 @@ class BackendManager( val json = Json { ignoreUnknownKeys = 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) } if (BuildConfig.DEBUG) walletCore.setStdoutHandler { Log.d(TAG_CORE, it) |