Quellcode durchsuchen

Worked on modal bottom sheet for country along with its timezone

Khubaib vor 10 Monaten
Ursprung
Commit
a6527c4526
100 geänderte Dateien mit 719 neuen und 229 gelöschten Zeilen
  1. 2 2
      .idea/deploymentTargetSelector.xml
  2. 1 0
      app/build.gradle.kts
  3. 7 0
      app/src/main/java/com/fastest/pass/home/domain/model/CountryInfoCode.kt
  4. 395 195
      app/src/main/java/com/fastest/pass/home/domain/model/CountryInfoList.kt
  5. 300 32
      app/src/main/java/com/fastest/pass/home/presentation/ui/components/AddContactInfoScreen.kt
  6. 14 0
      app/src/main/java/com/fastest/pass/home/utils/GetDrawable.kt
  7. BIN
      app/src/main/res/drawable/ad.png
  8. BIN
      app/src/main/res/drawable/ae.png
  9. BIN
      app/src/main/res/drawable/af.png
  10. BIN
      app/src/main/res/drawable/ag.png
  11. BIN
      app/src/main/res/drawable/ai.png
  12. BIN
      app/src/main/res/drawable/al.png
  13. BIN
      app/src/main/res/drawable/am.png
  14. BIN
      app/src/main/res/drawable/ao.png
  15. BIN
      app/src/main/res/drawable/aq.png
  16. BIN
      app/src/main/res/drawable/ar.png
  17. BIN
      app/src/main/res/drawable/as.png
  18. BIN
      app/src/main/res/drawable/at.png
  19. BIN
      app/src/main/res/drawable/au.png
  20. BIN
      app/src/main/res/drawable/aw.png
  21. BIN
      app/src/main/res/drawable/ax.png
  22. BIN
      app/src/main/res/drawable/az.png
  23. BIN
      app/src/main/res/drawable/ba.png
  24. BIN
      app/src/main/res/drawable/bb.png
  25. BIN
      app/src/main/res/drawable/bd.png
  26. BIN
      app/src/main/res/drawable/be.png
  27. BIN
      app/src/main/res/drawable/bf.png
  28. BIN
      app/src/main/res/drawable/bg.png
  29. BIN
      app/src/main/res/drawable/bh.png
  30. BIN
      app/src/main/res/drawable/bi.png
  31. BIN
      app/src/main/res/drawable/bj.png
  32. BIN
      app/src/main/res/drawable/bl.png
  33. BIN
      app/src/main/res/drawable/bm.png
  34. BIN
      app/src/main/res/drawable/bn.png
  35. BIN
      app/src/main/res/drawable/bo.png
  36. BIN
      app/src/main/res/drawable/bq.png
  37. BIN
      app/src/main/res/drawable/br.png
  38. BIN
      app/src/main/res/drawable/brl.png
  39. BIN
      app/src/main/res/drawable/bs.png
  40. BIN
      app/src/main/res/drawable/bt.png
  41. BIN
      app/src/main/res/drawable/bv.png
  42. BIN
      app/src/main/res/drawable/bw.png
  43. BIN
      app/src/main/res/drawable/by.png
  44. BIN
      app/src/main/res/drawable/bz.png
  45. BIN
      app/src/main/res/drawable/ca.png
  46. BIN
      app/src/main/res/drawable/cc.png
  47. BIN
      app/src/main/res/drawable/cd.png
  48. BIN
      app/src/main/res/drawable/cf.png
  49. BIN
      app/src/main/res/drawable/cg.png
  50. BIN
      app/src/main/res/drawable/ch.png
  51. BIN
      app/src/main/res/drawable/ci.png
  52. BIN
      app/src/main/res/drawable/ck.png
  53. BIN
      app/src/main/res/drawable/cl.png
  54. BIN
      app/src/main/res/drawable/cm.png
  55. BIN
      app/src/main/res/drawable/cn.png
  56. BIN
      app/src/main/res/drawable/co.png
  57. BIN
      app/src/main/res/drawable/cr.png
  58. BIN
      app/src/main/res/drawable/cu.png
  59. BIN
      app/src/main/res/drawable/cv.png
  60. BIN
      app/src/main/res/drawable/cw.png
  61. BIN
      app/src/main/res/drawable/cx.png
  62. BIN
      app/src/main/res/drawable/cy.png
  63. BIN
      app/src/main/res/drawable/cz.png
  64. BIN
      app/src/main/res/drawable/de.png
  65. BIN
      app/src/main/res/drawable/dj.png
  66. BIN
      app/src/main/res/drawable/dk.png
  67. BIN
      app/src/main/res/drawable/dm.png
  68. BIN
      app/src/main/res/drawable/dor.png
  69. BIN
      app/src/main/res/drawable/dz.png
  70. BIN
      app/src/main/res/drawable/ec.png
  71. BIN
      app/src/main/res/drawable/ee.png
  72. BIN
      app/src/main/res/drawable/eg.png
  73. BIN
      app/src/main/res/drawable/eh.png
  74. BIN
      app/src/main/res/drawable/eo.png
  75. BIN
      app/src/main/res/drawable/er.png
  76. BIN
      app/src/main/res/drawable/es.png
  77. BIN
      app/src/main/res/drawable/et.png
  78. BIN
      app/src/main/res/drawable/eu.png
  79. BIN
      app/src/main/res/drawable/fi.png
  80. BIN
      app/src/main/res/drawable/fj.png
  81. BIN
      app/src/main/res/drawable/fk.png
  82. BIN
      app/src/main/res/drawable/fm.png
  83. BIN
      app/src/main/res/drawable/fo.png
  84. BIN
      app/src/main/res/drawable/fr.png
  85. BIN
      app/src/main/res/drawable/ga.png
  86. BIN
      app/src/main/res/drawable/gb.png
  87. BIN
      app/src/main/res/drawable/gd.png
  88. BIN
      app/src/main/res/drawable/ge.png
  89. BIN
      app/src/main/res/drawable/gf.png
  90. BIN
      app/src/main/res/drawable/gg.png
  91. BIN
      app/src/main/res/drawable/gh.png
  92. BIN
      app/src/main/res/drawable/gi.png
  93. BIN
      app/src/main/res/drawable/gl.png
  94. BIN
      app/src/main/res/drawable/gm.png
  95. BIN
      app/src/main/res/drawable/gn.png
  96. BIN
      app/src/main/res/drawable/gp.png
  97. BIN
      app/src/main/res/drawable/gq.png
  98. BIN
      app/src/main/res/drawable/gr.png
  99. BIN
      app/src/main/res/drawable/gs.png
  100. 0 0
      app/src/main/res/drawable/gt.png

+ 2 - 2
.idea/deploymentTargetSelector.xml

@@ -4,10 +4,10 @@
     <selectionStates>
       <SelectionState runConfigName="app">
         <option name="selectionMode" value="DROPDOWN" />
-        <DropdownSelection timestamp="2024-12-18T15:37:26.802152740Z">
+        <DropdownSelection timestamp="2024-12-18T15:40:16.430600454Z">
           <Target type="DEFAULT_BOOT">
             <handle>
-              <DeviceId pluginId="LocalEmulator" identifier="path=/home/ubuntu/.android/avd/Small_Phone_API_25.avd" />
+              <DeviceId pluginId="PhysicalDevice" identifier="serial=1C051FDF60048Z" />
             </handle>
           </Target>
         </DropdownSelection>

+ 1 - 0
app/build.gradle.kts

@@ -79,6 +79,7 @@ dependencies {
     implementation(libs.accompanist.pager)
     implementation(libs.accompanist.pager.indicators)
 
+    implementation(libs.ccp)
 
     testImplementation(libs.junit)
     androidTestImplementation(libs.androidx.junit)

+ 7 - 0
app/src/main/java/com/fastest/pass/home/domain/model/CountryInfoCode.kt

@@ -0,0 +1,7 @@
+package com.fastest.pass.home.domain.model
+
+data class CountryInfoCode(
+    val name: String,
+    val code: String,
+    val flag: String
+)

+ 395 - 195
app/src/main/java/com/fastest/pass/home/domain/model/CountryInfoList.kt

@@ -1,199 +1,399 @@
 package com.fastest.pass.home.domain.model
 
 val countryInfoList = listOf(
-    CountryInfo("Afghanistan", "🇦🇫", "GMT+04:30 (Asia/Kabul)"),
-    CountryInfo("Albania", "🇦🇱", "GMT+01:00 (Europe/Tirane)"),
-    CountryInfo("Algeria", "🇩🇿", "GMT+01:00 (Africa/Algiers)"),
-    CountryInfo("Andorra", "🇦🇩", "GMT+01:00 (Europe/Andorra)"),
-    CountryInfo("Angola", "🇦🇴", "GMT+01:00 (Africa/Luanda)"),
-    CountryInfo("Antigua and Barbuda", "🇦🇬", "GMT-04:00 (America/Antigua)"),
-    CountryInfo("Argentina", "🇦🇷", "GMT-03:00 (America/Argentina/Buenos_Aires)"),
-    CountryInfo("Armenia", "🇦🇲", "GMT+04:00 (Asia/Yerevan)"),
-    CountryInfo("Australia", "🇦🇺", "GMT+10:00 (Australia/Sydney)"),
-    CountryInfo("Austria", "🇦🇹", "GMT+01:00 (Europe/Vienna)"),
-    CountryInfo("Azerbaijan", "🇦🇿", "GMT+04:00 (Asia/Baku)"),
-    CountryInfo("Bahamas", "🇧🇸", "GMT-05:00 (America/Nassau)"),
-    CountryInfo("Bahrain", "🇧🇭", "GMT+03:00 (Asia/Bahrain)"),
-    CountryInfo("Bangladesh", "🇧🇩", "GMT+06:00 (Asia/Dhaka)"),
-    CountryInfo("Barbados", "🇧🇧", "GMT-04:00 (America/Barbados)"),
-    CountryInfo("Belarus", "🇧🇾", "GMT+03:00 (Europe/Minsk)"),
-    CountryInfo("Belgium", "🇧🇪", "GMT+01:00 (Europe/Brussels)"),
-    CountryInfo("Belize", "🇧🇿", "GMT-06:00 (America/Belize)"),
-    CountryInfo("Benin", "🇧🇯", "GMT+01:00 (Africa/Porto-Novo)"),
-    CountryInfo("Bhutan", "🇧🇹", "GMT+06:00 (Asia/Thimphu)"),
-    CountryInfo("Bolivia", "🇧🇴", "GMT-04:00 (America/La_Paz)"),
-    CountryInfo("Bosnia and Herzegovina", "🇧🇦", "GMT+01:00 (Europe/Sarajevo)"),
-    CountryInfo("Botswana", "🇧🇼", "GMT+02:00 (Africa/Gaborone)"),
-    CountryInfo("Brazil", "🇧🇷", "GMT-03:00 (America/Sao_Paulo)"),
-    CountryInfo("Brunei", "🇧🇳", "GMT+08:00 (Asia/Brunei)"),
-    CountryInfo("Bulgaria", "🇧🇬", "GMT+02:00 (Europe/Sofia)"),
-    CountryInfo("Burkina Faso", "🇧🇫", "GMT+00:00 (Africa/Ouagadougou)"),
-    CountryInfo("Burundi", "🇧🇮", "GMT+02:00 (Africa/Bujumbura)"),
-    CountryInfo("Cabo Verde", "🇨🇻", "GMT-01:00 (Atlantic/Cape_Verde)"),
-    CountryInfo("Cambodia", "🇰🇭", "GMT+07:00 (Asia/Phnom_Penh)"),
-    CountryInfo("Cameroon", "🇨🇲", "GMT+01:00 (Africa/Douala)"),
-    CountryInfo("Canada", "🇨🇦", "GMT-05:00 (America/Toronto)"),
-    CountryInfo("Central African Republic", "🇨🇫", "GMT+01:00 (Africa/Bangui)"),
-    CountryInfo("Chad", "🇹🇩", "GMT+01:00 (Africa/N'Djamena)"),
-    CountryInfo("Chile", "🇨🇱", "GMT-04:00 (America/Santiago)"),
-    CountryInfo("China", "🇨🇳", "GMT+08:00 (Asia/Shanghai)"),
-    CountryInfo("Colombia", "🇨🇴", "GMT-05:00 (America/Bogota)"),
-    CountryInfo("Comoros", "🇰🇲", "GMT+03:00 (Indian/Comoro)"),
-    CountryInfo("Congo (Congo-Brazzaville)", "🇨🇬", "GMT+01:00 (Africa/Brazzaville)"),
-    CountryInfo("Congo (Democratic Republic)", "🇨🇩", "GMT+01:00 (Africa/Kinshasa)"),
-    CountryInfo("Costa Rica", "🇨🇷", "GMT-06:00 (America/Costa_Rica)"),
-    CountryInfo("Croatia", "🇭🇷", "GMT+01:00 (Europe/Zagreb)"),
-    CountryInfo("Cuba", "🇨🇺", "GMT-05:00 (America/Havana)"),
-    CountryInfo("Cyprus", "🇨🇾", "GMT+02:00 (Asia/Nicosia)"),
-    CountryInfo("Czech Republic", "🇨🇿", "GMT+01:00 (Europe/Prague)"),
-    CountryInfo("Denmark", "🇩🇰", "GMT+01:00 (Europe/Copenhagen)"),
-    CountryInfo("Djibouti", "🇩🇯", "GMT+03:00 (Africa/Djibouti)"),
-    CountryInfo("Dominica", "🇩🇲", "GMT-04:00 (America/Dominica)"),
-    CountryInfo("Dominican Republic", "🇩🇴", "GMT-04:00 (America/Santo_Domingo)"),
-    CountryInfo("Ecuador", "🇪🇨", "GMT-05:00 (America/Guayaquil)"),
-    CountryInfo("Egypt", "🇪🇬", "GMT+02:00 (Africa/Cairo)"),
-    CountryInfo("El Salvador", "🇸🇻", "GMT-06:00 (America/El_Salvador)"),
-    CountryInfo("Equatorial Guinea", "🇬🇶", "GMT+01:00 (Africa/Malabo)"),
-    CountryInfo("Eritrea", "🇪🇷", "GMT+03:00 (Africa/Asmara)"),
-    CountryInfo("Estonia", "🇪🇪", "GMT+02:00 (Europe/Tallinn)"),
-    CountryInfo("Eswatini", "🇸🇿", "GMT+02:00 (Africa/Mbabane)"),
-    CountryInfo("Ethiopia", "🇪🇹", "GMT+03:00 (Africa/Addis_Ababa)"),
-    CountryInfo("Fiji", "🇫🇯", "GMT+12:00 (Pacific/Fiji)"),
-    CountryInfo("Finland", "🇫🇮", "GMT+02:00 (Europe/Helsinki)"),
-    CountryInfo("France", "🇫🇷", "GMT+01:00 (Europe/Paris)"),
-    CountryInfo("Gabon", "🇬🇦", "GMT+01:00 (Africa/Libreville)"),
-    CountryInfo("Gambia", "🇬🇲", "GMT+00:00 (Africa/Banjul)"),
-    CountryInfo("Georgia", "🇬🇪", "GMT+04:00 (Asia/Tbilisi)"),
-    CountryInfo("Germany", "🇩🇪", "GMT+01:00 (Europe/Berlin)"),
-    CountryInfo("Ghana", "🇬🇭", "GMT+00:00 (Africa/Accra)"),
-    CountryInfo("Greece", "🇬🇷", "GMT+02:00 (Europe/Athens)"),
-    CountryInfo("Grenada", "🇬🇩", "GMT-04:00 (America/Grenada)"),
-    CountryInfo("Guatemala", "🇬🇹", "GMT-06:00 (America/Guatemala)"),
-    CountryInfo("Guinea", "🇬🇳", "GMT+00:00 (Africa/Conakry)"),
-    CountryInfo("Guinea-Bissau", "🇬🇼", "GMT+00:00 (Africa/Bissau)"),
-    CountryInfo("Guyana", "🇬🇾", "GMT-04:00 (America/Guyana)"),
-    CountryInfo("Haiti", "🇭🇹", "GMT-05:00 (America/Port-au-Prince)"),
-    CountryInfo("Honduras", "🇭🇳", "GMT-06:00 (America/Tegucigalpa)"),
-    CountryInfo("Hungary", "🇭🇺", "GMT+01:00 (Europe/Budapest)"),
-    CountryInfo("Iceland", "🇮🇸", "GMT+00:00 (Atlantic/Reykjavik)"),
-    CountryInfo("India", "🇮🇳", "GMT+05:30 (Asia/Kolkata)"),
-    CountryInfo("Indonesia", "🇮🇩", "GMT+07:00 (Asia/Jakarta)"),
-    CountryInfo("Iran", "🇮🇷", "GMT+03:30 (Asia/Tehran)"),
-    CountryInfo("Iraq", "🇮🇶", "GMT+03:00 (Asia/Baghdad)"),
-    CountryInfo("Ireland", "🇮🇪", "GMT+00:00 (Europe/Dublin)"),
-    CountryInfo("Israel", "🇮🇱", "GMT+02:00 (Asia/Jerusalem)"),
-    CountryInfo("Italy", "🇮🇹", "GMT+01:00 (Europe/Rome)"),
-    CountryInfo("Jamaica", "🇯🇲", "GMT-05:00 (America/Jamaica)"),
-    CountryInfo("Japan", "🇯🇵", "GMT+09:00 (Asia/Tokyo)"),
-    CountryInfo("Jordan", "🇯🇴", "GMT+02:00 (Asia/Amman)"),
-    CountryInfo("Kazakhstan", "🇰🇿", "GMT+06:00 (Asia/Almaty)"),
-    CountryInfo("Kenya", "🇰🇪", "GMT+03:00 (Africa/Nairobi)"),
-    CountryInfo("Kiribati", "🇰🇮", "GMT+12:00 (Pacific/Kiritimati)"),
-    CountryInfo("Korea (North)", "🇰🇵", "GMT+09:00 (Asia/Pyongyang)"),
-    CountryInfo("Korea (South)", "🇰🇷", "GMT+09:00 (Asia/Seoul)"),
-    CountryInfo("Kuwait", "🇰🇼", "GMT+03:00 (Asia/Kuwait)"),
-    CountryInfo("Kyrgyzstan", "🇰🇬", "GMT+06:00 (Asia/Bishkek)"),
-    CountryInfo("Laos", "🇱🇸", "GMT+07:00 (Asia/Vientiane)"),
-    CountryInfo("Latvia", "🇱🇻", "GMT+02:00 (Europe/Riga)"),
-    CountryInfo("Lebanon", "🇱🇧", "GMT+02:00 (Asia/Beirut)"),
-    CountryInfo("Lesotho", "🇱🇸", "GMT+02:00 (Africa/Maseru)"),
-    CountryInfo("Liberia", "🇱🇸", "GMT+00:00 (Africa/Monrovia)"),
-    CountryInfo("Libya", "🇱🇾", "GMT+02:00 (Africa/Tripoli)"),
-    CountryInfo("Liechtenstein", "🇱🇮", "GMT+01:00 (Europe/Vaduz)"),
-    CountryInfo("Lithuania", "🇱🇹", "GMT+02:00 (Europe/Vilnius)"),
-    CountryInfo("Luxembourg", "🇱🇺", "GMT+01:00 (Europe/Luxembourg)"),
-    CountryInfo("Madagascar", "🇲🇬", "GMT+03:00 (Indian/Antananarivo)"),
-    CountryInfo("Malawi", "🇲🇼", "GMT+02:00 (Africa/Lilongwe)"),
-    CountryInfo("Malaysia", "🇲🇾", "GMT+08:00 (Asia/Kuala_Lumpur)"),
-    CountryInfo("Maldives", "🇲🇻", "GMT+05:00 (Indian/Maldives)"),
-    CountryInfo("Mali", "🇲🇱", "GMT+00:00 (Africa/Bamako)"),
-    CountryInfo("Malta", "🇲🇹", "GMT+01:00 (Europe/Malta)"),
-    CountryInfo("Marshall Islands", "🇲🇭", "GMT+12:00 (Pacific/Majuro)"),
-    CountryInfo("Mauritania", "🇲🇷", "GMT+00:00 (Africa/Nouakchott)"),
-    CountryInfo("Mauritius", "🇲🇺", "GMT+04:00 (Indian/Mauritius)"),
-    CountryInfo("Mexico", "🇲🇽", "GMT-06:00 (America/Mexico_City)"),
-    CountryInfo("Micronesia", "🇫🇲", "GMT+10:00 (Pacific/Chuuk)"),
-    CountryInfo("Moldova", "🇲🇩", "GMT+02:00 (Europe/Chisinau)"),
-    CountryInfo("Monaco", "🇲🇨", "GMT+01:00 (Europe/Monaco)"),
-    CountryInfo("Mongolia", "🇲🇳", "GMT+08:00 (Asia/Ulaanbaatar)"),
-    CountryInfo("Montenegro", "🇲🇪", "GMT+01:00 (Europe/Podgorica)"),
-    CountryInfo("Morocco", "🇲🇦", "GMT+01:00 (Africa/Casablanca)"),
-    CountryInfo("Mozambique", "🇲🇿", "GMT+02:00 (Africa/Maputo)"),
-    CountryInfo("Myanmar", "🇲🇲", "GMT+06:30 (Asia/Yangon)"),
-    CountryInfo("Namibia", "🇳🇦", "GMT+02:00 (Africa/Windhoek)"),
-    CountryInfo("Nauru", "🇳🇷", "GMT+12:00 (Pacific/Nauru)"),
-    CountryInfo("Nepal", "🇳🇵", "GMT+05:45 (Asia/Kathmandu)"),
-    CountryInfo("Netherlands", "🇳🇱", "GMT+01:00 (Europe/Amsterdam)"),
-    CountryInfo("New Zealand", "🇳🇿", "GMT+13:00 (Pacific/Auckland)"),
-    CountryInfo("Nicaragua", "🇳🇮", "GMT-06:00 (America/Managua)"),
-    CountryInfo("Niger", "🇳🇪", "GMT+01:00 (Africa/Niamey)"),
-    CountryInfo("Nigeria", "🇳🇬", "GMT+01:00 (Africa/Lagos)"),
-    CountryInfo("North Macedonia", "🇲🇰", "GMT+01:00 (Europe/Skopje)"),
-    CountryInfo("Norway", "🇳🇴", "GMT+01:00 (Europe/Oslo)"),
-    CountryInfo("Oman", "🇴🇲", "GMT+04:00 (Asia/Muscat)"),
-    CountryInfo("Pakistan", "🇵🇰", "GMT+05:00 (Asia/Karachi)"),
-    CountryInfo("Palau", "🇵🇬", "GMT+09:00 (Pacific/Palau)"),
-    CountryInfo("Panama", "🇵🇦", "GMT-05:00 (America/Panama)"),
-    CountryInfo("Papua New Guinea", "🇵🇬", "GMT+10:00 (Pacific/Port_Moresby)"),
-    CountryInfo("Paraguay", "🇵🇾", "GMT-04:00 (America/Asuncion)"),
-    CountryInfo("Peru", "🇵🇪", "GMT-05:00 (America/Lima)"),
-    CountryInfo("Philippines", "🇵🇭", "GMT+08:00 (Asia/Manila)"),
-    CountryInfo("Poland", "🇵🇱", "GMT+01:00 (Europe/Warsaw)"),
-    CountryInfo("Portugal", "🇵🇹", "GMT+00:00 (Europe/Lisbon)"),
-    CountryInfo("Qatar", "🇶🇦", "GMT+03:00 (Asia/Qatar)"),
-    CountryInfo("Romania", "🇷🇴", "GMT+02:00 (Europe/Bucharest)"),
-    CountryInfo("Russia", "🇷🇺", "GMT+03:00 (Europe/Moscow)"),
-    CountryInfo("Rwanda", "🇷🇼", "GMT+02:00 (Africa/Kigali)"),
-    CountryInfo("Saint Kitts and Nevis", "🇰🇳", "GMT-04:00 (America/St_Kitts)"),
-    CountryInfo("Saint Lucia", "🇱🇨", "GMT-04:00 (America/St_Lucia)"),
-    CountryInfo("Saint Vincent and the Grenadines", "🇻🇨", "GMT-04:00 (America/St_Vincent)"),
-    CountryInfo("Samoa", "🇼🇸", "GMT+13:00 (Pacific/Apia)"),
-    CountryInfo("San Marino", "🇸🇲", "GMT+01:00 (Europe/San_Marino)"),
-    CountryInfo("Sao Tome and Principe", "🇸🇹", "GMT+00:00 (Africa/Sao_Tome)"),
-    CountryInfo("Saudi Arabia", "🇸🇦", "GMT+03:00 (Asia/Riyadh)"),
-    CountryInfo("Senegal", "🇸🇳", "GMT+00:00 (Africa/Dakar)"),
-    CountryInfo("Serbia", "🇷🇸", "GMT+01:00 (Europe/Belgrade)"),
-    CountryInfo("Seychelles", "🇸🇨", "GMT+04:00 (Indian/Mahe)"),
-    CountryInfo("Sierra Leone", "🇸🇱", "GMT+00:00 (Africa/Freetown)"),
-    CountryInfo("Singapore", "🇸🇬", "GMT+08:00 (Asia/Singapore)"),
-    CountryInfo("Slovakia", "🇸🇰", "GMT+01:00 (Europe/Bratislava)"),
-    CountryInfo("Slovenia", "🇸🇮", "GMT+01:00 (Europe/Ljubljana)"),
-    CountryInfo("Solomon Islands", "🇸🇧", "GMT+11:00 (Pacific/Guadalcanal)"),
-    CountryInfo("Somalia", "🇸🇴", "GMT+03:00 (Africa/Mogadishu)"),
-    CountryInfo("South Africa", "🇿🇦", "GMT+02:00 (Africa/Johannesburg)"),
-    CountryInfo("South Korea", "🇰🇷", "GMT+09:00 (Asia/Seoul)"),
-    CountryInfo("South Sudan", "🇸🇸", "GMT+03:00 (Africa/Juba)"),
-    CountryInfo("Spain", "🇪🇸", "GMT+01:00 (Europe/Madrid)"),
-    CountryInfo("Sri Lanka", "🇱🇰", "GMT+05:30 (Asia/Colombo)"),
-    CountryInfo("Sudan", "🇸🇩", "GMT+02:00 (Africa/Khartoum)"),
-    CountryInfo("Suriname", "🇸🇷", "GMT-03:00 (America/Paramaribo)"),
-    CountryInfo("Sweden", "🇸🇪", "GMT+01:00 (Europe/Stockholm)"),
-    CountryInfo("Switzerland", "🇨🇭", "GMT+01:00 (Europe/Zurich)"),
-    CountryInfo("Syria", "🇸🇾", "GMT+02:00 (Asia/Damascus)"),
-    CountryInfo("Taiwan", "🇹🇼", "GMT+08:00 (Asia/Taipei)"),
-    CountryInfo("Tajikistan", "🇹🇯", "GMT+05:00 (Asia/Dushanbe)"),
-    CountryInfo("Tanzania", "🇹🇿", "GMT+03:00 (Africa/Dar_es_Salaam)"),
-    CountryInfo("Thailand", "🇹🇭", "GMT+07:00 (Asia/Bangkok)"),
-    CountryInfo("Timor-Leste", "🇹🇱", "GMT+09:00 (Asia/Dili)"),
-    CountryInfo("Togo", "🇹🇬", "GMT+00:00 (Africa/Lome)"),
-    CountryInfo("Tonga", "🇹🇴", "GMT+13:00 (Pacific/Tongatapu)"),
-    CountryInfo("Trinidad and Tobago", "🇹🇹", "GMT-04:00 (America/Port_of_Spain)"),
-    CountryInfo("Tunisia", "🇹🇳", "GMT+01:00 (Africa/Tunis)"),
-    CountryInfo("Turkey", "🇹🇷", "GMT+03:00 (Europe/Istanbul)"),
-    CountryInfo("Turkmenistan", "🇹🇲", "GMT+05:00 (Asia/Ashgabat)"),
-    CountryInfo("Tuvalu", "🇹🇻", "GMT+12:00 (Pacific/Funafuti)"),
-    CountryInfo("Uganda", "🇺🇬", "GMT+03:00 (Africa/Kampala)"),
-    CountryInfo("Ukraine", "🇺🇦", "GMT+02:00 (Europe/Kiev)"),
-    CountryInfo("United Arab Emirates", "🇦🇪", "GMT+04:00 (Asia/Dubai)"),
-    CountryInfo("United Kingdom", "🇬🇧", "GMT+00:00 (Europe/London)"),
-    CountryInfo("United States", "🇺🇸", "GMT-05:00 (America/New_York)"),
-    CountryInfo("Uruguay", "🇺🇾", "GMT-03:00 (America/Montevideo)"),
-    CountryInfo("Uzbekistan", "🇺🇿", "GMT+05:00 (Asia/Tashkent)"),
-    CountryInfo("Vanuatu", "🇻🇺", "GMT+11:00 (Pacific/Efate)"),
-    CountryInfo("Vatican City", "🇻🇦", "GMT+01:00 (Europe/Vatican)"),
-    CountryInfo("Venezuela", "🇻🇪", "GMT-04:00 (America/Caracas)"),
-    CountryInfo("Vietnam", "🇻🇳", "GMT+07:00 (Asia/Ho_Chi_Minh)"),
-    CountryInfo("Yemen", "🇾🇪", "GMT+03:00 (Asia/Aden)"),
-    CountryInfo("Zambia", "🇿🇲", "GMT+02:00 (Africa/Lusaka)"),
-    CountryInfo("Zimbabwe", "🇿🇼", "GMT+02:00 (Africa/Harare)")
+    CountryInfo("Afghanistan", "af", "GMT+04:30"),
+    CountryInfo("Albania", "al", "GMT+01:00"),
+    CountryInfo("Algeria", "dz", "GMT+01:00"),
+    CountryInfo("Andorra", "ad", "GMT+01:00"),
+    CountryInfo("Angola", "ao", "GMT+01:00"),
+    CountryInfo("Antigua and Barbuda", "ag", "GMT-04:00"),
+    CountryInfo("Argentina", "ar", "GMT-03:00"),
+    CountryInfo("Armenia", "am", "GMT+04:00"),
+    CountryInfo("Australia", "au", "GMT+10:00"),
+    CountryInfo("Austria", "at", "GMT+01:00"),
+    CountryInfo("Azerbaijan", "az", "GMT+04:00"),
+    CountryInfo("Bahamas", "bs", "GMT-05:00"),
+    CountryInfo("Bahrain", "bh", "GMT+03:00"),
+    CountryInfo("Bangladesh", "bd", "GMT+06:00"),
+    CountryInfo("Barbados", "bb", "GMT-04:00"),
+    CountryInfo("Belarus", "by", "GMT+03:00"),
+    CountryInfo("Belgium", "be", "GMT+01:00"),
+    CountryInfo("Belize", "bz", "GMT-06:00"),
+    CountryInfo("Benin", "bj", "GMT+01:00"),
+    CountryInfo("Bhutan", "bt", "GMT+06:00"),
+    CountryInfo("Bolivia", "bo", "GMT-04:00"),
+    CountryInfo("Bosnia and Herzegovina", "ba", "GMT+01:00"),
+    CountryInfo("Botswana", "bw", "GMT+02:00"),
+    CountryInfo("Brazil", "br", "GMT-03:00"),
+    CountryInfo("Brunei", "bn", "GMT+08:00"),
+    CountryInfo("Bulgaria", "bg", "GMT+02:00"),
+    CountryInfo("Burkina Faso", "bf", "GMT+00:00"),
+    CountryInfo("Burundi", "bi", "GMT+02:00"),
+    CountryInfo("Cabo Verde", "cv", "GMT-01:00"),
+    CountryInfo("Cambodia", "kh", "GMT+07:00"),
+    CountryInfo("Cameroon", "cm", "GMT+01:00"),
+    CountryInfo("Canada", "ca", "GMT-05:00"),
+    CountryInfo("Central African Republic", "cf", "GMT+01:00"),
+    CountryInfo("Chad", "td", "GMT+01:00"),
+    CountryInfo("Chile", "cl", "GMT-04:00"),
+    CountryInfo("China", "cn", "GMT+08:00"),
+    CountryInfo("Colombia", "co", "GMT-05:00"),
+    CountryInfo("Comoros", "km", "GMT+03:00"),
+    CountryInfo("Congo (Congo-Brazzaville)", "cg", "GMT+01:00"),
+    CountryInfo("Congo (Democratic Republic)", "cd", "GMT+01:00"),
+    CountryInfo("Costa Rica", "cr", "GMT-06:00"),
+    CountryInfo("Croatia", "hr", "GMT+01:00"),
+    CountryInfo("Cuba", "cu", "GMT-05:00"),
+    CountryInfo("Cyprus", "cy", "GMT+02:00"),
+    CountryInfo("Czech Republic", "cz", "GMT+01:00"),
+    CountryInfo("Denmark", "dk", "GMT+01:00"),
+    CountryInfo("Djibouti", "dj", "GMT+03:00"),
+    CountryInfo("Dominica", "dm", "GMT-04:00"),
+    CountryInfo("Dominican Republic", "dor", "GMT-04:00"),
+    CountryInfo("Ecuador", "ec", "GMT-05:00"),
+    CountryInfo("Egypt", "eg", "GMT+02:00"),
+    CountryInfo("El Salvador", "sv", "GMT-06:00"),
+    CountryInfo("Equatorial Guinea", "gq", "GMT+01:00"),
+    CountryInfo("Eritrea", "er", "GMT+03:00"),
+    CountryInfo("Estonia", "ee", "GMT+02:00"),
+    CountryInfo("Eswatini", "sz", "GMT+02:00"),
+    CountryInfo("Ethiopia", "et", "GMT+03:00"),
+    CountryInfo("Fiji", "fj", "GMT+12:00"),
+    CountryInfo("Finland", "fi", "GMT+02:00"),
+    CountryInfo("France", "fr", "GMT+01:00"),
+    CountryInfo("Gabon", "ga", "GMT+01:00"),
+    CountryInfo("Gambia", "gm", "GMT+00:00"),
+    CountryInfo("Georgia", "ge", "GMT+04:00"),
+    CountryInfo("Germany", "de", "GMT+01:00"),
+    CountryInfo("Ghana", "gh", "GMT+00:00"),
+    CountryInfo("Greece", "gr", "GMT+02:00"),
+    CountryInfo("Grenada", "gd", "GMT-04:00"),
+    CountryInfo("Guatemala", "gt", "GMT-06:00"),
+    CountryInfo("Guinea", "gn", "GMT+00:00"),
+    CountryInfo("Guinea-Bissau", "gw", "GMT+00:00"),
+    CountryInfo("Guyana", "gy", "GMT-04:00"),
+    CountryInfo("Haiti", "ht", "GMT-05:00"),
+    CountryInfo("Honduras", "hn", "GMT-06:00"),
+    CountryInfo("Hungary", "hu", "GMT+01:00"),
+    CountryInfo("Iceland", "is", "GMT+00:00"),
+    CountryInfo("India", "in", "GMT+05:30"),
+    CountryInfo("Indonesia", "id", "GMT+07:00"),
+    CountryInfo("Iran", "ir", "GMT+03:30"),
+    CountryInfo("Iraq", "iq", "GMT+03:00"),
+    CountryInfo("Ireland", "ie", "GMT+00:00"),
+    CountryInfo("Israel", "il", "GMT+02:00"),
+    CountryInfo("Italy", "it", "GMT+01:00"),
+    CountryInfo("Jamaica", "jm", "GMT-05:00"),
+    CountryInfo("Japan", "jp", "GMT+09:00"),
+    CountryInfo("Jordan", "jo", "GMT+02:00"),
+    CountryInfo("Kazakhstan", "kz", "GMT+06:00"),
+    CountryInfo("Kenya", "ke", "GMT+03:00"),
+    CountryInfo("Kiribati", "ki", "GMT+12:00"),
+    CountryInfo("Korea (North)", "kp", "GMT+09:00"),
+    CountryInfo("Korea (South)", "kr", "GMT+09:00"),
+    CountryInfo("Kuwait", "kw", "GMT+03:00"),
+    CountryInfo("Kyrgyzstan", "kg", "GMT+06:00"),
+    CountryInfo("Laos", "la", "GMT+07:00"),
+    CountryInfo("Latvia", "lv", "GMT+02:00"),
+    CountryInfo("Lebanon", "lb", "GMT+02:00"),
+    CountryInfo("Lesotho", "ls", "GMT+02:00"),
+    CountryInfo("Liberia", "lr", "GMT+00:00"),
+    CountryInfo("Libya", "ly", "GMT+02:00"),
+    CountryInfo("Liechtenstein", "li", "GMT+01:00"),
+    CountryInfo("Lithuania", "lt", "GMT+02:00"),
+    CountryInfo("Luxembourg", "lu", "GMT+01:00"),
+    CountryInfo("Madagascar", "mg", "GMT+03:00"),
+    CountryInfo("Malawi", "mw", "GMT+02:00"),
+    CountryInfo("Malaysia", "my", "GMT+08:00"),
+    CountryInfo("Maldives", "mv", "GMT+05:00"),
+    CountryInfo("Mali", "ml", "GMT+00:00"),
+    CountryInfo("Malta", "mt", "GMT+01:00"),
+    CountryInfo("Marshall Islands", "mh", "GMT+12:00"),
+    CountryInfo("Mauritania", "mr", "GMT+00:00"),
+    CountryInfo("Mauritius", "mu", "GMT+04:00"),
+    CountryInfo("Mexico", "mx", "GMT-06:00"),
+    CountryInfo("Micronesia", "fm", "GMT+10:00"),
+    CountryInfo("Moldova", "md", "GMT+02:00"),
+    CountryInfo("Monaco", "mc", "GMT+01:00"),
+    CountryInfo("Mongolia", "mn", "GMT+08:00"),
+    CountryInfo("Montenegro", "me", "GMT+01:00"),
+    CountryInfo("Morocco", "ma", "GMT+01:00"),
+    CountryInfo("Mozambique", "mz", "GMT+02:00"),
+    CountryInfo("Myanmar", "mm", "GMT+06:30"),
+    CountryInfo("Namibia", "na", "GMT+02:00"),
+    CountryInfo("Nauru", "nr", "GMT+12:00"),
+    CountryInfo("Nepal", "np", "GMT+05:45"),
+    CountryInfo("Netherlands", "nl", "GMT+01:00"),
+    CountryInfo("New Zealand", "nz", "GMT+12:00"),
+    CountryInfo("Nicaragua", "ni", "GMT-06:00"),
+    CountryInfo("Niger", "ne", "GMT+01:00"),
+    CountryInfo("Nigeria", "ng", "GMT+01:00"),
+    CountryInfo("North Macedonia", "mk", "GMT+01:00"),
+    CountryInfo("Norway", "no", "GMT+01:00"),
+    CountryInfo("Oman", "om", "GMT+04:00"),
+    CountryInfo("Pakistan", "pk", "GMT+05:00"),
+    CountryInfo("Palau", "pw", "GMT+09:00"),
+    CountryInfo("Palestine", "ps", "GMT+02:00"),
+    CountryInfo("Panama", "pa", "GMT-05:00"),
+    CountryInfo("Papua New Guinea", "pg", "GMT+10:00"),
+    CountryInfo("Paraguay", "py", "GMT-04:00"),
+    CountryInfo("Peru", "pe", "GMT-05:00"),
+    CountryInfo("Philippines", "ph", "GMT+08:00"),
+    CountryInfo("Poland", "pl", "GMT+01:00"),
+    CountryInfo("Portugal", "pt", "GMT+00:00"),
+    CountryInfo("Qatar", "qa", "GMT+03:00"),
+    CountryInfo("Romania", "ro", "GMT+02:00"),
+    CountryInfo("Russia", "ru", "GMT+03:00"),
+    CountryInfo("Rwanda", "rw", "GMT+02:00"),
+    CountryInfo("Saint Kitts and Nevis", "kn", "GMT-04:00"),
+    CountryInfo("Saint Lucia", "lc", "GMT-04:00"),
+    CountryInfo("Saint Vincent and the Grenadines", "vc", "GMT-04:00"),
+    CountryInfo("Samoa", "ws", "GMT+13:00"),
+    CountryInfo("San Marino", "sm", "GMT+01:00"),
+    CountryInfo("Sao Tome and Principe", "st", "GMT+00:00"),
+    CountryInfo("Saudi Arabia", "sa", "GMT+03:00"),
+    CountryInfo("Senegal", "sn", "GMT+00:00"),
+    CountryInfo("Serbia", "rs", "GMT+01:00"),
+    CountryInfo("Seychelles", "sc", "GMT+04:00"),
+    CountryInfo("Sierra Leone", "sl", "GMT+00:00"),
+    CountryInfo("Singapore", "sg", "GMT+08:00"),
+    CountryInfo("Slovakia", "sk", "GMT+01:00"),
+    CountryInfo("Slovenia", "si", "GMT+01:00"),
+    CountryInfo("Solomon Islands", "sb", "GMT+11:00"),
+    CountryInfo("Somalia", "so", "GMT+03:00"),
+    CountryInfo("South Africa", "za", "GMT+02:00"),
+    CountryInfo("South Sudan", "ss", "GMT+03:00"),
+    CountryInfo("Spain", "es", "GMT+01:00"),
+    CountryInfo("Sri Lanka", "lk", "GMT+05:30"),
+    CountryInfo("Sudan", "sd", "GMT+02:00"),
+    CountryInfo("Suriname", "sr", "GMT-03:00"),
+    CountryInfo("Sweden", "se", "GMT+01:00"),
+    CountryInfo("Switzerland", "ch", "GMT+01:00"),
+    CountryInfo("Syria", "sy", "GMT+02:00"),
+    CountryInfo("Taiwan", "tw", "GMT+08:00"),
+    CountryInfo("Tajikistan", "tj", "GMT+05:00"),
+    CountryInfo("Tanzania", "tz", "GMT+03:00"),
+    CountryInfo("Thailand", "th", "GMT+07:00"),
+    CountryInfo("Timor-Leste", "tl", "GMT+09:00"),
+    CountryInfo("Togo", "tg", "GMT+00:00"),
+    CountryInfo("Tonga", "to", "GMT+13:00"),
+    CountryInfo("Trinidad and Tobago", "tt", "GMT-04:00"),
+    CountryInfo("Tunisia", "tn", "GMT+01:00"),
+    CountryInfo("Turkey", "tr", "GMT+03:00"),
+    CountryInfo("Turkmenistan", "tm", "GMT+05:00"),
+    CountryInfo("Tuvalu", "tv", "GMT+12:00"),
+    CountryInfo("Uganda", "ug", "GMT+03:00"),
+    CountryInfo("Ukraine", "ua", "GMT+02:00"),
+    CountryInfo("United Arab Emirates", "ae", "GMT+04:00"),
+    CountryInfo("United Kingdom", "gb", "GMT+00:00"),
+    CountryInfo("United States", "us", "GMT-05:00"),
+    CountryInfo("Uruguay", "uy", "GMT-03:00"),
+    CountryInfo("Uzbekistan", "uz", "GMT+05:00"),
+    CountryInfo("Vanuatu", "vu", "GMT+11:00"),
+    CountryInfo("Vatican City", "va", "GMT+01:00"),
+    CountryInfo("Venezuela", "ve", "GMT-04:00"),
+    CountryInfo("Vietnam", "vn", "GMT+07:00"),
+    CountryInfo("Yemen", "ye", "GMT+03:00"),
+    CountryInfo("Zambia", "zm", "GMT+02:00"),
+    CountryInfo("Zimbabwe", "zw", "GMT+02:00")
 )
+
+val countryInfoCodeList = listOf(
+    CountryInfoCode("Afghanistan", "+93", "AF"),
+    CountryInfoCode("Albania", "+355", "AL"),
+    CountryInfoCode("Algeria", "+213", "DZ"),
+    CountryInfoCode("Andorra", "+376", "AD"),
+    CountryInfoCode("Angola", "+244", "AO"),
+    CountryInfoCode("Antigua and Barbuda", "+1-268", "AG"),
+    CountryInfoCode("Argentina", "+54", "AR"),
+    CountryInfoCode("Armenia", "+374", "AM"),
+    CountryInfoCode("Australia", "+61", "AU"),
+    CountryInfoCode("Austria", "+43", "AT"),
+    CountryInfoCode("Azerbaijan", "+994", "AZ"),
+    CountryInfoCode("Bahamas", "+1-242", "BS"),
+    CountryInfoCode("Bahrain", "+973", "BH"),
+    CountryInfoCode("Bangladesh", "+880", "BD"),
+    CountryInfoCode("Barbados", "+1-246", "BB"),
+    CountryInfoCode("Belarus", "+375", "BY"),
+    CountryInfoCode("Belgium", "+32", "BE"),
+    CountryInfoCode("Belize", "+501", "BZ"),
+    CountryInfoCode("Benin", "+229", "BJ"),
+    CountryInfoCode("Bhutan", "+975", "BT"),
+    CountryInfoCode("Bolivia", "+591", "BO"),
+    CountryInfoCode("Bosnia and Herzegovina", "+387", "BA"),
+    CountryInfoCode("Botswana", "+267", "BW"),
+    CountryInfoCode("Brazil", "+55", "BR"),
+    CountryInfoCode("Brunei", "+673", "BN"),
+    CountryInfoCode("Bulgaria", "+359", "BG"),
+    CountryInfoCode("Burkina Faso", "+226", "BF"),
+    CountryInfoCode("Burundi", "+257", "BI"),
+    CountryInfoCode("Cambodia", "+855", "KH"),
+    CountryInfoCode("Cameroon", "+237", "CM"),
+    CountryInfoCode("Canada", "+1", "CA"),
+    CountryInfoCode("Cape Verde", "+238", "CV"),
+    CountryInfoCode("Central African Republic", "+236", "CF"),
+    CountryInfoCode("Chad", "+235", "TD"),
+    CountryInfoCode("Chile", "+56", "CL"),
+    CountryInfoCode("China", "+86", "CN"),
+    CountryInfoCode("Colombia", "+57", "CO"),
+    CountryInfoCode("Comoros", "+269", "KM"),
+    CountryInfoCode("Congo (DRC)", "+243", "CD"),
+    CountryInfoCode("Congo (Republic)", "+242", "CG"),
+    CountryInfoCode("Costa Rica", "+506", "CR"),
+    CountryInfoCode("Croatia", "+385", "HR"),
+    CountryInfoCode("Cuba", "+53", "CU"),
+    CountryInfoCode("Cyprus", "+357", "CY"),
+    CountryInfoCode("Czech Republic", "+420", "CZ"),
+    CountryInfoCode("Denmark", "+45", "DK"),
+    CountryInfoCode("Djibouti", "+253", "DJ"),
+    CountryInfoCode("Dominica", "+1-767", "DM"),
+    CountryInfoCode("Dominican Republic", "+1-809", "DOR"),
+    CountryInfoCode("Ecuador", "+593", "EC"),
+    CountryInfoCode("Egypt", "+20", "EG"),
+    CountryInfoCode("El Salvador", "+503", "SV"),
+    CountryInfoCode("Equatorial Guinea", "+240", "GQ"),
+    CountryInfoCode("Eritrea", "+291", "ER"),
+    CountryInfoCode("Estonia", "+372", "EE"),
+    CountryInfoCode("Eswatini", "+268", "SZ"),
+    CountryInfoCode("Ethiopia", "+251", "ET"),
+    CountryInfoCode("Fiji", "+679", "FJ"),
+    CountryInfoCode("Finland", "+358", "FI"),
+    CountryInfoCode("France", "+33", "FR"),
+    CountryInfoCode("Gabon", "+241", "GA"),
+    CountryInfoCode("Gambia", "+220", "GM"),
+    CountryInfoCode("Georgia", "+995", "GE"),
+    CountryInfoCode("Germany", "+49", "DE"),
+    CountryInfoCode("Ghana", "+233", "GH"),
+    CountryInfoCode("Greece", "+30", "GR"),
+    CountryInfoCode("Grenada", "+1-473", "GD"),
+    CountryInfoCode("Guatemala", "+502", "GT"),
+    CountryInfoCode("Guinea", "+224", "GN"),
+    CountryInfoCode("Guinea-Bissau", "+245", "GW"),
+    CountryInfoCode("Guyana", "+592", "GY"),
+    CountryInfoCode("Haiti", "+509", "HT"),
+    CountryInfoCode("Honduras", "+504", "HN"),
+    CountryInfoCode("Hungary", "+36", "HU"),
+    CountryInfoCode("Iceland", "+354", "IS"),
+    CountryInfoCode("India", "+91", "IN"),
+    CountryInfoCode("Indonesia", "+62", "ID"),
+    CountryInfoCode("Iran", "+98", "IR"),
+    CountryInfoCode("Iraq", "+964", "IQ"),
+    CountryInfoCode("Ireland", "+353", "IE"),
+    CountryInfoCode("Israel", "+972", "IL"),
+    CountryInfoCode("Italy", "+39", "IT"),
+    CountryInfoCode("Ivory Coast", "+225", "CI"),
+    CountryInfoCode("Jamaica", "+1-876", "JM"),
+    CountryInfoCode("Japan", "+81", "JP"),
+    CountryInfoCode("Jordan", "+962", "JO"),
+    CountryInfoCode("Kazakhstan", "+7", "KZ"),
+    CountryInfoCode("Kenya", "+254", "KE"),
+    CountryInfoCode("Kiribati", "+686", "KI"),
+    CountryInfoCode("Korea (North)", "+850", "KP"),
+    CountryInfoCode("Korea (South)", "+82", "KR"),
+    CountryInfoCode("Kuwait", "+965", "KW"),
+    CountryInfoCode("Kyrgyzstan", "+996", "KG"),
+    CountryInfoCode("Laos", "+856", "LA"),
+    CountryInfoCode("Latvia", "+371", "LV"),
+    CountryInfoCode("Lebanon", "+961", "LB"),
+    CountryInfoCode("Lesotho", "+266", "LS"),
+    CountryInfoCode("Liberia", "+231", "LR"),
+    CountryInfoCode("Libya", "+218", "LY"),
+    CountryInfoCode("Liechtenstein", "+423", "LI"),
+    CountryInfoCode("Lithuania", "+370", "LT"),
+    CountryInfoCode("Luxembourg", "+352", "LU"),
+    CountryInfoCode("Madagascar", "+261", "MG"),
+    CountryInfoCode("Malawi", "+265", "MW"),
+    CountryInfoCode("Malaysia", "+60", "MY"),
+    CountryInfoCode("Maldives", "+960", "MV"),
+    CountryInfoCode("Mali", "+223", "ML"),
+    CountryInfoCode("Malta", "+356", "MT"),
+    CountryInfoCode("Marshall Islands", "+692", "MH"),
+    CountryInfoCode("Mauritania", "+222", "MR"),
+    CountryInfoCode("Mauritius", "+230", "MU"),
+    CountryInfoCode("Mexico", "+52", "MX"),
+    CountryInfoCode("Micronesia", "+691", "FM"),
+    CountryInfoCode("Moldova", "+373", "MD"),
+    CountryInfoCode("Monaco", "+377", "MC"),
+    CountryInfoCode("Mongolia", "+976", "MN"),
+    CountryInfoCode("Montenegro", "+382", "ME"),
+    CountryInfoCode("Morocco", "+212", "MA"),
+    CountryInfoCode("Mozambique", "+258", "MZ"),
+    CountryInfoCode("Myanmar", "+95", "MM"),
+    CountryInfoCode("Namibia", "+264", "NA"),
+    CountryInfoCode("Nauru", "+674", "NR"),
+    CountryInfoCode("Nepal", "+977", "NP"),
+    CountryInfoCode("Netherlands", "+31", "NL"),
+    CountryInfoCode("New Zealand", "+64", "NZ"),
+    CountryInfoCode("Nicaragua", "+505", "NI"),
+    CountryInfoCode("Niger", "+227", "NE"),
+    CountryInfoCode("Nigeria", "+234", "NG"),
+    CountryInfoCode("North Macedonia", "+389", "MK"),
+    CountryInfoCode("Norway", "+47", "NO"),
+    CountryInfoCode("Oman", "+968", "OM"),
+    CountryInfoCode("Pakistan", "+92", "PK"),
+    CountryInfoCode("Palau", "+680", "PW"),
+    CountryInfoCode("Panama", "+507", "PA"),
+    CountryInfoCode("Papua New Guinea", "+675", "PG"),
+    CountryInfoCode("Paraguay", "+595", "PY"),
+    CountryInfoCode("Peru", "+51", "PE"),
+    CountryInfoCode("Philippines", "+63", "PH"),
+    CountryInfoCode("Poland", "+48", "PL"),
+    CountryInfoCode("Portugal", "+351", "PT"),
+    CountryInfoCode("Qatar", "+974", "QA"),
+    CountryInfoCode("Romania", "+40", "RO"),
+    CountryInfoCode("Russia", "+7", "RU"),
+    CountryInfoCode("Rwanda", "+250", "RW"),
+    CountryInfoCode("Saint Kitts and Nevis", "+1-869", "KN"),
+    CountryInfoCode("Saint Lucia", "+1-758", "LC"),
+    CountryInfoCode("Saint Vincent and the Grenadines", "+1-784", "VC"),
+    CountryInfoCode("Samoa", "+685", "WS"),
+    CountryInfoCode("San Marino", "+378", "SM"),
+    CountryInfoCode("Sao Tome and Principe", "+239", "ST"),
+    CountryInfoCode("Saudi Arabia", "+966", "SA"),
+    CountryInfoCode("Senegal", "+221", "SN"),
+    CountryInfoCode("Serbia", "+381", "RS"),
+    CountryInfoCode("Seychelles", "+248", "SC"),
+    CountryInfoCode("Sierra Leone", "+232", "SL"),
+    CountryInfoCode("Singapore", "+65", "SG"),
+    CountryInfoCode("Slovakia", "+421", "SK"),
+    CountryInfoCode("Slovenia", "+386", "SI"),
+    CountryInfoCode("Solomon Islands", "+677", "SB"),
+    CountryInfoCode("Somalia", "+252", "SO"),
+    CountryInfoCode("South Africa", "+27", "ZA"),
+    CountryInfoCode("South Sudan", "+211", "SS"),
+    CountryInfoCode("Spain", "+34", "ES"),
+    CountryInfoCode("Sri Lanka", "+94", "LK"),
+    CountryInfoCode("Sudan", "+249", "SD"),
+    CountryInfoCode("Suriname", "+597", "SR"),
+    CountryInfoCode("Sweden", "+46", "SE"),
+    CountryInfoCode("Switzerland", "+41", "CH"),
+    CountryInfoCode("Syria", "+963", "SY"),
+    CountryInfoCode("Taiwan", "+886", "TW"),
+    CountryInfoCode("Tajikistan", "+992", "TJ"),
+    CountryInfoCode("Tanzania", "+255", "TZ"),
+    CountryInfoCode("Thailand", "+66", "TH"),
+    CountryInfoCode("Timor-Leste", "+670", "TL"),
+    CountryInfoCode("Togo", "+228", "TG"),
+    CountryInfoCode("Tonga", "+676", "TO"),
+    CountryInfoCode("Trinidad and Tobago", "+1-868", "TT"),
+    CountryInfoCode("Tunisia", "+216", "TN"),
+    CountryInfoCode("Turkey", "+90", "TR"),
+    CountryInfoCode("Turkmenistan", "+993", "TM"),
+    CountryInfoCode("Tuvalu", "+688", "TV"),
+    CountryInfoCode("Uganda", "+256", "UG"),
+    CountryInfoCode("Ukraine", "+380", "UA"),
+    CountryInfoCode("United Arab Emirates", "+971", "AE"),
+    CountryInfoCode("United Kingdom", "+44", "GB"),
+    CountryInfoCode("United States", "+1", "US"),
+    CountryInfoCode("Uruguay", "+598", "UY"),
+    CountryInfoCode("Uzbekistan", "+998", "UZ"),
+    CountryInfoCode("Vanuatu", "+678", "VU"),
+    CountryInfoCode("Vatican City", "+379", "VA"),
+    CountryInfoCode("Venezuela", "+58", "VE"),
+    CountryInfoCode("Vietnam", "+84", "VN"),
+    CountryInfoCode("Yemen", "+967", "YE"),
+    CountryInfoCode("Zambia", "+260", "ZM"),
+    CountryInfoCode("Zimbabwe", "+263", "ZW"),
+)
+
+

+ 300 - 32
app/src/main/java/com/fastest/pass/home/presentation/ui/components/AddContactInfoScreen.kt

@@ -2,60 +2,92 @@ package com.fastest.pass.home.presentation.ui.components
 
 import android.os.Build
 import android.util.Log
+import android.widget.Toast
 import androidx.annotation.RequiresApi
+import androidx.compose.foundation.BorderStroke
+import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.LocalOverscrollConfiguration
 import androidx.compose.foundation.background
 import androidx.compose.foundation.border
 import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.ColumnScope
+import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.defaultMinSize
 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.size
 import androidx.compose.foundation.layout.wrapContentHeight
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
 import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.shape.CircleShape
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.foundation.text.KeyboardActions
 import androidx.compose.foundation.text.KeyboardOptions
 import androidx.compose.foundation.verticalScroll
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.DateRange
+import androidx.compose.material3.BottomSheetDefaults
 import androidx.compose.material3.DatePicker
 import androidx.compose.material3.DatePickerDefaults
 import androidx.compose.material3.DatePickerDialog
+import androidx.compose.material3.DockedSearchBar
 import androidx.compose.material3.DropdownMenuItem
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.ExposedDropdownMenuBox
 import androidx.compose.material3.ExposedDropdownMenuDefaults
 import androidx.compose.material3.Icon
 import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.ModalBottomSheet
+import androidx.compose.material3.SearchBarDefaults
+import androidx.compose.material3.Surface
 import androidx.compose.material3.Text
 import androidx.compose.material3.TextButton
 import androidx.compose.material3.TextField
 import androidx.compose.material3.TextFieldDefaults
 import androidx.compose.material3.rememberDatePickerState
+import androidx.compose.material3.rememberModalBottomSheetState
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+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
+import androidx.compose.ui.draw.paint
 import androidx.compose.ui.focus.FocusManager
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.ColorFilter
+import androidx.compose.ui.graphics.RectangleShape
+import androidx.compose.ui.graphics.Shape
+import androidx.compose.ui.layout.ContentScale
+import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalFocusManager
 import androidx.compose.ui.platform.LocalSoftwareKeyboardController
 import androidx.compose.ui.platform.SoftwareKeyboardController
 import androidx.compose.ui.res.colorResource
+import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.text.input.ImeAction
 import androidx.compose.ui.text.input.KeyboardType
 import androidx.compose.ui.unit.dp
 import com.fastest.pass.R
 import com.fastest.pass.home.domain.model.CountryInfo
+import com.fastest.pass.home.domain.model.countryInfoList
+import com.fastest.pass.home.utils.GetDrawable
+import com.hbb20.CountryCodePicker
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
 import java.text.SimpleDateFormat
 import java.time.OffsetDateTime
 import java.time.ZoneId
@@ -79,6 +111,8 @@ fun AddContactInfoScreen() {
 //    timezoneList.addAll(timezone)
 //    timezoneList.add(0, "Please Select")
 
+    getCountriesWithFlagsAndTimezones()
+
     val gender = listOf("Please Select", "Male", "Female", "Other")
 
     Column(
@@ -119,7 +153,9 @@ fun AddContactInfoScreen() {
         NameTextFieldACIFS(keyboardController = keyboardController, focusManager = focusManager, labelText = R.string.zip_postal_code)
 
         Spacer(modifier = Modifier.height(20.dp))
-        DropDownFieldACIFS(keyboardController = keyboardController, focusManager = focusManager, labelText = R.string.country, countriesList)
+        SelectCountryInfo(labelText = R.string.country, keyboardController, focusManager)
+//        DropDownFieldACIFS(keyboardController = keyboardController, focusManager = focusManager, labelText = R.string.country, countriesList)
+
 //        Spacer(modifier = Modifier.height(20.dp))
 //        DropDownFieldACIFS(keyboardController = keyboardController, focusManager = focusManager, labelText = R.string.time_zone, timezoneList, topPadding = 10)
 
@@ -135,7 +171,9 @@ fun AddContactInfoScreen() {
 
         Spacer(modifier = Modifier.height(20.dp))
         EmailFieldACIFS(keyboardController = keyboardController, focusManager = focusManager, R.string.enter_email_address)
+        Spacer(modifier = Modifier.height(20.dp))
 
+//        OpenModalBottomSheet()
 
     }
 }
@@ -496,7 +534,7 @@ fun getCountriesWithFlagsAndTimezones(): List<CountryInfo> {
 
 //        timezone = getRepresentativeTimezone(countryName)
 
-        Log.d("country_list_det", "country => $countryName, $flag, $timezone")
+        Log.d("country_list_", "country => $countryName, $flag, $timezone => $countryCode")
 
         CountryInfo(
             name = countryName,
@@ -507,31 +545,6 @@ fun getCountriesWithFlagsAndTimezones(): List<CountryInfo> {
     }.sortedBy { it.name }
 }
 
-@RequiresApi(Build.VERSION_CODES.O)
-fun getCountriesWithFlagsAndTimezones2(): List<CountryInfo> {
-    val offsetFormatter = java.time.format.DateTimeFormatter.ofPattern("xxx") // To format offsets like "+02:00"
-    return Locale.getISOCountries().mapNotNull { countryCode ->
-        val locale = Locale("", countryCode)
-        val countryName = locale.displayCountry
-        val flag = countryCodeToFlag(countryCode)
-        val timezone = getRepresentativeTimezone(countryCode)?.let { zoneId ->
-            val offsetToday = ZoneId.of(zoneId).rules.getOffset(java.time.Instant.now())
-            val formattedOffset = offsetFormatter.format(offsetToday)
-            "$formattedOffset $zoneId"
-        } ?: "Unknown"
-
-        Log.d("country_list_det", "country => $countryName, $flag, $timezone")
-
-
-        CountryInfo(
-            name = countryName,
-            flag = flag,
-            timezone = timezone
-        )
-    }.sortedBy { it.name }
-}
-
-
 fun countryCodeToFlag(countryCode: String): String {
     return countryCode.uppercase().map { char ->
         Character.toChars(0x1F1E6 + (char.code - 'A'.code)).concatToString()
@@ -539,11 +552,6 @@ fun countryCodeToFlag(countryCode: String): String {
 }
 
 @RequiresApi(Build.VERSION_CODES.O)
-fun getRepresentativeTimezone(countryCode: String): String? {
-    return ZoneId.getAvailableZoneIds().find { it.startsWith(countryCode, ignoreCase = true) }
-}
-
-@RequiresApi(Build.VERSION_CODES.O)
 fun getRepresentativeTimezoneId(countryCode: String): String {
     val zone = ZoneId.of(countryCode)
 
@@ -586,3 +594,263 @@ fun convertMillisToFormattedDate(millis: Long) : String {
     val formatter = SimpleDateFormat("MMM dd, yyyy", Locale.getDefault())
     return formatter.format(date)
 }
+
+@Composable
+fun ColumnScope.ShowCountryListItem(
+    item: CountryInfo,
+    isSheetOpened: () -> Unit,
+    onSelectedCountry: (String) -> Unit
+) {
+    val context = LocalContext.current
+    val icon = GetDrawable.getDrawable(context, item.flag)
+    Row(
+        modifier = Modifier
+            .border(
+                border = BorderStroke(1.dp, colorResource(id = R.color.white)),
+                shape = RoundedCornerShape(15.dp)
+            )
+            .clip(RoundedCornerShape(15.dp))
+            .background(colorResource(id = R.color.white))
+            .fillMaxWidth()
+            .clickable {
+//                Toast.makeText(context, item.name, Toast.LENGTH_SHORT).show()
+                isSheetOpened.invoke()
+                onSelectedCountry.invoke(item.name)
+            },
+        horizontalArrangement = Arrangement.Start,
+        verticalAlignment = Alignment.CenterVertically
+    ) {
+        Surface(
+            modifier = Modifier.padding(start = 10.dp),
+            color = Color.Transparent
+        ) {
+            Icon(
+                painter = painterResource(id = icon),
+                contentDescription = "Icon",
+                tint = Color.Unspecified,
+                modifier = Modifier
+                    .padding(vertical = 15.dp)
+                    .border(1.dp, colorResource(id = R.color.gray_border_textfield))
+                    .size(38.dp, 34.dp)
+//                    .clip(CircleShape)
+//                    .weight(1f)
+                    .paint(
+                        painter = painterResource(id = icon),
+                        contentScale = ContentScale.FillBounds
+                    ),
+//                colorFilter = ColorFilter.tint(colorResource(id = R.color.gray_splash)),
+            )
+        }
+
+        Surface(
+            modifier = Modifier.padding(start = 15.dp, end = 5.dp),
+            color = Color.Transparent
+        ) {
+            Column {
+                Text(
+                    text = item.name,
+                    style = MaterialTheme.typography.displayMedium,
+                    color = colorResource(id = R.color.gray_splash),
+//                    maxLines = 1,
+                    modifier = Modifier
+//                        .weight(1F)
+                )
+                Spacer(modifier = Modifier.height(1.dp))
+                Text(
+                    text = item.timezone,
+                    style = MaterialTheme.typography.displaySmall,
+                    color = colorResource(id = R.color.gray_text),
+                    modifier = Modifier
+//                        .weight(1F)
+                )
+            }
+        }
+    }
+}
+
+@OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class)
+@Composable
+fun ColumnScope.OpenModalBottomSheet(
+    keyboardController: SoftwareKeyboardController?,
+    focusManager: FocusManager,
+    isSheetOpened: () -> Unit,
+    onSelectedCountry: (String) -> Unit
+) {
+    val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
+    var isSheetOpen by remember { mutableStateOf(true) }
+    var isActive by remember { mutableStateOf(false) }
+    var searchText by remember { mutableStateOf("") }
+    
+   if (isSheetOpen) {
+       ModalBottomSheet(
+           onDismissRequest = {
+               isSheetOpen = false
+               isSheetOpened.invoke()
+           },
+           sheetState = sheetState,
+           containerColor = colorResource(id = R.color.white),
+           dragHandle = {
+               BottomSheetDefaults.DragHandle(
+                   color = colorResource(id = R.color.gray_splash),
+               )
+           },
+           modifier = Modifier
+               .padding(top = 15.dp)
+               .fillMaxSize()
+       ) {
+           Box(
+               modifier = Modifier
+                   .background(Color.Transparent)
+//                .fillMaxWidth()
+//                .fillMaxHeight()
+                   .padding(start = 0.dp, top = 10.dp)
+                   .fillMaxSize(),
+           ) {
+               Column(
+                   verticalArrangement = Arrangement.Top,
+                   horizontalAlignment = Alignment.Start
+               ) {
+                   CompositionLocalProvider(
+                       LocalOverscrollConfiguration provides null
+                   ) {
+                       DockedSearchBar(
+                           query = searchText,
+                           onQueryChange = {
+                               searchText = it
+//                                scope.launch {
+//                                    searchListViewModelSplash.searchTextChange(it)
+//                                }
+                           },
+                           onSearch = {
+                            isActive = false
+                           },
+                           active = isActive,
+                           onActiveChange = {
+                               isActive = it
+                           },
+                           placeholder = {
+                               Text(
+                                   text = "Search Country",
+                                   style = MaterialTheme.typography.displaySmall,
+                                   color = colorResource(id = R.color.gray_splash),
+                               )
+                           },
+                           leadingIcon = {
+                               Icon(
+                                   painter = painterResource(id = R.drawable.searchicon),
+                                   contentDescription = "Search Icon",
+                                   tint = colorResource(id = R.color.gray_splash),
+                                   modifier = Modifier
+                                       .size(21.dp)
+                               )
+                           },
+                           colors = SearchBarDefaults.colors(
+                               containerColor = colorResource(id = R.color.light_gray_login),
+                               dividerColor = Color.Transparent,
+                               inputFieldColors = TextFieldDefaults.colors(
+                                   focusedTextColor = colorResource(id = R.color.gray_splash),
+                                   unfocusedTextColor = colorResource(id = R.color.gray_splash),
+                                   unfocusedIndicatorColor = colorResource(id = R.color.gray_splash),
+                                   focusedIndicatorColor = colorResource(id = R.color.gray_splash),
+                                   disabledIndicatorColor = colorResource(id = R.color.gray_splash),
+                                   cursorColor = colorResource(id = R.color.gray_splash),
+                               )
+                           ),
+                           modifier = Modifier
+                               .fillMaxWidth()
+                               .height(50.dp)
+                               .padding(horizontal = 10.dp)
+                               .background(Color.Transparent)
+                       ) {}
+
+                       LazyColumn(
+                           modifier = Modifier
+                               .padding(top = 20.dp, bottom = 40.dp)
+                       ) {
+                           Log.d("countryInfoList", "countryInfoList => ${countryInfoList.size}")
+                           items(countryInfoList, itemContent = { item ->
+                               ShowCountryListItem(
+                                   item = item,
+                                   isSheetOpened = {
+                                       isSheetOpen = false
+                                       isSheetOpened.invoke()
+                                   }
+                               ) { countryName ->
+                                   onSelectedCountry.invoke(countryName)
+                               }
+                           })
+                       }
+                   }
+               }
+           }
+       }
+   }
+}
+
+@Composable
+fun ColumnScope.SelectCountryInfo(
+    labelText: Int,
+    keyboardController: SoftwareKeyboardController?,
+    focusManager: FocusManager
+) {
+    var selectedCountry by remember { mutableStateOf("Please Select") }
+    var isSheetOpened by remember { mutableStateOf(false) }
+
+    TextField(
+        value = selectedCountry,
+        onValueChange = {},
+        textStyle = MaterialTheme.typography.displayMedium.copy(
+            color = if (selectedCountry == "Please Select") colorResource(id = R.color.gray_border_textfield)
+            else colorResource(id = R.color.gray_splash)
+        ),
+        readOnly = true,
+        label = {
+            Text(
+            stringResource(id = labelText),
+            style = MaterialTheme.typography.titleSmall.copy(
+                color = colorResource(id = R.color.gray_text)
+            )
+        ) },
+        modifier = Modifier
+            .align(Alignment.Start)
+            .fillMaxWidth()
+            .defaultMinSize(minHeight = 60.dp)
+            .wrapContentHeight()
+            .border(
+                1.dp,
+                color = colorResource(id = R.color.gray_border_textfield),
+                shape = RoundedCornerShape(16.dp)
+            )
+            .background(color = colorResource(id = R.color.transparent))
+            .clickable {
+                isSheetOpened = true
+            },
+        shape = RoundedCornerShape(16.dp),
+        enabled = false,
+        colors = TextFieldDefaults.colors(
+            disabledContainerColor = colorResource(id = R.color.transparent),
+            focusedLabelColor = colorResource(id = R.color.gray_splash),
+            unfocusedContainerColor = colorResource(id = R.color.transparent),
+            focusedContainerColor = colorResource(id = R.color.transparent),
+            focusedIndicatorColor = colorResource(id = R.color.transparent),
+            disabledIndicatorColor = colorResource(id = R.color.transparent),
+            unfocusedIndicatorColor = colorResource(id = R.color.transparent),
+            cursorColor = colorResource(id = R.color.gray_splash),
+        ),
+        keyboardOptions = KeyboardOptions(
+            keyboardType = KeyboardType.Password
+        )
+    )
+
+    if (isSheetOpened) {
+        OpenModalBottomSheet(
+            keyboardController,
+            focusManager,
+            isSheetOpened = {isSheetOpened = false},
+            onSelectedCountry = { countryName ->
+                selectedCountry = countryName
+            }
+        )
+//        isSheetOpened = false
+    }
+}

+ 14 - 0
app/src/main/java/com/fastest/pass/home/utils/GetDrawable.kt

@@ -0,0 +1,14 @@
+package com.fastest.pass.home.utils
+
+import android.content.Context
+import android.util.Log
+
+class GetDrawable {
+    companion object {
+        fun getDrawable(context: Context, name: String?): Int {
+            val iso = name?.toLowerCase().toString()
+            Log.d("image_logo", "iso => $iso")
+            return context.resources.getIdentifier(iso, "drawable", context.packageName)
+        }
+    }
+}

BIN
app/src/main/res/drawable/ad.png


BIN
app/src/main/res/drawable/ae.png


BIN
app/src/main/res/drawable/af.png


BIN
app/src/main/res/drawable/ag.png


BIN
app/src/main/res/drawable/ai.png


BIN
app/src/main/res/drawable/al.png


BIN
app/src/main/res/drawable/am.png


BIN
app/src/main/res/drawable/ao.png


BIN
app/src/main/res/drawable/aq.png


BIN
app/src/main/res/drawable/ar.png


BIN
app/src/main/res/drawable/as.png


BIN
app/src/main/res/drawable/at.png


BIN
app/src/main/res/drawable/au.png


BIN
app/src/main/res/drawable/aw.png


BIN
app/src/main/res/drawable/ax.png


BIN
app/src/main/res/drawable/az.png


BIN
app/src/main/res/drawable/ba.png


BIN
app/src/main/res/drawable/bb.png


BIN
app/src/main/res/drawable/bd.png


BIN
app/src/main/res/drawable/be.png


BIN
app/src/main/res/drawable/bf.png


BIN
app/src/main/res/drawable/bg.png


BIN
app/src/main/res/drawable/bh.png


BIN
app/src/main/res/drawable/bi.png


BIN
app/src/main/res/drawable/bj.png


BIN
app/src/main/res/drawable/bl.png


BIN
app/src/main/res/drawable/bm.png


BIN
app/src/main/res/drawable/bn.png


BIN
app/src/main/res/drawable/bo.png


BIN
app/src/main/res/drawable/bq.png


BIN
app/src/main/res/drawable/br.png


BIN
app/src/main/res/drawable/brl.png


BIN
app/src/main/res/drawable/bs.png


BIN
app/src/main/res/drawable/bt.png


BIN
app/src/main/res/drawable/bv.png


BIN
app/src/main/res/drawable/bw.png


BIN
app/src/main/res/drawable/by.png


BIN
app/src/main/res/drawable/bz.png


BIN
app/src/main/res/drawable/ca.png


BIN
app/src/main/res/drawable/cc.png


BIN
app/src/main/res/drawable/cd.png


BIN
app/src/main/res/drawable/cf.png


BIN
app/src/main/res/drawable/cg.png


BIN
app/src/main/res/drawable/ch.png


BIN
app/src/main/res/drawable/ci.png


BIN
app/src/main/res/drawable/ck.png


BIN
app/src/main/res/drawable/cl.png


BIN
app/src/main/res/drawable/cm.png


BIN
app/src/main/res/drawable/cn.png


BIN
app/src/main/res/drawable/co.png


BIN
app/src/main/res/drawable/cr.png


BIN
app/src/main/res/drawable/cu.png


BIN
app/src/main/res/drawable/cv.png


BIN
app/src/main/res/drawable/cw.png


BIN
app/src/main/res/drawable/cx.png


BIN
app/src/main/res/drawable/cy.png


BIN
app/src/main/res/drawable/cz.png


BIN
app/src/main/res/drawable/de.png


BIN
app/src/main/res/drawable/dj.png


BIN
app/src/main/res/drawable/dk.png


BIN
app/src/main/res/drawable/dm.png


BIN
app/src/main/res/drawable/dor.png


BIN
app/src/main/res/drawable/dz.png


BIN
app/src/main/res/drawable/ec.png


BIN
app/src/main/res/drawable/ee.png


BIN
app/src/main/res/drawable/eg.png


BIN
app/src/main/res/drawable/eh.png


BIN
app/src/main/res/drawable/eo.png


BIN
app/src/main/res/drawable/er.png


BIN
app/src/main/res/drawable/es.png


BIN
app/src/main/res/drawable/et.png


BIN
app/src/main/res/drawable/eu.png


BIN
app/src/main/res/drawable/fi.png


BIN
app/src/main/res/drawable/fj.png


BIN
app/src/main/res/drawable/fk.png


BIN
app/src/main/res/drawable/fm.png


BIN
app/src/main/res/drawable/fo.png


BIN
app/src/main/res/drawable/fr.png


BIN
app/src/main/res/drawable/ga.png


BIN
app/src/main/res/drawable/gb.png


BIN
app/src/main/res/drawable/gd.png


BIN
app/src/main/res/drawable/ge.png


BIN
app/src/main/res/drawable/gf.png


BIN
app/src/main/res/drawable/gg.png


BIN
app/src/main/res/drawable/gh.png


BIN
app/src/main/res/drawable/gi.png


BIN
app/src/main/res/drawable/gl.png


BIN
app/src/main/res/drawable/gm.png


BIN
app/src/main/res/drawable/gn.png


BIN
app/src/main/res/drawable/gp.png


BIN
app/src/main/res/drawable/gq.png


BIN
app/src/main/res/drawable/gr.png


BIN
app/src/main/res/drawable/gs.png


+ 0 - 0
app/src/main/res/drawable/gt.png


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.