From f3d8428fdba4c2b815d7626ee43dd4b2ea5409a0 Mon Sep 17 00:00:00 2001 From: Taras Teslyuk Date: Tue, 12 Nov 2024 21:43:54 +0200 Subject: [PATCH] add: possibility to add custom locale code; --- .../main/kotlin/com/crobox/sdk/testapp/ui/DemoActivity.kt | 3 ++- sdk/src/main/kotlin/com/crobox/sdk/common/LocaleCode.kt | 8 +++++++- .../kotlin/com/crobox/sdk/presenter/CroboxAPIPresenter.kt | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/crobox/sdk/testapp/ui/DemoActivity.kt b/app/src/main/kotlin/com/crobox/sdk/testapp/ui/DemoActivity.kt index 8ada017..6cd1bf9 100644 --- a/app/src/main/kotlin/com/crobox/sdk/testapp/ui/DemoActivity.kt +++ b/app/src/main/kotlin/com/crobox/sdk/testapp/ui/DemoActivity.kt @@ -3,6 +3,7 @@ package com.crobox.sdk.testapp.ui import android.os.Bundle import com.crobox.sdk.common.CurrencyCode import com.crobox.sdk.common.LocaleCode +import com.crobox.sdk.common.DefaultLocaleCode import com.crobox.sdk.config.CroboxConfig import com.crobox.sdk.core.Crobox import com.crobox.sdk.testapp.R @@ -32,7 +33,7 @@ class DemoActivity : BaseActivity() { containerId = containerId, visitorId = UUID.randomUUID(), currencyCode = CurrencyCode.USD, - localeCode = LocaleCode.EN_US + localeCode = LocaleCode(DefaultLocaleCode.EN_US) ) ) diff --git a/sdk/src/main/kotlin/com/crobox/sdk/common/LocaleCode.kt b/sdk/src/main/kotlin/com/crobox/sdk/common/LocaleCode.kt index 680d65b..ae8178f 100644 --- a/sdk/src/main/kotlin/com/crobox/sdk/common/LocaleCode.kt +++ b/sdk/src/main/kotlin/com/crobox/sdk/common/LocaleCode.kt @@ -5,7 +5,13 @@ package com.crobox.sdk.common * - the language is lowercase, two-letter form of ISO 639-1 language codes * - the country is uppercase, two-letter form of ISO 3166-1 Country codes */ -enum class LocaleCode(val code: String) { + +class LocaleCode(val code: String) { + + // Secondary constructor that takes a DefaultLocaleCode enum + constructor(DefaultLocaleCode: DefaultLocaleCode) : this(DefaultLocaleCode.code) +} +enum class DefaultLocaleCode(val code: String) { EN_US("en_US"), EN_GB("en_GB"), EN_CA("en_CA"), diff --git a/sdk/src/main/kotlin/com/crobox/sdk/presenter/CroboxAPIPresenter.kt b/sdk/src/main/kotlin/com/crobox/sdk/presenter/CroboxAPIPresenter.kt index 02729b8..72009f8 100644 --- a/sdk/src/main/kotlin/com/crobox/sdk/presenter/CroboxAPIPresenter.kt +++ b/sdk/src/main/kotlin/com/crobox/sdk/presenter/CroboxAPIPresenter.kt @@ -170,7 +170,7 @@ internal class CroboxAPIPresenter(private val config: CroboxConfig) { // Optional parameters config.currencyCode?.let { parameters["cc"] = it.toString() } - config.localeCode?.let { parameters["lc"] = it.toString() } + config.localeCode?.let { parameters["lc"] = it.code } config.userId?.let { parameters["uid"] = it } parameters["ts"] = CroboxEncoder.toBase36(System.currentTimeMillis()) config.timezone?.let { parameters["tz"] = it }