15 Commits

Author SHA1 Message Date
fgerber
a3f81c95a0 Add Antarctica SVG 2024-04-08 11:36:05 +02:00
fgerber
d041df9805 Adapt settings and icons 2024-04-08 11:35:51 +02:00
fgerber
01dab6aa30 Prevent overriding default group 2024-04-08 10:52:08 +02:00
fgerber
bafd3cea14 Remove magic group keys 2024-04-08 10:45:16 +02:00
fgerber
ec52574ae3 Update checkboxes immediately 2024-04-08 10:42:16 +02:00
soraefir
923404ebc5 Fix regional UI 2024-04-08 00:42:35 +02:00
fgerber
32ba5e0b07 Merge Shetland Islands with Scotland 2024-04-07 23:27:12 +02:00
fgerber
72b2148e4b Change some country names 2024-04-07 22:21:08 +02:00
fgerber
513660b3a4 Reorganize countries in 'Others' group 2024-04-07 22:04:33 +02:00
soraefir
443d62b6df Fixed state names 2024-04-07 11:59:37 +02:00
soraefir
a360c7496b Added prerelease to build 2024-04-07 11:25:19 +02:00
soraefir
3fe83cff2e Fix debug build if no key 2024-04-07 11:10:27 +02:00
Renovate Bot
71acf04f20 Lock file maintenance 2024-04-06 00:04:23 +00:00
soraefir
b1de332134 [m] Keystore def 2024-04-04 00:36:54 +02:00
soraefir
112745188f [m] Fix name 2024-04-04 00:30:18 +02:00
18 changed files with 2294 additions and 3551 deletions

View File

@@ -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

View File

@@ -5,6 +5,7 @@ plugins {
id 'com.mikepenz.aboutlibraries.plugin' version '11.1.1' id 'com.mikepenz.aboutlibraries.plugin' version '11.1.1'
} }
android { android {
namespace 'net.helcel.beans' namespace 'net.helcel.beans'
compileSdk 34 compileSdk 34
@@ -16,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")
} }
} }

View File

@@ -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

View File

@@ -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)
}
} }
} }

View File

@@ -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
} }
} }

View File

@@ -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
} }

View File

@@ -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),

View File

@@ -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")))

View File

@@ -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
) )
), ),

View File

@@ -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()
} }

View File

@@ -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
} }

View File

@@ -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 {

View File

@@ -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
}
} }
} }

View File

@@ -0,0 +1,16 @@
<vector
android:height="24dp"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android" >
<path android:fillColor="?attr/colorOnBackground" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/>
<path android:fillColor="?attr/colorPrimary" android:pathData="M8,14m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
<path android:fillColor="?attr/colorPrimary" android:pathData="M12,8m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
<path android:fillColor="?attr/colorPrimary" android:pathData="M16,14m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
</vector>

View File

@@ -0,0 +1,12 @@
<vector
android:height="24dp"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android" >
<path android:fillColor="?attr/colorOnBackground" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
<path android:fillColor="?attr/colorPrimary" android:pathData="M12,10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/>
</vector>

View File

@@ -4,23 +4,13 @@
android:theme="@style/Theme.Beans"> android:theme="@style/Theme.Beans">
<ListPreference <ListPreference
app:defaultValue="@string/off" app:defaultValue="@string/system"
app:enabled="true" app:enabled="true"
app:entries="@array/entries_onoff" app:entries="@array/entries_theme"
app:entryValues="@array/entries_onoff" app:entryValues="@array/entries_theme"
app:icon="@drawable/edit" app:icon="@drawable/palette"
app:key="@string/key_group" app:key="@string/key_theme"
app:title="@string/key_group" app:title="@string/key_theme"
app:useSimpleSummaryProvider="true" />
<ListPreference
app:defaultValue="@string/off"
app:enabled="true"
app:entries="@array/entries_onoff"
app:entryValues="@array/entries_onoff"
app:icon="@drawable/edit"
app:key="@string/key_regional"
app:title="@string/key_regional"
app:useSimpleSummaryProvider="true" /> app:useSimpleSummaryProvider="true" />
<ListPreference <ListPreference
@@ -32,20 +22,32 @@
app:key="@string/key_stats" app:key="@string/key_stats"
app:title="@string/key_stats" app:title="@string/key_stats"
app:useSimpleSummaryProvider="true" /> app:useSimpleSummaryProvider="true" />
<ListPreference <ListPreference
app:defaultValue="@string/system" app:defaultValue="@string/off"
app:enabled="true" app:enabled="true"
app:entries="@array/entries_theme" app:allowDividerAbove="true"
app:entryValues="@array/entries_theme" app:entries="@array/entries_onoff"
app:icon="@drawable/palette" app:entryValues="@array/entries_onoff"
app:key="@string/key_theme" app:icon="@drawable/group"
app:title="@string/key_theme" app:key="@string/key_group"
app:title="@string/key_group"
app:useSimpleSummaryProvider="true" />
<ListPreference
app:defaultValue="@string/off"
app:enabled="true"
app:entries="@array/entries_onoff"
app:entryValues="@array/entries_onoff"
app:icon="@drawable/zoomin"
app:key="@string/key_regional"
app:title="@string/key_regional"
app:useSimpleSummaryProvider="true" /> app:useSimpleSummaryProvider="true" />
<Preference <Preference
android:summary="@string/foss_licenses" android:summary="@string/foss_licenses"
app:enabled="true" app:enabled="true"
app:allowDividerAbove="true"
app:icon="@drawable/licenses" app:icon="@drawable/licenses"
app:key="@string/licenses" app:key="@string/licenses"
app:title="@string/licenses" /> app:title="@string/licenses" />

5329
yarn.lock

File diff suppressed because it is too large Load Diff