Updated on 2026-08-14
This commit is contained in:
parent
e01127186c
commit
be115fc505
9 changed files with 28 additions and 29 deletions
|
|
@ -221,7 +221,6 @@
|
|||
<string name="express_choose_providers_subtitle">Tangem bietet Token-Swaps über Drittanbieter gemäß den jeweiligen Bedingungen des jeweiligen Anbieters an.</string>
|
||||
<string name="express_choose_providers_title">Anbieter wählen</string>
|
||||
<string name="express_error_code">Es ist ein Fehler aufgetreten. Code: %s</string>
|
||||
<string name="express_error_provider_unavailable">Huch! Der Tausch des ausgewählten Paares über den gewählten Anbieter ist vorübergehend nicht möglich. Bitte versuche es später erneut. (Code: %s)</string>
|
||||
<string name="express_error_swap_pair_unavailable">Der gewählte Anbieter ist im Moment nicht verfügbar. Bitte versuche es später noch einmal. (Code: %s)</string>
|
||||
<string name="express_error_swap_unavailable">Swaps sind im Moment nicht verfügbar. Bitte versuche es später noch einmal. (Code: %s)</string>
|
||||
<string name="express_estimated_amount">Geschätzter Betrag</string>
|
||||
|
|
|
|||
|
|
@ -217,7 +217,6 @@
|
|||
<string name="express_choose_providers_subtitle">Tangem propose des échanges de jetons via des fournisseurs tiers selon les conditions de chaque fournisseur</string>
|
||||
<string name="express_choose_providers_title">Choisissez un fournisseur</string>
|
||||
<string name="express_error_code">Une erreur s\'est produite. Code : %s</string>
|
||||
<string name="express_error_provider_unavailable">Oups! L\'échange de la paire sélectionnée via le fournisseur choisi est temporairement indisponible. Veuillez réessayer plus tard. (Code : %s)</string>
|
||||
<string name="express_error_swap_pair_unavailable">Le fournisseur sélectionné n\'est pas disponible pour le moment. Veuillez réessayer plus tard. (Code : %s)</string>
|
||||
<string name="express_error_swap_unavailable">Les échanges ne sont pas disponibles pour le moment. Veuillez réessayer plus tard. (Code : %s)</string>
|
||||
<string name="express_estimated_amount">Montant estimé</string>
|
||||
|
|
|
|||
|
|
@ -219,7 +219,6 @@
|
|||
<string name="express_choose_providers_subtitle">Tangemは、各プロバイダーの条件に従って、サードパーティプロバイダーを介してトークンスワップを提供します。</string>
|
||||
<string name="express_choose_providers_title">プロバイダーを選択</string>
|
||||
<string name="express_error_code">エラーが発生しました。コード: %s</string>
|
||||
<string name="express_error_provider_unavailable">おっと!このプロバイダーで選択したペアを交換することは一時的にできません。後でもう一度お試しください。(Code:%s)</string>
|
||||
<string name="express_error_swap_pair_unavailable">選択したプロバイダーは現在利用できません。しばらくしてからもう一度お試しください。(コード: %s )</string>
|
||||
<string name="express_error_swap_unavailable">現在、交換はご利用いただけません。しばらくしてからもう一度お試しください。(コード: %s )</string>
|
||||
<string name="express_estimated_amount">推定金額</string>
|
||||
|
|
|
|||
|
|
@ -225,7 +225,6 @@
|
|||
<string name="express_choose_providers_subtitle">Tangem предоставляет доступ к обмену через сторонних поставщиков в соответствии с их правилами</string>
|
||||
<string name="express_choose_providers_title">Выберите провайдера</string>
|
||||
<string name="express_error_code">Произошла ошибка. Код: %s</string>
|
||||
<string name="express_error_provider_unavailable">К сожалению, обмен указанной пары через выбранного провайдера на данный момент невозможен. Попробуйте совершить обмен позже. (Код: %s)</string>
|
||||
<string name="express_error_swap_pair_unavailable">Выбранный провайдер недоступен для обмена. Попробуйте позже. (Код: %s)</string>
|
||||
<string name="express_error_swap_unavailable">В данный момент обмен невозможен. Попробуйте позже. (Код: %s)</string>
|
||||
<string name="express_estimated_amount">Курс обмена</string>
|
||||
|
|
|
|||
|
|
@ -225,7 +225,6 @@
|
|||
<string name="express_choose_providers_subtitle">Tangem пропонує обмін токенів через сторонніх провайдерів відповідно до умов кожного провайдера</string>
|
||||
<string name="express_choose_providers_title">Оберіть провайдера</string>
|
||||
<string name="express_error_code">Виникла помилка. Код: %s</string>
|
||||
<string name="express_error_provider_unavailable">На жаль, обмін вказаної пари через обраного провайдера тимчасово неможливий. Спробуйте здійснити обмін пізніше. (Код: %s)</string>
|
||||
<string name="express_error_swap_pair_unavailable">Наразі обраний провайдер недоступний для обміну. Спробуй пізніше. (Код: %s)</string>
|
||||
<string name="express_error_swap_unavailable">Наразі обмін неможливий. Спробуй пізніше. (Код: %s)</string>
|
||||
<string name="express_estimated_amount">Курс обміну</string>
|
||||
|
|
|
|||
|
|
@ -222,7 +222,6 @@
|
|||
<string name="express_choose_providers_subtitle">Tangem offers token swaps via 3rd-party providers according to each provider\'s terms</string>
|
||||
<string name="express_choose_providers_title">Choose provider</string>
|
||||
<string name="express_error_code">An error occurred. Code: %s</string>
|
||||
<string name="express_error_provider_unavailable">Oops! Swapping the selected pair through the chosen provider is temporarily unavailable. Please try again later. (Code: %s)</string>
|
||||
<string name="express_error_swap_pair_unavailable">Selected provider is unavailable at the moment. Please try again later. (Code: %s)</string>
|
||||
<string name="express_error_swap_unavailable">Swaps are unavailable at the moment. Please try again later. (Code: %s)</string>
|
||||
<string name="express_estimated_amount">Estimated amount</string>
|
||||
|
|
|
|||
|
|
@ -104,15 +104,17 @@ sealed class SwapEvents(
|
|||
)
|
||||
|
||||
data class NoticeProviderError(
|
||||
val token: String,
|
||||
val sendToken: String,
|
||||
val receiveToken: String,
|
||||
val provider: SwapProvider,
|
||||
val errorCode: Int,
|
||||
) : SwapEvents(
|
||||
event = "Notice - Express Error",
|
||||
params = mapOf(
|
||||
"Token" to token,
|
||||
"Send Token" to sendToken,
|
||||
"Receive Token" to receiveToken,
|
||||
"Provider" to provider.name,
|
||||
"Error code" to errorCode.toString(),
|
||||
"Error Code" to errorCode.toString(),
|
||||
),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -736,6 +736,7 @@ internal class StateBuilder(
|
|||
|
||||
private fun getWarningForError(dataError: DataError, fromToken: CryptoCurrency): SwapWarning {
|
||||
val providerErrorMessage = getProviderErrorMessage(dataError)
|
||||
val providerErrorTitle = getProviderErrorTitle(dataError)
|
||||
return when (dataError) {
|
||||
is DataError.ExchangeTooSmallAmountError -> SwapWarning.GeneralError(
|
||||
notificationConfig = NotificationConfig(
|
||||
|
|
@ -759,22 +760,8 @@ internal class StateBuilder(
|
|||
)
|
||||
else -> SwapWarning.GeneralWarning(
|
||||
notificationConfig = NotificationConfig(
|
||||
title = if (dataError is DataError.UnknownError) {
|
||||
resourceReference(R.string.common_error)
|
||||
} else {
|
||||
resourceReference(R.string.warning_express_refresh_required_title)
|
||||
},
|
||||
subtitle = when {
|
||||
dataError is DataError.UnknownError -> {
|
||||
resourceReference(R.string.common_unknown_error)
|
||||
}
|
||||
providerErrorMessage != null -> {
|
||||
providerErrorMessage
|
||||
}
|
||||
else -> {
|
||||
resourceReference(R.string.express_error_code, wrappedList(dataError.code.toString()))
|
||||
}
|
||||
},
|
||||
title = providerErrorTitle,
|
||||
subtitle = providerErrorMessage,
|
||||
iconResId = R.drawable.img_attention_20,
|
||||
buttonsState = NotificationConfig.ButtonsState.SecondaryButtonConfig(
|
||||
text = resourceReference(R.string.warning_button_refresh),
|
||||
|
|
@ -1096,16 +1083,17 @@ internal class StateBuilder(
|
|||
)
|
||||
}
|
||||
|
||||
private fun getProviderErrorMessage(dataError: DataError): TextReference? {
|
||||
private fun getProviderErrorMessage(dataError: DataError): TextReference {
|
||||
return when (dataError) {
|
||||
is DataError.SwapsAreUnavailableNowError -> resourceReference(
|
||||
id = R.string.express_error_swap_unavailable,
|
||||
formatArgs = wrappedList(dataError.code),
|
||||
)
|
||||
is DataError.ExchangeNotPossibleError -> resourceReference(
|
||||
id = R.string.express_error_provider_unavailable,
|
||||
id = R.string.warning_express_pair_unavailable_message,
|
||||
formatArgs = wrappedList(dataError.code),
|
||||
)
|
||||
is DataError.UnknownError -> resourceReference(R.string.common_unknown_error)
|
||||
is DataError.ExchangeProviderNotActiveError,
|
||||
is DataError.ExchangeProviderNotFoundError,
|
||||
is DataError.ExchangeProviderNotAvailableError,
|
||||
|
|
@ -1114,7 +1102,18 @@ internal class StateBuilder(
|
|||
id = R.string.express_error_swap_pair_unavailable,
|
||||
formatArgs = wrappedList(dataError.code),
|
||||
)
|
||||
else -> null
|
||||
else -> resourceReference(R.string.express_error_code, wrappedList(dataError.code.toString()))
|
||||
}
|
||||
}
|
||||
|
||||
private fun getProviderErrorTitle(dataError: DataError): TextReference {
|
||||
return when (dataError) {
|
||||
is DataError.ExchangeNotPossibleError -> resourceReference(
|
||||
id = R.string.warning_express_pair_unavailable_title,
|
||||
formatArgs = wrappedList(dataError.code),
|
||||
)
|
||||
is DataError.UnknownError -> resourceReference(R.string.common_error)
|
||||
else -> resourceReference(R.string.warning_express_refresh_required_title)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -405,9 +405,13 @@ internal class SwapViewModel @Inject constructor(
|
|||
}
|
||||
|
||||
private fun sendErrorAnalyticsEvent(error: DataError, provider: SwapProvider) {
|
||||
val receiveToken = dataState.toCryptoCurrency?.currency?.let {
|
||||
"${it.network.backendId}:${it.symbol}"
|
||||
}
|
||||
analyticsEventHandler.send(
|
||||
SwapEvents.NoticeProviderError(
|
||||
token = initialCryptoCurrency.symbol,
|
||||
sendToken = "${initialCryptoCurrency.network.backendId}:${initialCryptoCurrency.symbol}",
|
||||
receiveToken = receiveToken ?: "",
|
||||
provider = provider,
|
||||
errorCode = error.code,
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue