From 0802dfb9fc94051745755eecfc6b0063ad5620ff Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 4 Sep 2024 12:50:27 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tap/di/domain/SettingsDomainModule.kt | 8 ++++++++ .../datasource/local/preferences/PreferencesKeys.kt | 2 ++ .../tangem/data/settings/DefaultSettingsRepository.kt | 11 +++++++++++ .../settings/ShouldShowMarketsTooltipUseCase.kt | 10 ++++++++++ .../settings/repositories/SettingsRepository.kt | 4 ++++ 5 files changed, 35 insertions(+) create mode 100644 domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowMarketsTooltipUseCase.kt diff --git a/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt index bebc27226f..1b5860c2c0 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt @@ -57,6 +57,14 @@ internal object SettingsDomainModule { return ShouldShowSaveWalletScreenUseCase(settingsRepository = settingsRepository) } + @Provides + @Singleton + fun provideShouldShowMarketsTooltipUseCase( + settingsRepository: SettingsRepository, + ): ShouldShowMarketsTooltipUseCase { + return ShouldShowMarketsTooltipUseCase(settingsRepository = settingsRepository) + } + @Provides @Singleton fun providesCanUseBiometryUseCase(tangemSdkManager: TangemSdkManager): CanUseBiometryUseCase { diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt index 9b01024cc8..d2c600c572 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt @@ -83,6 +83,8 @@ object PreferencesKeys { val SHOULD_SAVE_ACCESS_CODES_KEY by lazy { booleanPreferencesKey(name = "saveAccessCodes") } + val SHOULD_SHOW_MARKETS_TOOLTIP_KEY by lazy { booleanPreferencesKey(name = "shouldShowMarketsTooltip") } + val IS_WALLET_NAMES_MIGRATION_DONE_KEY by lazy { booleanPreferencesKey(name = "isWalletNamesMigrationDone") } val UNSUBMITTED_TRANSACTIONS_KEY by lazy { stringPreferencesKey(name = "unsubmittedTransactions") } diff --git a/data/settings/src/main/java/com/tangem/data/settings/DefaultSettingsRepository.kt b/data/settings/src/main/java/com/tangem/data/settings/DefaultSettingsRepository.kt index 0fd87454fa..d9122fb1b3 100644 --- a/data/settings/src/main/java/com/tangem/data/settings/DefaultSettingsRepository.kt +++ b/data/settings/src/main/java/com/tangem/data/settings/DefaultSettingsRepository.kt @@ -88,4 +88,15 @@ internal class DefaultSettingsRepository( preferences[PreferencesKeys.APP_LAUNCH_COUNT_KEY] = count + 1 } } + + override suspend fun shouldShowMarketsTooltip(): Boolean { + return appPreferencesStore.getSyncOrDefault( + key = PreferencesKeys.SHOULD_SHOW_MARKETS_TOOLTIP_KEY, + default = true, + ) + } + + override suspend fun setMarketsTooltipShown(value: Boolean) { + appPreferencesStore.store(key = PreferencesKeys.SHOULD_SHOW_MARKETS_TOOLTIP_KEY, value = !value) + } } \ No newline at end of file diff --git a/domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowMarketsTooltipUseCase.kt b/domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowMarketsTooltipUseCase.kt new file mode 100644 index 0000000000..14acc20013 --- /dev/null +++ b/domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowMarketsTooltipUseCase.kt @@ -0,0 +1,10 @@ +package com.tangem.domain.settings + +import com.tangem.domain.settings.repositories.SettingsRepository + +class ShouldShowMarketsTooltipUseCase(private val settingsRepository: SettingsRepository) { + + suspend operator fun invoke(): Boolean = settingsRepository.shouldShowMarketsTooltip() + + suspend operator fun invoke(isShown: Boolean) = settingsRepository.setMarketsTooltipShown(isShown) +} \ No newline at end of file diff --git a/domain/settings/src/main/java/com/tangem/domain/settings/repositories/SettingsRepository.kt b/domain/settings/src/main/java/com/tangem/domain/settings/repositories/SettingsRepository.kt index 50b3e3624d..6067b99a64 100644 --- a/domain/settings/src/main/java/com/tangem/domain/settings/repositories/SettingsRepository.kt +++ b/domain/settings/src/main/java/com/tangem/domain/settings/repositories/SettingsRepository.kt @@ -29,4 +29,8 @@ interface SettingsRepository { suspend fun setShouldSaveAccessCodes(value: Boolean) suspend fun incrementAppLaunchCounter() + + suspend fun shouldShowMarketsTooltip(): Boolean + + suspend fun setMarketsTooltipShown(value: Boolean) } \ No newline at end of file