diff --git a/app/src/main/assets/tangem-app-config b/app/src/main/assets/tangem-app-config index 52d7e40603..c6dd1a8d38 160000 --- a/app/src/main/assets/tangem-app-config +++ b/app/src/main/assets/tangem-app-config @@ -1 +1 @@ -Subproject commit 52d7e406032b0f41cdfac00e796974e06a99ad7f +Subproject commit c6dd1a8d384aa4b91ee09a9f99b7cdf8be3f1ab2 diff --git a/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt b/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt index 821a90cbba..69ab84b845 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/utils/RequestHeader.kt @@ -33,7 +33,15 @@ sealed class RequestHeader(vararg pairs: Pair>) "platform" to ProviderSuspend { "android" }, "language" to ProviderSuspend { appInfoProvider.language.checkHeaderValueOrEmpty() }, "timezone" to ProviderSuspend { - TimeZone.getDefault().getDisplayName(false, TimeZone.SHORT).checkHeaderValueOrEmpty() + val timeZone = TimeZone.getDefault() + // TimeZone.getDisplayName may throw AssertionError on some devices due to an Android ICU bug + // ("No NameTypeIndex match for SHORT_STANDARD"), so fall back to the timezone id. + val displayName = try { + timeZone.getDisplayName(false, TimeZone.SHORT) + } catch (_: AssertionError) { + timeZone.id + } + displayName.checkHeaderValueOrEmpty() }, "device" to ProviderSuspend { appInfoProvider.device.checkHeaderValueOrEmpty() }, )