Updated on 2026-08-14

This commit is contained in:
Tangem 2025-11-17 12:51:54 +05:00
parent 2746ee308a
commit a139dbca40
22 changed files with 252 additions and 39 deletions

View file

@ -0,0 +1,28 @@
package com.tangem.data.hotwallet
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.datasource.local.preferences.PreferencesKeys
import com.tangem.datasource.local.preferences.utils.getObjectMap
import com.tangem.domain.hotwallet.repository.HotWalletRepository
import com.tangem.domain.models.wallet.UserWalletId
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
internal class DefaultHotWalletRepository(
private val appPreferencesStore: AppPreferencesStore,
) : HotWalletRepository {
override fun accessCodeSkipped(userWalletId: UserWalletId): Flow<Boolean> = appPreferencesStore
.getObjectMap<Boolean>(PreferencesKeys.ACCESS_CODE_SKIPPED_STATES_KEY)
.map { it[userWalletId.stringValue] == true }
override suspend fun setAccessCodeSkipped(userWalletId: UserWalletId, skipped: Boolean) {
appPreferencesStore.editData {
it.setObjectMap(
key = PreferencesKeys.ACCESS_CODE_SKIPPED_STATES_KEY,
value = it.getObjectMap<Boolean>(PreferencesKeys.ACCESS_CODE_SKIPPED_STATES_KEY)
.plus(userWalletId.stringValue to skipped),
)
}
}
}

View file

@ -0,0 +1,23 @@
package com.tangem.data.hotwallet.di
import com.tangem.data.hotwallet.DefaultHotWalletRepository
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.domain.hotwallet.repository.HotWalletRepository
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
internal object HotWalletDataModule {
@Provides
@Singleton
fun provideHotWalletRepository(appPreferencesStore: AppPreferencesStore): HotWalletRepository {
return DefaultHotWalletRepository(
appPreferencesStore = appPreferencesStore,
)
}
}