32 lines
808 B
Kotlin
32 lines
808 B
Kotlin
package cash.z.ecc.android.sdk.demoapp.model
|
|
|
|
data class Locale(val language: String, val region: String?, val variant: String?) {
|
|
companion object
|
|
}
|
|
|
|
fun Locale.toJavaLocale(): java.util.Locale {
|
|
return if (!region.isNullOrEmpty() && !variant.isNullOrEmpty()) {
|
|
java.util.Locale(language, region, variant)
|
|
} else if (!region.isNullOrEmpty() && variant.isNullOrEmpty()) {
|
|
java.util.Locale(language, region)
|
|
} else {
|
|
java.util.Locale(language)
|
|
}
|
|
}
|
|
|
|
fun java.util.Locale.toKotlinLocale(): Locale {
|
|
val resultCountry = if (country.isNullOrEmpty()) {
|
|
null
|
|
} else {
|
|
country
|
|
}
|
|
|
|
val resultVariant = if (variant.isNullOrEmpty()) {
|
|
null
|
|
} else {
|
|
variant
|
|
}
|
|
|
|
return Locale(language, resultCountry, resultVariant)
|
|
}
|