Updated on 2026-08-14

This commit is contained in:
Tangem 2023-11-27 13:22:59 +08:00
parent d2d7dd6e71
commit 31c82b5331
9 changed files with 102 additions and 23 deletions

View file

@ -1,16 +1,35 @@
package com.tangem.data.settings
import com.tangem.data.source.preferences.PreferencesDataSource
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.datasource.local.preferences.PreferencesKeys
import com.tangem.datasource.local.preferences.utils.getSyncOrDefault
import com.tangem.datasource.local.preferences.utils.store
import com.tangem.domain.settings.repositories.SettingsRepository
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import kotlinx.coroutines.withContext
internal class DefaultSettingsRepository(
private val preferencesDataSource: PreferencesDataSource,
private val appPreferencesStore: AppPreferencesStore,
private val dispatchers: CoroutineDispatcherProvider,
) : SettingsRepository {
override suspend fun shouldShowSaveUserWalletScreen(): Boolean {
return withContext(dispatchers.io) { preferencesDataSource.shouldShowSaveUserWalletScreen }
}
override suspend fun isWalletScrollPreviewEnabled(): Boolean {
return appPreferencesStore.getSyncOrDefault(
key = PreferencesKeys.WALLETS_SCROLL_PREVIEW_KEY,
default = true,
)
}
override suspend fun setWalletScrollPreviewAvailability(isEnabled: Boolean) {
appPreferencesStore.store(
key = PreferencesKeys.WALLETS_SCROLL_PREVIEW_KEY,
value = isEnabled,
)
}
}

View file

@ -21,10 +21,12 @@ internal object SettingsDataModule {
@Singleton
fun provideSettingsRepository(
preferencesDataSource: PreferencesDataSource,
appPreferencesStore: AppPreferencesStore,
dispatchers: CoroutineDispatcherProvider,
): SettingsRepository {
return DefaultSettingsRepository(
preferencesDataSource = preferencesDataSource,
appPreferencesStore = appPreferencesStore,
dispatchers = dispatchers,
)
}