Updated on 2026-08-14

This commit is contained in:
Tangem 2023-08-14 18:05:43 +03:00
parent eef7bac933
commit fc173d3a1f
18 changed files with 190 additions and 7 deletions

1
data/app-currency/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/build

View file

@ -0,0 +1,33 @@
plugins {
alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android)
alias(deps.plugins.kotlin.kapt)
id("configuration")
}
android {
namespace = "com.tangem.data.appcurrency"
}
dependencies {
/** Project - Domain */
implementation(projects.domain.core)
implementation(projects.domain.appCurrency)
implementation(projects.domain.appCurrency.models)
/** Project - Data */
implementation(projects.core.datasource)
implementation(projects.data.common)
/** Project - Utils */
implementation(projects.core.utils)
/** DI */
implementation(deps.hilt.core)
kapt(deps.hilt.kapt)
/** Other */
implementation(deps.kotlin.coroutines)
implementation(deps.timber)
}

View file

@ -0,0 +1,23 @@
package com.tangem.data.appcurrency
import com.tangem.domain.appcurrency.model.AppCurrency
import com.tangem.domain.appcurrency.repository.AppCurrencyRepository
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOf
internal class MockAppCurrencyRepository : AppCurrencyRepository {
private val mockAppCurrencies = listOf(AppCurrency(code = "USD", name = "US Dollar", symbol = "$"))
override fun getSelectedAppCurrency(): Flow<AppCurrency> {
return flowOf(mockAppCurrencies.first())
}
override suspend fun getAvailableAppCurrencies(): List<AppCurrency> {
return mockAppCurrencies
}
override suspend fun changeAppCurrency(appCurrency: AppCurrency) {
/* no-op */
}
}

View file

@ -0,0 +1,20 @@
package com.tangem.data.appcurrency.di
import com.tangem.data.appcurrency.MockAppCurrencyRepository
import com.tangem.domain.appcurrency.repository.AppCurrencyRepository
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 AppCurrencyDataModule {
@Provides
@Singleton
fun provideAppCurrencyRepository(): AppCurrencyRepository {
return MockAppCurrencyRepository()
}
}

View file

@ -13,10 +13,10 @@ dependencies {
/** Project - Domain */
implementation(projects.domain.core)
implementation(projects.domain.demo)
implementation(projects.domain.models)
implementation(projects.domain.tokens)
implementation(projects.domain.tokens.models)
implementation(projects.domain.demo)
implementation(projects.domain.wallets.models)
/** Project - Data */
@ -37,7 +37,6 @@ dependencies {
/** Other */
implementation(deps.kotlin.coroutines)
implementation(deps.arrow.core)
implementation(deps.moshi.kotlin)
implementation(deps.jodatime)
implementation(deps.timber)