Updated on 2026-08-14
This commit is contained in:
parent
7d160ba11e
commit
8cf3d20187
7 changed files with 18 additions and 45 deletions
|
|
@ -2,7 +2,6 @@ package com.tangem.tap.di.domain
|
|||
|
||||
import com.tangem.domain.card.*
|
||||
import com.tangem.domain.card.repository.CardRepository
|
||||
import com.tangem.domain.card.repository.CardSdkConfigRepository
|
||||
import com.tangem.domain.card.repository.DerivationsRepository
|
||||
import com.tangem.domain.demo.DemoConfig
|
||||
import com.tangem.domain.demo.IsDemoCardUseCase
|
||||
|
|
@ -22,14 +21,6 @@ import javax.inject.Singleton
|
|||
@InstallIn(SingletonComponent::class)
|
||||
internal object CardDomainModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideSetAccessCodeRequestPolicyUseCase(
|
||||
cardSdkConfigRepository: CardSdkConfigRepository,
|
||||
): SetAccessCodeRequestPolicyUseCase {
|
||||
return SetAccessCodeRequestPolicyUseCase(cardSdkConfigRepository = cardSdkConfigRepository)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideSetCardWasScannedUseCase(cardRepository: CardRepository): SetCardWasScannedUseCase {
|
||||
|
|
|
|||
|
|
@ -182,12 +182,6 @@ internal object SettingsDomainModule {
|
|||
): NeverRequestPermissionUseCase {
|
||||
return NeverRequestPermissionUseCase(repository = permissionRepository)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideShouldSaveAccessCodesUseCase(settingsRepository: SettingsRepository): ShouldSaveAccessCodesUseCase {
|
||||
return ShouldSaveAccessCodesUseCase(settingsRepository = settingsRepository)
|
||||
}
|
||||
// endregion
|
||||
|
||||
@Provides
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@ import com.tangem.core.analytics.models.AnalyticsParam
|
|||
import com.tangem.core.analytics.models.Basic
|
||||
import com.tangem.core.navigation.url.UrlOpener
|
||||
import com.tangem.domain.card.ScanCardProcessor
|
||||
import com.tangem.domain.card.SetAccessCodeRequestPolicyUseCase
|
||||
import com.tangem.domain.card.repository.CardSdkConfigRepository
|
||||
import com.tangem.domain.common.util.cardTypesResolver
|
||||
import com.tangem.domain.models.scan.ScanResponse
|
||||
import com.tangem.domain.settings.ShouldSaveAccessCodesUseCase
|
||||
import com.tangem.domain.settings.repositories.SettingsRepository
|
||||
import com.tangem.domain.tokens.TokensAction
|
||||
import com.tangem.domain.wallets.builder.UserWalletBuilder
|
||||
import com.tangem.domain.wallets.usecase.GenerateWalletNameUseCase
|
||||
|
|
@ -39,11 +39,11 @@ import javax.inject.Inject
|
|||
@Suppress("LongParameterList")
|
||||
@HiltViewModel
|
||||
internal class HomeViewModel @Inject constructor(
|
||||
private val shouldSaveAccessCodesUseCase: ShouldSaveAccessCodesUseCase,
|
||||
private val setAccessCodeRequestPolicyUseCase: SetAccessCodeRequestPolicyUseCase,
|
||||
private val scanCardProcessor: ScanCardProcessor,
|
||||
private val generateWalletNameUseCase: GenerateWalletNameUseCase,
|
||||
private val saveWalletUseCase: SaveWalletUseCase,
|
||||
private val cardSdkConfigRepository: CardSdkConfigRepository,
|
||||
private val settingsRepository: SettingsRepository,
|
||||
private val urlOpener: UrlOpener,
|
||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||
) : ViewModel() {
|
||||
|
|
@ -73,7 +73,7 @@ internal class HomeViewModel @Inject constructor(
|
|||
|
||||
private fun scanCard() {
|
||||
viewModelScope.launch {
|
||||
setAccessCodeRequestPolicyUseCase(isBiometricsRequestPolicy = shouldSaveAccessCodesUseCase())
|
||||
cardSdkConfigRepository.isBiometricsRequestPolicy = settingsRepository.shouldSaveAccessCodes()
|
||||
|
||||
scanCardProcessor.scan(
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Intro,
|
||||
|
|
|
|||
|
|
@ -26,6 +26,16 @@ internal class DefaultCardSdkConfigRepository(
|
|||
override val sdk: TangemSdk
|
||||
get() = cardSdkProvider.sdk
|
||||
|
||||
override var isBiometricsRequestPolicy: Boolean
|
||||
get() = sdk.config.userCodeRequestPolicy is UserCodeRequestPolicy.AlwaysWithBiometrics
|
||||
set(value) {
|
||||
sdk.config.userCodeRequestPolicy = if (value) {
|
||||
UserCodeRequestPolicy.AlwaysWithBiometrics(codeType = UserCodeType.AccessCode)
|
||||
} else {
|
||||
UserCodeRequestPolicy.Default
|
||||
}
|
||||
}
|
||||
|
||||
override fun setAccessCodeRequestPolicy(isBiometricsRequestPolicy: Boolean) {
|
||||
sdk.config.userCodeRequestPolicy = if (isBiometricsRequestPolicy) {
|
||||
UserCodeRequestPolicy.AlwaysWithBiometrics(codeType = UserCodeType.AccessCode)
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
package com.tangem.domain.card
|
||||
|
||||
import com.tangem.domain.card.repository.CardSdkConfigRepository
|
||||
|
||||
/**
|
||||
* Set access code request policy by 'isBiometricsRequestPolicy'
|
||||
*
|
||||
* @property cardSdkConfigRepository repository for managing of CardSDK config
|
||||
*
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
class SetAccessCodeRequestPolicyUseCase(private val cardSdkConfigRepository: CardSdkConfigRepository) {
|
||||
|
||||
operator fun invoke(isBiometricsRequestPolicy: Boolean) {
|
||||
cardSdkConfigRepository.setAccessCodeRequestPolicy(isBiometricsRequestPolicy)
|
||||
}
|
||||
}
|
||||
|
|
@ -15,6 +15,9 @@ interface CardSdkConfigRepository {
|
|||
@Deprecated("Use CardSdkConfigRepository's methods instead of this property")
|
||||
val sdk: TangemSdk
|
||||
|
||||
/** Allow requesting access codes from biometrically protected storage */
|
||||
var isBiometricsRequestPolicy: Boolean
|
||||
|
||||
/** Set access code request policy by [isBiometricsRequestPolicy] */
|
||||
fun setAccessCodeRequestPolicy(isBiometricsRequestPolicy: Boolean)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
package com.tangem.domain.settings
|
||||
|
||||
import com.tangem.domain.settings.repositories.SettingsRepository
|
||||
|
||||
class ShouldSaveAccessCodesUseCase(private val settingsRepository: SettingsRepository) {
|
||||
|
||||
suspend operator fun invoke(): Boolean = settingsRepository.shouldSaveAccessCodes()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue