Updated on 2026-08-14

This commit is contained in:
Tangem 2025-08-05 19:16:42 +03:00
commit cfdc13538e
3 changed files with 9 additions and 7 deletions

View file

@ -29,7 +29,7 @@ fun Resources.getStringSafe(@StringRes id: Int, vararg formatArgs: Any): String
// If something goes wrong, returns the resource without arguments
val string = getString(id)
reportIssue(resources = this, id, *formatArgs)
reportIssue(it, resources = this, id, *formatArgs)
string
}
@ -61,19 +61,20 @@ fun Resources.getPluralStringSafe(@PluralsRes id: Int, count: Int, vararg format
private fun Result<String>.getOrResourceName(resources: Resources, id: Int, vararg formatArgs: Any): String {
return getOrElse {
reportIssue(resources, id, formatArgs)
reportIssue(it, resources, id, formatArgs)
// If something still goes wrong, returns the resource name
resources.getResourceEntryName(id)
}
}
private fun reportIssue(resources: Resources, id: Int, vararg formatArgs: Any) {
private fun reportIssue(throwable: Throwable, resources: Resources, id: Int, vararg formatArgs: Any) {
val exception = IllegalStateException(
"An error occurred while parsing the string:\n" +
"\tname: R.string.${resources.getResourceEntryName(id)}\n" +
"\targs: ${formatArgs.joinToString(prefix = "[", postfix = "]") { it.toString() }}\n" +
"\tlocale: ${SupportedLanguages.getCurrentSupportedLanguageCode()}\n",
"\tlocale: ${SupportedLanguages.getCurrentSupportedLanguageCode()}\n" +
"\terror message: ${throwable.message.orEmpty()}\n",
)
Timber.tag("Resources").e(exception)

View file

@ -17,7 +17,8 @@ const val DECIMAL_SEPARATOR_LIMIT = 1
@Composable
fun rememberDecimalFormat(): DecimalFormat {
val locale = LocalConfiguration.current.locale
val locales = LocalConfiguration.current.locales
val locale = if (locales.isEmpty) Locale.getDefault() else locales[0]
val decimalSymbols = remember { DecimalFormatSymbols.getInstance(locale) }
return remember {

View file

@ -12,8 +12,8 @@ import com.tangem.features.staking.impl.R
private const val TERMS_OF_USE_KEY = "termsOfUse"
private const val PRIVACY_POLICY_KEY = "privacyPolicy"
private const val TERMS_OF_USE_URL = "https://docs.stakek.it/docs/terms-of-use"
private const val PRIVACY_POLICY_URL = "https://docs.stakek.it/docs/privacy-policy"
private const val TERMS_OF_USE_URL = "https://docs.yield.xyz/docs/terms-of-use#/"
private const val PRIVACY_POLICY_URL = "https://docs.yield.xyz/docs/privacy-policy#/"
@Composable
internal fun StakingTosText(onTextClick: (String) -> Unit) {