Updated on 2026-08-14

This commit is contained in:
Tangem 2024-09-17 19:19:22 +03:00
commit ae80242926
8 changed files with 25 additions and 45 deletions

View file

@ -1,8 +0,0 @@
package com.tangem.datasource.di
import javax.inject.Qualifier
@Qualifier
@MustBeDocumented
@Retention(AnnotationRetention.RUNTIME)
annotation class DevTangemApi

View file

@ -35,7 +35,6 @@ import javax.inject.Singleton
@InstallIn(SingletonComponent::class)
internal object NetworkModule {
private const val DEV_V1_TANGEM_TECH_BASE_URL = "https://devapi.tangem-tech.com/v1/"
private const val PROD_V2_TANGEM_TECH_BASE_URL = "https://api.tangem-tech.com/v2/"
private const val TANGEM_TECH_MARKETS_SERVICE_TIMEOUT_SECONDS = 60L
@ -128,44 +127,27 @@ internal object NetworkModule {
}
@Provides
@DevTangemApi
@Singleton
fun provideTangemTechDevApi(
@NetworkMoshi moshi: Moshi,
@ApplicationContext context: Context,
appVersionProvider: AppVersionProvider,
): TangemTechApi {
return provideTangemTechApiInternal(
moshi = moshi,
context = context,
appVersionProvider = appVersionProvider,
baseUrl = DEV_V1_TANGEM_TECH_BASE_URL,
)
}
// TODO: [REDACTED_JIRA]
@Provides
@DevTangemApi
@Singleton
fun provideTangemTechMarketsApi(
@NetworkMoshi moshi: Moshi,
@ApplicationContext context: Context,
appVersionProvider: AppVersionProvider,
apiConfigsManager: ApiConfigsManager,
): TangemTechMarketsApi {
return provideTangemTechApiInternal(
return createApi(
id = ApiConfig.ID.TangemTech,
moshi = moshi,
context = context,
appVersionProvider = appVersionProvider,
baseUrl = DEV_V1_TANGEM_TECH_BASE_URL,
timeouts = Timeouts(
callTimeoutSeconds = TANGEM_TECH_MARKETS_SERVICE_TIMEOUT_SECONDS,
connectTimeoutSeconds = TANGEM_TECH_MARKETS_SERVICE_TIMEOUT_SECONDS,
readTimeoutSeconds = TANGEM_TECH_MARKETS_SERVICE_TIMEOUT_SECONDS,
),
requestHeaders = listOf(AppVersionPlatformHeaders(appVersionProvider)),
apiConfigsManager = apiConfigsManager,
clientBuilder = {
this.callTimeout(TANGEM_TECH_MARKETS_SERVICE_TIMEOUT_SECONDS, TimeUnit.SECONDS)
.connectTimeout(TANGEM_TECH_MARKETS_SERVICE_TIMEOUT_SECONDS, TimeUnit.SECONDS)
.readTimeout(TANGEM_TECH_MARKETS_SERVICE_TIMEOUT_SECONDS, TimeUnit.SECONDS)
.applyTimeoutAnnotations()
},
)
}
@Deprecated("use createApi instead")
private inline fun <reified T> provideTangemTechApiInternal(
moshi: Moshi,
context: Context,

View file

@ -356,6 +356,7 @@
<string name="markets_loading_error_title">Невозможно загрузить данные</string>
<string name="markets_loading_no_data_title">Нет данных</string>
<string name="markets_quick_actions">Быстрые действия</string>
<string name="markets_search_header_title">Искать на маркете</string>
<string name="markets_search_result_title">Результат</string>
<string name="markets_search_see_tokens_under_100k">Токены с капитализацией меньше 100к USD</string>
<string name="markets_search_show_tokens">Показать токены</string>

View file

@ -356,6 +356,7 @@
<string name="markets_loading_error_title">Unable to load the data…</string>
<string name="markets_loading_no_data_title">No data</string>
<string name="markets_quick_actions">Quick actions</string>
<string name="markets_search_header_title">Search through the market</string>
<string name="markets_search_result_title">Result</string>
<string name="markets_search_see_tokens_under_100k">See tokens under 100k USD market cap</string>
<string name="markets_search_show_tokens">Show tokens</string>

View file

@ -4,7 +4,6 @@ import com.tangem.core.analytics.api.AnalyticsEventHandler
import com.tangem.data.markets.DefaultMarketsTokenRepository
import com.tangem.datasource.api.markets.TangemTechMarketsApi
import com.tangem.datasource.api.tangemTech.TangemTechApi
import com.tangem.datasource.di.DevTangemApi
import com.tangem.datasource.local.userwallet.UserWalletsStore
import com.tangem.domain.markets.repositories.MarketsTokenRepository
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
@ -21,8 +20,8 @@ internal object MarketsDataModule {
@Provides
@Singleton
fun provideMarketsRepository(
@DevTangemApi marketsApi: TangemTechMarketsApi,
@DevTangemApi tangemTechApi: TangemTechApi,
marketsApi: TangemTechMarketsApi,
tangemTechApi: TangemTechApi,
userWalletsStore: UserWalletsStore,
dispatchers: CoroutineDispatcherProvider,
analyticsEventHandler: AnalyticsEventHandler,

View file

@ -19,6 +19,7 @@ import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.util.fastForEachIndexed
@ -200,10 +201,13 @@ private fun NetworkSelection(state: SelectNetworkUM, modifier: Modifier = Modifi
Text(
modifier = Modifier
.align(Alignment.CenterVertically)
.weight(1f, fill = false)
.alignByBaseline(),
text = state.tokenName,
style = TangemTheme.typography.body1,
color = TangemTheme.colors.text.primary1,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
)
SpacerW6()
Text(
@ -213,6 +217,8 @@ private fun NetworkSelection(state: SelectNetworkUM, modifier: Modifier = Modifi
text = state.tokenCurrencySymbol,
style = TangemTheme.typography.body1,
color = TangemTheme.colors.text.tertiary,
overflow = TextOverflow.Visible,
maxLines = 1,
)
}

View file

@ -62,14 +62,14 @@ internal class PreviewAddToPortfolioBSContentProvider : PreviewParameterProvider
selectedWallet = userWallet,
selectNetworkUM = SelectNetworkUM(
tokenId = "etherium",
tokenName = "Etherium",
tokenName = "Etherium Etherium Etherium Etherium",
tokenCurrencySymbol = "ETH",
networks = persistentListOf(
blockchainRow.copy(
type = "MAIN",
isMainNetwork = true,
isSelected = true,
),
).copy(name = "Etherium Etherium Etherium Etherium"),
*Array(25) { blockchainRow },
),

View file

@ -407,7 +407,6 @@ private inline fun BaseScaffoldWithMarkets(
sheetContainerColor = backgroundColor.value,
scaffoldState = scaffoldState,
sheetPeekHeight = peekHeight,
sheetTonalElevation = 8.dp,
sheetShadowElevation = 8.dp,
sheetShape = TangemTheme.shapes.bottomSheetLarge,
sheetContent = {
@ -645,7 +644,7 @@ private fun BottomSheetStateEffects(
val systemUiController = rememberSystemUiController()
val navigationBarColor = TangemTheme.colors.background.primary
LaunchedEffect(Unit) {
LaunchedEffect(navigationBarColor) {
delay(timeMillis = 100)
when (bottomSheetState.currentValue) {
TangemSheetValue.Hidden,
@ -660,7 +659,7 @@ private fun BottomSheetStateEffects(
}
}
LaunchedEffect(key1 = bottomSheetState.targetValue, navigationBarColor) {
LaunchedEffect(bottomSheetState.targetValue, navigationBarColor) {
when (bottomSheetState.targetValue) {
TangemSheetValue.Hidden,
TangemSheetValue.Expanded,