Compare commits

..

No commits in common. "main" and "1.0-rc1" have entirely different histories.

28 changed files with 3779 additions and 2775 deletions

View File

@ -32,7 +32,7 @@ jobs:
gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch keystore.asc > app/keystore.properties gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch keystore.asc > app/keystore.properties
gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch key.asc > app/key.jks gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch key.asc > app/key.jks
- uses: gradle/wrapper-validation-action@v3 - uses: gradle/wrapper-validation-action@v2
- name: create and checkout branch - name: create and checkout branch
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'

View File

@ -39,11 +39,8 @@
## 📳 Installation ## 📳 Installation
<div style="display: flex; justify-content: center; align-items: center; flex-direction: row;"> <div style="display: flex; justify-content: center; align-items: center; flex-direction: row;">
<!--<a href="https://f-droid.org/packages/net.helcel.beans/"> <a href="https://f-droid.org/packages/net.helcel.beans/">
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" width="206"> <img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" width="206">
</a>-->
<a href="https://apt.izzysoft.de/fdroid/index/apk/net.helcel.beans">
<img width="200" height="80" alt="Izzy Download" src=".github/images/izzy.png">
</a> </a>
<a href="https://github.com/helcel-net/beans/releases/latest"> <a href="https://github.com/helcel-net/beans/releases/latest">
<img width="200" height="84" alt="APK Download" src=".github/images/apk.png"> <img width="200" height="84" alt="APK Download" src=".github/images/apk.png">
@ -71,7 +68,7 @@ Thanks to all contributors, the developers of our dependencies, and our users.
## 📝 License ## 📝 License
``` ```
Copyright (C) 2024 Helcel & MYDOLI Copyright (C) 2024 Helcel MYDOLI
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -1,8 +1,8 @@
plugins { plugins {
id 'com.android.application' id 'com.android.application'
id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.android'
id 'org.jetbrains.kotlin.plugin.serialization' version '2.1.0' id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.23'
id 'com.mikepenz.aboutlibraries.plugin' version '11.4.0' id 'com.mikepenz.aboutlibraries.plugin' version '11.1.3'
} }
@ -14,8 +14,8 @@ android {
applicationId 'net.helcel.beans' applicationId 'net.helcel.beans'
minSdk 28 minSdk 28
targetSdk 34 targetSdk 34
versionCode 2 versionCode 1
versionName "1.0b" versionName "1.0"
} }
signingConfigs { signingConfigs {
create("release") { create("release") {
@ -77,17 +77,15 @@ android {
} }
aboutLibraries { aboutLibraries {
exclusionPatterns = [~"androidx.*", ~"com.google.android.*", ~"org.jetbrains.*"] exclusionPatterns = [~"androidx.*", ~"com.google.android.*", ~"org.jetbrains.*"]
configPath = "config"
excludeFields = ["generated"]
} }
dependencies { dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.1.4' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.4'
implementation 'androidx.preference:preference-ktx:1.2.1' implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.android.material:material:1.11.0'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0' implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3'
implementation 'com.caverock:androidsvg-aar:1.4' implementation 'com.caverock:androidsvg-aar:1.4'
implementation 'com.github.chrisbanes:PhotoView:2.3.0' implementation 'com.github.chrisbanes:PhotoView:2.3.0'
implementation 'com.mikepenz:aboutlibraries:11.4.0' implementation 'com.mikepenz:aboutlibraries:11.1.3'
} }

View File

@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools">
android:versionCode="2"
android:versionName="1.0c">
<application <application
android:allowBackup="true" android:allowBackup="true"

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.1 MiB

After

Width:  |  Height:  |  Size: 6.1 MiB

View File

@ -719,7 +719,7 @@ CUB_LH|CUB|La Habana|1964
CUB_LT|CUB|Las Tunas|6583 CUB_LT|CUB|Las Tunas|6583
CUB_MA|CUB|Matanzas|11741 CUB_MA|CUB|Matanzas|11741
CUB_MQ|CUB|Mayabeque|3692 CUB_MQ|CUB|Mayabeque|3692
CUB_PR|CUB|Pinar del 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|Santiago de Cuba|6441 CUB_SC|CUB|Santiago de Cuba|6441
CUB_VC|CUB|Villa Clara|9161 CUB_VC|CUB|Villa Clara|9161
@ -1030,7 +1030,7 @@ GRC_AT|GRC|Attica|3853
GRC_CR|GRC|Crete|8391 GRC_CR|GRC|Crete|8391
GRC_EM|GRC|Epirusand Western Macedonia|18771 GRC_EM|GRC|Epirusand Western Macedonia|18771
GRC_MH|GRC|Macedonia and Thrace|33122 GRC_MH|GRC|Macedonia and Thrace|33122
GRC_PW|GRC|Peloponnese, Western Greece and the Ionian|29194 GRC_PW|GRC|Peloponnese, Western Greeceand|29194
GRC_TC|GRC|Thessalyand Central Greece|29744 GRC_TC|GRC|Thessalyand Central Greece|29744
GRL_KU|GRL|Kujalleq|45647 GRL_KU|GRL|Kujalleq|45647
GRL_UO|GRL|Northeast Greenland National Par|919384 GRL_UO|GRL|Northeast Greenland National Par|919384
@ -1356,7 +1356,7 @@ ITA_19|ITA|Sicily|25787
ITA_52|ITA|Toscana|23025 ITA_52|ITA|Toscana|23025
ITA_32|ITA|Trentino-Alto Adige|13591 ITA_32|ITA|Trentino-Alto Adige|13591
ITA_55|ITA|Umbria|8456 ITA_55|ITA|Umbria|8456
ITA_23|ITA|Valle d'Aosta|3248 ITA_23|ITA|Valled'Aosta|3248
ITA_34|ITA|Veneto|17893 ITA_34|ITA|Veneto|17893
JAM_CL|JAM|Clarendon|1210 JAM_CL|JAM|Clarendon|1210
JAM_HA|JAM|Hanover|457 JAM_HA|JAM|Hanover|457
@ -1537,8 +1537,8 @@ LAO_OU|LAO|Oudômxai|11832
LAO_PH|LAO|Phôngsali|15414 LAO_PH|LAO|Phôngsali|15414
LAO_SL|LAO|Saravan|10238 LAO_SL|LAO|Saravan|10238
LAO_SV|LAO|Savannakhét|21546 LAO_SV|LAO|Savannakhét|21546
LAO_VI|LAO|Vientiane Province|12590 LAO_VI|LAO|Vientiane|12590
LAO_VT|LAO|Vientiane Prefecture|3639 LAO_VT|LAO|Vientiane[prefecture]|3639
LAO_XA|LAO|Xaignabouri|15691 LAO_XA|LAO|Xaignabouri|15691
LAO_XS|LAO|Xaisômboun|7778 LAO_XS|LAO|Xaisômboun|7778
LAO_XE|LAO|Xékong|8414 LAO_XE|LAO|Xékong|8414
@ -1613,7 +1613,7 @@ LIE_SN|LIE|Schaan|28
LIE_SB|LIE|Schellenberg|3 LIE_SB|LIE|Schellenberg|3
LIE_TN|LIE|Triesen|26 LIE_TN|LIE|Triesen|26
LIE_TB|LIE|Triesenberg|29 LIE_TB|LIE|Triesenberg|29
LIE_VA|LIE|Vaduz|17 LIE_VA|LIE|Valduz|17
LTU_AS|LTU|Alytaus|5624 LTU_AS|LTU|Alytaus|5624
LTU_KS|LTU|Kauno|8156 LTU_KS|LTU|Kauno|8156
LTU_KP|LTU|Klaipedos|5363 LTU_KP|LTU|Klaipedos|5363
@ -1794,7 +1794,7 @@ MHL_Ujae|MHL|Ujae|3
MHL_Utirik|MHL|Utirik|14 MHL_Utirik|MHL|Utirik|14
MHL_Wotho|MHL|Wotho|6 MHL_Wotho|MHL|Wotho|6
MHL_Wotje|MHL|Wotje|15 MHL_Wotje|MHL|Wotje|15
MHL_19_1|MHL|Rongelap|26 MHL_19_1|MHL|NA|26
MTQ_FF|MTQ|Fort-de-France|189 MTQ_FF|MTQ|Fort-de-France|189
MTQ_MA|MTQ|Le Marin|393 MTQ_MA|MTQ|Le Marin|393
MTQ_TR|MTQ|Le Trinité|353 MTQ_TR|MTQ|Le Trinité|353
@ -2040,7 +2040,7 @@ NLD_OV|NLD|Overijssel|3369
NLD_UT|NLD|Utrecht|1555 NLD_UT|NLD|Utrecht|1555
NLD_ZE|NLD|Zeeland|1804 NLD_ZE|NLD|Zeeland|1804
NLD_Zeeuwsemeren|NLD|Zeeuwsemeren|477 NLD_Zeeuwsemeren|NLD|Zeeuwsemeren|477
NLD_14_1|NLD|Zuid-Holland|3143 NLD_14_1|NLD|NA|3143
NCL_IL|NCL|Îles Loyauté|1988 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
@ -3340,6 +3340,7 @@ UGA_SR|UGA|Soroti|3401
UGA_TR|UGA|Tororo|1863 UGA_TR|UGA|Tororo|1863
UGA_WA|UGA|Wakiso|1944 UGA_WA|UGA|Wakiso|1944
UGA_YU|UGA|Yumbe|2337 UGA_YU|UGA|Yumbe|2337
UKR_?|UKR|?|136
UKR_CK|UKR|Cherkasy|20922 UKR_CK|UKR|Cherkasy|20922
UKR_CH|UKR|Chernihiv|32416 UKR_CH|UKR|Chernihiv|32416
UKR_CV|UKR|Chernivtsi|8202 UKR_CV|UKR|Chernivtsi|8202
@ -3351,7 +3352,7 @@ UKR_KK|UKR|Kharkiv|31388
UKR_KS|UKR|Kherson|25534 UKR_KS|UKR|Kherson|25534
UKR_KM|UKR|Khmel'nyts'kyy|20718 UKR_KM|UKR|Khmel'nyts'kyy|20718
UKR_KV|UKR|Kiev|28073 UKR_KV|UKR|Kiev|28073
UKR_KC|UKR|Kiev City|831 UKR_KC|UKR|Kiev City|695
UKR_KH|UKR|Kirovohrad|24713 UKR_KH|UKR|Kirovohrad|24713
UKR_LV|UKR|L'viv|21773 UKR_LV|UKR|L'viv|21773
UKR_LH|UKR|Luhans'k|27042 UKR_LH|UKR|Luhans'k|27042

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.0 MiB

After

Width:  |  Height:  |  Size: 6.0 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.1 MiB

After

Width:  |  Height:  |  Size: 6.1 MiB

View File

@ -5,14 +5,17 @@ import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.tabs.TabLayoutMediator
import net.helcel.beans.R import net.helcel.beans.R
import net.helcel.beans.activity.adapter.ViewPagerAdapter import net.helcel.beans.activity.adapter.ViewPagerAdapter
import net.helcel.beans.activity.fragment.EditGroupAddFragment import net.helcel.beans.activity.fragment.EditGroupAddFragment
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.World import net.helcel.beans.countries.World
import net.helcel.beans.databinding.ActivityEditBinding import net.helcel.beans.databinding.ActivityEditBinding
import net.helcel.beans.helper.Data import net.helcel.beans.helper.Data
import net.helcel.beans.helper.DialogCloser
import net.helcel.beans.helper.Settings import net.helcel.beans.helper.Settings
import net.helcel.beans.helper.Theme.createActionBar import net.helcel.beans.helper.Theme.createActionBar
@ -59,7 +62,6 @@ class EditActivity : AppCompatActivity() {
}, {}, false).show(supportFragmentManager, "AddColorDialogFragment") }, {}, false).show(supportFragmentManager, "AddColorDialogFragment")
} }
} }
else -> finish() else -> finish()
} }
return super.onOptionsItemSelected(item) return super.onOptionsItemSelected(item)

View File

@ -12,6 +12,7 @@ import net.helcel.beans.countries.GeoLocImporter
import net.helcel.beans.databinding.ActivityMainBinding import net.helcel.beans.databinding.ActivityMainBinding
import net.helcel.beans.helper.Data import net.helcel.beans.helper.Data
import net.helcel.beans.helper.Settings import net.helcel.beans.helper.Settings
import net.helcel.beans.helper.Theme.colorWrapper
import net.helcel.beans.svg.CSSWrapper import net.helcel.beans.svg.CSSWrapper
import net.helcel.beans.svg.SVGWrapper import net.helcel.beans.svg.SVGWrapper

View File

@ -5,10 +5,9 @@ enum class Country(
override val area: Int override val area: Int
) : GeoLoc { ) : GeoLoc {
ATA("Antarctica", 14000000), ATA("Antarctica", 14000000),
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),

View File

@ -6,6 +6,7 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
EEE( EEE(
"Europe", setOf( "Europe", setOf(
XAD,
ALA,// Åland Islands: an autonomous region of Finland, but not a member of the EU or UN ALA,// Åland Islands: an autonomous region of Finland, but not a member of the EU or UN
ALB, ALB,
AND, AND,
@ -15,6 +16,7 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
BIH, BIH,
BGR, BGR,
HRV, HRV,
CYP,
CZE, CZE,
DNK, DNK,
EST, EST,
@ -24,7 +26,6 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
DEU, DEU,
GIB, // Gibraltar: a British overseas territory located at the southern tip of the Iberian Peninsula GIB, // Gibraltar: a British overseas territory located at the southern tip of the Iberian Peninsula
GRC, GRC,
GRL,
GGY, // Guernsey: a British Crown dependency in the English Channel GGY, // Guernsey: a British Crown dependency in the English Channel
HUN, HUN,
ISL, ISL,
@ -32,6 +33,7 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
IMN, // Isle of Man: a British Crown dependency located in the Irish Sea 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 JEY, // Jersey: a British Crown dependency located in the English Channel
KAZ,
XKO, XKO,
LVA, LVA,
LIE, LIE,
@ -63,7 +65,6 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
), ),
ABB( ABB(
"Asia", setOf( "Asia", setOf(
XAD,
AFG, AFG,
ARM, ARM,
AZE, AZE,
@ -76,9 +77,8 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
CCK, // Cocos (Keeling) Islands: an Australian external territory in the Indian Ocean 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 CXR, // Christmas Island: an Australian external territory in the Indian Ocean
CYP,
GEO, GEO,
//HKG, HKG,
IND, IND,
IDN, IDN,
IRN, IRN,
@ -86,12 +86,11 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
ISR, ISR,
JPN, JPN,
JOR, JOR,
KAZ,
KWT, KWT,
KGZ, KGZ,
LAO, LAO,
LBN, LBN,
//MAC, MAC,
MYS, MYS,
MDV, MDV,
MNG, MNG,
@ -128,7 +127,6 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
BDI, BDI,
BEN, BEN,
BWA, BWA,
BVT, // Bouvet Island: an uninhabited territory of Norway in the South Atlantic
BFA, BFA,
BDI, BDI,
CPV, CPV,
@ -150,7 +148,6 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
GHA, GHA,
GIN, GIN,
GNB, GNB,
HMD, // Heard Island and McDonald Islands: an uninhabited Australian external territory in the southern Indian Ocean
KEN, KEN,
LSO, LSO,
LBR, LBR,
@ -209,6 +206,7 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
DMA, DMA,
DOM, DOM,
SLV, SLV,
GRL,
GRD, GRD,
GLP, GLP,
GTM, GTM,
@ -218,7 +216,7 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
MTQ, MTQ,
MEX, MEX,
MSR, MSR,
//ANT, ANT,
CUW, CUW,
NIC, NIC,
PAN, PAN,
@ -250,7 +248,6 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
GUY, GUY,
PRY, PRY,
PER, PER,
SGS, // South Georgia and the South Sandwich Islands: a British overseas territory in the southern Atlantic Ocean
SUR, SUR,
URY, URY,
VEN, VEN,
@ -287,8 +284,11 @@ enum class Group(override val fullName: String, override val children: Set<GeoLo
), ),
XXX( XXX(
"Other", setOf( "Others", setOf(
ATA, // Antarctica: not in any other region
BVT, // Bouvet Island: an uninhabited territory of Norway in the South Atlantic
HMD, // Heard Island and McDonald Islands: an uninhabited Australian external territory in the southern Indian Ocean
SGS, // South Georgia and the South Sandwich Islands: a British overseas territory in the southern Atlantic Ocean
) )
), ),

View File

@ -6,9 +6,8 @@ enum class World(override val fullName: String, override val children: Set<GeoLo
WWW( WWW(
"World", setOf( "World", setOf(
EEE, ABB, FFF, NNN, SRR, UUU, Country.ATA, EEE, ABB, FFF, NNN, SRR, UUU, XXX
)
)
); );
override val area = children.fold(0) { acc, i -> override val area = children.fold(0) { acc, i ->

View File

@ -1,15 +1,13 @@
package net.helcel.beans.svg package net.helcel.beans.svg
import android.content.Context import android.content.Context
import android.content.SharedPreferences
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.caverock.androidsvg.SVG import com.caverock.androidsvg.SVG
import net.helcel.beans.R import net.helcel.beans.R
class SVGWrapper(ctx: Context) { class SVGWrapper(ctx: Context) {
private val sharedPreferences: SharedPreferences = val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(ctx)
PreferenceManager.getDefaultSharedPreferences(ctx)
private val svgFile = when (sharedPreferences.getString( private val svgFile = when (sharedPreferences.getString(
ctx.getString(R.string.key_projection), ctx.getString(R.string.key_projection),
ctx.getString(R.string.mercator) ctx.getString(R.string.mercator)

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Beans</string> <string name="app_name">Beans</string>
<string name="app_version">1.0a</string> <string name="app_version">1.0</string>
<string name="action_settings">Settings</string> <string name="action_settings">Settings</string>
<string name="action_stat">Stats</string> <string name="action_stat">Stats</string>
<string name="action_edit">Edit</string> <string name="action_edit">Edit</string>

View File

@ -1,6 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins { plugins {
id 'com.android.application' version '8.8.0' apply false id 'com.android.application' version '8.3.1' apply false
id 'com.android.library' version '8.8.0' apply false id 'com.android.library' version '8.3.1' apply false
id 'org.jetbrains.kotlin.android' version '2.1.0' apply false id 'org.jetbrains.kotlin.android' version '1.9.23' apply false
} }

View File

@ -1,21 +0,0 @@
{
"uniqueId": "org.gadm:data",
"developers": [
{
"organisationUrl": "https://gadm.org/index.html",
"name": "GADM"
}
],
"artifactVersion": "4.1",
"description": "GADM provides maps and spatial data for all countries and their sub-divisions.",
"scm": {
"connection": "scm:git@github.com:mikepenz/MaterialDrawer.git",
"url": "https://github.com/mikepenz/MaterialDrawer",
"developerConnection": "scm:git@github.com:mikepenz/MaterialDrawer.git"
},
"name": "GADM maps and data",
"website": "https://gadm.org/index.html",
"licenses": [
"0151ac7b561a385c536ad4c94532e60b"
]
}

View File

@ -1,6 +0,0 @@
{
"content": "<b>The data are freely available for academic use and other non-commercial use. Redistribution or commercial use is not allowed without prior permission.</b>\n\nUsing the data to create maps for publishing of academic research articles is allowed. Thus you can use the maps you made with GADM data for figures in articles published by PLoS, Springer Nature, Elsevier, MDPI, etc. You are allowed (but not required) to publish these articles (and the maps they contain) under an open license such as CC-BY as is the case with PLoS journals and may be the case with other open access articles. <b>Data for the following countries is covered by a a different license</b> <b>Austria</b>: Creative Commons Attribution-ShareAlike 2.0 (source: Government of Ausria)",
"hash": "0151ac7b561a385c536ad4c94532e60b",
"url": "https://gadm.org/license.html",
"name": "GADM license"
}

View File

@ -63,8 +63,8 @@ const formatStr = (str)=> str.replace(/(?<!\b\w\u00E0-\u00FC)\B[A-Z\u00C0-\u00DC
return ', '; return ', ';
} else { } else {
return ' ' + match; return ' ' + match;
}}).replace("ofthe "," of the ").replace("dela ", " de la ").replace("delos ", " de los ").replace("áD","á D").replace("eÁ","e Á") }}).replace("ofthe "," of the ").replace("dela ", " de la ").replace("delos ", " de los ").replace("áD","á D")
.replace("ed'","e d'").replace("leof ","le of ").replace("dde ","d de ").replace("iode ","io de ").replace("àde ","à de ") .replace("Côted'","Côte d'").replace("leof ","le of ").replace("dde ","d de ").replace("iode ","io de ").replace("àde ","à de ")
.replace("yof ","y of ").replace("Andrésy ","Andrés y") .replace("yof ","y of ").replace("Andrésy ","Andrés y")
.replace("aand ","a and ").replace("iand ", "i and ").replace("tsand ","ts and ").replace("onand ","on and ").replace("reand ", "re and ") .replace("aand ","a and ").replace("iand ", "i and ").replace("tsand ","ts and ").replace("onand ","on and ").replace("reand ", "re and ")
.replace("odel ","o del ").replace("adel ", "a del ").replace("ndel ","n del ").replace("zdel ","z del ").replace("falde ", "fal de ").replace("casdel ","cas del ") .replace("odel ","o del ").replace("adel ", "a del ").replace("ndel ","n del ").replace("zdel ","z del ").replace("falde ", "fal de ").replace("casdel ","cas del ")
@ -76,11 +76,6 @@ const formatStr = (str)=> str.replace(/(?<!\b\w\u00E0-\u00FC)\B[A-Z\u00C0-\u00DC
.replace("Valledel ","Valle del ").replace("Valde ","Val de ").replace("Îlesdu ","Îles du ") .replace("Valledel ","Valle del ").replace("Valde ","Val de ").replace("Îlesdu ","Îles du ")
.replace("sÉ","s É").replace("áO","á O").replace("N C Tof ","NCT of ").replace("N A","NA") .replace("sÉ","s É").replace("áO","á O").replace("N C Tof ","NCT of ").replace("N A","NA")
.replace("Nortede ", "Norte de ") .replace("Nortede ", "Norte de ")
.replace("Pinardel ", "Pinar del ")
.replace("Greeceand", "Greece and the Ionian")
.replace("Vientiane", "Vientiane Province")
.replace("Vientiane Province[prefecture]", "Vientiane Prefecture")
.replace("Valduz", "Vaduz")
.trim() .trim()
const parse0 = (country) => { const parse0 = (country) => {

Binary file not shown.

View File

@ -1,7 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionSha256Sum=7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03 distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

6
gradlew vendored
View File

@ -15,8 +15,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# #
# SPDX-License-Identifier: Apache-2.0
#
############################################################################## ##############################################################################
# #
@ -57,7 +55,7 @@
# Darwin, MinGW, and NonStop. # Darwin, MinGW, and NonStop.
# #
# (3) This script is generated from the Groovy template # (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project. # within the Gradle project.
# #
# You can find Gradle at https://github.com/gradle/gradle/. # You can find Gradle at https://github.com/gradle/gradle/.
@ -86,7 +84,7 @@ done
# shellcheck disable=SC2034 # shellcheck disable=SC2034
APP_BASE_NAME=${0##*/} APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum MAX_FD=maximum

2
gradlew.bat vendored
View File

@ -13,8 +13,6 @@
@rem See the License for the specific language governing permissions and @rem See the License for the specific language governing permissions and
@rem limitations under the License. @rem limitations under the License.
@rem @rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off @if "%DEBUG%"=="" @echo off
@rem ########################################################################## @rem ##########################################################################

View File

@ -2,10 +2,10 @@ Beans is a scratchmap of the world for Android.
Keep track of your discovery of the world on a colorful visual map. Keep track of your discovery of the world on a colorful visual map.
* Color a map of places based on custom labels Color a map of places based on custom labels
* Country/State based coloring Country/State based coloring
* Single/Multi color modes Single/Multi color modes
* Different map projections available Different map projections available
* Small & Fast Small & Fast
* Statistics (WIP) Statistics (WIP)
* 100% Free and Open Source software, with no proprietary dependencies 100% Free and Open Source software, with no proprietary dependencies

View File

@ -1,8 +1,8 @@
{ {
"dependencies": { "dependencies": {
"@turf/area": "^7.0.0", "@turf/area": "^6.5.0",
"@turf/turf": "^7.0.0", "@turf/turf": "^6.5.0",
"jsdom": "^26.0.0", "jsdom": "^24.0.0",
"mapshaper": "^0.6.79" "mapshaper": "^0.6.79"
}, },
"type": "module" "type": "module"

6095
yarn.lock

File diff suppressed because it is too large Load Diff