From cd152b1af3d6f555501c52a3a99312b9f4bc2e38 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 14 Sep 2023 14:25:21 +0300 Subject: [PATCH] Updated on 2026-08-14 --- app/src/main/java/com/tangem/tap/MainActivity.kt | 4 ++-- .../com/tangem/data/card/sdk/DefaultCardSdkProvider.kt | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/MainActivity.kt b/app/src/main/java/com/tangem/tap/MainActivity.kt index 52e9ff1262..efa00b067f 100644 --- a/app/src/main/java/com/tangem/tap/MainActivity.kt +++ b/app/src/main/java/com/tangem/tap/MainActivity.kt @@ -129,6 +129,8 @@ class MainActivity : AppCompatActivity(), SnackbarHandler, ActivityResultCallbac super.onCreate(savedInstanceState) + cardSdkLifecycleObserver.onCreate(context = this) + bootstrapMainStateUpdates() splashScreen.setKeepOnScreenCondition { isInitializing } @@ -138,8 +140,6 @@ class MainActivity : AppCompatActivity(), SnackbarHandler, ActivityResultCallbac store.dispatch(NavigationAction.ActivityCreated(WeakReference(this))) - cardSdkLifecycleObserver.onCreate(context = this) - tangemSdkManager = injectedTangemSdkManager appStateHolder.tangemSdkManager = tangemSdkManager backupService = BackupService.init(cardSdkConfigRepository.sdk, this) diff --git a/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt b/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt index c2c2a2dd19..c58a3014e6 100644 --- a/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt +++ b/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt @@ -20,17 +20,18 @@ import javax.inject.Singleton internal class DefaultCardSdkProvider @Inject constructor() : CardSdkProvider, CardSdkLifecycleObserver { override val sdk: TangemSdk - get() = requireNotNull(value = _sdk?.get()) { "Impossible to get the TangemSdk when activity is destroyed" } + get() = requireNotNull(value = _sdk) { "Impossible to get the TangemSdk when activity is destroyed" } - private var _sdk: WeakReference? = null + private var _sdk: TangemSdk? = null override fun onCreate(context: Context) { - _sdk = WeakReference(TangemSdk.initWithBiometrics(activity = context as FragmentActivity, config = config)) + _sdk = TangemSdk.initWithBiometrics(activity = context as FragmentActivity, config = config) } override fun onDestroy(context: Context) { // Commented out to prevent crash on getting sdk when it's null. // FIXME: We still should find the real cause and fix it properly. + // idea: pass everywhere DefaultCardSdkProvider instead sdk to reach lazy access to sdk property // _sdk = null }