Updated on 2026-08-14

This commit is contained in:
Tangem 2023-06-28 15:54:43 +03:00
parent 54d8ce26bf
commit 1b486b730c
15 changed files with 99 additions and 49 deletions

View file

@ -3,7 +3,6 @@ package com.tangem.tap
import android.app.Application
import android.content.Context
import android.content.pm.PackageManager
import androidx.compose.ui.text.intl.Locale
import coil.ImageLoader
import coil.ImageLoaderFactory
import com.tangem.Log
@ -146,7 +145,7 @@ class TapApplication : Application(), ImageLoaderFactory {
lateinit var walletConnectSessionsRepository: WalletConnectSessionsRepository
@Inject
lateinit var learn2ernInteractor: Learn2earnInteractor
lateinit var learn2earnInteractor: Learn2earnInteractor
override fun onCreate() {
super.onCreate()
@ -205,7 +204,7 @@ class TapApplication : Application(), ImageLoaderFactory {
// [REDACTED_JIRA]
runBlocking {
featureTogglesManager.init()
learn2ernInteractor.init()
learn2earnInteractor.init()
}
initTopUpController()
@ -246,7 +245,6 @@ class TapApplication : Application(), ImageLoaderFactory {
shopService = TangemShopService(this, config.shopify!!)
initAnalytics(this, config)
initFeedbackManager(this, preferencesStorage, foregroundActivityObserver, store)
setupLearn2earnAdditionalDependencies(config)
}
private fun initAnalytics(application: Application, config: Config) {
@ -309,13 +307,6 @@ class TapApplication : Application(), ImageLoaderFactory {
store.dispatch(GlobalAction.SetFeedbackManager(feedbackManager))
}
private fun setupLearn2earnAdditionalDependencies(config: Config) {
learn2ernInteractor.setupDependencies(
authCredentials = config.tangemComAuthorization,
countryCodeProvider = { store.state.globalState.userCountryCode ?: Locale.current.language },
)
}
private fun initWarningMessagesManager() {
store.dispatch(GlobalAction.SetWarningManager(WarningMessagesManager()))
}

View file

@ -217,7 +217,11 @@ class WalletFragment : Fragment(R.layout.fragment_wallet), SafeStoreSubscriber<W
binding.composeLearnToEarnContainer.show(true) { binding.llWarnings.beginDelayedTransition() }
binding.composeLearnToEarnContainer.apply {
setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
setViewCompositionStrategy(
strategy = ViewCompositionStrategy.DisposeOnLifecycleDestroyed(
lifecycle = this@WalletFragment.lifecycle,
),
)
setContent {
TangemTheme {
Learn2earnMainPageScreen(learn2earnViewModel.uiState)

View file

@ -1,6 +1,8 @@
package com.tangem.tap.proxy.di
import androidx.compose.ui.text.intl.Locale
import com.tangem.core.analytics.api.AnalyticsEventHandler
import com.tangem.feature.learn2earn.domain.api.Learn2earnDependencyProvider
import com.tangem.lib.crypto.DerivationManager
import com.tangem.lib.crypto.TransactionManager
import com.tangem.lib.crypto.UserWalletManager
@ -48,4 +50,20 @@ class ProxyModule {
appStateHolder = appStateHolder,
)
}
// regions FeatureConsumers
@Provides
@Singleton
fun provideLear2earnDependencies(appStateHolder: AppStateHolder): Learn2earnDependencyProvider {
return object : Learn2earnDependencyProvider {
override fun getUserCountryCodeProvider(): () -> String = {
appStateHolder.mainStore?.state?.globalState?.userCountryCode ?: Locale.current.language
}
override fun getWebViewAuthCredentialsProvider(): () -> String? = {
appStateHolder.mainStore?.state?.globalState?.configManager?.config?.tangemComAuthorization
}
}
}
// endregion FeatureConsumers
}