country List
Deprecated
Use DefaultCountryDataSource.countries, which carries ISO alpha-3, region and search aliases. This list is a lossy projection kept for source compatibility.
Replace with
import com.ezzy.ccp.countrypicker.data.DefaultCountryDataSource
DefaultCountryDataSource.countriesThe legacy country list, retained for source compatibility.
This is now a derived view of DefaultCountryDataSource rather than a second hand-maintained table. Previously this file held ~200 Country(...) literals that had to be kept in step with the dataset by hand; country metadata now lives in exactly one place, and this list projects it into the older Country shape.
What changed for existing callers
More countries. ~200 entries became 236: every ISO 3166-1 country and territory with a dial code. Code that filters this list still works; code that assumed a specific size does not.
Dial codes no longer contain hyphens. The Dominican Republic was
"+1-809"and is now"+1809". The hyphenated form is not a valid dial code and broke E.164 normalization for the NANP territories. Anything comparing dial codes as strings needs the new form.Some names follow current ISO usage.
"Czech Republic"→"Czechia","Turkey"→"Türkiye","Congo (Congo-Brazzaville)"→"Congo - Brazzaville". The former names remain searchable as aliases, so a user typing "Czech Republic" still finds it.flagis alwaysnull. It used to carry one of the library's bundled flagImageVectors; those covered barely half the dataset, nothing rendered them, and they have been removed. com.ezzy.ccp.countrypicker.ui.CountryFlag draws the platform emoji glyph and covers every country, so nothing that was actually being displayed changes.
New code should use DefaultCountryDataSource and com.ezzy.ccp.countrypicker.model.Country directly — that model carries ISO alpha-3, region and search aliases, and takes its identity from the ISO alpha-2 code rather than from a dial code that is not unique.