Compare commits
11 Commits
0.1a-rc3
...
01dab6aa30
Author | SHA1 | Date | |
---|---|---|---|
|
01dab6aa30 | ||
|
bafd3cea14 | ||
|
ec52574ae3 | ||
|
923404ebc5
|
||
|
32ba5e0b07 | ||
|
72b2148e4b | ||
|
513660b3a4 | ||
|
443d62b6df
|
||
|
a360c7496b
|
||
|
3fe83cff2e
|
||
|
71acf04f20 |
16
.github/workflows/build.yml
vendored
16
.github/workflows/build.yml
vendored
@@ -48,17 +48,17 @@ jobs:
|
|||||||
cache: 'gradle'
|
cache: 'gradle'
|
||||||
|
|
||||||
- name: Build APK
|
- name: Build APK
|
||||||
run: ./gradlew assemble
|
run: ./gradlew assembleSignedRelease
|
||||||
|
|
||||||
# - name: Upload APK
|
|
||||||
# uses: actions/upload-artifact@v4
|
|
||||||
# with:
|
|
||||||
# name: app.apk
|
|
||||||
# path: app/build/outputs/apk/release/app-release.apk
|
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
with:
|
with:
|
||||||
files: |
|
files: |
|
||||||
app/build/outputs/apk/release/app-release.apk
|
app/build/outputs/apk/signedRelease/app-signedRelease.apk
|
||||||
|
prerelease: |
|
||||||
|
if [[ ${{ github.ref }} =~ ^refs/tags/[0-9]+\.[0-9]+[a-z]+$ ]]; then
|
||||||
|
echo "false"
|
||||||
|
else
|
||||||
|
echo "true"
|
||||||
|
fi
|
@@ -5,9 +5,6 @@ plugins {
|
|||||||
id 'com.mikepenz.aboutlibraries.plugin' version '11.1.1'
|
id 'com.mikepenz.aboutlibraries.plugin' version '11.1.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
def keystorePropertiesFile = rootProject.file("app/keystore.properties")
|
|
||||||
def keystoreProperties = new Properties()
|
|
||||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace 'net.helcel.beans'
|
namespace 'net.helcel.beans'
|
||||||
@@ -20,22 +17,37 @@ android {
|
|||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "0.1a"
|
versionName "0.1a"
|
||||||
}
|
}
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
create("release") {
|
create("release") {
|
||||||
keyAlias keystoreProperties['keyAlias']
|
try {
|
||||||
keyPassword keystoreProperties['keyPassword']
|
def keystorePropertiesFile = rootProject.file("app/keystore.properties")
|
||||||
storeFile file(keystoreProperties['storeFile'])
|
def keystoreProperties = new Properties()
|
||||||
storePassword keystoreProperties['storePassword']
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||||
|
|
||||||
|
keyAlias keystoreProperties['keyAlias']
|
||||||
|
keyPassword keystoreProperties['keyPassword']
|
||||||
|
storeFile file(keystoreProperties['storeFile'])
|
||||||
|
storePassword keystoreProperties['storePassword']
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
println("File not found: ${e.message}")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
debug {
|
||||||
|
debuggable true
|
||||||
|
}
|
||||||
release {
|
release {
|
||||||
minifyEnabled true
|
minifyEnabled true
|
||||||
shrinkResources false
|
shrinkResources false
|
||||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
|
}
|
||||||
|
signedRelease {
|
||||||
|
minifyEnabled true
|
||||||
|
shrinkResources false
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
signingConfig = signingConfigs.getByName("release")
|
signingConfig = signingConfigs.getByName("release")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -49,8 +49,8 @@ ALB_SD|ALB|Shkodër|3507
|
|||||||
ALB_TI|ALB|Tiranë|1638
|
ALB_TI|ALB|Tiranë|1638
|
||||||
ALB_VR|ALB|Vlorë|2648
|
ALB_VR|ALB|Vlorë|2648
|
||||||
DZA_AR|DZA|Adrar|433285
|
DZA_AR|DZA|Adrar|433285
|
||||||
DZA_AD|DZA|AïnDefla|4557
|
DZA_AD|DZA|Aïn Defla|4557
|
||||||
DZA_AT|DZA|AïnTémouchent|2405
|
DZA_AT|DZA|Aïn Témouchent|2405
|
||||||
DZA_AL|DZA|Alger|769
|
DZA_AL|DZA|Alger|769
|
||||||
DZA_AN|DZA|Annaba|1413
|
DZA_AN|DZA|Annaba|1413
|
||||||
DZA_BT|DZA|Batna|12167
|
DZA_BT|DZA|Batna|12167
|
||||||
@@ -106,7 +106,7 @@ AND_EN|AND|Encamp|68
|
|||||||
AND_EE|AND|Escaldes-Engordany|47
|
AND_EE|AND|Escaldes-Engordany|47
|
||||||
AND_MA|AND|La Massana|68
|
AND_MA|AND|La Massana|68
|
||||||
AND_OR|AND|Ordino|79
|
AND_OR|AND|Ordino|79
|
||||||
AND_JL|AND|Sant Juliàde Lòria|65
|
AND_JL|AND|Sant Julià de Lòria|65
|
||||||
AGO_BO|AGO|Bengo|34586
|
AGO_BO|AGO|Bengo|34586
|
||||||
AGO_BG|AGO|Benguela|39748
|
AGO_BG|AGO|Benguela|39748
|
||||||
AGO_BI|AGO|Bié|72491
|
AGO_BI|AGO|Bié|72491
|
||||||
@@ -152,7 +152,7 @@ ARG_BA|ARG|Buenos Aires|307606
|
|||||||
ARG_CT|ARG|Catamarca|101718
|
ARG_CT|ARG|Catamarca|101718
|
||||||
ARG_CC|ARG|Chaco|100177
|
ARG_CC|ARG|Chaco|100177
|
||||||
ARG_CH|ARG|Chubut|224436
|
ARG_CH|ARG|Chubut|224436
|
||||||
ARG_DF|ARG|Ciudadde Buenos Aires|212
|
ARG_DF|ARG|Ciudad de Buenos Aires|212
|
||||||
ARG_CB|ARG|Córdoba|165143
|
ARG_CB|ARG|Córdoba|165143
|
||||||
ARG_CN|ARG|Corrientes|89281
|
ARG_CN|ARG|Corrientes|89281
|
||||||
ARG_ER|ARG|Entre Ríos|78238
|
ARG_ER|ARG|Entre Ríos|78238
|
||||||
@@ -163,14 +163,14 @@ ARG_LR|ARG|La Rioja|91415
|
|||||||
ARG_MZ|ARG|Mendoza|149125
|
ARG_MZ|ARG|Mendoza|149125
|
||||||
ARG_MN|ARG|Misiones|30098
|
ARG_MN|ARG|Misiones|30098
|
||||||
ARG_NQ|ARG|Neuquén|94649
|
ARG_NQ|ARG|Neuquén|94649
|
||||||
ARG_RN|ARG|RíoNegro|202737
|
ARG_RN|ARG|Río Negro|202737
|
||||||
ARG_SA|ARG|Salta|155883
|
ARG_SA|ARG|Salta|155883
|
||||||
ARG_SJ|ARG|San Juan|89103
|
ARG_SJ|ARG|San Juan|89103
|
||||||
ARG_SL|ARG|San Luis|76041
|
ARG_SL|ARG|San Luis|76041
|
||||||
ARG_SC|ARG|Santa Cruz|242689
|
ARG_SC|ARG|Santa Cruz|242689
|
||||||
ARG_SF|ARG|Santa Fe|133534
|
ARG_SF|ARG|Santa Fe|133534
|
||||||
ARG_SE|ARG|Santiagodel Estero|137431
|
ARG_SE|ARG|Santiagodel Estero|137431
|
||||||
ARG_TF|ARG|Tierradel Fuego|20841
|
ARG_TF|ARG|Tierra del Fuego|20841
|
||||||
ARG_TM|ARG|Tucumán|22628
|
ARG_TM|ARG|Tucumán|22628
|
||||||
ARM_AG|ARM|Aragatsotn|2884
|
ARM_AG|ARM|Aragatsotn|2884
|
||||||
ARM_AR|ARM|Ararat|2227
|
ARM_AR|ARM|Ararat|2227
|
||||||
@@ -213,7 +213,7 @@ BHS_CI|BHS|Cat Island|371
|
|||||||
BHS_CB|BHS|Central Abaco|712
|
BHS_CB|BHS|Central Abaco|712
|
||||||
BHS_CN|BHS|Central Andros|1216
|
BHS_CN|BHS|Central Andros|1216
|
||||||
BHS_CE|BHS|Central Eleuthera|70
|
BHS_CE|BHS|Central Eleuthera|70
|
||||||
BHS_FP|BHS|Cityof Freeport|25
|
BHS_FP|BHS|City of Freeport|25
|
||||||
BHS_CK|BHS|Crooked Island|334
|
BHS_CK|BHS|Crooked Island|334
|
||||||
BHS_EB|BHS|East Grand Bahama|580
|
BHS_EB|BHS|East Grand Bahama|580
|
||||||
BHS_EM|BHS|Exuma|348
|
BHS_EM|BHS|Exuma|348
|
||||||
@@ -224,7 +224,7 @@ BHS_IN|BHS|Inagua|1688
|
|||||||
BHS_LI|BHS|Long Island|481
|
BHS_LI|BHS|Long Island|481
|
||||||
BHS_MC|BHS|Mangrove Cay|489
|
BHS_MC|BHS|Mangrove Cay|489
|
||||||
BHS_MG|BHS|Mayaguana|290
|
BHS_MG|BHS|Mayaguana|290
|
||||||
BHS_MI|BHS|Moore'sIsland|21
|
BHS_MI|BHS|Moore's Island|21
|
||||||
BHS_NW|BHS|New Providence|231
|
BHS_NW|BHS|New Providence|231
|
||||||
BHS_NB|BHS|North Abaco|219
|
BHS_NB|BHS|North Abaco|219
|
||||||
BHS_NN|BHS|North Andros|2876
|
BHS_NN|BHS|North Andros|2876
|
||||||
@@ -291,7 +291,7 @@ BMU_HC|BMU|Hamilton Municipality|1
|
|||||||
BMU_PA|BMU|Paget|6
|
BMU_PA|BMU|Paget|6
|
||||||
BMU_PE|BMU|Pembroke|7
|
BMU_PE|BMU|Pembroke|7
|
||||||
BMU_SC|BMU|Saint George's|10
|
BMU_SC|BMU|Saint George's|10
|
||||||
BMU_SG|BMU|Saint Georgemunicipality|2
|
BMU_SG|BMU|Saint George municipality|2
|
||||||
BMU_SA|BMU|Sandys|9
|
BMU_SA|BMU|Sandys|9
|
||||||
BMU_SM|BMU|Smiths|5
|
BMU_SM|BMU|Smiths|5
|
||||||
BMU_SO|BMU|Southampton|6
|
BMU_SO|BMU|Southampton|6
|
||||||
@@ -365,13 +365,13 @@ BRA_PB|BRA|Paraíba|56838
|
|||||||
BRA_PR|BRA|Paraná|200198
|
BRA_PR|BRA|Paraná|200198
|
||||||
BRA_PE|BRA|Pernambuco|98705
|
BRA_PE|BRA|Pernambuco|98705
|
||||||
BRA_PI|BRA|Piauí|253394
|
BRA_PI|BRA|Piauí|253394
|
||||||
BRA_RJ|BRA|Riode Janeiro|43962
|
BRA_RJ|BRA|Rio de Janeiro|43962
|
||||||
BRA_RN|BRA|Rio Grandedo Norte|53165
|
BRA_RN|BRA|Rio Grandedo Norte|53165
|
||||||
BRA_RS|BRA|Rio Grandedo Sul|282688
|
BRA_RS|BRA|Rio Grandedo Sul|282688
|
||||||
BRA_RO|BRA|Rondônia|238929
|
BRA_RO|BRA|Rondônia|238929
|
||||||
BRA_RR|BRA|Roraima|225857
|
BRA_RR|BRA|Roraima|225857
|
||||||
BRA_SC|BRA|Santa Catarina|96032
|
BRA_SC|BRA|Santa Catarina|96032
|
||||||
BRA_SP|BRA|SãoPaulo|249417
|
BRA_SP|BRA|São Paulo|249417
|
||||||
BRA_SE|BRA|Sergipe|22079
|
BRA_SE|BRA|Sergipe|22079
|
||||||
BRA_TO|BRA|Tocantins|279170
|
BRA_TO|BRA|Tocantins|279170
|
||||||
VGB_NA|VGB|Virgin Gorda|28
|
VGB_NA|VGB|Virgin Gorda|28
|
||||||
@@ -445,11 +445,11 @@ KHM_KS|KHM|Kâmpóng Spœ|7014
|
|||||||
KHM_KT|KHM|Kâmpóng Thum|12907
|
KHM_KT|KHM|Kâmpóng Thum|12907
|
||||||
KHM_KP|KHM|Kâmpôt|4752
|
KHM_KP|KHM|Kâmpôt|4752
|
||||||
KHM_KN|KHM|Kândal|3274
|
KHM_KN|KHM|Kândal|3274
|
||||||
KHM_KK|KHM|KaôhKong|11076
|
KHM_KK|KHM|Kaôh Kong|11076
|
||||||
KHM_KH|KHM|Krâchéh|12057
|
KHM_KH|KHM|Krâchéh|12057
|
||||||
KHM_PL|KHM|Krong Pailin|1082
|
KHM_PL|KHM|Krong Pailin|1082
|
||||||
KHM_KA|KHM|Krong Preah Sihanouk|2651
|
KHM_KA|KHM|Krong Preah Sihanouk|2651
|
||||||
KHM_MK|KHM|MôndólKiri|13747
|
KHM_MK|KHM|Môndól Kiri|13747
|
||||||
KHM_OC|KHM|Otdar Mean Chey|6672
|
KHM_OC|KHM|Otdar Mean Chey|6672
|
||||||
KHM_PP|KHM|Phnom Penh|689
|
KHM_PP|KHM|Phnom Penh|689
|
||||||
KHM_PO|KHM|Pouthisat|12588
|
KHM_PO|KHM|Pouthisat|12588
|
||||||
@@ -493,18 +493,18 @@ CPV_PN|CPV|Porto Novo|581
|
|||||||
CPV_PC|CPV|Praia|103
|
CPV_PC|CPV|Praia|103
|
||||||
CPV_RB|CPV|Ribeira Brava|237
|
CPV_RB|CPV|Ribeira Brava|237
|
||||||
CPV_RG|CPV|Ribeira Grande|168
|
CPV_RG|CPV|Ribeira Grande|168
|
||||||
CPV_RS|CPV|Ribeira Grandede Santiago|142
|
CPV_RS|CPV|Ribeira Grande de Santiago|142
|
||||||
CPV_SL|CPV|Sal|225
|
CPV_SL|CPV|Sal|225
|
||||||
CPV_CT|CPV|Santa Catarinado Fogo|55
|
CPV_CT|CPV|Santa Catarinado Fogo|55
|
||||||
CPV_CZ|CPV|Santa Cruz|116
|
CPV_CZ|CPV|Santa Cruz|116
|
||||||
CPV_SD|CPV|SãoDomingos|159
|
CPV_SD|CPV|São Domingos|159
|
||||||
CPV_FP|CPV|SãoFilipe|340
|
CPV_FP|CPV|São Filipe|340
|
||||||
CPV_LO|CPV|SãoLourençodosÓrgãos|36
|
CPV_LO|CPV|São Lourenço dos Órgãos|36
|
||||||
CPV_SM|CPV|SãoMiguel|81
|
CPV_SM|CPV|São Miguel|81
|
||||||
CPV_SS|CPV|SãoSalvadordo Mundo|31
|
CPV_SS|CPV|São Salvadordo Mundo|31
|
||||||
CPV_SV|CPV|SãoVicente|271
|
CPV_SV|CPV|São Vicente|271
|
||||||
CPV_TF|CPV|Tarrafal|120
|
CPV_TF|CPV|Tarrafal|120
|
||||||
CPV_TS|CPV|Tarrafalde SãoNicolau|115
|
CPV_TS|CPV|Tarrafal de São Nicolau|115
|
||||||
CYM_BT|CYM|Bodden Town|8
|
CYM_BT|CYM|Bodden Town|8
|
||||||
CYM_EE|CYM|East End|56
|
CYM_EE|CYM|East End|56
|
||||||
CYM_GT|CYM|George Town|29
|
CYM_GT|CYM|George Town|29
|
||||||
@@ -549,13 +549,13 @@ TCD_SA|TCD|Salamat|68389
|
|||||||
TCD_SI|TCD|Sila|35924
|
TCD_SI|TCD|Sila|35924
|
||||||
TCD_TA|TCD|Tandjilé|17645
|
TCD_TA|TCD|Tandjilé|17645
|
||||||
TCD_TI|TCD|Tibesti|126795
|
TCD_TI|TCD|Tibesti|126795
|
||||||
TCD_NJ|TCD|Villede N'Djamena|399
|
TCD_NJ|TCD|Ville de N'Djamena|399
|
||||||
TCD_BI|TCD|Wadi Fira|54434
|
TCD_BI|TCD|Wadi Fira|54434
|
||||||
CHL_AN|CHL|Antofagasta|126678
|
CHL_AN|CHL|Antofagasta|126678
|
||||||
CHL_AR|CHL|Araucanía|31844
|
CHL_AR|CHL|Araucanía|31844
|
||||||
CHL_AP|CHL|Aricay Parinacota|16931
|
CHL_AP|CHL|Aricay Parinacota|16931
|
||||||
CHL_AT|CHL|Atacama|75995
|
CHL_AT|CHL|Atacama|75995
|
||||||
CHL_AI|CHL|Ayséndel General Ibañezdel Cam|106476
|
CHL_AI|CHL|Ayséndel General Ibañez del Cam|106476
|
||||||
CHL_BI|CHL|Bío-Bío|24032
|
CHL_BI|CHL|Bío-Bío|24032
|
||||||
CHL_CO|CHL|Coquimbo|40711
|
CHL_CO|CHL|Coquimbo|40711
|
||||||
CHL_LI|CHL|Libertador General Bernardo O'Hi|16389
|
CHL_LI|CHL|Libertador General Bernardo O'Hi|16389
|
||||||
@@ -604,7 +604,7 @@ COL_AM|COL|Amazonas|109901
|
|||||||
COL_AN|COL|Antioquia|63337
|
COL_AN|COL|Antioquia|63337
|
||||||
COL_AR|COL|Arauca|23888
|
COL_AR|COL|Arauca|23888
|
||||||
COL_AT|COL|Atlántico|3336
|
COL_AT|COL|Atlántico|3336
|
||||||
COL_DC|COL|BogotáD.C.|1646
|
COL_DC|COL|Bogotá D.C.|1646
|
||||||
COL_BL|COL|Bolívar|26790
|
COL_BL|COL|Bolívar|26790
|
||||||
COL_BY|COL|Boyacá|23235
|
COL_BY|COL|Boyacá|23235
|
||||||
COL_CL|COL|Caldas|7454
|
COL_CL|COL|Caldas|7454
|
||||||
@@ -622,15 +622,15 @@ COL_LG|COL|La Guajira|20580
|
|||||||
COL_MA|COL|Magdalena|22912
|
COL_MA|COL|Magdalena|22912
|
||||||
COL_ME|COL|Meta|85947
|
COL_ME|COL|Meta|85947
|
||||||
COL_NA|COL|Nariño|31546
|
COL_NA|COL|Nariño|31546
|
||||||
COL_NS|COL|Nortede Santander|22077
|
COL_NS|COL|Norte de Santander|22077
|
||||||
COL_PU|COL|Putumayo|26063
|
COL_PU|COL|Putumayo|26063
|
||||||
COL_QD|COL|Quindío|1947
|
COL_QD|COL|Quindío|1947
|
||||||
COL_RI|COL|Risaralda|3562
|
COL_RI|COL|Risaralda|3562
|
||||||
COL_SA|COL|San Andrésy Providencia|52
|
COL_SA|COL|San Andrés y Providencia|52
|
||||||
COL_ST|COL|Santander|30788
|
COL_ST|COL|Santander|30788
|
||||||
COL_SU|COL|Sucre|10787
|
COL_SU|COL|Sucre|10787
|
||||||
COL_TO|COL|Tolima|24131
|
COL_TO|COL|Tolima|24131
|
||||||
COL_VC|COL|Valledel Cauca|21034
|
COL_VC|COL|Valle del Cauca|21034
|
||||||
COL_VP|COL|Vaupés|53546
|
COL_VP|COL|Vaupés|53546
|
||||||
COL_VD|COL|Vichada|100014
|
COL_VD|COL|Vichada|100014
|
||||||
COM_MO|COM|Mwali|220
|
COM_MO|COM|Mwali|220
|
||||||
@@ -693,7 +693,7 @@ CUB_MA|CUB|Matanzas|11741
|
|||||||
CUB_MQ|CUB|Mayabeque|3692
|
CUB_MQ|CUB|Mayabeque|3692
|
||||||
CUB_PR|CUB|Pinardel Río|11079
|
CUB_PR|CUB|Pinardel Río|11079
|
||||||
CUB_SS|CUB|Sancti Spíritus|6401
|
CUB_SS|CUB|Sancti Spíritus|6401
|
||||||
CUB_SC|CUB|Santiagode Cuba|6441
|
CUB_SC|CUB|Santiago de Cuba|6441
|
||||||
CUB_VC|CUB|Villa Clara|9161
|
CUB_VC|CUB|Villa Clara|9161
|
||||||
CYP_FA|CYP|Famagusta|204
|
CYP_FA|CYP|Famagusta|204
|
||||||
CYP_LA|CYP|Larnaca|915
|
CYP_LA|CYP|Larnaca|915
|
||||||
@@ -774,7 +774,7 @@ DOM_AL|DOM|La Altagracia|3119
|
|||||||
DOM_EP|DOM|La Estrelleta|1432
|
DOM_EP|DOM|La Estrelleta|1432
|
||||||
DOM_RO|DOM|La Romana|561
|
DOM_RO|DOM|La Romana|561
|
||||||
DOM_VE|DOM|La Vega|2257
|
DOM_VE|DOM|La Vega|2257
|
||||||
DOM_MT|DOM|MaríaTrinidad Sánchez|1238
|
DOM_MT|DOM|María Trinidad Sánchez|1238
|
||||||
DOM_MN|DOM|Monseñor Nouel|977
|
DOM_MN|DOM|Monseñor Nouel|977
|
||||||
DOM_MC|DOM|Monte Cristi|1956
|
DOM_MC|DOM|Monte Cristi|1956
|
||||||
DOM_MP|DOM|Monte Plata|2604
|
DOM_MP|DOM|Monte Plata|2604
|
||||||
@@ -784,9 +784,9 @@ DOM_PP|DOM|Puerto Plata|1900
|
|||||||
DOM_SC|DOM|Salcedo|426
|
DOM_SC|DOM|Salcedo|426
|
||||||
DOM_SM|DOM|Samaná|864
|
DOM_SM|DOM|Samaná|864
|
||||||
DOM_CR|DOM|San Cristóbal|1217
|
DOM_CR|DOM|San Cristóbal|1217
|
||||||
DOM_JO|DOM|San Joséde Ocoa|853
|
DOM_JO|DOM|San José de Ocoa|853
|
||||||
DOM_JU|DOM|San Juan|3347
|
DOM_JU|DOM|San Juan|3347
|
||||||
DOM_PM|DOM|San Pedrode Macorís|1270
|
DOM_PM|DOM|San Pedro de Macorís|1270
|
||||||
DOM_SZ|DOM|Sánchez Ramírez|1183
|
DOM_SZ|DOM|Sánchez Ramírez|1183
|
||||||
DOM_ST|DOM|Santiago|2786
|
DOM_ST|DOM|Santiago|2786
|
||||||
DOM_SR|DOM|Santiago Rodríguez|1150
|
DOM_SR|DOM|Santiago Rodríguez|1150
|
||||||
@@ -812,7 +812,7 @@ ECU_OR|ECU|Orellana|21738
|
|||||||
ECU_PA|ECU|Pastaza|29671
|
ECU_PA|ECU|Pastaza|29671
|
||||||
ECU_PI|ECU|Pichincha|9512
|
ECU_PI|ECU|Pichincha|9512
|
||||||
ECU_SE|ECU|Santa Elena|3720
|
ECU_SE|ECU|Santa Elena|3720
|
||||||
ECU_SD|ECU|Santo Domingodelos Tsachilas|3803
|
ECU_SD|ECU|Santo Domingo de los Tsachilas|3803
|
||||||
ECU_SU|ECU|Sucumbios|18069
|
ECU_SU|ECU|Sucumbios|18069
|
||||||
ECU_TU|ECU|Tungurahua|3405
|
ECU_TU|ECU|Tungurahua|3405
|
||||||
ECU_ZC|ECU|Zamora Chinchipe|10605
|
ECU_ZC|ECU|Zamora Chinchipe|10605
|
||||||
@@ -916,7 +916,7 @@ FIN_LS|FIN|Western Finland|89423
|
|||||||
FRA_AR|FRA|Auvergne-Rhône-Alpes|71204
|
FRA_AR|FRA|Auvergne-Rhône-Alpes|71204
|
||||||
FRA_BF|FRA|Bourgogne-Franche-Comté|48033
|
FRA_BF|FRA|Bourgogne-Franche-Comté|48033
|
||||||
FRA_BT|FRA|Bretagne|27609
|
FRA_BT|FRA|Bretagne|27609
|
||||||
FRA_CN|FRA|Centre-Valde Loire|39509
|
FRA_CN|FRA|Centre-Val de Loire|39509
|
||||||
FRA_CE|FRA|Corse|8750
|
FRA_CE|FRA|Corse|8750
|
||||||
FRA_AO|FRA|Grand Est|57666
|
FRA_AO|FRA|Grand Est|57666
|
||||||
FRA_NC|FRA|Hauts-de-France|31945
|
FRA_NC|FRA|Hauts-de-France|31945
|
||||||
@@ -924,17 +924,17 @@ FRA_IF|FRA|Île-de-France|12058
|
|||||||
FRA_ND|FRA|Normandie|30143
|
FRA_ND|FRA|Normandie|30143
|
||||||
FRA_AC|FRA|Nouvelle-Aquitaine|84800
|
FRA_AC|FRA|Nouvelle-Aquitaine|84800
|
||||||
FRA_LP|FRA|Occitanie|73302
|
FRA_LP|FRA|Occitanie|73302
|
||||||
FRA_PL|FRA|Paysdela Loire|32365
|
FRA_PL|FRA|Pays de la Loire|32365
|
||||||
FRA_PR|FRA|Provence-Alpes-Côted'Azur|31952
|
FRA_PR|FRA|Provence-Alpes-Côte d'Azur|31952
|
||||||
GUF_CY|GUF|Cayenne|42886
|
GUF_CY|GUF|Cayenne|42886
|
||||||
GUF_SL|GUF|Saint-Laurent-du-Maroni|40970
|
GUF_SL|GUF|Saint-Laurent-du-Maroni|40970
|
||||||
PYF_TI|PYF|Îles Australes|373
|
PYF_TI|PYF|Îles Australes|373
|
||||||
PYF_WI|PYF|Îlesdu Vent|1216
|
PYF_WI|PYF|Îles du Vent|1216
|
||||||
PYF_MI|PYF|Îles Marquises|996
|
PYF_MI|PYF|Îles Marquises|996
|
||||||
PYF_LI|PYF|Îles Sous-le-Vent|429
|
PYF_LI|PYF|Îles Sous-le-Vent|429
|
||||||
PYF_TG|PYF|Îles Tuamotu-Gambier|1039
|
PYF_TG|PYF|Îles Tuamotu-Gambier|1039
|
||||||
ATF_CR|ATF|Îles Crozet|372
|
ATF_CR|ATF|Îles Crozet|372
|
||||||
ATF_NA|ATF|ÎlesÉparses|44
|
ATF_NA|ATF|Îles Éparses|44
|
||||||
ATF_AS|ATF|Îles Saint Paulet Amsterdam|64
|
ATF_AS|ATF|Îles Saint Paulet Amsterdam|64
|
||||||
ATF_KG|ATF|Kerguelen|7372
|
ATF_KG|ATF|Kerguelen|7372
|
||||||
GAB_ES|GAB|Estuaire|20024
|
GAB_ES|GAB|Estuaire|20024
|
||||||
@@ -1171,7 +1171,7 @@ IND_MN|IND|Manipur|22420
|
|||||||
IND_ML|IND|Meghalaya|22612
|
IND_ML|IND|Meghalaya|22612
|
||||||
IND_MZ|IND|Mizoram|21350
|
IND_MZ|IND|Mizoram|21350
|
||||||
IND_NL|IND|Nagaland|16668
|
IND_NL|IND|Nagaland|16668
|
||||||
IND_DL|IND|NC Tof Delhi|1508
|
IND_DL|IND|NCT of Delhi|1508
|
||||||
IND_OR|IND|Odisha|156427
|
IND_OR|IND|Odisha|156427
|
||||||
IND_PY|IND|Puducherry|550
|
IND_PY|IND|Puducherry|550
|
||||||
IND_PB|IND|Punjab|50386
|
IND_PB|IND|Punjab|50386
|
||||||
@@ -1518,9 +1518,9 @@ LSO_BB|LSO|Butha-Buthe|1796
|
|||||||
LSO_LE|LSO|Leribe|2829
|
LSO_LE|LSO|Leribe|2829
|
||||||
LSO_MF|LSO|Mafeteng|2659
|
LSO_MF|LSO|Mafeteng|2659
|
||||||
LSO_MS|LSO|Maseru|3781
|
LSO_MS|LSO|Maseru|3781
|
||||||
LSO_MH|LSO|Mohale'sHoek|3451
|
LSO_MH|LSO|Mohale's Hoek|3451
|
||||||
LSO_MK|LSO|Mokhotlong|4184
|
LSO_MK|LSO|Mokhotlong|4184
|
||||||
LSO_QN|LSO|Qacha'sNek|2131
|
LSO_QN|LSO|Qacha's Nek|2131
|
||||||
LSO_QT|LSO|Quthing|2974
|
LSO_QT|LSO|Quthing|2974
|
||||||
LSO_TT|LSO|Thaba-Tseka|4849
|
LSO_TT|LSO|Thaba-Tseka|4849
|
||||||
LBR_BM|LBR|Bomi|2122
|
LBR_BM|LBR|Bomi|2122
|
||||||
@@ -1607,7 +1607,7 @@ MKD_DK|MKD|Demir Kapija|314
|
|||||||
MKD_DE|MKD|Dolneni|410
|
MKD_DE|MKD|Dolneni|410
|
||||||
MKD_GB|MKD|Gazi Baba|102
|
MKD_GB|MKD|Gazi Baba|102
|
||||||
MKD_GV|MKD|Gevgelija|438
|
MKD_GV|MKD|Gevgelija|438
|
||||||
MKD_GP|MKD|GjorčePetrov|70
|
MKD_GP|MKD|Gjorče Petrov|70
|
||||||
MKD_GT|MKD|Gostivar|524
|
MKD_GT|MKD|Gostivar|524
|
||||||
MKD_GR|MKD|Gradsko|282
|
MKD_GR|MKD|Gradsko|282
|
||||||
MKD_IL|MKD|Ilinden|95
|
MKD_IL|MKD|Ilinden|95
|
||||||
@@ -1896,7 +1896,7 @@ MAR_FB|MAR|Fès-Boulemane|19366
|
|||||||
MAR_GB|MAR|Gharb-Chrarda-Béni Hssen|8782
|
MAR_GB|MAR|Gharb-Chrarda-Béni Hssen|8782
|
||||||
MAR_GC|MAR|Grand Casablanca|879
|
MAR_GC|MAR|Grand Casablanca|879
|
||||||
MAR_GE|MAR|Guelmim-Es-Semara|64701
|
MAR_GE|MAR|Guelmim-Es-Semara|64701
|
||||||
MAR_LB|MAR|Laâyoune-Boujdour-Sakia El H|5763
|
MAR_LB|MAR|Laâyoune-Boujdour-Sakia El Hamra|5763
|
||||||
MAR_MK|MAR|Marrakech-Tensift-Al Haouz|32483
|
MAR_MK|MAR|Marrakech-Tensift-Al Haouz|32483
|
||||||
MAR_MT|MAR|Meknès-Tafilalet|60303
|
MAR_MT|MAR|Meknès-Tafilalet|60303
|
||||||
MAR_OR|MAR|Oriental|59914
|
MAR_OR|MAR|Oriental|59914
|
||||||
@@ -1979,11 +1979,11 @@ NCL_IL|NCL|Îles Loyauté|1988
|
|||||||
NCL_NO|NCL|Nord|9520
|
NCL_NO|NCL|Nord|9520
|
||||||
NCL_SU|NCL|Sud|7408
|
NCL_SU|NCL|Sud|7408
|
||||||
NZL_AU|NZL|Auckland|4958
|
NZL_AU|NZL|Auckland|4958
|
||||||
NZL_BP|NZL|Bayof Plenty|12293
|
NZL_BP|NZL|Bay of Plenty|12293
|
||||||
NZL_CA|NZL|Canterbury|48152
|
NZL_CA|NZL|Canterbury|48152
|
||||||
NZL_CI|NZL|Chatham Islands|798
|
NZL_CI|NZL|Chatham Islands|798
|
||||||
NZL_GI|NZL|Gisborne|8369
|
NZL_GI|NZL|Gisborne|8369
|
||||||
NZL_HB|NZL|Hawke'sBay|12790
|
NZL_HB|NZL|Hawke's Bay|12790
|
||||||
NZL_MW|NZL|Manawatu-Wanganui|21998
|
NZL_MW|NZL|Manawatu-Wanganui|21998
|
||||||
NZL_MA|NZL|Marlborough|10491
|
NZL_MA|NZL|Marlborough|10491
|
||||||
NZL_NE|NZL|Nelson|425
|
NZL_NE|NZL|Nelson|425
|
||||||
@@ -2013,7 +2013,7 @@ NIC_MN|NIC|Managua|4628
|
|||||||
NIC_MS|NIC|Masaya|607
|
NIC_MS|NIC|Masaya|607
|
||||||
NIC_MT|NIC|Matagalpa|8856
|
NIC_MT|NIC|Matagalpa|8856
|
||||||
NIC_NS|NIC|Nueva Segovia|3142
|
NIC_NS|NIC|Nueva Segovia|3142
|
||||||
NIC_SJ|NIC|RíoSan Juan|7345
|
NIC_SJ|NIC|Río San Juan|7345
|
||||||
NIC_RI|NIC|Rivas|1909
|
NIC_RI|NIC|Rivas|1909
|
||||||
NER_AG|NER|Agadez|626771
|
NER_AG|NER|Agadez|626771
|
||||||
NER_DF|NER|Diffa|147076
|
NER_DF|NER|Diffa|147076
|
||||||
@@ -2131,7 +2131,7 @@ PLW_NW|PLW|Ngiwal|18
|
|||||||
PLW_SO|PLW|Sonsorol|3
|
PLW_SO|PLW|Sonsorol|3
|
||||||
PSE_GZ|PSE|Gaza|344
|
PSE_GZ|PSE|Gaza|344
|
||||||
PSE_WE|PSE|West Bank|5895
|
PSE_WE|PSE|West Bank|5895
|
||||||
PAN_BC|PAN|Bocasdel Toro|4718
|
PAN_BC|PAN|Bocas del Toro|4718
|
||||||
PAN_CH|PAN|Chiriquí|6676
|
PAN_CH|PAN|Chiriquí|6676
|
||||||
PAN_CC|PAN|Coclé|4939
|
PAN_CC|PAN|Coclé|4939
|
||||||
PAN_CL|PAN|Colón|4711
|
PAN_CL|PAN|Colón|4711
|
||||||
@@ -2142,7 +2142,7 @@ PAN_SB|PAN|Kuna Yala|2554
|
|||||||
PAN_LS|PAN|Los Santos|3819
|
PAN_LS|PAN|Los Santos|3819
|
||||||
PAN_NB|PAN|Ngöbe Buglé|6649
|
PAN_NB|PAN|Ngöbe Buglé|6649
|
||||||
PAN_PN|PAN|Panamá|8843
|
PAN_PN|PAN|Panamá|8843
|
||||||
PAN_PO|PAN|PanamáOeste|3066
|
PAN_PO|PAN|Panamá Oeste|3066
|
||||||
PAN_VR|PAN|Veraguas|10980
|
PAN_VR|PAN|Veraguas|10980
|
||||||
PNG_NS|PNG|Bougainville|9470
|
PNG_NS|PNG|Bougainville|9470
|
||||||
PNG_CE|PNG|Central|29630
|
PNG_CE|PNG|Central|29630
|
||||||
@@ -2201,7 +2201,7 @@ PER_LB|PER|Lambayeque|14380
|
|||||||
PER_LR|PER|Lima|32537
|
PER_LR|PER|Lima|32537
|
||||||
PER_LP|PER|Lima Province|2722
|
PER_LP|PER|Lima Province|2722
|
||||||
PER_LO|PER|Loreto|377948
|
PER_LO|PER|Loreto|377948
|
||||||
PER_MD|PER|Madrede Dios|84858
|
PER_MD|PER|Madre de Dios|84858
|
||||||
PER_MQ|PER|Moquegua|15844
|
PER_MQ|PER|Moquegua|15844
|
||||||
PER_PA|PER|Pasco|24123
|
PER_PA|PER|Pasco|24123
|
||||||
PER_PI|PER|Piura|36095
|
PER_PI|PER|Piura|36095
|
||||||
@@ -2386,7 +2386,7 @@ PRI_PN|PRI|Peñuelas|118
|
|||||||
PRI_PO|PRI|Ponce|307
|
PRI_PO|PRI|Ponce|307
|
||||||
PRI_QB|PRI|Quebradillas|60
|
PRI_QB|PRI|Quebradillas|60
|
||||||
PRI_RC|PRI|Rincón|37
|
PRI_RC|PRI|Rincón|37
|
||||||
PRI_RG|PRI|RíoGrande|158
|
PRI_RG|PRI|Río Grande|158
|
||||||
PRI_SB|PRI|Sabana Grande|94
|
PRI_SB|PRI|Sabana Grande|94
|
||||||
PRI_SA|PRI|Salinas|185
|
PRI_SA|PRI|Salinas|185
|
||||||
PRI_SG|PRI|San Germán|140
|
PRI_SG|PRI|San Germán|140
|
||||||
@@ -2482,7 +2482,7 @@ RUS_CN|RUS|Chechnya|15154
|
|||||||
RUS_CL|RUS|Chelyabinsk|88739
|
RUS_CL|RUS|Chelyabinsk|88739
|
||||||
RUS_CK|RUS|Chukot|716435
|
RUS_CK|RUS|Chukot|716435
|
||||||
RUS_CV|RUS|Chuvash|18377
|
RUS_CV|RUS|Chuvash|18377
|
||||||
RUS_SP|RUS|Cityof St.Petersburg|2039
|
RUS_SP|RUS|City of St.Petersburg|2039
|
||||||
RUS_DA|RUS|Dagestan|49446
|
RUS_DA|RUS|Dagestan|49446
|
||||||
RUS_GA|RUS|Gorno-Altay|92910
|
RUS_GA|RUS|Gorno-Altay|92910
|
||||||
RUS_IN|RUS|Ingush|3228
|
RUS_IN|RUS|Ingush|3228
|
||||||
@@ -2614,7 +2614,7 @@ SMR_MG|SMR|Montegiardino|3
|
|||||||
SMR_SM|SMR|San Marino|7
|
SMR_SM|SMR|San Marino|7
|
||||||
SMR_SE|SMR|Serravalle|10
|
SMR_SE|SMR|Serravalle|10
|
||||||
STP_PR|STP|Príncipe|145
|
STP_PR|STP|Príncipe|145
|
||||||
STP_ST|STP|SãoTomé|864
|
STP_ST|STP|São Tomé|864
|
||||||
SAU_AS|SAU|'Asir|77398
|
SAU_AS|SAU|'Asir|77398
|
||||||
SAU_BA|SAU|Al Bahah|10566
|
SAU_BA|SAU|Al Bahah|10566
|
||||||
SAU_HS|SAU|Al Hududash Shamaliyah|104147
|
SAU_HS|SAU|Al Hududash Shamaliyah|104147
|
||||||
@@ -2789,17 +2789,17 @@ ESP_CM|ESP|Castilla-La Mancha|79561
|
|||||||
ESP_CL|ESP|Castillay León|94291
|
ESP_CL|ESP|Castillay León|94291
|
||||||
ESP_CT|ESP|Cataluña|32133
|
ESP_CT|ESP|Cataluña|32133
|
||||||
ESP_ML|ESP|Ceutay Melilla|29
|
ESP_ML|ESP|Ceutay Melilla|29
|
||||||
ESP_MD|ESP|Comunidadde Madrid|8036
|
ESP_MD|ESP|Comunidad de Madrid|8036
|
||||||
ESP_NA|ESP|Comunidad Foralde Navarra|10362
|
ESP_NA|ESP|Comunidad Foral de Navarra|10362
|
||||||
ESP_VC|ESP|Comunidad Valenciana|23290
|
ESP_VC|ESP|Comunidad Valenciana|23290
|
||||||
ESP_EX|ESP|Extremadura|41695
|
ESP_EX|ESP|Extremadura|41695
|
||||||
ESP_GA|ESP|Galicia|29622
|
ESP_GA|ESP|Galicia|29622
|
||||||
ESP_PM|ESP|Islas Baleares|5036
|
ESP_PM|ESP|Islas Baleares|5036
|
||||||
ESP_CN|ESP|Islas Canarias|7540
|
ESP_CN|ESP|Islas Canarias|7540
|
||||||
ESP_LO|ESP|La Rioja|5053
|
ESP_LO|ESP|La Rioja|5053
|
||||||
ESP_PV|ESP|PaísVasco|7237
|
ESP_PV|ESP|País Vasco|7237
|
||||||
ESP_AS|ESP|Principadode Asturias|10607
|
ESP_AS|ESP|Principado de Asturias|10607
|
||||||
ESP_MU|ESP|Regiónde Murcia|11337
|
ESP_MU|ESP|Región de Murcia|11337
|
||||||
LKA_AP|LKA|Ampara|4513
|
LKA_AP|LKA|Ampara|4513
|
||||||
LKA_AD|LKA|Anuradhapura|7253
|
LKA_AD|LKA|Anuradhapura|7253
|
||||||
LKA_BD|LKA|Badulla|2887
|
LKA_BD|LKA|Badulla|2887
|
||||||
@@ -2926,7 +2926,7 @@ TWN_TG|TWN|Taichung|2254
|
|||||||
TWN_TN|TWN|Tainan|2236
|
TWN_TN|TWN|Tainan|2236
|
||||||
TWN_TP|TWN|Taipei|279
|
TWN_TP|TWN|Taipei|279
|
||||||
TWN_TA|TWN|Taiwan|26568
|
TWN_TA|TWN|Taiwan|26568
|
||||||
TJK_RR|TJK|Districtsof Republican Subordin|28383
|
TJK_RR|TJK|Districts of Republican Subordin|28383
|
||||||
TJK_DU|TJK|Dushanbe|169
|
TJK_DU|TJK|Dushanbe|169
|
||||||
TJK_BK|TJK|Gorno-Badakhshan|63429
|
TJK_BK|TJK|Gorno-Badakhshan|63429
|
||||||
TJK_KL|TJK|Khatlon|23925
|
TJK_KL|TJK|Khatlon|23925
|
||||||
@@ -3072,7 +3072,7 @@ TTO_DM|TTO|Diego Martin|142
|
|||||||
TTO_MR|TTO|Mayaro/Rio Claro|792
|
TTO_MR|TTO|Mayaro/Rio Claro|792
|
||||||
TTO_PD|TTO|Penal-Debe|246
|
TTO_PD|TTO|Penal-Debe|246
|
||||||
TTO_PF|TTO|Point Fortin|29
|
TTO_PF|TTO|Point Fortin|29
|
||||||
TTO_PS|TTO|Portof Spain|14
|
TTO_PS|TTO|Port of Spain|14
|
||||||
TTO_PT|TTO|Princes Town|619
|
TTO_PT|TTO|Princes Town|619
|
||||||
TTO_SF|TTO|San Fernando|20
|
TTO_SF|TTO|San Fernando|20
|
||||||
TTO_SL|TTO|San Juan-Laventille|216
|
TTO_SL|TTO|San Juan-Laventille|216
|
||||||
@@ -3293,9 +3293,9 @@ ARE_RK|ARE|Ras Al-Khaimah|2442
|
|||||||
ARE_SH|ARE|Sharjah|2529
|
ARE_SH|ARE|Sharjah|2529
|
||||||
ARE_UQ|ARE|Ummal-Qaywayn|746
|
ARE_UQ|ARE|Ummal-Qaywayn|746
|
||||||
GBR_NIR|GBR|Northern Ireland|14134
|
GBR_NIR|GBR|Northern Ireland|14134
|
||||||
GBR_SCT|GBR|Scotland|78704
|
GBR_SCT|GBR|Scotland|79121
|
||||||
GBR_WLS|GBR|Wales|20818
|
GBR_WLS|GBR|Wales|20818
|
||||||
GBR_NA|GBR|NA|130659
|
GBR_NA|GBR|England|130659
|
||||||
USA_AL|USA|Alabama|133995
|
USA_AL|USA|Alabama|133995
|
||||||
USA_AK|USA|Alaska|1501231
|
USA_AK|USA|Alaska|1501231
|
||||||
USA_AZ|USA|Arizona|296082
|
USA_AZ|USA|Arizona|296082
|
||||||
@@ -3304,7 +3304,7 @@ USA_CA|USA|California|410314
|
|||||||
USA_CO|USA|Colorado|270116
|
USA_CO|USA|Colorado|270116
|
||||||
USA_CT|USA|Connecticut|12902
|
USA_CT|USA|Connecticut|12902
|
||||||
USA_DE|USA|Delaware|5304
|
USA_DE|USA|Delaware|5304
|
||||||
USA_DC|USA|Districtof Columbia|166
|
USA_DC|USA|District of Columbia|166
|
||||||
USA_FL|USA|Florida|147978
|
USA_FL|USA|Florida|147978
|
||||||
USA_GA|USA|Georgia|152863
|
USA_GA|USA|Georgia|152863
|
||||||
USA_HI|USA|Hawaii|16809
|
USA_HI|USA|Hawaii|16809
|
||||||
@@ -3359,7 +3359,7 @@ URY_LA|URY|Lavalleja|10055
|
|||||||
URY_MA|URY|Maldonado|4819
|
URY_MA|URY|Maldonado|4819
|
||||||
URY_MO|URY|Montevideo|533
|
URY_MO|URY|Montevideo|533
|
||||||
URY_PA|URY|Paysandú|14141
|
URY_PA|URY|Paysandú|14141
|
||||||
URY_RN|URY|RíoNegro|9727
|
URY_RN|URY|Río Negro|9727
|
||||||
URY_RV|URY|Rivera|9358
|
URY_RV|URY|Rivera|9358
|
||||||
URY_RO|URY|Rocha|10965
|
URY_RO|URY|Rocha|10965
|
||||||
URY_SA|URY|Salto|14226
|
URY_SA|URY|Salto|14226
|
||||||
@@ -3407,68 +3407,68 @@ VEN_T|VEN|Trujillo|8129
|
|||||||
VEN_U|VEN|Yaracuy|6259
|
VEN_U|VEN|Yaracuy|6259
|
||||||
VEN_V|VEN|Zulia|44191
|
VEN_V|VEN|Zulia|44191
|
||||||
VNM_AG|VNM|An Giang|3547
|
VNM_AG|VNM|An Giang|3547
|
||||||
VNM_BV|VNM|BàRịa-Vũng Tàu|1918
|
VNM_BV|VNM|Bà Rịa-Vũng Tàu|1918
|
||||||
VNM_BG|VNM|BắcGiang|3913
|
VNM_BG|VNM|Bắc Giang|3913
|
||||||
VNM_BK|VNM|BắcKạn|4885
|
VNM_BK|VNM|Bắc Kạn|4885
|
||||||
VNM_BL|VNM|BạcLiêu|2495
|
VNM_BL|VNM|Bạc Liêu|2495
|
||||||
VNM_BN|VNM|BắcNinh|825
|
VNM_BN|VNM|Bắc Ninh|825
|
||||||
VNM_BR|VNM|BếnTre|2354
|
VNM_BR|VNM|Bến Tre|2354
|
||||||
VNM_BD|VNM|BìnhĐịnh|6102
|
VNM_BD|VNM|Bình Định|6102
|
||||||
VNM_BI|VNM|Bình Dương|2709
|
VNM_BI|VNM|Bình Dương|2709
|
||||||
VNM_BP|VNM|Bình Phước|6909
|
VNM_BP|VNM|Bình Phước|6909
|
||||||
VNM_BU|VNM|Bình Thuận|7994
|
VNM_BU|VNM|Bình Thuận|7994
|
||||||
VNM_CM|VNM|CàMau|5201
|
VNM_CM|VNM|Cà Mau|5201
|
||||||
VNM_CN|VNM|CầnThơ|1448
|
VNM_CN|VNM|Cần Thơ|1448
|
||||||
VNM_CB|VNM|Cao Bằng|6729
|
VNM_CB|VNM|Cao Bằng|6729
|
||||||
VNM_DA|VNM|ĐàNẵng|988
|
VNM_DA|VNM|Đà Nẵng|988
|
||||||
VNM_DC|VNM|ĐắkLắk|13105
|
VNM_DC|VNM|Đắk Lắk|13105
|
||||||
VNM_DO|VNM|ĐắkNông|6550
|
VNM_DO|VNM|Đắk Nông|6550
|
||||||
VNM_DB|VNM|ĐiệnBiên|9549
|
VNM_DB|VNM|Điện Biên|9549
|
||||||
VNM_DN|VNM|Đồng Nai|5899
|
VNM_DN|VNM|Đồng Nai|5899
|
||||||
VNM_DT|VNM|Đồng Tháp|3410
|
VNM_DT|VNM|Đồng Tháp|3410
|
||||||
VNM_GL|VNM|Gia Lai|15610
|
VNM_GL|VNM|Gia Lai|15610
|
||||||
VNM_HG|VNM|HàGiang|7958
|
VNM_HG|VNM|Hà Giang|7958
|
||||||
VNM_HM|VNM|HàNam|867
|
VNM_HM|VNM|Hà Nam|867
|
||||||
VNM_HI|VNM|HàNội|3374
|
VNM_HI|VNM|Hà Nội|3374
|
||||||
VNM_HT|VNM|HàTĩnh|6016
|
VNM_HT|VNM|Hà Tĩnh|6016
|
||||||
VNM_HD|VNM|HảiDương|1679
|
VNM_HD|VNM|Hải Dương|1679
|
||||||
VNM_HP|VNM|HảiPhòng|1407
|
VNM_HP|VNM|Hải Phòng|1407
|
||||||
VNM_HU|VNM|HậuGiang|1633
|
VNM_HU|VNM|Hậu Giang|1633
|
||||||
VNM_HC|VNM|HồChíMinh|2122
|
VNM_HC|VNM|Hồ Chí Minh|2122
|
||||||
VNM_HO|VNM|HoàBình|4602
|
VNM_HO|VNM|Hoà Bình|4602
|
||||||
VNM_HY|VNM|Hưng Yên|931
|
VNM_HY|VNM|Hưng Yên|931
|
||||||
VNM_KH|VNM|Khánh Hòa|4870
|
VNM_KH|VNM|Khánh Hòa|4870
|
||||||
VNM_KG|VNM|KiênGiang|6327
|
VNM_KG|VNM|Kiên Giang|6327
|
||||||
VNM_KT|VNM|Kon Tum|9706
|
VNM_KT|VNM|Kon Tum|9706
|
||||||
VNM_LI|VNM|Lai Châu|9106
|
VNM_LI|VNM|Lai Châu|9106
|
||||||
VNM_LD|VNM|LâmĐồng|9846
|
VNM_LD|VNM|Lâm Đồng|9846
|
||||||
VNM_LS|VNM|Lạng Sơn|8344
|
VNM_LS|VNM|Lạng Sơn|8344
|
||||||
VNM_LO|VNM|LàoCai|6390
|
VNM_LO|VNM|Lào Cai|6390
|
||||||
VNM_LA|VNM|Long An|4518
|
VNM_LA|VNM|Long An|4518
|
||||||
VNM_ND|VNM|NamĐịnh|1595
|
VNM_ND|VNM|Nam Định|1595
|
||||||
VNM_NA|VNM|NghệAn|16562
|
VNM_NA|VNM|Nghệ An|16562
|
||||||
VNM_NB|VNM|Ninh Bình|1351
|
VNM_NB|VNM|Ninh Bình|1351
|
||||||
VNM_NT|VNM|Ninh Thuận|3382
|
VNM_NT|VNM|Ninh Thuận|3382
|
||||||
VNM_PT|VNM|PhúThọ|3555
|
VNM_PT|VNM|Phú Thọ|3555
|
||||||
VNM_PY|VNM|PhúYên|5061
|
VNM_PY|VNM|Phú Yên|5061
|
||||||
VNM_QB|VNM|Quảng Bình|8023
|
VNM_QB|VNM|Quảng Bình|8023
|
||||||
VNM_QM|VNM|Quảng Nam|10634
|
VNM_QM|VNM|Quảng Nam|10634
|
||||||
VNM_QG|VNM|Quảng Ngãi|5194
|
VNM_QG|VNM|Quảng Ngãi|5194
|
||||||
VNM_QN|VNM|Quảng Ninh|6017
|
VNM_QN|VNM|Quảng Ninh|6017
|
||||||
VNM_QT|VNM|Quảng Trị|4639
|
VNM_QT|VNM|Quảng Trị|4639
|
||||||
VNM_ST|VNM|SócTrăng|3303
|
VNM_ST|VNM|Sóc Trăng|3303
|
||||||
VNM_SL|VNM|SơnLa|14185
|
VNM_SL|VNM|Sơn La|14185
|
||||||
VNM_TN|VNM|TâyNinh|4060
|
VNM_TN|VNM|Tây Ninh|4060
|
||||||
VNM_TB|VNM|TháiBình|1620
|
VNM_TB|VNM|Thái Bình|1620
|
||||||
VNM_TY|VNM|TháiNguyên|3540
|
VNM_TY|VNM|Thái Nguyên|3540
|
||||||
VNM_TH|VNM|Thanh Hóa|11163
|
VNM_TH|VNM|Thanh Hóa|11163
|
||||||
VNM_TT|VNM|ThừaThiênHuế|5053
|
VNM_TT|VNM|Thừa Thiên Huế|5053
|
||||||
VNM_TG|VNM|TiềnGiang|2421
|
VNM_TG|VNM|Tiền Giang|2421
|
||||||
VNM_TV|VNM|TràVinh|2339
|
VNM_TV|VNM|Trà Vinh|2339
|
||||||
VNM_TQ|VNM|TuyênQuang|5895
|
VNM_TQ|VNM|Tuyên Quang|5895
|
||||||
VNM_VL|VNM|Vĩnh Long|1534
|
VNM_VL|VNM|Vĩnh Long|1534
|
||||||
VNM_VC|VNM|Vĩnh Phúc|1237
|
VNM_VC|VNM|Vĩnh Phúc|1237
|
||||||
VNM_YB|VNM|YênBái|6921
|
VNM_YB|VNM|Yên Bái|6921
|
||||||
VIR_SC|VIR|Saint Croix|222
|
VIR_SC|VIR|Saint Croix|222
|
||||||
VIR_SJ|VIR|Saint John|53
|
VIR_SJ|VIR|Saint John|53
|
||||||
VIR_ST|VIR|Saint Thomas|89
|
VIR_ST|VIR|Saint Thomas|89
|
||||||
@@ -3532,4 +3532,3 @@ Z05_UT|IND|Uttarakhand|259
|
|||||||
Z09_UT|IND|Uttarakhand|987
|
Z09_UT|IND|Uttarakhand|987
|
||||||
Z06_JK|PAK|Azad Kashmir|13931
|
Z06_JK|PAK|Azad Kashmir|13931
|
||||||
Z06_NA|PAK|Gilgit-Baltistan|68053
|
Z06_NA|PAK|Gilgit-Baltistan|68053
|
||||||
GBR_EN|GBR|England|417
|
|
||||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 6.5 MiB After Width: | Height: | Size: 6.5 MiB |
@@ -13,12 +13,15 @@ import net.helcel.beans.activity.fragment.EditPlaceColorFragment
|
|||||||
import net.helcel.beans.activity.fragment.EditPlaceFragment
|
import net.helcel.beans.activity.fragment.EditPlaceFragment
|
||||||
import net.helcel.beans.countries.GeoLoc
|
import net.helcel.beans.countries.GeoLoc
|
||||||
import net.helcel.beans.databinding.ItemListGeolocBinding
|
import net.helcel.beans.databinding.ItemListGeolocBinding
|
||||||
|
import net.helcel.beans.helper.AUTO_GROUP
|
||||||
import net.helcel.beans.helper.Data
|
import net.helcel.beans.helper.Data
|
||||||
|
import net.helcel.beans.helper.NO_GROUP
|
||||||
import net.helcel.beans.helper.Settings
|
import net.helcel.beans.helper.Settings
|
||||||
import net.helcel.beans.helper.Theme.colorWrapper
|
import net.helcel.beans.helper.Theme.colorWrapper
|
||||||
|
|
||||||
class GeolocListAdapter(
|
class GeolocListAdapter(
|
||||||
private val ctx: EditPlaceFragment, private val l: GeoLoc, private val pager: ViewPagerAdapter
|
private val ctx: EditPlaceFragment, private val l: GeoLoc, private val pager: ViewPagerAdapter,
|
||||||
|
private val parentHolder: FoldingListViewHolder?
|
||||||
) : RecyclerView.Adapter<GeolocListAdapter.FoldingListViewHolder>() {
|
) : RecyclerView.Adapter<GeolocListAdapter.FoldingListViewHolder>() {
|
||||||
|
|
||||||
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): FoldingListViewHolder {
|
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): FoldingListViewHolder {
|
||||||
@@ -27,7 +30,7 @@ class GeolocListAdapter(
|
|||||||
viewGroup,
|
viewGroup,
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
return FoldingListViewHolder(ctx.requireActivity(), binding)
|
return FoldingListViewHolder(ctx.requireActivity(), binding, parentHolder, l)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: FoldingListViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: FoldingListViewHolder, position: Int) {
|
||||||
@@ -35,7 +38,7 @@ class GeolocListAdapter(
|
|||||||
holder.bind(el)
|
holder.bind(el)
|
||||||
holder.addListeners(el) {
|
holder.addListeners(el) {
|
||||||
if (el.children.isNotEmpty())
|
if (el.children.isNotEmpty())
|
||||||
pager.addFragment(ctx, EditPlaceFragment(el, pager))
|
pager.addFragment(ctx, EditPlaceFragment(el, pager, holder))
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,21 +49,13 @@ class GeolocListAdapter(
|
|||||||
|
|
||||||
class FoldingListViewHolder(
|
class FoldingListViewHolder(
|
||||||
private val ctx: FragmentActivity,
|
private val ctx: FragmentActivity,
|
||||||
private val _binding: ItemListGeolocBinding
|
private val _binding: ItemListGeolocBinding,
|
||||||
|
private val _parentHolder: FoldingListViewHolder? = null,
|
||||||
|
private val _parentGeoLoc: GeoLoc,
|
||||||
) : RecyclerView.ViewHolder(_binding.root) {
|
) : RecyclerView.ViewHolder(_binding.root) {
|
||||||
|
|
||||||
private fun bindGroup(el: GeoLoc) {
|
private fun bindGroup(el: GeoLoc) {
|
||||||
val numerator = el.children.map { Data.visits.getVisited(it) != 0 }.count { it }
|
refreshCount(el)
|
||||||
val denominator = el.children.size
|
|
||||||
|
|
||||||
_binding.count.text = when (Settings.getStatPref(ctx)) {
|
|
||||||
ctx.getString(R.string.percentages) -> ctx.getString(
|
|
||||||
R.string.percentage,
|
|
||||||
(100 * (numerator.toFloat() / denominator.toFloat())).toInt()
|
|
||||||
)
|
|
||||||
|
|
||||||
else -> ctx.getString(R.string.rate, numerator, denominator)
|
|
||||||
}
|
|
||||||
_binding.textView.setTypeface(null, Typeface.BOLD)
|
_binding.textView.setTypeface(null, Typeface.BOLD)
|
||||||
_binding.textView.backgroundTintList = ColorStateList.valueOf(
|
_binding.textView.backgroundTintList = ColorStateList.valueOf(
|
||||||
colorWrapper(
|
colorWrapper(
|
||||||
@@ -104,16 +99,17 @@ class GeolocListAdapter(
|
|||||||
"AddColorDialogFragment"
|
"AddColorDialogFragment"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
_parentHolder?.refresh(_parentGeoLoc)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onColorDialogDismiss(clear: Boolean) {
|
fun onColorDialogDismiss(clear: Boolean) {
|
||||||
if (clear) {
|
if (clear) {
|
||||||
Data.visits.setVisited(Data.selected_geoloc, 0)
|
Data.visits.setVisited(Data.selected_geoloc, NO_GROUP)
|
||||||
Data.saveData()
|
Data.saveData()
|
||||||
}
|
}
|
||||||
if (Data.selected_group != null && Data.selected_geoloc != null) {
|
if (Data.selected_group != null && Data.selected_geoloc != null) {
|
||||||
Data.visits.setVisited(Data.selected_geoloc, Data.selected_group?.key ?: 0)
|
Data.visits.setVisited(Data.selected_geoloc, Data.selected_group?.key ?: NO_GROUP)
|
||||||
Data.saveData()
|
Data.saveData()
|
||||||
}
|
}
|
||||||
Data.selected_geoloc?.let { refreshCheck(it) }
|
Data.selected_geoloc?.let { refreshCheck(it) }
|
||||||
@@ -122,6 +118,24 @@ class GeolocListAdapter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun refreshCheck(geoLoc: GeoLoc) {
|
private fun refreshCheck(geoLoc: GeoLoc) {
|
||||||
|
_binding.checkBox.checkedState =
|
||||||
|
if (Data.visits.getVisited(geoLoc) !in listOf(NO_GROUP, AUTO_GROUP)) {
|
||||||
|
MaterialCheckBox.STATE_CHECKED
|
||||||
|
}
|
||||||
|
else if (geoLoc.children.isNotEmpty() && geoLoc.children.all { Data.visits.getVisited(it) != NO_GROUP }) {
|
||||||
|
Data.visits.setVisited(geoLoc, AUTO_GROUP)
|
||||||
|
MaterialCheckBox.STATE_CHECKED
|
||||||
|
}
|
||||||
|
else if (geoLoc.children.any { Data.visits.getVisited(it) != NO_GROUP }) {
|
||||||
|
Data.visits.setVisited(geoLoc, AUTO_GROUP)
|
||||||
|
MaterialCheckBox.STATE_INDETERMINATE
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Data.visits.setVisited(geoLoc, NO_GROUP)
|
||||||
|
MaterialCheckBox.STATE_UNCHECKED
|
||||||
|
}
|
||||||
|
Data.saveData()
|
||||||
|
|
||||||
var col = Data.groups.getGroupFromKey(Data.visits.getVisited(geoLoc)).color
|
var col = Data.groups.getGroupFromKey(Data.visits.getVisited(geoLoc)).color
|
||||||
if (col.color == Color.TRANSPARENT) {
|
if (col.color == Color.TRANSPARENT) {
|
||||||
col = colorWrapper(
|
col = colorWrapper(
|
||||||
@@ -130,13 +144,29 @@ class GeolocListAdapter(
|
|||||||
)
|
)
|
||||||
col.alpha = 64
|
col.alpha = 64
|
||||||
}
|
}
|
||||||
_binding.checkBox.checkedState =
|
|
||||||
if (Data.visits.getVisited(geoLoc) != 0) MaterialCheckBox.STATE_CHECKED
|
|
||||||
else if (geoLoc.children.any { Data.visits.getVisited(it) != 0 }) MaterialCheckBox.STATE_INDETERMINATE
|
|
||||||
else MaterialCheckBox.STATE_UNCHECKED
|
|
||||||
|
|
||||||
_binding.checkBox.buttonTintList = ColorStateList.valueOf(col.color)
|
_binding.checkBox.buttonTintList = ColorStateList.valueOf(col.color)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun refreshCount(geoLoc: GeoLoc) {
|
||||||
|
val numerator = geoLoc.children.map { Data.visits.getVisited(it) != NO_GROUP }.count { it }
|
||||||
|
val denominator = geoLoc.children.size
|
||||||
|
_binding.count.text = when (Settings.getStatPref(ctx)) {
|
||||||
|
ctx.getString(R.string.percentages) -> ctx.getString(
|
||||||
|
R.string.percentage,
|
||||||
|
(100 * (numerator.toFloat() / denominator.toFloat())).toInt()
|
||||||
|
)
|
||||||
|
else -> ctx.getString(R.string.rate, numerator, denominator)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun refresh(geoLoc: GeoLoc) {
|
||||||
|
// Refresh
|
||||||
|
refreshCheck(geoLoc)
|
||||||
|
refreshCount(geoLoc)
|
||||||
|
|
||||||
|
// Recursively refresh parent
|
||||||
|
_parentHolder?.refresh(_parentGeoLoc)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -8,11 +8,12 @@ import androidx.fragment.app.Fragment
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import net.helcel.beans.activity.adapter.GeolocListAdapter
|
import net.helcel.beans.activity.adapter.GeolocListAdapter
|
||||||
|
import net.helcel.beans.activity.adapter.GeolocListAdapter.FoldingListViewHolder
|
||||||
import net.helcel.beans.activity.adapter.ViewPagerAdapter
|
import net.helcel.beans.activity.adapter.ViewPagerAdapter
|
||||||
import net.helcel.beans.countries.GeoLoc
|
import net.helcel.beans.countries.GeoLoc
|
||||||
import net.helcel.beans.databinding.FragmentEditPlacesBinding
|
import net.helcel.beans.databinding.FragmentEditPlacesBinding
|
||||||
|
|
||||||
class EditPlaceFragment(val loc: GeoLoc, private val pager: ViewPagerAdapter) : Fragment() {
|
class EditPlaceFragment(val loc: GeoLoc, private val pager: ViewPagerAdapter, private val holder: FoldingListViewHolder? = null) : Fragment() {
|
||||||
private lateinit var _binding: FragmentEditPlacesBinding
|
private lateinit var _binding: FragmentEditPlacesBinding
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
@@ -26,7 +27,7 @@ class EditPlaceFragment(val loc: GeoLoc, private val pager: ViewPagerAdapter) :
|
|||||||
_binding.list.setHasFixedSize(true)
|
_binding.list.setHasFixedSize(true)
|
||||||
_binding.list.layoutManager =
|
_binding.list.layoutManager =
|
||||||
LinearLayoutManager(requireContext(), RecyclerView.VERTICAL, false)
|
LinearLayoutManager(requireContext(), RecyclerView.VERTICAL, false)
|
||||||
_binding.list.adapter = GeolocListAdapter(this, loc, pager)
|
_binding.list.adapter = GeolocListAdapter(this, loc, pager, holder)
|
||||||
return _binding.root
|
return _binding.root
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -17,8 +17,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||||||
findPreference<Preference>(getString(R.string.key_regional))?.setOnPreferenceChangeListener { _, key ->
|
findPreference<Preference>(getString(R.string.key_regional))?.setOnPreferenceChangeListener { _, key ->
|
||||||
when (key as String) {
|
when (key as String) {
|
||||||
ctx.getString(R.string.off) -> GeoLocImporter.clearStates()
|
ctx.getString(R.string.off) -> GeoLocImporter.clearStates()
|
||||||
ctx.getString(R.string.on) -> GeoLocImporter.importStates(ctx)
|
ctx.getString(R.string.on) -> GeoLocImporter.importStates(ctx, true)
|
||||||
else -> GeoLocImporter.clearStates()
|
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
@@ -8,8 +8,6 @@ enum class Country(
|
|||||||
HKG("Hong Kong", 1104),
|
HKG("Hong Kong", 1104),
|
||||||
MAC("Macao", 32),
|
MAC("Macao", 32),
|
||||||
ANT("Netherlands Antilles", 800),
|
ANT("Netherlands Antilles", 800),
|
||||||
|
|
||||||
|
|
||||||
AFG("Afghanistan", 645487),
|
AFG("Afghanistan", 645487),
|
||||||
XAD("Akrotiri and Dhekelia", 234),
|
XAD("Akrotiri and Dhekelia", 234),
|
||||||
ALA("Åland", 1483),
|
ALA("Åland", 1483),
|
||||||
@@ -217,7 +215,7 @@ enum class Country(
|
|||||||
SLB("Solomon Islands", 28686),
|
SLB("Solomon Islands", 28686),
|
||||||
SOM("Somalia", 637672),
|
SOM("Somalia", 637672),
|
||||||
ZAF("South Africa", 1224059),
|
ZAF("South Africa", 1224059),
|
||||||
SGS("South Georgia and the South Sand", 4085),
|
SGS("South Georgia and the South Sandwich Islands", 4085),
|
||||||
KOR("South Korea", 100721),
|
KOR("South Korea", 100721),
|
||||||
SSD("South Sudan", 632186),
|
SSD("South Sudan", 632186),
|
||||||
ESP("Spain", 506617),
|
ESP("Spain", 506617),
|
||||||
@@ -248,7 +246,7 @@ enum class Country(
|
|||||||
ARE("United Arab Emirates", 71429),
|
ARE("United Arab Emirates", 71429),
|
||||||
GBR("United Kingdom", 244732),
|
GBR("United Kingdom", 244732),
|
||||||
USA("United States", 9477483),
|
USA("United States", 9477483),
|
||||||
UMI("United States Minor Outlying Isl", 47),
|
UMI("United States Minor Outlying Islands", 47),
|
||||||
URY("Uruguay", 178103),
|
URY("Uruguay", 178103),
|
||||||
UZB("Uzbekistan", 447894),
|
UZB("Uzbekistan", 447894),
|
||||||
VUT("Vanuatu", 12384),
|
VUT("Vanuatu", 12384),
|
||||||
|
@@ -7,8 +7,8 @@ import java.io.InputStreamReader
|
|||||||
|
|
||||||
object GeoLocImporter {
|
object GeoLocImporter {
|
||||||
|
|
||||||
fun importStates(ctx: Context) {
|
fun importStates(ctx: Context, force: Boolean = false) {
|
||||||
if (!Settings.isRegional(ctx)) {
|
if (!Settings.isRegional(ctx) and !force) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val fs = BufferedReader(InputStreamReader(ctx.assets.open("geoloc_state.txt")))
|
val fs = BufferedReader(InputStreamReader(ctx.assets.open("geoloc_state.txt")))
|
||||||
|
@@ -6,6 +6,8 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
|
|
||||||
EEE(
|
EEE(
|
||||||
"Europe", listOf(
|
"Europe", listOf(
|
||||||
|
XAD,
|
||||||
|
ALA,// Åland Islands: an autonomous region of Finland, but not a member of the EU or UN
|
||||||
ALB,
|
ALB,
|
||||||
AND,
|
AND,
|
||||||
AUT,
|
AUT,
|
||||||
@@ -18,14 +20,19 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
CZE,
|
CZE,
|
||||||
DNK,
|
DNK,
|
||||||
EST,
|
EST,
|
||||||
|
FRO, // Faroe Islands: an autonomous region of Denmark
|
||||||
FIN,
|
FIN,
|
||||||
FRA,
|
FRA,
|
||||||
DEU,
|
DEU,
|
||||||
|
GIB, // Gibraltar: a British overseas territory located at the southern tip of the Iberian Peninsula
|
||||||
GRC,
|
GRC,
|
||||||
|
GGY, // Guernsey: a British Crown dependency in the English Channel
|
||||||
HUN,
|
HUN,
|
||||||
ISL,
|
ISL,
|
||||||
IRL,
|
IRL,
|
||||||
|
IMN, // Isle of Man: a British Crown dependency located in the Irish Sea
|
||||||
ITA,
|
ITA,
|
||||||
|
JEY, // Jersey: a British Crown dependency located in the English Channel
|
||||||
KAZ,
|
KAZ,
|
||||||
XKO,
|
XKO,
|
||||||
LVA,
|
LVA,
|
||||||
@@ -48,12 +55,12 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
SVK,
|
SVK,
|
||||||
SVN,
|
SVN,
|
||||||
ESP,
|
ESP,
|
||||||
|
SJM, // Svalbard and Jan Mayen: an archipelago administered by Norway
|
||||||
SWE,
|
SWE,
|
||||||
CHE,
|
CHE,
|
||||||
UKR,
|
UKR,
|
||||||
GBR,
|
GBR,
|
||||||
VAT,
|
VAT,
|
||||||
XAD,
|
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
ABB(
|
ABB(
|
||||||
@@ -64,9 +71,12 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
BHR,
|
BHR,
|
||||||
BGD,
|
BGD,
|
||||||
BTN,
|
BTN,
|
||||||
|
IOT, // British Indian Ocean Territory: a British overseas territory in the Indian Ocean
|
||||||
BRN,
|
BRN,
|
||||||
KHM,
|
KHM,
|
||||||
|
CCK, // Cocos (Keeling) Islands: an Australian external territory in the Indian Ocean
|
||||||
CHN,
|
CHN,
|
||||||
|
CXR, // Christmas Island: an Australian external territory in the Indian Ocean
|
||||||
GEO,
|
GEO,
|
||||||
HKG,
|
HKG,
|
||||||
IND,
|
IND,
|
||||||
@@ -131,8 +141,8 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
EGY,
|
EGY,
|
||||||
GNQ,
|
GNQ,
|
||||||
ERI,
|
ERI,
|
||||||
SWZ,
|
|
||||||
ETH,
|
ETH,
|
||||||
|
ATF, // French Southern and Antarctic Lands: a territory of France located in the southern Indian Ocean
|
||||||
GAB,
|
GAB,
|
||||||
GMB,
|
GMB,
|
||||||
GHA,
|
GHA,
|
||||||
@@ -165,6 +175,7 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
SSD,
|
SSD,
|
||||||
SHN,
|
SHN,
|
||||||
SDN,
|
SDN,
|
||||||
|
SWZ,
|
||||||
TZA,
|
TZA,
|
||||||
TGO,
|
TGO,
|
||||||
TUN,
|
TUN,
|
||||||
@@ -184,9 +195,11 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
BRB,
|
BRB,
|
||||||
BLZ,
|
BLZ,
|
||||||
BMU,
|
BMU,
|
||||||
|
BES, // Bonaire, Sint Eustatius and Saba: special municipalities of the Netherlands in the Caribbean
|
||||||
VGB,
|
VGB,
|
||||||
CAN,
|
CAN,
|
||||||
CYM,
|
CYM,
|
||||||
|
XCL,
|
||||||
CRI,
|
CRI,
|
||||||
CUB,
|
CUB,
|
||||||
CUW,
|
CUW,
|
||||||
@@ -208,15 +221,18 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
NIC,
|
NIC,
|
||||||
PAN,
|
PAN,
|
||||||
PRI,
|
PRI,
|
||||||
|
BLM, // Saint Barthélemy: an overseas collectivity of France in the Caribbean
|
||||||
KNA,
|
KNA,
|
||||||
LCA,
|
LCA,
|
||||||
MAF,
|
MAF,
|
||||||
SPM,
|
SPM,
|
||||||
VCT,
|
VCT,
|
||||||
|
SXM, // Sint Maarten: a constituent country of the Kingdom of the Netherlands in the Caribbean
|
||||||
TTO,
|
TTO,
|
||||||
TCA,
|
TCA,
|
||||||
USA,
|
USA,
|
||||||
XCL,
|
UMI, // United States Minor Outlying Islands: a collection of nine insular areas of the United States
|
||||||
|
VIR, // United States Virgin Islands: an unincorporated territory of the United States in the Caribbean
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
SRR(
|
SRR(
|
||||||
@@ -257,6 +273,7 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
PLW,
|
PLW,
|
||||||
PNG,
|
PNG,
|
||||||
PCN,
|
PCN,
|
||||||
|
WSM, // Samoa: an independent island nation in the South Pacific
|
||||||
SLB,
|
SLB,
|
||||||
TKL,
|
TKL,
|
||||||
TON,
|
TON,
|
||||||
@@ -269,26 +286,9 @@ enum class Group(override val fullName: String, override val children: List<GeoL
|
|||||||
XXX(
|
XXX(
|
||||||
"Others", listOf(
|
"Others", listOf(
|
||||||
ATA, // Antarctica: not in any other region
|
ATA, // Antarctica: not in any other region
|
||||||
ALA,// Åland Islands: an autonomous region of Finland, but not a member of the EU or UN
|
BVT, // Bouvet Island: an uninhabited territory of Norway in the South Atlantic
|
||||||
BES,// Bonaire, Sint Eustatius and Saba: special municipalities of the Netherlands in the Caribbean
|
HMD, // Heard Island and McDonald Islands: an uninhabited Australian external territory in the southern Indian Ocean
|
||||||
BVT,// Bouvet Island: an uninhabited territory of Norway in the South Atlantic
|
|
||||||
IOT,// British Indian Ocean Territory: a British overseas territory in the Indian Ocean
|
|
||||||
CXR,// Christmas Island: an Australian external territory in the Indian Ocean
|
|
||||||
CCK,// Cocos (Keeling) Islands: an Australian external territory in the Indian Ocean
|
|
||||||
FRO,// Faroe Islands: an autonomous region of Denmark
|
|
||||||
ATF,// French Southern and Antarctic Lands: a territory of France located in the southern Indian Ocean
|
|
||||||
GIB,// Gibraltar: a British overseas territory located at the southern tip of the Iberian Peninsula
|
|
||||||
GGY,// Guernsey: a British Crown dependency in the English Channel
|
|
||||||
HMD,// Heard Island and McDonald Islands: an uninhabited Australian external territory in the southern Indian Ocean
|
|
||||||
IMN,// Isle of Man: a British Crown dependency located in the Irish Sea
|
|
||||||
JEY,// Jersey: a British Crown dependency located in the English Channel
|
|
||||||
BLM,// Saint Barthélemy: an overseas collectivity of France in the Caribbean
|
|
||||||
WSM, // Samoa: an independent island nation in the South Pacific
|
|
||||||
SXM, // Sint Maarten: a constituent country of the Kingdom of the Netherlands in the Caribbean
|
|
||||||
SGS, // South Georgia and the South Sandwich Islands: a British overseas territory in the southern Atlantic Ocean
|
SGS, // South Georgia and the South Sandwich Islands: a British overseas territory in the southern Atlantic Ocean
|
||||||
SJM, // Svalbard and Jan Mayen: an archipelago administered by Norway
|
|
||||||
UMI, // United States Minor Outlying Islands: a collection of nine insular areas of the United States
|
|
||||||
VIR, // United States Virgin Islands: an unincorporated territory of the United States in the Caribbean
|
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@@ -34,7 +34,7 @@ fun loadData(ctx: Context, id:Int) {
|
|||||||
|
|
||||||
// Add default group "Visited" with app's color if there is no group already
|
// Add default group "Visited" with app's color if there is no group already
|
||||||
if (groups.size() == 0) {
|
if (groups.size() == 0) {
|
||||||
groups.setGroup(1, "Visited", ColorDrawable(ContextCompat.getColor(ctx, R.color.blue)))
|
groups.setGroup(DEFAULT_GROUP, "Visited", ColorDrawable(ContextCompat.getColor(ctx, R.color.blue)))
|
||||||
saveData()
|
saveData()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,6 +13,10 @@ import kotlin.random.Random
|
|||||||
private const val randSeed = 0
|
private const val randSeed = 0
|
||||||
private val rnd = Random(randSeed)
|
private val rnd = Random(randSeed)
|
||||||
|
|
||||||
|
const val NO_GROUP = 0
|
||||||
|
const val DEFAULT_GROUP = 1
|
||||||
|
const val AUTO_GROUP = -1
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
class Groups(val id: Int, private val grps: HashMap<Int, Group>) {
|
class Groups(val id: Int, private val grps: HashMap<Int, Group>) {
|
||||||
|
|
||||||
@@ -30,7 +34,7 @@ class Groups(val id: Int, private val grps: HashMap<Int, Group>) {
|
|||||||
|
|
||||||
fun genKey(): Int {
|
fun genKey(): Int {
|
||||||
val key = rnd.nextInt()
|
val key = rnd.nextInt()
|
||||||
if (grps.containsKey(key) || key == 0) return genKey()
|
if (grps.containsKey(key) || key in listOf(NO_GROUP, DEFAULT_GROUP, AUTO_GROUP)) return genKey()
|
||||||
return key
|
return key
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,7 +27,7 @@ class Visits(val id: Int, private val locs: HashMap<String, Int>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getVisited(key: GeoLoc): Int {
|
fun getVisited(key: GeoLoc): Int {
|
||||||
return locs.getOrDefault(key.code, 0)
|
return getVisited(key.code)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getVisited(key: String): Int {
|
private fun getVisited(key: String): Int {
|
||||||
|
@@ -4,47 +4,55 @@ import android.content.Context
|
|||||||
import net.helcel.beans.countries.World
|
import net.helcel.beans.countries.World
|
||||||
import net.helcel.beans.helper.Data.groups
|
import net.helcel.beans.helper.Data.groups
|
||||||
import net.helcel.beans.helper.Data.visits
|
import net.helcel.beans.helper.Data.visits
|
||||||
|
import net.helcel.beans.helper.Settings
|
||||||
import net.helcel.beans.helper.Theme.colorToHex6
|
import net.helcel.beans.helper.Theme.colorToHex6
|
||||||
import net.helcel.beans.helper.Theme.colorWrapper
|
import net.helcel.beans.helper.Theme.colorWrapper
|
||||||
|
|
||||||
class CSSWrapper(ctx: Context) {
|
class CSSWrapper(private val ctx: Context) {
|
||||||
|
|
||||||
private val colorForeground: String =
|
private val colorForeground: String =
|
||||||
colorToHex6(colorWrapper(ctx, android.R.attr.panelColorBackground))
|
colorToHex6(colorWrapper(ctx, android.R.attr.panelColorBackground))
|
||||||
private val colorBackground: String =
|
private val colorBackground: String =
|
||||||
colorToHex6(colorWrapper(ctx, android.R.attr.colorBackground))
|
colorToHex6(colorWrapper(ctx, android.R.attr.colorBackground))
|
||||||
|
|
||||||
private val baseCSS: String
|
private val continents: String = World.WWW.children.joinToString(",") { "#${it.code}2" }
|
||||||
|
private val countries: String = World.WWW.children.joinToString(",") { itt ->
|
||||||
|
itt.children.joinToString(",") { "#${it.code}2" }
|
||||||
|
}
|
||||||
|
private val regional: String = World.WWW.children.joinToString(",") { itt ->
|
||||||
|
itt.children.joinToString(",") { "#${it.code}1" }
|
||||||
|
}
|
||||||
|
private val countryOnlyCSS: String =
|
||||||
|
"svg{fill:$colorForeground;stroke:$colorBackground;stroke-width:0.1;}" +
|
||||||
|
"${regional}{display:none;}"
|
||||||
|
private val countryRegionalCSS: String =
|
||||||
|
"svg{fill:$colorForeground;stroke:$colorBackground;stroke-width:0.01;}" +
|
||||||
|
"$continents,$countries{fill:none;stroke:$colorBackground;stroke-width:0.1;}"
|
||||||
private var customCSS: String = ""
|
private var customCSS: String = ""
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val www = World.WWW.children.joinToString(",") { "#${it.code}2" }
|
|
||||||
val ccc = World.WWW.children.joinToString(",") { itt ->
|
|
||||||
itt.children.joinToString(",") { "#${it.code}2" }
|
|
||||||
}
|
|
||||||
baseCSS = "svg{fill:$colorForeground;stroke:$colorBackground;stroke-width:0.01;}" +
|
|
||||||
"$www,$ccc{stroke:$colorBackground;stroke-width:0.1;fill:none}"
|
|
||||||
refresh()
|
refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun refresh() {
|
private fun refresh() {
|
||||||
|
val id = if (Settings.isRegional(ctx)) "1" else "2"
|
||||||
customCSS = visits.getVisitedByValue().map { (k, v) ->
|
customCSS = visits.getVisitedByValue().map { (k, v) ->
|
||||||
if (groups.getGroupFromKey(k).key == 0)
|
if (groups.getGroupFromKey(k).key == 0)
|
||||||
""
|
""
|
||||||
else
|
else
|
||||||
v.joinToString(",") { "#${it}1,#${it}" } + "{fill:${
|
v.joinToString(",") { "#${it}$id,#${it}" } + "{fill:${
|
||||||
colorToHex6(
|
colorToHex6(groups.getGroupFromKey(k).color)
|
||||||
groups.getGroupFromKey(
|
|
||||||
k
|
|
||||||
).color
|
|
||||||
)
|
|
||||||
};}"
|
};}"
|
||||||
}.joinToString("")
|
}.joinToString("")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun get(): String {
|
fun get(): String {
|
||||||
refresh()
|
refresh()
|
||||||
return baseCSS + customCSS
|
return if (Settings.isRegional(ctx)) {
|
||||||
|
countryRegionalCSS + customCSS
|
||||||
|
} else {
|
||||||
|
countryOnlyCSS + customCSS
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Reference in New Issue
Block a user