11package dev.drewhamilton.androidtime.format.demo
22
33import android.content.res.Configuration
4+ import android.os.Build
45import androidx.compose.foundation.background
56import androidx.compose.foundation.layout.Arrangement
67import androidx.compose.foundation.layout.Column
@@ -126,9 +127,9 @@ private fun parseLocaleString(value: String): Locale? {
126127 val parts = value.split(' _' )
127128 return when (parts.size) {
128129 0 -> null
129- 1 -> Locale ( parts.single())
130- 2 -> Locale ( parts[0 ], parts[1 ])
131- 3 -> Locale ( parts[0 ], parts[1 ], parts[2 ])
130+ 1 -> localeOf(language = parts.single())
131+ 2 -> localeOf(language = parts[0 ], country = parts[1 ])
132+ 3 -> localeOf(language = parts[0 ], country = parts[1 ], variant = parts[2 ])
132133 else -> null
133134 }?.let {
134135 if (it.toLanguageTag() == " und" ) {
@@ -139,6 +140,33 @@ private fun parseLocaleString(value: String): Locale? {
139140 }
140141}
141142
143+ private fun localeOf (language : String ): Locale {
144+ return if (Build .VERSION .SDK_INT >= 36 ) {
145+ Locale .of(language)
146+ } else {
147+ @Suppress(" DEPRECATION" )
148+ Locale (language)
149+ }
150+ }
151+
152+ private fun localeOf (language : String , country : String ): Locale {
153+ return if (Build .VERSION .SDK_INT >= 36 ) {
154+ Locale .of(language, country)
155+ } else {
156+ @Suppress(" DEPRECATION" )
157+ Locale (language, country)
158+ }
159+ }
160+
161+ private fun localeOf (language : String , country : String , variant : String ): Locale {
162+ return if (Build .VERSION .SDK_INT >= 36 ) {
163+ Locale .of(language, country, variant)
164+ } else {
165+ @Suppress(" DEPRECATION" )
166+ Locale (language, country, variant)
167+ }
168+ }
169+
142170@Composable
143171private fun LocaleInputField (
144172 value : String ,
0 commit comments