Updated on 2026-08-14
This commit is contained in:
parent
fabac3cf5b
commit
563d95d75e
5 changed files with 42 additions and 4 deletions
|
|
@ -1,9 +1,6 @@
|
|||
package com.tangem.tap.di.domain
|
||||
|
||||
import com.tangem.domain.promo.PromoRepository
|
||||
import com.tangem.domain.promo.ShouldShowRingPromoUseCase
|
||||
import com.tangem.domain.promo.ShouldShowSwapPromoTokenUseCase
|
||||
import com.tangem.domain.promo.ShouldShowSwapPromoWalletUseCase
|
||||
import com.tangem.domain.promo.*
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -33,4 +30,10 @@ internal object PromoDomainModule {
|
|||
fun provideShouldShowSwapPromoTokenUseCase(promoRepository: PromoRepository): ShouldShowSwapPromoTokenUseCase {
|
||||
return ShouldShowSwapPromoTokenUseCase(promoRepository)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideShouldShowSwapStoriesUseCase(promoRepository: PromoRepository): ShouldShowSwapStoriesUseCase {
|
||||
return ShouldShowSwapStoriesUseCase(promoRepository)
|
||||
}
|
||||
}
|
||||
|
|
@ -113,6 +113,8 @@ object PreferencesKeys {
|
|||
|
||||
val WAS_LOG_FILE_CLEARED by lazy { booleanPreferencesKey(name = "wasLogFileCleared") }
|
||||
|
||||
val SHOULD_SHOW_SWAP_STORIES_KEY by lazy { booleanPreferencesKey("shouldShowSwapStories") }
|
||||
|
||||
// region Permission
|
||||
fun getShouldShowPermission(permission: String) = booleanPreferencesKey("shouldShowPushPermission_$permission")
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,9 @@ import com.tangem.datasource.local.preferences.PreferencesKeys.ADDED_WALLETS_WIT
|
|||
import com.tangem.datasource.local.preferences.PreferencesKeys.IS_TOKEN_SWAP_PROMO_OKX_SHOW_KEY
|
||||
import com.tangem.datasource.local.preferences.PreferencesKeys.IS_WALLET_SWAP_PROMO_OKX_SHOW_KEY
|
||||
import com.tangem.datasource.local.preferences.PreferencesKeys.SHOULD_SHOW_RING_PROMO_KEY
|
||||
import com.tangem.datasource.local.preferences.PreferencesKeys.SHOULD_SHOW_SWAP_STORIES_KEY
|
||||
import com.tangem.datasource.local.preferences.utils.get
|
||||
import com.tangem.datasource.local.preferences.utils.getSyncOrDefault
|
||||
import com.tangem.datasource.local.preferences.utils.store
|
||||
import com.tangem.domain.promo.PromoRepository
|
||||
import com.tangem.domain.promo.models.PromoBanner
|
||||
|
|
@ -89,6 +91,21 @@ internal class DefaultPromoRepository(
|
|||
appPreferencesStore.store(key = SHOULD_SHOW_RING_PROMO_KEY, value = false)
|
||||
}
|
||||
|
||||
override fun isReadyToShowSwapStories(): Flow<Boolean> {
|
||||
return appPreferencesStore.get(SHOULD_SHOW_SWAP_STORIES_KEY, true)
|
||||
}
|
||||
|
||||
override suspend fun isReadyToShowSwapStoriesSync(): Boolean {
|
||||
return appPreferencesStore.getSyncOrDefault(SHOULD_SHOW_SWAP_STORIES_KEY, true)
|
||||
}
|
||||
|
||||
override suspend fun setNeverToShowSwapStories() {
|
||||
appPreferencesStore.store(
|
||||
key = SHOULD_SHOW_SWAP_STORIES_KEY,
|
||||
value = false,
|
||||
)
|
||||
}
|
||||
|
||||
private companion object {
|
||||
private const val CHANGELLY_NAME = "changelly"
|
||||
private const val OKX = "okx"
|
||||
|
|
|
|||
|
|
@ -23,4 +23,10 @@ interface PromoRepository {
|
|||
fun isReadyToShowRingPromo(userWalletId: UserWalletId): Flow<Boolean>
|
||||
|
||||
suspend fun setNeverToShowRingPromo()
|
||||
|
||||
fun isReadyToShowSwapStories(): Flow<Boolean>
|
||||
|
||||
suspend fun isReadyToShowSwapStoriesSync(): Boolean
|
||||
|
||||
suspend fun setNeverToShowSwapStories()
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.tangem.domain.promo
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
class ShouldShowSwapStoriesUseCase(private val promoRepository: PromoRepository) {
|
||||
operator fun invoke(): Flow<Boolean> = promoRepository.isReadyToShowSwapStories()
|
||||
suspend fun invokeSync(): Boolean = promoRepository.isReadyToShowSwapStoriesSync()
|
||||
|
||||
suspend fun neverToShow() = promoRepository.setNeverToShowSwapStories()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue