Updated on 2026-08-14

This commit is contained in:
Tangem 2026-01-28 16:03:16 +03:00
parent f359b7f9e7
commit d269a733f7
5 changed files with 1213 additions and 220 deletions

View file

@ -109,7 +109,7 @@
<string name="app_settings_off_saved_wallet_alert_message">При отключении функции сохранения кошелька все ранее сохраненные кошельки будут удалены из приложения.</string>
<string name="app_settings_on_require_access_code_alert_message">Это удалит все сохранённые коды доступа к кошелькам. Любое дальнейшее взаимодействие с кошельком будет требовать ввода кода доступа.</string>
<string name="app_settings_require_access_code">Требуется код доступа</string>
<string name="app_settings_require_access_code_footer">Эта опция отключает использование биометрии для выполнения чувствительных действий. Каждый раз, например при подписании транзакции, вам потребуется вводить код доступа.</string>
<string name="app_settings_require_access_code_footer">Эта опция отключает использование биометрии для выполнения чувствительных действий. Каждый раз, например, при подписании транзакции, вам потребуется вводить код доступа.</string>
<string name="app_settings_saved_access_codes">Сохранение кода доступа</string>
<string name="app_settings_saved_access_codes_footer">Подключите функцию хранения кодов доступа от карт на телефоне в зашифрованном виде, и при работе с картой или кольцом вместо кода доступа будет запрашиваться биометрическая аутентификация.</string>
<string name="app_settings_saved_wallet">Cохранение кошелька</string>

View file

@ -299,6 +299,7 @@
<string name="common_go_to_token">Go to token</string>
<string name="common_got_it">Got it</string>
<string name="common_hide">Hide</string>
<string name="common_hold_to">Hold to %s</string>
<string name="common_hour">hour</string>
<string name="common_import">Import</string>
<string name="common_in_progress">In progress</string>
@ -374,6 +375,7 @@
<string name="common_swap">Swap</string>
<string name="common_tangem">Tangem</string>
<string name="common_tangem_wallet">Tangem Wallet</string>
<string name="common_tap_and_hold_hint">Tap and hold</string>
<string name="common_terms_and_conditions">terms and conditions</string>
<string name="common_terms_of_use">Terms of Use</string>
<string name="common_to">To</string>
@ -528,7 +530,7 @@
<string name="express_provider">Provider</string>
<string name="express_provider_best_rate">Best rate</string>
<string name="express_provider_fca_warning_list">FCA Warning List</string>
<string name="express_provider_great_rate">Best choice</string>
<string name="express_provider_great_rate">Competitive rate</string>
<string name="express_provider_in_fca_warning_list">Provider in FCA warning list</string>
<string name="express_provider_max_amount">Available up to %s</string>
<string name="express_provider_min_amount">Available from %s</string>

View file

@ -97,9 +97,12 @@ private fun DisclaimerContent(url: String) {
val webViewNavigator = rememberWebViewNavigator()
val webViewClient = remember {
DisclaimerWebViewClient(
onLoadingFinished = {
onLoadingFinished = { isWithError ->
loadingTimeoutJobHolder.cancel()
isLoading = false
if (isWithError) {
webViewNavigator.loadLocalToS()
}
},
)
}

View file

@ -16,7 +16,7 @@ import timber.log.Timber
*/
@Suppress("NullableToStringCall")
internal class DisclaimerWebViewClient(
private val onLoadingFinished: () -> Unit,
private val onLoadingFinished: (isWithError: Boolean) -> Unit,
) : AccompanistWebViewClient() {
private val loadedUrls: MutableMap<String, Boolean> = mutableMapOf()
@ -25,7 +25,6 @@ internal class DisclaimerWebViewClient(
super.onPageStarted(view, url, favicon)
Timber.d("onPageStarted: $url")
if (url != null) {
loadedUrls[url] = false
}
@ -35,10 +34,9 @@ internal class DisclaimerWebViewClient(
super.onPageFinished(view, url)
Timber.d("onPageFinished: $url")
if (url != null && loadedUrls.containsKey(url)) {
loadedUrls[url] = true
onLoadingFinished()
onLoadingFinished(false)
}
}
@ -51,7 +49,7 @@ internal class DisclaimerWebViewClient(
if (url != null && loadedUrls.containsKey(url)) {
loadedUrls[url] = true
onLoadingFinished()
onLoadingFinished(true)
}
}
}