Updated on 2026-08-14

This commit is contained in:
Tangem 2025-04-02 18:54:22 +04:00
parent b73b6c3fe7
commit d5299f8094
15 changed files with 119 additions and 10 deletions

View file

@ -32,6 +32,7 @@ dependencies {
/** Domain modules */
implementation(projects.domain.appTheme)
implementation(projects.domain.appTheme.models)
implementation(projects.domain.card)
implementation(projects.domain.feedback)
/** Other libraries */

View file

@ -6,6 +6,7 @@ import com.tangem.datasource.api.common.config.ApiConfig
import com.tangem.datasource.api.common.config.ApiEnvironment
import com.tangem.datasource.api.common.config.managers.ApiConfigsManager
import com.tangem.datasource.api.common.config.managers.MutableApiConfigsManager
import com.tangem.domain.card.repository.CardSdkConfigRepository
import com.tangem.feature.tester.impl.BuildConfig
import com.tangem.feature.tester.impl.R
import com.tangem.feature.tester.presentation.environments.state.EnvironmentTogglesScreenUM
@ -28,6 +29,7 @@ import javax.inject.Inject
@HiltViewModel
internal class EnvironmentsTogglesViewModel @Inject constructor(
apiConfigsManager: ApiConfigsManager,
private val cardSdkConfigRepository: CardSdkConfigRepository,
) : ViewModel() {
/** Current ui state */
@ -92,7 +94,24 @@ internal class EnvironmentsTogglesViewModel @Inject constructor(
private fun onToggleValueChange(id: String, name: String) {
viewModelScope.launch {
mutableApiConfigsManager.changeEnvironment(id = id, environment = ApiEnvironment.valueOf(name))
val environment = ApiEnvironment.valueOf(name)
handleIfTangemCardSdkConfig(id = id, environment = environment)
mutableApiConfigsManager.changeEnvironment(id = id, environment = environment)
}
}
/** Special logic for [ApiConfig.ID.TangemCardSdk] */
private fun handleIfTangemCardSdkConfig(id: String, environment: ApiEnvironment) {
if (id == ApiConfig.ID.TangemCardSdk.name) {
cardSdkConfigRepository.setTangemApiProdEnvFlag(
flag = when (environment) {
ApiEnvironment.PROD -> true
ApiEnvironment.DEV -> false
else -> false
},
)
}
}
}