diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 26d3352..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index 0631a7d..0000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-Country Code Chooser
\ No newline at end of file
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..39cbeaa
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xmlns:android
+
+ ^$
+
+
+
+
+
+
+
+
+ xmlns:.*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:id
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:name
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ name
+
+ ^$
+
+
+
+
+
+
+
+
+ style
+
+ ^$
+
+
+
+
+
+
+
+
+ .*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*
+
+ http://schemas.android.com/apk/res/android
+
+
+ ANDROID_ATTRIBUTE_ORDER
+
+
+
+
+
+
+ .*
+
+ .*
+
+
+ BY_NAME
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..79ee123
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index fb7f4a8..b589d56 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..0c0c338
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 76e1f6c..be531ff 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,16 +4,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index bd2a505..a74ebba 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -3,27 +3,27 @@
+
-
-
-
+
+
+
-
-
-
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..1e2d92c
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinScripting.xml b/.idea/kotlinScripting.xml
new file mode 100644
index 0000000..bc444de
--- /dev/null
+++ b/.idea/kotlinScripting.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
new file mode 100644
index 0000000..fdf8d99
--- /dev/null
+++ b/.idea/kotlinc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/markdown-navigator-enh.xml b/.idea/markdown-navigator-enh.xml
new file mode 100644
index 0000000..a8fcc84
--- /dev/null
+++ b/.idea/markdown-navigator-enh.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml
new file mode 100644
index 0000000..9c82219
--- /dev/null
+++ b/.idea/markdown-navigator.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index bdd9278..b1ed9be 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,10 +1,16 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 94a25f7..35eb1dd 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/CountryCodeChooser/build.gradle b/CountryCodeChooser/build.gradle
index 5b7e2bc..beec037 100644
--- a/CountryCodeChooser/build.gradle
+++ b/CountryCodeChooser/build.gradle
@@ -6,11 +6,11 @@ plugins {
android {
namespace 'com.owlbuddy.www.countrycodechooser'
- compileSdk 33
+ compileSdk 34
defaultConfig {
minSdk 21
- targetSdk 33
+ targetSdk 34
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
@@ -23,25 +23,29 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
- jvmTarget = '1.8'
+ jvmTarget = '17'
}
buildFeatures {
compose true
}
+
+ composeOptions {
+ kotlinCompilerExtensionVersion "1.5.0"
+ }
}
dependencies {
- def compose_ui_version = "1.1.1"
+ def compose_ui_version = "1.6.0-alpha01"
implementation "androidx.compose.ui:ui:$compose_ui_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_ui_version"
implementation "androidx.compose.material:material:$compose_ui_version"
- implementation "org.jetbrains.kotlin:kotlin-reflect:1.6.10"
+ implementation "org.jetbrains.kotlin:kotlin-reflect:1.9.0"
}
afterEvaluate {
@@ -56,4 +60,4 @@ afterEvaluate {
}
}
}
-}
\ No newline at end of file
+}
diff --git a/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/CountryCodeChooser.kt b/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/CountryCodeChooser.kt
index 73d8749..baf933d 100644
--- a/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/CountryCodeChooser.kt
+++ b/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/CountryCodeChooser.kt
@@ -3,7 +3,15 @@ package com.owlbuddy.www.countrycodechooser
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
-import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -11,7 +19,12 @@ import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.OutlinedTextField
import androidx.compose.material.Text
-import androidx.compose.runtime.*
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
@@ -34,88 +47,59 @@ import androidx.compose.ui.window.Popup
import androidx.compose.ui.window.PopupProperties
import com.owlbuddy.www.countrycodechooser.utils.enums.CountryCodeType
import com.owlbuddy.www.countrycodechooser.utils.sealed_casses.CountryData
+import com.owlbuddy.www.countrycodechooser.utils.sealed_casses.getAllCountries
import kotlinx.coroutines.delay
@Composable
fun CountryCodeChooser(
modifier: Modifier = Modifier,
- defaultCountry: String = "CA",
- flagSize: DpSize = DpSize(
- height = 20.dp,
- width = 30.dp
- ),
- textStyle: TextStyle = TextStyle(
- fontSize = 16.sp
- ),
+ defaultCountryIsoCode: String = CountryData.Afghanistan.iso2Code,
+ flagSize: DpSize = DpSize(height = 20.dp, width = 30.dp),
+ textStyle: TextStyle = TextStyle(fontSize = 16.sp),
countryCodeType: CountryCodeType = CountryCodeType.FLAG,
- onCountySelected: (
- countryCodeWithoutPrefix: String,
- iso2Code: String,
- iso3Code: String
- ) -> Unit
+ onCountrySelected: (country: CountryData) -> Unit
) {
-
- var selectedCountry by remember {
- mutableStateOf(null)
- }
-
- var popupState by remember {
- mutableStateOf(false)
- }
-
- var listOfCountryData by remember {
- mutableStateOf>(emptyList())
- }
-
- LaunchedEffect(key1 = true){
- listOfCountryData = CountryData::class.sealedSubclasses.mapNotNull {
- it.objectInstance
- }
- }
-
- LaunchedEffect(key1 = defaultCountry, key2 = listOfCountryData){
- listOfCountryData.firstOrNull { it.iso2Code.equals(defaultCountry,true) || it.iso3Code.equals(defaultCountry,true)}?.let {
- selectedCountry = it
- }
+ var selectedCountry by remember { mutableStateOf(null) }
+ var popupState by remember { mutableStateOf(false) }
+ val listOfCountryData by remember { mutableStateOf(getAllCountries()) }
+
+ LaunchedEffect(key1 = defaultCountryIsoCode) {
+ listOfCountryData.firstOrNull {
+ it.iso2Code.equals(defaultCountryIsoCode, true) || it.iso3Code.equals(defaultCountryIsoCode, true)
+ }?.let { selectedCountry = it }
}
Box(
- modifier = modifier
- .clickable {
- popupState = true
- },
+ modifier = modifier.clickable { popupState = true },
contentAlignment = Alignment.Center
- ){
- when(countryCodeType){
+ ) {
+ when (countryCodeType) {
CountryCodeType.TEXT, CountryCodeType.TEXT_WITHOUT_PREFIX -> {
BasicTextField(
modifier = Modifier.fillMaxWidth(),
value = selectedCountry?.let {
- if(countryCodeType ==CountryCodeType.TEXT) {
+ if (countryCodeType == CountryCodeType.TEXT) {
it.countryCodeWithPrefix
- }else{
- it.countryCodeWithoutPrefix
+ } else {
+ it.countryCode
}
} ?: "",
singleLine = true,
maxLines = 1,
enabled = false,
readOnly = true,
- textStyle = textStyle.copy(
- textAlign = TextAlign.Center
- ),
+ textStyle = textStyle.copy(textAlign = TextAlign.Center),
onValueChange = {}
)
}
- CountryCodeType.FLAG-> {
+
+ CountryCodeType.FLAG -> {
selectedCountry?.let { countryData ->
Image(
modifier = Modifier
.width(flagSize.width)
.height(flagSize.height)
- .clip(
- RoundedCornerShape(2.dp)
- ),
+ .clip(RoundedCornerShape(2.dp)),
painter = painterResource(id = countryData.flagResId),
contentScale = ContentScale.FillBounds,
contentDescription = "Country Flag"
@@ -125,66 +109,47 @@ fun CountryCodeChooser(
}
}
- if(popupState){
+ if (popupState) {
CountriesPopup(
listOfCountryData = listOfCountryData,
onCountrySelected = {
selectedCountry = it
popupState = false
- onCountySelected(
- it.countryCodeWithoutPrefix,
- it.iso2Code,
- it.iso3Code
- )
+ onCountrySelected(it)
},
- onDismissRequest = {
- popupState = false
- }
+ onDismissRequest = { popupState = false }
)
}
}
@Composable
private fun CountriesPopup(
- listOfCountryData : List,
- onCountrySelected : (CountryData) -> Unit,
- onDismissRequest:() -> Unit
-){
- var searchedText by remember {
- mutableStateOf("")
- }
-
- var filteredList by remember {
- mutableStateOf(listOfCountryData)
- }
-
+ listOfCountryData: List,
+ onCountrySelected: (CountryData) -> Unit,
+ onDismissRequest: () -> Unit
+) {
val context = LocalContext.current
+ var searchedText by remember { mutableStateOf("") }
+ var filteredList by remember { mutableStateOf(listOfCountryData) }
- LaunchedEffect(key1 = searchedText){
+ LaunchedEffect(key1 = searchedText) {
delay(200)
filteredList = listOfCountryData.filter {
- context.getString(it.countryNameResId).contains(searchedText.trim(),true)
- || it.countryCodeWithPrefix.contains(searchedText.trim(),true)
+ context.getString(it.countryNameResId).contains(searchedText.trim(), true)
+ || it.countryCodeWithPrefix.contains(searchedText.trim(), true)
}
}
Popup(
alignment = Alignment.Center,
- properties = PopupProperties(
- focusable = true
- ),
- onDismissRequest = {
- onDismissRequest()
- },
+ properties = PopupProperties(focusable = true),
+ onDismissRequest = { onDismissRequest() },
) {
Box(
modifier = Modifier
.fillMaxSize()
- .padding(
- 15.dp
- )
- ){
-
+ .padding(15.dp)
+ ) {
Column(
modifier = Modifier
.fillMaxSize()
@@ -192,10 +157,8 @@ private fun CountriesPopup(
color = Color(0xFFE9E9E9),
shape = RoundedCornerShape(10.dp)
)
- .padding(
- 20.dp
- )
- ){
+ .padding(20.dp)
+ ) {
OutlinedTextField(
modifier = Modifier.fillMaxWidth(),
value = searchedText,
@@ -209,23 +172,15 @@ private fun CountriesPopup(
singleLine = true,
maxLines = 1,
enabled = true,
- keyboardOptions = KeyboardOptions(
- keyboardType = KeyboardType.Text
- ),
- onValueChange = {
- searchedText = it
- }
+ keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text),
+ onValueChange = { searchedText = it }
)
-
Spacer(modifier = Modifier.height(10.dp))
-
- LazyColumn{
- items(filteredList){ countryData ->
+ LazyColumn {
+ items(items = filteredList, key = { it.countryCode }) { countryData ->
ListItem(
countryData = countryData,
- onClick = {
- onCountrySelected(it)
- }
+ onClick = { onCountrySelected(it) }
)
}
}
@@ -237,26 +192,22 @@ private fun CountriesPopup(
@Composable
private fun ListItem(
countryData: CountryData,
- onClick : (CountryData) -> Unit
-){
+ onClick: (CountryData) -> Unit
+) {
Row(
modifier = Modifier
.fillMaxSize()
.clickable {
onClick(countryData)
}
- .padding(
- vertical = 15.dp,
- ),
+ .padding(vertical = 15.dp),
verticalAlignment = Alignment.CenterVertically
) {
Image(
modifier = Modifier
.width(30.dp)
.height(20.dp)
- .clip(
- RoundedCornerShape(2.dp)
- ),
+ .clip(RoundedCornerShape(2.dp)),
painter = painterResource(id = countryData.flagResId),
contentScale = ContentScale.FillBounds,
contentDescription = "Country Flag"
@@ -271,9 +222,7 @@ private fun ListItem(
color = Color.Gray,
fontWeight = FontWeight.Medium
)
- ){
- append("(${countryData.countryCodeWithPrefix }) ")
- }
+ ) { append("(${countryData.countryCodeWithPrefix}) ") }
append(stringResource(id = countryData.countryNameResId))
},
style = TextStyle(
@@ -283,4 +232,4 @@ private fun ListItem(
)
)
}
-}
+}
\ No newline at end of file
diff --git a/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/utils/sealed_casses/CountryData.kt b/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/utils/sealed_casses/CountryData.kt
index 900811e..44d893b 100644
--- a/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/utils/sealed_casses/CountryData.kt
+++ b/CountryCodeChooser/src/main/java/com/owlbuddy/www/countrycodechooser/utils/sealed_casses/CountryData.kt
@@ -4,1770 +4,1575 @@ import com.owlbuddy.www.countrycodechooser.R
sealed class CountryData(
val countryNameResId: Int,
val flagResId: Int,
- val countryCodeWithPrefix: String,
- val countryCodeWithoutPrefix: String,
+ val countryCode: String,
val iso2Code : String,
val iso3Code : String
) {
- object Afghanistan : CountryData(
+
+ val countryCodeWithPrefix: String = "+$countryCode"
+ data object Afghanistan : CountryData(
R.string.afghanistan,
R.drawable.afghanistan_flag,
- "+93",
"93",
"AF",
"AFG"
)
- object Albania : CountryData(
+ data object Albania : CountryData(
R.string.albania,
R.drawable.albania_flag,
- "+355",
"355",
"AL",
"ALB"
)
- object Algeria : CountryData(
+ data object Algeria : CountryData(
R.string.algeria,
R.drawable.algeria_flag,
- "+213",
"213",
"DZ",
"DZA"
)
- object Andorra : CountryData(
+ data object Andorra : CountryData(
R.string.andorra,
R.drawable.andorra_flag,
- "+376",
"376",
"AD",
"AND"
)
- object Angola : CountryData(
+ data object Angola : CountryData(
R.string.angola,
R.drawable.angola_flag,
- "+244",
"244",
"AO",
"AGO"
)
- object AntiguaAndBarbuda : CountryData(
+ data object AntiguaAndBarbuda : CountryData(
R.string.antigua_and_barbuda,
R.drawable.antigua_and_barbuda_flag,
- "+1 268",
"1268",
"AG",
"ATG"
)
- object Argentina : CountryData(
+ data object Argentina : CountryData(
R.string.argentina,
R.drawable.argentina_flag,
- "+54",
"54",
"AR",
"ARG"
)
- object Armenia : CountryData(
+ data object Armenia : CountryData(
R.string.armenia,
R.drawable.armenia_flag,
- "+374",
"374",
"AM",
"ARM"
)
- object Australia : CountryData(
+ data object Australia : CountryData(
R.string.australia,
R.drawable.australia_flag,
- "+61",
"61",
"AU",
"AUS"
)
- object Austria : CountryData(
+ data object Austria : CountryData(
R.string.austria,
R.drawable.austria_flag,
- "+43",
"43",
"AT",
"AUT"
)
- object Azerbaijan : CountryData(
+ data object Azerbaijan : CountryData(
R.string.azerbaijan,
R.drawable.azerbaijan_flag,
- "+994",
"994",
"AZ",
"AZE"
)
- object Bahamas : CountryData(
+ data object Bahamas : CountryData(
R.string.bahamas,
R.drawable.bahamas_flag,
- "+1 242",
"1242",
"BS",
"BHS"
)
- object Bahrain : CountryData(
+ data object Bahrain : CountryData(
R.string.bahrain,
R.drawable.bahrain_flag,
- "+973",
"973",
"BH",
"BHR"
)
- object Bangladesh : CountryData(
+ data object Bangladesh : CountryData(
R.string.bangladesh,
R.drawable.bangladesh_flag,
- "+880",
"880",
"BD",
"BGD"
)
- object Barbados : CountryData(
+ data object Barbados : CountryData(
R.string.barbados,
R.drawable.barbados_flag,
- "+1 246",
"1246",
"BB",
"BRB"
)
- object Belarus : CountryData(
+ data object Belarus : CountryData(
R.string.belarus,
R.drawable.belarus_flag,
- "+375",
"375",
"BY",
"BLR"
)
- object Belgium : CountryData(
+ data object Belgium : CountryData(
R.string.belgium,
R.drawable.belgium_flag,
- "+32",
"32",
"BE",
"BEL"
)
- object Belize : CountryData(
+ data object Belize : CountryData(
R.string.belize,
R.drawable.belize_flag,
- "+501",
"501",
"BZ",
"BLZ"
)
- object Benin : CountryData(
+ data object Benin : CountryData(
R.string.benin,
R.drawable.benin_flag,
- "+229",
"229",
"BJ",
"BEN"
)
- object Bhutan : CountryData(
+ data object Bhutan : CountryData(
R.string.bhutan,
R.drawable.bhutan_flag,
- "+975",
"975",
"BT",
"BTN"
)
- object Bolivia : CountryData(
+ data object Bolivia : CountryData(
R.string.bolivia,
R.drawable.bolivia_flag,
- "+591",
"591",
"BO",
"BOL"
)
- object BosniaAndHerzegovina : CountryData(
+ data object BosniaAndHerzegovina : CountryData(
R.string.bosnia_and_herzegovina,
R.drawable.bosnia_and_herzegovina_flag,
- "+387",
"387",
"BA",
"BIH"
)
- object Botswana : CountryData(
+ data object Botswana : CountryData(
R.string.botswana,
R.drawable.botswana_flag,
- "+267",
"267",
"BW",
"BWA"
)
- object Brazil : CountryData(
+ data object Brazil : CountryData(
R.string.brazil,
R.drawable.brazil_flag,
- "+55",
"55",
"BR",
"BRA"
)
- object Brunei : CountryData(
+ data object Brunei : CountryData(
R.string.brunei,
R.drawable.brunei_flag,
- "+673",
"673",
"BN",
"BRN"
)
- object Bulgaria : CountryData(
+ data object Bulgaria : CountryData(
R.string.bulgaria,
R.drawable.bulgaria_flag,
- "+359",
"359",
"BG",
"BGR"
)
- object BurkinaFaso : CountryData(
+ data object BurkinaFaso : CountryData(
R.string.burkina_faso,
R.drawable.burkina_faso_flag,
- "+226",
"226",
"BF",
"BFA"
)
- object Burundi : CountryData(
+ data object Burundi : CountryData(
R.string.burundi,
R.drawable.burundi_flag,
- "+257",
"257",
"BI",
"BDI"
)
- object Cambodia : CountryData(
+ data object Cambodia : CountryData(
R.string.cambodia,
R.drawable.cambodia_flag,
- "+855",
"855",
"KH",
"KHM"
)
- object Cameroon : CountryData(
+ data object Cameroon : CountryData(
R.string.cameroon,
R.drawable.cameroon_flag,
- "+237",
"237",
"CM",
"CMR"
)
- object Canada : CountryData(
+ data object Canada : CountryData(
R.string.canada,
R.drawable.canada_flag,
- "+1",
"1",
"CA",
"CAN"
)
- object CapeVerde : CountryData(
+ data object CapeVerde : CountryData(
R.string.cape_verde,
R.drawable.cape_verde_flag,
- "+238",
"238",
"CV",
"CPV"
)
- object CentralAfricanRepublic : CountryData(
+ data object CentralAfricanRepublic : CountryData(
R.string.central_african_republic,
R.drawable.central_african_republic_flag,
- "+236",
"236",
"CF",
"CAF"
)
- object Chad : CountryData(
+ data object Chad : CountryData(
R.string.chad,
R.drawable.chad_flag,
- "+235",
"235",
"TD",
"TCD"
)
- object Chile : CountryData(
+ data object Chile : CountryData(
R.string.chile,
R.drawable.chile_flag,
- "+56",
"56",
"CL",
"CHL"
)
- object China : CountryData(
+ data object China : CountryData(
R.string.china,
R.drawable.china_flag,
- "+86",
"86",
"CN",
"CHN"
)
- object Colombia : CountryData(
+ data object Colombia : CountryData(
R.string.colombia,
R.drawable.colombia_flag,
- "+57",
"57",
"CO",
"COL"
)
- object Comoros : CountryData(
+ data object Comoros : CountryData(
R.string.comoros,
R.drawable.comoros_flag,
- "+269",
"269",
"KM",
"COM"
)
- object Congo : CountryData(
+ data object Congo : CountryData(
R.string.democratic_republic_of_congo,
R.drawable.congo_flag,
- "+242",
"242",
"CG",
"COG"
)
- object CostaRica : CountryData(
+ data object CostaRica : CountryData(
R.string.costa_rica,
R.drawable.costa_rica_flag,
- "+506",
"506",
"CR",
"CRI"
)
- object Croatia : CountryData(
+ data object Croatia : CountryData(
R.string.croatia,
R.drawable.croatia_flag,
- "+385",
"385",
"HR",
"HRV"
)
- object Cuba : CountryData(
+ data object Cuba : CountryData(
R.string.cuba,
R.drawable.cuba_flag,
- "+53",
"53",
"CU",
"CUB"
)
- object Cyprus : CountryData(
+ data object Cyprus : CountryData(
R.string.cyprus,
R.drawable.cyprus_flag,
- "+357",
"357",
"CY",
"CYP"
)
- object CzechRepublic : CountryData(
+ data object CzechRepublic : CountryData(
R.string.czech_republic,
R.drawable.czech_republic_flag,
- "+420",
"420",
"CZ",
"CZE"
)
- object DemocraticRepublicOfCongo : CountryData(
+ data object DemocraticRepublicOfCongo : CountryData(
R.string.democratic_republic_of_congo,
R.drawable.democratic_republic_of_congo_flag,
- "+243",
"243",
"CD",
"COD"
)
- object Denmark : CountryData(
+ data object Denmark : CountryData(
R.string.denmark,
R.drawable.denmark_flag,
- "+45",
"45",
"DK",
"DNK"
)
- object Djibouti : CountryData(
+ data object Djibouti : CountryData(
R.string.djibouti,
R.drawable.djibouti_flag,
- "+253",
"253",
"DJ",
"DJI"
)
- object Dominica : CountryData(
+ data object Dominica : CountryData(
R.string.dominica,
R.drawable.dominica_flag,
- "+1 767",
"1767",
"DM",
"DMA"
)
- object DominicanRepublic : CountryData(
+ data object DominicanRepublic : CountryData(
R.string.dominican_republic,
R.drawable.dominican_republic_flag,
- "+1 809",
"1809",
"DO",
"DOM"
)
- object Ecuador : CountryData(
+ data object Ecuador : CountryData(
R.string.ecuador,
R.drawable.ecuador_flag,
- "+593",
"593",
"EC",
"ECU"
)
- object Egypt : CountryData(
+ data object Egypt : CountryData(
R.string.egypt,
R.drawable.egypt_flag,
- "+20",
"20",
"EG",
"EGY"
)
- object ElSalvador : CountryData(
+ data object ElSalvador : CountryData(
R.string.el_salvador,
R.drawable.el_salvador_flag,
- "+503",
"503",
"SV",
"SLV"
)
- object EquatorialGuinea : CountryData(
+ data object EquatorialGuinea : CountryData(
R.string.equatorial_guinea,
R.drawable.equatorial_guinea_flag,
- "+240",
"240",
"GQ",
"GNQ"
)
- object Eritrea : CountryData(
+ data object Eritrea : CountryData(
R.string.eritrea,
R.drawable.eritrea_flag,
- "+291",
"291",
"ER",
"ERI"
)
- object Estonia : CountryData(
+ data object Estonia : CountryData(
R.string.estonia,
R.drawable.estonia_flag,
- "+372",
"372",
"EE",
"EST"
)
- object Eswatini : CountryData(
+ data object Eswatini : CountryData(
R.string.eswatini,
R.drawable.eswatini_flag,
- "+268",
"268",
"SZ",
"SWZ"
)
- object Ethiopia : CountryData(
+ data object Ethiopia : CountryData(
R.string.ethiopia,
R.drawable.ethiopia_flag,
- "+251",
"251",
"ET",
"ETH"
)
- object Fiji : CountryData(
+ data object Fiji : CountryData(
R.string.fiji,
R.drawable.fiji_flag,
- "+679",
"679",
"FJ",
"FJI"
)
- object Finland : CountryData(
+ data object Finland : CountryData(
R.string.finland,
R.drawable.finland_flag,
- "+358",
"358",
"FI",
"FIN"
)
- object France : CountryData(
+ data object France : CountryData(
R.string.france,
R.drawable.france_flag,
- "+33",
"33",
"FR",
"FRA"
)
- object Gabon : CountryData(
+ data object Gabon : CountryData(
R.string.gabon,
R.drawable.gabon_flag,
- "+241",
"241",
"GA",
"GAB"
)
- object Gambia : CountryData(
+ data object Gambia : CountryData(
R.string.gambia,
R.drawable.gambia_flag,
- "+220",
"220",
"GM",
"GMB"
)
- object Georgia : CountryData(
+ data object Georgia : CountryData(
R.string.georgia,
R.drawable.georgia_flag,
- "+995",
"995",
"GE",
"GEO"
)
- object Germany : CountryData(
+ data object Germany : CountryData(
R.string.germany,
R.drawable.germany_flag,
- "+49",
"49",
"DE",
"DEU"
)
- object Ghana : CountryData(
+ data object Ghana : CountryData(
R.string.ghana,
R.drawable.ghana_flag,
- "+233",
"233",
"GH",
"GHA"
)
- object Greece : CountryData(
+ data object Greece : CountryData(
R.string.greece,
R.drawable.greece_flag,
- "+30",
"30",
"GR",
"GRC"
)
- object Grenada : CountryData(
+ data object Grenada : CountryData(
R.string.grenada,
R.drawable.grenada_flag,
- "+1 473",
"1473",
"GD",
"GRD"
)
- object Guatemala : CountryData(
+ data object Guatemala : CountryData(
R.string.guatemala,
R.drawable.guatemala_flag,
- "+502",
"502",
"GT",
"GTM"
)
- object Guinea : CountryData(
+ data object Guinea : CountryData(
R.string.guinea,
R.drawable.guinea_flag,
- "+224",
"224",
"GN",
"GIN"
)
- object GuineaBissau : CountryData(
+ data object GuineaBissau : CountryData(
R.string.guinea_bissau,
R.drawable.guinea_bissau_flag,
- "+245",
"245",
"GW",
"GNB"
)
- object Guyana : CountryData(
+ data object Guyana : CountryData(
R.string.guyana,
R.drawable.guyana_flag,
- "+592",
"592",
"GY",
"GUY"
)
- object Haiti : CountryData(
+ data object Haiti : CountryData(
R.string.haiti,
R.drawable.haiti_flag,
- "+509",
"509",
"HT",
"HTI"
)
- object Honduras : CountryData(
+ data object Honduras : CountryData(
R.string.honduras,
R.drawable.honduras_flag,
- "+504",
"504",
"HN",
"HND"
)
- object Hungary : CountryData(
+ data object Hungary : CountryData(
R.string.hungary,
R.drawable.hungary_flag,
- "+36",
"36",
"HU",
"HUN"
)
- object Iceland : CountryData(
+ data object Iceland : CountryData(
R.string.iceland,
R.drawable.iceland_flag,
- "+354",
"354",
"IS",
"ISL"
)
- object India : CountryData(
+ data object India : CountryData(
R.string.india,
R.drawable.india_flag,
- "+91",
"91",
"IN",
"IND"
)
- object Indonesia : CountryData(
+ data object Indonesia : CountryData(
R.string.indonesia,
R.drawable.indonesia_flag,
- "+62",
"62",
"ID",
"IDN"
)
- object Iran : CountryData(
+ data object Iran : CountryData(
R.string.iran,
R.drawable.iran_flag,
- "+98",
"98",
"IR",
"IRN"
)
- object Iraq : CountryData(
+ data object Iraq : CountryData(
R.string.iraq,
R.drawable.iraq_flag,
- "+964",
"964",
"IQ",
"IRQ"
)
- object Ireland : CountryData(
+ data object Ireland : CountryData(
R.string.ireland,
R.drawable.ireland_flag,
- "+353",
"353",
"IE",
"IRL"
)
- object Israel : CountryData(
+ data object Israel : CountryData(
R.string.israel,
R.drawable.israel_flag,
- "+972",
"972",
"IL",
"ISR"
)
- object Italy : CountryData(
+ data object Italy : CountryData(
R.string.italy,
R.drawable.italy_flag,
- "+39",
"39",
"IT",
"ITA"
)
- object IvoryCoast : CountryData(
+ data object IvoryCoast : CountryData(
R.string.ivory_coast,
R.drawable.ivory_coast_flag,
- "+225",
"225",
"CI",
"CIV"
)
- object Jamaica : CountryData(
+ data object Jamaica : CountryData(
R.string.jamaica,
R.drawable.jamaica_flag,
- "+1 876",
"1876",
"JM",
"JAM"
)
- object Japan : CountryData(
+ data object Japan : CountryData(
R.string.japan,
R.drawable.japan_flag,
- "+81",
"81",
"JP",
"JPN"
)
- object Jordan : CountryData(
+ data object Jordan : CountryData(
R.string.jordan,
R.drawable.jordan_flag,
- "+962",
"962",
"JO",
"JOR"
)
- object Kazakhstan : CountryData(
+ data object Kazakhstan : CountryData(
R.string.kazakhstan,
R.drawable.kazakhstan_flag,
- "+7",
"7",
"KZ",
"KAZ"
)
- object Kenya : CountryData(
+ data object Kenya : CountryData(
R.string.kenya,
R.drawable.kenya_flag,
- "+254",
"254",
"KE",
"KEN"
)
- object Kiribati : CountryData(
+ data object Kiribati : CountryData(
R.string.kiribati,
R.drawable.kiribati_flag,
- "+686",
"686",
"KI",
"KIR"
)
- object Kosovo : CountryData(
+ data object Kosovo : CountryData(
R.string.kosovo,
R.drawable.kosovo_flag,
- "+383",
"383",
"XK",
"XKX"
)
- object Kuwait : CountryData(
+ data object Kuwait : CountryData(
R.string.kuwait,
R.drawable.kuwait_flag,
- "+965",
"965",
"KW",
"KWT"
)
- object Kyrgyzstan : CountryData(
+ data object Kyrgyzstan : CountryData(
R.string.kyrgyzstan,
R.drawable.kyrgyzstan_flag,
- "+996",
"996",
"KG",
"KGZ"
)
- object Laos : CountryData(
+ data object Laos : CountryData(
R.string.laos,
R.drawable.laos_flag,
- "+856",
"856",
"LA",
"LAO"
)
- object Latvia : CountryData(
+ data object Latvia : CountryData(
R.string.latvia,
R.drawable.latvia_flag,
- "+371",
"371",
"LV",
"LVA"
)
- object Lebanon : CountryData(
+ data object Lebanon : CountryData(
R.string.lebanon,
R.drawable.lebanon_flag,
- "+961",
"961",
"LB",
"LBN"
)
- object Lesotho : CountryData(
+ data object Lesotho : CountryData(
R.string.lesotho,
R.drawable.lesotho_flag,
- "+266",
"266",
"LS",
"LSO"
)
- object Liberia : CountryData(
+ data object Liberia : CountryData(
R.string.liberia,
R.drawable.liberia_flag,
- "+231",
"231",
"LR",
"LBR"
)
- object Libya : CountryData(
+ data object Libya : CountryData(
R.string.libya,
R.drawable.libya_flag,
- "+218",
"218",
"LY",
"LBY"
)
- object Liechtenstein : CountryData(
+ data object Liechtenstein : CountryData(
R.string.liechtenstein,
R.drawable.liechtenstein_flag,
- "+423",
"423",
"LI",
"LIE"
)
- object Lithuania : CountryData(
+ data object Lithuania : CountryData(
R.string.lithuania,
R.drawable.lithuania_flag,
- "+370",
"370",
"LT",
"LTU"
)
- object Luxembourg : CountryData(
+ data object Luxembourg : CountryData(
R.string.luxembourg,
R.drawable.luxembourg_flag,
- "+352",
"352",
"LU",
"LUX"
)
- object Madagascar : CountryData(
+ data object Madagascar : CountryData(
R.string.madagascar,
R.drawable.madagascar_flag,
- "+261",
"261",
"MG",
"MDG"
)
- object Malawi : CountryData(
+ data object Malawi : CountryData(
R.string.malawi,
R.drawable.malawi_flag,
- "+265",
"265",
"MW",
"MWI"
)
- object Malaysia : CountryData(
+ data object Malaysia : CountryData(
R.string.malaysia,
R.drawable.malaysia_flag,
- "+60",
"60",
"MY",
"MYS"
)
- object Maldives : CountryData(
+ data object Maldives : CountryData(
R.string.maldives,
R.drawable.maldives_flag,
- "+960",
"960",
"MV",
"MDV"
)
- object Mali : CountryData(
+ data object Mali : CountryData(
R.string.mali,
R.drawable.mali_flag,
- "+223",
"223",
"ML",
"MLI"
)
- object Malta : CountryData(
+ data object Malta : CountryData(
R.string.malta,
R.drawable.malta_flag,
- "+356",
"356",
"MT",
"MLT"
)
- object MarshallIslands : CountryData(
+ data object MarshallIslands : CountryData(
R.string.marshall_islands,
R.drawable.marshall_islands_flag,
- "+692",
"692",
"MH",
"MHL"
)
- object Mauritania : CountryData(
+ data object Mauritania : CountryData(
R.string.mauritania,
R.drawable.mauritania_flag,
- "+222",
"222",
"MR",
"MRT"
)
-
- object Mauritius : CountryData(
+
+ data object Mauritius : CountryData(
R.string.mauritius,
R.drawable.mauritius_flag,
- "+230",
"230",
"MU",
"MUS"
)
- object Mexico : CountryData(
+ data object Mexico : CountryData(
R.string.mexico,
R.drawable.mexico_flag,
- "+52",
"52",
"MX",
"MEX"
)
- object Micronesia : CountryData(
+ data object Micronesia : CountryData(
R.string.micronesia,
R.drawable.micronesia_flag,
- "+691",
"691",
"FM",
"FSM"
)
- object Moldova : CountryData(
+ data object Moldova : CountryData(
R.string.moldova,
R.drawable.moldova_flag,
- "+373",
"373",
"MD",
"MDA"
)
- object Monaco : CountryData(
+ data object Monaco : CountryData(
R.string.monaco,
R.drawable.monaco_flag,
- "+377",
"377",
"MC",
"MCO"
)
- object Mongolia : CountryData(
+ data object Mongolia : CountryData(
R.string.mongolia,
R.drawable.mongolia_flag,
- "+976",
"976",
"MN",
"MNG"
)
- object Montenegro : CountryData(
+ data object Montenegro : CountryData(
R.string.montenegro,
R.drawable.montenegro_flag,
- "+382",
"382",
"ME",
"MNE"
)
- object Morocco : CountryData(
+ data object Morocco : CountryData(
R.string.morocco,
R.drawable.morocco_flag,
- "+212",
"212",
"MA",
"MAR"
)
- object Mozambique : CountryData(
+ data object Mozambique : CountryData(
R.string.mozambique,
R.drawable.mozambique_flag,
- "+258",
"258",
"MZ",
"MOZ"
)
- object Myanmar : CountryData(
+ data object Myanmar : CountryData(
R.string.myanmar,
R.drawable.myanmar_flag,
- "+95",
"95",
"MM",
"MMR"
)
- object Namibia : CountryData(
+ data object Namibia : CountryData(
R.string.namibia,
R.drawable.namibia_flag,
- "+264",
"264",
"NA",
"NAM"
)
- object Nauru : CountryData(
+ data object Nauru : CountryData(
R.string.nauru,
R.drawable.nauru_flag,
- "+674",
"674",
"NR",
"NRU"
)
- object Nepal : CountryData(
+ data object Nepal : CountryData(
R.string.nepal,
R.drawable.nepal_flag,
- "+977",
"977",
"NP",
"NPL"
)
- object Netherlands : CountryData(
+ data object Netherlands : CountryData(
R.string.netherlands,
R.drawable.netherlands_flag,
- "+31",
"31",
"NL",
"NLD"
)
- object NewZealand : CountryData(
+ data object NewZealand : CountryData(
R.string.new_zealand,
R.drawable.new_zealand_flag,
- "+64",
"64",
"NZ",
"NZL"
)
- object Nicaragua : CountryData(
+ data object Nicaragua : CountryData(
R.string.nicaragua,
R.drawable.nicaragua_flag,
- "+505",
"505",
"NI",
"NIC"
)
- object Niger : CountryData(
+ data object Niger : CountryData(
R.string.niger,
R.drawable.niger_flag,
- "+227",
"227",
"NE",
"NER"
)
- object Nigeria : CountryData(
+ data object Nigeria : CountryData(
R.string.nigeria,
R.drawable.nigeria_flag,
- "+234",
"234",
"NG",
"NGA"
)
- object NorthKorea : CountryData(
+ data object NorthKorea : CountryData(
R.string.north_korea,
R.drawable.north_korea_flag,
- "+850",
"850",
"KP",
"PRK"
)
- object NorthMacedonia : CountryData(
+ data object NorthMacedonia : CountryData(
R.string.north_macedonia,
R.drawable.north_macedonia_flag,
- "+389",
"389",
"MK",
"MKD"
)
- object Norway : CountryData(
+ data object Norway : CountryData(
R.string.norway,
R.drawable.norway_flag,
- "+47",
"47",
"NO",
"NOR"
)
- object Oman : CountryData(
+ data object Oman : CountryData(
R.string.oman,
R.drawable.oman_flag,
- "+968",
"968",
"OM",
"OMN"
)
- object Pakistan : CountryData(
+ data object Pakistan : CountryData(
R.string.pakistan,
R.drawable.pakistan_flag,
- "+92",
"92",
"PK",
"PAK"
)
- object Palau : CountryData(
+ data object Palau : CountryData(
R.string.palau,
R.drawable.palau_flag,
- "+680",
"680",
"PW",
"PLW"
)
- object Panama : CountryData(
+ data object Panama : CountryData(
R.string.panama,
R.drawable.panama_flag,
- "+507",
"507",
"PA",
"PAN"
)
- object PapuaNewGuinea : CountryData(
+ data object PapuaNewGuinea : CountryData(
R.string.papua_new_guinea,
R.drawable.papua_new_guinea_flag,
- "+675",
"675",
"PG",
"PNG"
)
- object Paraguay : CountryData(
+ data object Paraguay : CountryData(
R.string.paraguay,
R.drawable.paraguay_flag,
- "+595",
"595",
"PY",
"PRY"
)
- object Peru : CountryData(
+ data object Peru : CountryData(
R.string.peru,
R.drawable.peru_flag,
- "+51",
"51",
"PE",
"PER"
)
- object Philippines : CountryData(
+ data object Philippines : CountryData(
R.string.philippines,
R.drawable.philippines_flag,
- "+63",
"63",
"PH",
"PHL"
)
- object Poland : CountryData(
+ data object Poland : CountryData(
R.string.poland,
R.drawable.poland_flag,
- "+48",
"48",
"PL",
"POL"
)
- object Portugal : CountryData(
+ data object Portugal : CountryData(
R.string.portugal,
R.drawable.portugal_flag,
- "+351",
"351",
"PT",
"PRT"
)
- object Qatar : CountryData(
+ data object Qatar : CountryData(
R.string.qatar,
R.drawable.qatar_flag,
- "+974",
"974",
"QA",
"QAT"
)
- object Romania : CountryData(
+ data object Romania : CountryData(
R.string.romania,
R.drawable.romania_flag,
- "+40",
"40",
"RO",
"ROU"
)
- object Russia : CountryData(
+ data object Russia : CountryData(
R.string.russia,
R.drawable.russia_flag,
- "+7",
"7",
"RU",
"RUS"
)
- object Rwanda : CountryData(
+ data object Rwanda : CountryData(
R.string.rwanda,
R.drawable.rwanda_flag,
- "+250",
"250",
"RW",
"RWA"
)
- object SaintKittsAndNevis : CountryData(
+ data object SaintKittsAndNevis : CountryData(
R.string.saint_kitts_and_nevis,
R.drawable.saint_kitts_and_nevis_flag,
- "+1869",
"1869",
"KN",
"KNA"
)
- object SaintLucia : CountryData(
+ data object SaintLucia : CountryData(
R.string.saint_lucia,
R.drawable.saint_lucia_flag,
- "+1758",
"1758",
"LC",
"LCA"
)
- object SaintVincentAndTheGrenadines : CountryData(
+ data object SaintVincentAndTheGrenadines : CountryData(
R.string.saint_vincent_and_the_grenadines,
R.drawable.saint_vincent_and_the_grenadines_flag,
- "+1784",
"1784",
"VC",
"VCT"
)
- object Samoa : CountryData(
+ data object Samoa : CountryData(
R.string.samoa,
R.drawable.samoa_flag,
- "+685",
"685",
"WS",
"WSM"
)
- object SanMarino : CountryData(
+ data object SanMarino : CountryData(
R.string.san_marino,
R.drawable.san_marino_flag,
- "+378",
"378",
"SM",
"SMR"
)
- object SaoTomeAndPrincipe : CountryData(
+ data object SaoTomeAndPrincipe : CountryData(
R.string.sao_tome_and_principe,
R.drawable.sao_tome_and_principe_flag,
- "+239",
"239",
"ST",
"STP"
)
- object SaudiArabia : CountryData(
+ data object SaudiArabia : CountryData(
R.string.saudi_arabia,
R.drawable.saudi_arabia_flag,
- "+966",
"966",
"SA",
"SAU"
)
- object Senegal : CountryData(
+ data object Senegal : CountryData(
R.string.senegal,
R.drawable.senegal_flag,
- "+221",
"221",
"SN",
"SEN"
)
- object Serbia : CountryData(
+ data object Serbia : CountryData(
R.string.serbia,
R.drawable.serbia_flag,
- "+381",
"381",
"RS",
"SRB"
)
- object Seychelles : CountryData(
+ data object Seychelles : CountryData(
R.string.seychelles,
R.drawable.seychelles_flag,
- "+248",
"248",
"SC",
"SYC"
)
- object SierraLeone : CountryData(
+ data object SierraLeone : CountryData(
R.string.sierra_leone,
R.drawable.sierra_leone_flag,
- "+232",
"232",
"SL",
"SLE"
)
- object Singapore : CountryData(
+ data object Singapore : CountryData(
R.string.singapore,
R.drawable.singapore_flag,
- "+65",
"65",
"SG",
"SGP"
)
- object Slovakia : CountryData(
+ data object Slovakia : CountryData(
R.string.slovakia,
R.drawable.slovakia_flag,
- "+421",
"421",
"SK",
"SVK"
)
- object Slovenia : CountryData(
+ data object Slovenia : CountryData(
R.string.slovenia,
R.drawable.slovenia_flag,
- "+386",
"386",
"SI",
"SVN"
)
- object SolomonIslands : CountryData(
+ data object SolomonIslands : CountryData(
R.string.solomon_islands,
R.drawable.solomon_islands_flag,
- "+677",
"677",
"SB",
"SLB"
)
- object Somalia : CountryData(
+ data object Somalia : CountryData(
R.string.somalia,
R.drawable.somalia_flag,
- "+252",
"252",
"SO",
"SOM"
)
- object SouthAfrica : CountryData(
+ data object SouthAfrica : CountryData(
R.string.south_africa,
R.drawable.south_africa_flag,
- "+27",
"27",
"ZA",
"ZAF"
)
- object SouthKorea : CountryData(
+ data object SouthKorea : CountryData(
R.string.south_korea,
R.drawable.south_korea_flag,
- "+82",
"82",
"KR",
"KOR"
)
- object SouthSudan : CountryData(
+ data object SouthSudan : CountryData(
R.string.south_sudan,
R.drawable.south_sudan_flag,
- "+211",
"211",
"SS",
"SSD"
)
- object Spain : CountryData(
+ data object Spain : CountryData(
R.string.spain,
R.drawable.spain_flag,
- "+34",
"34",
"ES",
"ESP"
)
- object SriLanka : CountryData(
+ data object SriLanka : CountryData(
R.string.sri_lanka,
R.drawable.sri_lanka_flag,
- "+94",
"94",
"LK",
"LKA"
)
- object Sudan : CountryData(
+ data object Sudan : CountryData(
R.string.sudan,
R.drawable.sudan_flag,
- "+249",
"249",
"SD",
"SDN"
)
- object Suriname : CountryData(
+ data object Suriname : CountryData(
R.string.suriname,
R.drawable.suriname_flag,
- "+597",
"597",
"SR",
"SUR"
)
- object Sweden : CountryData(
+ data object Sweden : CountryData(
R.string.sweden,
R.drawable.sweden_flag,
- "+46",
"46",
"SE",
"SWE"
)
- object Switzerland : CountryData(
+ data object Switzerland : CountryData(
R.string.switzerland,
R.drawable.switzerland_flag,
- "+41",
"41",
"CH",
"CHE"
)
- object Syria : CountryData(
+ data object Syria : CountryData(
R.string.syria,
R.drawable.syria_flag,
- "+963",
"963",
"SY",
"SYR"
)
- object Taiwan : CountryData(
+ data object Taiwan : CountryData(
R.string.taiwan,
R.drawable.taiwan_flag,
- "+886",
"886",
"TW",
"TWN"
)
- object Tajikistan : CountryData(
+ data object Tajikistan : CountryData(
R.string.tajikistan,
R.drawable.tajikistan_flag,
- "+992",
"992",
"TJ",
"TJK"
)
- object Tanzania : CountryData(
+ data object Tanzania : CountryData(
R.string.tanzania,
R.drawable.tanzania_flag,
- "+255",
"255",
"TZ",
"TZA"
)
- object Thailand : CountryData(
+ data object Thailand : CountryData(
R.string.thailand,
R.drawable.thailand_flag,
- "+66",
"66",
"TH",
"THA"
)
- object TimorLeste : CountryData(
+ data object TimorLeste : CountryData(
R.string.timor_leste,
R.drawable.timor_leste_flag,
- "+670",
"670",
"TL",
"TLS"
)
- object Togo : CountryData(
+ data object Togo : CountryData(
R.string.togo,
R.drawable.togo_flag,
- "+228",
"228",
"TG",
"TGO"
)
- object Tonga : CountryData(
+ data object Tonga : CountryData(
R.string.tonga,
R.drawable.tonga_flag,
- "+676",
"676",
"TO",
"TON"
)
- object TrinidadAndTobago : CountryData(
+ data object TrinidadAndTobago : CountryData(
R.string.trinidad_and_tobago,
R.drawable.trinidad_and_tobago_flag,
- "+1 868",
"1868",
"TT",
"TTO"
)
- object Tunisia : CountryData(
+ data object Tunisia : CountryData(
R.string.tunisia,
R.drawable.tunisia_flag,
- "+216",
"216",
"TN",
"TUN"
)
- object Turkey : CountryData(
+ data object Turkey : CountryData(
R.string.turkey,
R.drawable.turkey_flag,
- "+90",
"90",
"TR",
"TUR"
)
- object Turkmenistan : CountryData(
+ data object Turkmenistan : CountryData(
R.string.turkmenistan,
R.drawable.turkmenistan_flag,
- "+993",
"993",
"TM",
"TKM"
)
- object Tuvalu : CountryData(
+ data object Tuvalu : CountryData(
R.string.tuvalu,
R.drawable.tuvalu_flag,
- "+688",
"688",
"TV",
"TUV"
)
- object Uganda : CountryData(
+ data object Uganda : CountryData(
R.string.uganda,
R.drawable.uganda_flag,
- "+256",
"256",
"UG",
"UGA"
)
- object Ukraine : CountryData(
+ data object Ukraine : CountryData(
R.string.ukraine,
R.drawable.ukraine_flag,
- "+380",
"380",
"UA",
"UKR"
)
- object UnitedArabEmirates : CountryData(
+ data object UnitedArabEmirates : CountryData(
R.string.united_arab_emirates,
R.drawable.united_arab_emirates_flag,
- "+971",
"971",
"AE",
"ARE"
)
- object UnitedKingdom : CountryData(
+ data object UnitedKingdom : CountryData(
R.string.united_kingdom,
R.drawable.united_kingdom_flag,
- "+44",
"44",
"GB",
"GBR"
)
- object UnitedStates : CountryData(
+ data object UnitedStates : CountryData(
R.string.united_states,
R.drawable.united_states_flag,
- "+1",
"1",
"US",
"USA"
)
- object Uruguay : CountryData(
+ data object Uruguay : CountryData(
R.string.uruguay,
R.drawable.uruguay_flag,
- "+598",
"598",
"UY",
"URY"
)
- object Uzbekistan : CountryData(
+ data object Uzbekistan : CountryData(
R.string.uzbekistan,
R.drawable.uzbekistan_flag,
- "+998",
"998",
"UZ",
"UZB"
)
- object Vanuatu : CountryData(
+ data object Vanuatu : CountryData(
R.string.vanuatu,
R.drawable.vanuatu_flag,
- "+678",
"678",
"VU",
"VUT"
)
- object VaticanCity : CountryData(
+ data object VaticanCity : CountryData(
R.string.vatican_city,
R.drawable.vatican_city_flag,
- "+379",
"379",
"VA",
"VAT"
)
- object Vietnam : CountryData(
+ data object Vietnam : CountryData(
R.string.vietnam,
R.drawable.vietnam_flag,
- "+84",
"84",
"VN",
"VNM"
)
- object Venezuela : CountryData(
+ data object Venezuela : CountryData(
R.string.venezuela,
R.drawable.venezuela_flag,
- "+58",
"58",
"VE",
"VEN"
)
-
- object Yemen : CountryData(
+
+ data object Yemen : CountryData(
R.string.yemen,
R.drawable.yemen_flag,
- "+967",
"967",
"YE",
"YEM"
)
- object Zambia : CountryData(
+ data object Zambia : CountryData(
R.string.zambia,
R.drawable.zambia_flag,
- "+260",
"260",
"ZM",
"ZMB"
)
- object Zimbabwe : CountryData(
+ data object Zimbabwe : CountryData(
R.string.zimbabwe,
R.drawable.zimbabwe_flag,
- "+263",
"263",
"ZW",
"ZWE"
@@ -1975,4 +1780,4 @@ fun getAllCountries(): List {
countryList.add(CountryData.Zimbabwe)
return countryList.toList()
-}
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index bfc06f9..fa5e246 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,12 +5,12 @@ plugins {
android {
namespace 'com.example.www.countrycodechooser'
- compileSdk 33
+ compileSdk 34
defaultConfig {
applicationId "com.example.www.countrycodechooser"
minSdk 21
- targetSdk 33
+ targetSdk 34
versionCode 1
versionName "1.0"
@@ -27,17 +27,17 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
- jvmTarget = '1.8'
+ jvmTarget = '17'
}
buildFeatures {
compose true
}
composeOptions {
- kotlinCompilerExtensionVersion '1.1.1'
+ kotlinCompilerExtensionVersion '1.5.0'
}
packagingOptions {
resources {
@@ -47,20 +47,17 @@ android {
}
dependencies {
-
- implementation 'androidx.core:core-ktx:1.7.0'
- implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
- implementation 'androidx.activity:activity-compose:1.3.1'
+ implementation project(':CountryCodeChooser')
+ implementation 'androidx.core:core-ktx:1.10.1'
+ implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
+ implementation 'androidx.activity:activity-compose:1.7.2'
implementation "androidx.compose.ui:ui:$compose_ui_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_ui_version"
- implementation 'androidx.compose.material:material:1.1.1'
+ implementation 'androidx.compose.material:material:1.4.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_ui_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_ui_version"
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_ui_version"
-
- //implementation project(path: ":CountryCodeChooser")
- implementation "com.github.ParveshSandila:CountryCodeChooser:1.0.2"
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/example/www/countrycodechooser/MainActivity.kt b/app/src/main/java/com/example/www/countrycodechooser/MainActivity.kt
index 3d32486..cb8d1c8 100644
--- a/app/src/main/java/com/example/www/countrycodechooser/MainActivity.kt
+++ b/app/src/main/java/com/example/www/countrycodechooser/MainActivity.kt
@@ -78,10 +78,12 @@ class MainActivity : ComponentActivity() {
shape = RoundedCornerShape(5.dp),
color = Color.Gray
),
- defaultCountry = "CAN",
+ defaultCountryIsoCode = "CAN",
countryCodeType = CountryCodeType.FLAG,
- onCountySelected = { countryCodeWithoutPrefix, iso2Code, iso3Code ->
- Log.d("SelectedCountry","$countryCodeWithoutPrefix, $iso2Code, $iso3Code")
+ onCountrySelected = {
+ with(it){
+ Log.d("SelectedCountry","$countryCode, $iso2Code, $iso3Code")
+ }
}
)
diff --git a/build.gradle b/build.gradle
index da26296..cf48860 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,10 +1,10 @@
buildscript {
ext {
- compose_ui_version = '1.1.1'
+ compose_ui_version = '1.6.0-alpha01'
}
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id 'com.android.application' version '7.3.0' apply false
- id 'com.android.library' version '7.3.0' apply false
- id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
-}
\ No newline at end of file
+ id 'com.android.application' version '8.1.0-rc01' apply false
+ id 'com.android.library' version '8.1.0-rc01' apply false
+ id 'org.jetbrains.kotlin.android' version '1.9.0' apply false
+}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 8f9536b..f03f4f2 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Sun Apr 30 23:50:40 IST 2023
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
diff --git a/jitpack.yml b/jitpack.yml
index 5f5cba3..1e41e00 100644
--- a/jitpack.yml
+++ b/jitpack.yml
@@ -1,5 +1,2 @@
-jdk :
- -openjdk11
-
-before_install:
- - ./scripts/prepareJitpackEnviroment.sh
\ No newline at end of file
+jdk:
+ - openjdk17
\ No newline at end of file