518 Commits

Author SHA1 Message Date
bot 674106923f Merge pull request 'Update dependency mapshaper to v0.7.35' (#542) from renovate/mapshaper-0.x-lockfile into main 2026-07-03 04:01:22 +02:00
Renovate Bot e21dad8ed7 Update dependency mapshaper to v0.7.35 2026-07-03 02:01:13 +00:00
bot b2cca2332b Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.11.4' (#541) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-07-03 04:01:00 +02:00
Renovate Bot 13ad82df95 Update dependency androidx.compose.ui:ui-tooling to v1.11.4 2026-07-03 02:00:56 +00:00
bot 2befea2325 Merge pull request 'Update dependency androidx.compose.material:material to v1.11.4' (#540) from renovate/androidx.compose.material-material-1.x into main 2026-07-02 04:00:59 +02:00
bot f45cc57049 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.06.01' (#539) from renovate/androidx.compose-compose-bom-2026.x into main 2026-07-02 04:00:57 +02:00
Renovate Bot a7f05d5d80 Update dependency androidx.compose.material:material to v1.11.4 2026-07-02 02:00:56 +00:00
Renovate Bot 269e844a4c Update dependency androidx.compose:compose-bom to v2026.06.01 2026-07-02 02:00:54 +00:00
bot 818fc49e3d Merge pull request 'Update plugin com.mikepenz.aboutlibraries.plugin to v15.0.3' (#538) from renovate/com.mikepenz.aboutlibraries.plugin-15.x into main 2026-07-01 04:01:06 +02:00
bot 8a3f7f7621 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v15.0.3' (#537) from renovate/com.mikepenz-aboutlibraries-core-15.x into main 2026-07-01 04:01:01 +02:00
Renovate Bot 8c50670a9d Update plugin com.mikepenz.aboutlibraries.plugin to v15.0.3 2026-07-01 02:01:00 +00:00
Renovate Bot 141ea67d2e Update dependency com.mikepenz:aboutlibraries-core to v15.0.3 2026-07-01 02:00:54 +00:00
soraefir 291fae7aec Fix hash 2026-06-30 07:48:24 +02:00
bot 7a04440eca Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v15.0.3' (#536) from renovate/com.mikepenz-aboutlibraries-compose-m3-15.x into main 2026-06-30 04:01:17 +02:00
Renovate Bot 691d2e4ea1 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v15.0.3 2026-06-30 02:01:09 +00:00
bot dd5c9387f9 Merge pull request 'Lock file maintenance' (#535) from renovate/lock-file-maintenance into main 2026-06-28 04:01:16 +02:00
Renovate Bot 6038d132ec Lock file maintenance 2026-06-28 02:01:11 +00:00
bot 6a0ac3e5c7 Merge pull request 'Update plugin com.mikepenz.aboutlibraries.plugin to v15' (#534) from renovate/com.mikepenz.aboutlibraries.plugin-15.x into main 2026-06-27 04:01:17 +02:00
Renovate Bot 327a6550b4 Update plugin com.mikepenz.aboutlibraries.plugin to v15 2026-06-27 02:01:15 +00:00
bot 7027d0ffb1 Merge pull request 'Update dependency gradle to v9.6.1' (#533) from renovate/gradle-9.x into main 2026-06-27 04:01:07 +02:00
Renovate Bot 15b33b59ed Update dependency gradle to v9.6.1 2026-06-27 02:00:56 +00:00
bot 36787717ff Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v15.0.2' (#532) from renovate/com.mikepenz-aboutlibraries-core-15.x into main 2026-06-27 04:00:54 +02:00
Renovate Bot c27aef23c0 Update dependency com.mikepenz:aboutlibraries-core to v15.0.2 2026-06-27 02:00:49 +00:00
bot a9e567d299 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v15.0.2' (#531) from renovate/com.mikepenz-aboutlibraries-compose-m3-15.x into main 2026-06-26 04:00:52 +02:00
Renovate Bot 468fb4ab13 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v15.0.2 2026-06-26 02:00:43 +00:00
bot e952de3c17 Merge pull request 'Update dependency mapshaper to v0.7.33' (#530) from renovate/mapshaper-0.x-lockfile into main 2026-06-24 04:01:11 +02:00
Renovate Bot da1793bc21 Update dependency mapshaper to v0.7.33 2026-06-24 02:01:02 +00:00
bot 650a59b1ac Merge pull request 'Update dependency mapshaper to v0.7.32' (#529) from renovate/mapshaper-0.x-lockfile into main 2026-06-23 04:01:22 +02:00
Renovate Bot 5a9284749c Update dependency mapshaper to v0.7.32 2026-06-23 02:01:11 +00:00
bot 981fc5ebf4 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v15' (#528) from renovate/com.mikepenz-aboutlibraries-core-15.x into main 2026-06-22 04:01:27 +02:00
Renovate Bot 78f5fe7c35 Update dependency com.mikepenz:aboutlibraries-core to v15 2026-06-22 02:01:18 +00:00
bot bdf2911a1c Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v15' (#527) from renovate/com.mikepenz-aboutlibraries-compose-m3-15.x into main 2026-06-21 04:01:41 +02:00
Renovate Bot 40b2040f25 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v15 2026-06-21 02:01:35 +00:00
bot 48c88d85a4 Merge pull request 'Update actions/checkout action to v7' (#526) from renovate/actions-checkout-7.x into main 2026-06-21 04:01:27 +02:00
Renovate Bot 727c828128 Update actions/checkout action to v7 2026-06-21 02:01:23 +00:00
bot cce6719158 Merge pull request 'Update dependency gradle to v9.6.0' (#525) from renovate/gradle-9.x into main 2026-06-20 04:02:45 +02:00
Renovate Bot 13a79baa2b Update dependency gradle to v9.6.0 2026-06-20 02:02:30 +00:00
bot c956fb9876 Merge pull request 'Update dependency mapshaper to v0.7.29' (#524) from renovate/mapshaper-0.x-lockfile into main 2026-06-20 04:01:49 +02:00
Renovate Bot 339ac468f3 Update dependency mapshaper to v0.7.29 2026-06-20 02:01:40 +00:00
bot f1eacee394 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.06.00' (#523) from renovate/androidx.compose-compose-bom-2026.x into main 2026-06-19 04:02:06 +02:00
bot a000fb4a3d Merge pull request 'Update dependency mapshaper to v0.7.28' (#522) from renovate/mapshaper-0.x-lockfile into main 2026-06-19 04:02:03 +02:00
Renovate Bot 16ff2e1bc8 Update dependency androidx.compose:compose-bom to v2026.06.00 2026-06-19 02:02:03 +00:00
Renovate Bot 6ee16f02ab Update dependency mapshaper to v0.7.28 2026-06-19 02:01:54 +00:00
bot fd05d9b6f5 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.11.3' (#521) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-06-18 04:01:30 +02:00
bot eece41d0ba Merge pull request 'Update dependency androidx.compose.material:material to v1.11.3' (#520) from renovate/androidx.compose.material-material-1.x into main 2026-06-18 04:01:29 +02:00
Renovate Bot b609704cc1 Update dependency androidx.compose.ui:ui-tooling to v1.11.3 2026-06-18 02:01:27 +00:00
Renovate Bot 39436f473a Update dependency androidx.compose.material:material to v1.11.3 2026-06-18 02:01:23 +00:00
bot ce2721025a Merge pull request 'Update dependency mapshaper to v0.7.26' (#519) from renovate/mapshaper-0.x-lockfile into main 2026-06-16 04:02:04 +02:00
Renovate Bot 371a2aa35f Update dependency mapshaper to v0.7.26 2026-06-16 02:01:52 +00:00
bot 0f986616ae Merge pull request 'Update dependency mapshaper to v0.7.24' (#518) from renovate/mapshaper-0.x-lockfile into main 2026-06-15 04:01:52 +02:00
Renovate Bot eb948c2e59 Update dependency mapshaper to v0.7.24 2026-06-15 02:01:40 +00:00
bot 4fe43c5fc6 Merge pull request 'Lock file maintenance' (#517) from renovate/lock-file-maintenance into main 2026-06-14 04:02:19 +02:00
Renovate Bot eed23b35d4 Lock file maintenance 2026-06-14 02:02:17 +00:00
bot e9d46d0824 Merge pull request 'Update dependency mapshaper to v0.7.23' (#516) from renovate/mapshaper-0.x-lockfile into main 2026-06-14 04:01:58 +02:00
Renovate Bot ccd18f3717 Update dependency mapshaper to v0.7.23 2026-06-14 02:01:46 +00:00
bot 1e78f269c1 Merge pull request 'Lock file maintenance' (#515) from renovate/lock-file-maintenance into main 2026-06-13 04:02:05 +02:00
Renovate Bot 0740c00014 Lock file maintenance 2026-06-13 02:02:01 +00:00
bot 740526104b Merge pull request 'Lock file maintenance' (#514) from renovate/lock-file-maintenance into main 2026-06-07 04:04:22 +02:00
Renovate Bot f807fa62d2 Lock file maintenance 2026-06-07 02:04:13 +00:00
sora 18725261e3 Update app/build.gradle 2026-06-06 19:34:25 +02:00
soraefir cc1a0c1aca Fix region saving bug 2026-06-06 19:30:18 +02:00
soraefir f2a5efcec5 Update saving logic 2026-06-06 18:54:09 +02:00
soraefir cfa784991b Updated SVGs and improved scripting
# Conflicts:
#	yarn.lock
2026-06-06 18:23:41 +02:00
soraefir 14f8543d3d Fix zoom and topbar 2026-06-06 18:23:26 +02:00
soraefir 5705749d12 Fix Caspian Sea 2026-06-06 18:23:26 +02:00
bot 1d0b814e77 Merge pull request 'Lock file maintenance' (#513) from renovate/lock-file-maintenance into main 2026-06-06 04:01:52 +02:00
Renovate Bot ecc26f811a Lock file maintenance 2026-06-06 02:01:48 +00:00
bot 8cd93d866b Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.serialization to v2.4.0' (#512) from renovate/org.jetbrains.kotlin.plugin.serialization-2.x into main 2026-06-05 04:05:29 +02:00
Renovate Bot 6bf4034e1e Update plugin org.jetbrains.kotlin.plugin.serialization to v2.4.0 2026-06-05 02:02:00 +00:00
bot 977321ddb5 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.compose to v2.4.0' (#511) from renovate/org.jetbrains.kotlin.plugin.compose-2.x into main 2026-06-04 04:11:32 +02:00
bot bee96b5d9b Merge pull request 'Update plugin org.jetbrains.kotlin.android to v2.4.0' (#510) from renovate/org.jetbrains.kotlin.android-2.x into main 2026-06-04 04:11:19 +02:00
Renovate Bot 6d21f0da6d Update plugin org.jetbrains.kotlin.plugin.compose to v2.4.0 2026-06-04 02:11:18 +00:00
Renovate Bot 445ccbcac0 Update plugin org.jetbrains.kotlin.android to v2.4.0 2026-06-04 02:02:01 +00:00
bot 225e5bfdc8 Merge pull request 'Lock file maintenance' (#509) from renovate/lock-file-maintenance into main 2026-05-31 04:02:13 +02:00
Renovate Bot 0c446f0d59 Lock file maintenance 2026-05-31 02:02:04 +00:00
bot 7c0b9bda80 Merge pull request 'Update dependency mapshaper to v0.7.22' (#508) from renovate/mapshaper-0.x-lockfile into main 2026-05-30 04:02:10 +02:00
Renovate Bot eaa0278764 Update dependency mapshaper to v0.7.22 2026-05-30 02:02:02 +00:00
bot eeac01f638 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.2.1' (#504) from renovate/com.mikepenz-aboutlibraries-compose-m3-14.x into main 2026-05-30 04:01:32 +02:00
Renovate Bot 9f8d5aaa18 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.2.1 2026-05-30 02:01:26 +00:00
sora cdb9d51257 Update README.md 2026-05-29 19:01:20 +02:00
bot 2d6b895f57 Merge pull request 'Update dependency mapshaper to v0.7.21' (#507) from renovate/mapshaper-0.x-lockfile into main 2026-05-28 04:02:20 +02:00
Renovate Bot 80e191a50d Update dependency mapshaper to v0.7.21 2026-05-28 02:02:07 +00:00
bot 4114185a73 Merge pull request 'Update plugin com.mikepenz.aboutlibraries.plugin to v14.2.1' (#506) from renovate/com.mikepenz.aboutlibraries.plugin-14.x into main 2026-05-26 04:01:40 +02:00
bot 24fe56c02a Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v14.2.1' (#505) from renovate/com.mikepenz-aboutlibraries-core-14.x into main 2026-05-26 04:01:35 +02:00
Renovate Bot d83234cf5b Update plugin com.mikepenz.aboutlibraries.plugin to v14.2.1 2026-05-26 02:01:33 +00:00
Renovate Bot e608b22c0c Update dependency com.mikepenz:aboutlibraries-core to v14.2.1 2026-05-26 02:01:31 +00:00
soraefir f8ed30cd73 Fix Top bar padding on android16+ 2026-05-25 15:20:41 +02:00
soraefir c50933908c Fix crash due to rename 2026-05-25 14:14:42 +02:00
bot 77edae3585 Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v14.2.1' (#503) from renovate/com.mikepenz-aboutlibraries-14.x into main 2026-05-25 04:01:29 +02:00
Renovate Bot 50c152084e Update dependency com.mikepenz:aboutlibraries to v14.2.1 2026-05-25 02:01:22 +00:00
sora b0a107c749 Update README.md 2026-05-24 11:58:56 +02:00
bot 91050826b2 Merge pull request 'Lock file maintenance' (#502) from renovate/lock-file-maintenance into main 2026-05-24 04:04:58 +02:00
Renovate Bot 1004119fed Lock file maintenance 2026-05-24 02:04:55 +00:00
sora d262331d1b Update .github/workflows/build.yml 2026-05-23 14:45:03 +02:00
sora 7440e85987 Update app/build.gradle 2026-05-23 14:42:40 +02:00
sora 2351512af8 Update app/build.gradle 2026-05-23 14:42:30 +02:00
sora ae2cde3545 Update app/build.gradle 2026-05-23 14:06:23 +02:00
soraefir 1000319b8f Bump java version workflow to 21 2026-05-23 11:45:32 +02:00
soraefir 8c4c5e16e0 Fix build error with backuprules 2026-05-23 11:42:03 +02:00
soraefir 0ce1e604a8 Update node deps 2026-05-23 11:39:04 +02:00
soraefir 757783534c Fix build, errors and spring cleaning 2026-05-23 11:35:02 +02:00
soraefir 3eba48ea7d WIP
# Conflicts:
#	build.gradle
#	gradle/wrapper/gradle-wrapper.properties
2026-05-23 10:53:36 +02:00
bot cf886b9581 Merge pull request 'Lock file maintenance' (#501) from renovate/lock-file-maintenance into main 2026-05-23 04:01:46 +02:00
Renovate Bot f2ff152c07 Lock file maintenance 2026-05-23 02:01:43 +00:00
bot 19b152db8c Merge pull request 'Update dependency mapshaper to v0.7.19' (#500) from renovate/mapshaper-0.x-lockfile into main 2026-05-21 04:01:48 +02:00
Renovate Bot 18dff78e5b Update dependency mapshaper to v0.7.19 2026-05-21 02:01:40 +00:00
bot 9b16a30c9a Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.11.2' (#499) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-05-21 04:01:25 +02:00
Renovate Bot 62bf040093 Update dependency androidx.compose.ui:ui-tooling to v1.11.2 2026-05-21 02:01:22 +00:00
bot 60bafc6798 Merge pull request 'Update dependency androidx.compose.material:material to v1.11.2' (#498) from renovate/androidx.compose.material-material-1.x into main 2026-05-20 04:01:24 +02:00
bot bf206efc1f Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.05.01' (#497) from renovate/androidx.compose-compose-bom-2026.x into main 2026-05-20 04:01:22 +02:00
Renovate Bot c42f72a856 Update dependency androidx.compose.material:material to v1.11.2 2026-05-20 02:01:21 +00:00
Renovate Bot c6a890aee3 Update dependency androidx.compose:compose-bom to v2026.05.01 2026-05-20 02:01:19 +00:00
bot 59450cf480 Merge pull request 'Update dependency mapshaper to v0.7.18' (#496) from renovate/mapshaper-0.x-lockfile into main 2026-05-19 04:01:44 +02:00
Renovate Bot 7f068ea10f Update dependency mapshaper to v0.7.18 2026-05-19 02:01:35 +00:00
bot f9763d7b53 Merge pull request 'Lock file maintenance' (#495) from renovate/lock-file-maintenance into main 2026-05-16 04:02:06 +02:00
Renovate Bot f2e9f44dee Lock file maintenance 2026-05-16 02:02:05 +00:00
bot 1039e220fb Merge pull request 'Update dependency mapshaper to v0.7.17' (#494) from renovate/mapshaper-0.x-lockfile into main 2026-05-16 04:01:45 +02:00
Renovate Bot a810345e2b Update dependency mapshaper to v0.7.17 2026-05-16 02:01:36 +00:00
bot 4dc5213e6f Merge pull request 'Update dependency com.google.android.material:material to v1.14.0' (#493) from renovate/com.google.android.material-material-1.x into main 2026-05-14 04:02:04 +02:00
bot 5f313a20d5 Merge pull request 'Update dependency mapshaper to v0.7.16' (#492) from renovate/mapshaper-0.x-lockfile into main 2026-05-14 04:01:59 +02:00
Renovate Bot 01eae6daf9 Update dependency com.google.android.material:material to v1.14.0 2026-05-14 02:01:58 +00:00
Renovate Bot 7ae7ebb9b3 Update dependency mapshaper to v0.7.16 2026-05-14 02:01:50 +00:00
bot a4e64e43f3 Merge pull request 'Update dependency mapshaper to v0.7.15' (#491) from renovate/mapshaper-0.x-lockfile into main 2026-05-13 04:02:32 +02:00
Renovate Bot a1e73f5844 Update dependency mapshaper to v0.7.15 2026-05-13 02:02:24 +00:00
bot a6189c77ef Merge pull request 'Update dependency gradle to v9.5.1' (#490) from renovate/gradle-9.x into main 2026-05-13 04:02:08 +02:00
Renovate Bot 1b36ae84d7 Update dependency gradle to v9.5.1 2026-05-13 02:01:54 +00:00
bot c609cccdc6 Merge pull request 'Update plugin com.mikepenz.aboutlibraries.plugin to v14.2.0' (#489) from renovate/com.mikepenz.aboutlibraries.plugin-14.x into main 2026-05-11 04:02:16 +02:00
bot 1360c5eeef Merge pull request 'Update dependency mapshaper to v0.7.13' (#488) from renovate/mapshaper-0.x-lockfile into main 2026-05-11 04:02:10 +02:00
Renovate Bot d087eddc29 Update plugin com.mikepenz.aboutlibraries.plugin to v14.2.0 2026-05-11 02:02:09 +00:00
Renovate Bot 1910a8672b Update dependency mapshaper to v0.7.13 2026-05-11 02:02:00 +00:00
bot 787175ee37 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v14.2.0' (#487) from renovate/com.mikepenz-aboutlibraries-core-14.x into main 2026-05-10 04:02:13 +02:00
Renovate Bot 90285d5efa Update dependency com.mikepenz:aboutlibraries-core to v14.2.0 2026-05-10 02:02:09 +00:00
bot 66b06d608d Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.2.0' (#486) from renovate/com.mikepenz-aboutlibraries-compose-m3-14.x into main 2026-05-10 04:01:53 +02:00
Renovate Bot cabaa02f59 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.2.0 2026-05-10 02:01:45 +00:00
bot ee60dffa17 Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v14.2.0' (#485) from renovate/com.mikepenz-aboutlibraries-14.x into main 2026-05-09 04:01:57 +02:00
Renovate Bot 98a2558ad2 Update dependency com.mikepenz:aboutlibraries to v14.2.0 2026-05-09 02:01:51 +00:00
bot d820c0e5fa Merge pull request 'Update dependency mapshaper to v0.7.12' (#484) from renovate/mapshaper-0.x-lockfile into main 2026-05-09 04:01:42 +02:00
Renovate Bot 61bba0c099 Update dependency mapshaper to v0.7.12 2026-05-09 02:01:34 +00:00
bot c58f1359cd Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.05.00' (#483) from renovate/androidx.compose-compose-bom-2026.x into main 2026-05-08 04:01:49 +02:00
bot 942e3a6235 Merge pull request 'Update dependency mapshaper to v0.7.10' (#482) from renovate/mapshaper-0.x-lockfile into main 2026-05-08 04:01:45 +02:00
Renovate Bot d43535f772 Update dependency androidx.compose:compose-bom to v2026.05.00 2026-05-08 02:01:44 +00:00
Renovate Bot e12c7194e6 Update dependency mapshaper to v0.7.10 2026-05-08 02:01:36 +00:00
bot 47277d3609 Merge pull request 'Update plugin com.android.library to v9.2.1' (#479) from renovate/com.android.library-9.x into main 2026-05-07 04:01:42 +02:00
bot 2a8bb6d1b4 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.11.1' (#481) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-05-07 04:01:41 +02:00
Renovate Bot 7ad2eff27b Update plugin com.android.library to v9.2.1 2026-05-07 02:01:37 +00:00
bot b52c16c242 Merge pull request 'Update dependency androidx.compose.material:material to v1.11.1' (#480) from renovate/androidx.compose.material-material-1.x into main 2026-05-07 04:01:36 +02:00
Renovate Bot caeb0f69a5 Update dependency androidx.compose.ui:ui-tooling to v1.11.1 2026-05-07 02:01:35 +00:00
Renovate Bot 74b4fe4ac4 Update dependency androidx.compose.material:material to v1.11.1 2026-05-07 02:01:32 +00:00
bot 504ae87174 Merge pull request 'Update plugin com.android.application to v9.2.1' (#478) from renovate/com.android.application-9.x into main 2026-05-06 10:00:18 +02:00
Renovate Bot 06bba3ceaf Update plugin com.android.application to v9.2.1 2026-05-06 08:00:13 +00:00
bot 70defaf916 Merge pull request 'Update dependency mapshaper to v0.7.9' (#477) from renovate/mapshaper-0.x-lockfile into main 2026-05-05 04:02:04 +02:00
Renovate Bot dfcebe327f Update dependency mapshaper to v0.7.9 2026-05-05 02:01:54 +00:00
bot 3b27613e99 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v14.1.0' (#476) from renovate/com.mikepenz-aboutlibraries-core-14.x into main 2026-05-04 04:01:25 +02:00
Renovate Bot bff39001a4 Update dependency com.mikepenz:aboutlibraries-core to v14.1.0 2026-05-04 02:01:17 +00:00
bot e77c8dc49e Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.1.0' (#475) from renovate/com.mikepenz-aboutlibraries-compose-m3-14.x into main 2026-05-03 04:02:23 +02:00
Renovate Bot c4da784b95 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.1.0 2026-05-03 02:02:16 +00:00
bot cbf1871cec Merge pull request 'Update dependency mapshaper to v0.7.8' (#474) from renovate/mapshaper-0.x-lockfile into main 2026-05-03 04:02:02 +02:00
Renovate Bot 9ed40a67bc Update dependency mapshaper to v0.7.8 2026-05-03 02:01:52 +00:00
bot 8e699d0b22 Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v14.1.0' (#473) from renovate/com.mikepenz-aboutlibraries-14.x into main 2026-05-02 04:01:52 +02:00
Renovate Bot 9424517eb4 Update dependency com.mikepenz:aboutlibraries to v14.1.0 2026-05-02 02:01:47 +00:00
bot acd6753112 Merge pull request 'Update dependency mapshaper to v0.7.7' (#472) from renovate/mapshaper-0.x-lockfile into main 2026-05-02 04:01:39 +02:00
Renovate Bot 6fa02d117b Update dependency mapshaper to v0.7.7 2026-05-02 02:01:31 +00:00
bot f83ff7aca1 Merge pull request 'Update dependency mapshaper to v0.7.6' (#471) from renovate/mapshaper-0.x-lockfile into main 2026-05-01 04:01:52 +02:00
Renovate Bot 89bd79b542 Update dependency mapshaper to v0.7.6 2026-05-01 02:01:43 +00:00
bot 4db4757701 Merge pull request 'Update dependency jsdom to v29.1.1' (#470) from renovate/jsdom-29.x-lockfile into main 2026-05-01 04:01:37 +02:00
Renovate Bot f57f29cda6 Update dependency jsdom to v29.1.1 2026-05-01 02:01:28 +00:00
bot 51ff021d37 Merge pull request 'Update dependency mapshaper to v0.7.5' (#469) from renovate/mapshaper-0.x-lockfile into main 2026-04-30 04:01:45 +02:00
Renovate Bot c6f9bf7fc5 Update dependency mapshaper to v0.7.5 2026-04-30 02:01:35 +00:00
bot 9385442542 Merge pull request 'Update dependency gradle to v9.5.0' (#468) from renovate/gradle-9.x into main 2026-04-29 04:02:22 +02:00
Renovate Bot 19a185a6c3 Update dependency gradle to v9.5.0 2026-04-29 02:02:12 +00:00
bot 725de6c7b3 Merge pull request 'Update dependency mapshaper to v0.7.4' (#467) from renovate/mapshaper-0.x-lockfile into main 2026-04-29 04:01:39 +02:00
Renovate Bot 5228ac2508 Update dependency mapshaper to v0.7.4 2026-04-29 02:01:31 +00:00
bot 80d6693ef3 Merge pull request 'Update dependency jsdom to v29.1.0' (#466) from renovate/jsdom-29.x-lockfile into main 2026-04-28 04:01:42 +02:00
Renovate Bot 9d3ce7410a Update dependency jsdom to v29.1.0 2026-04-28 02:01:36 +00:00
bot 989fd1cea0 Merge pull request 'Update dependency androidx.compose.material:material to v1.11.0' (#464) from renovate/androidx.compose.material-material-1.x into main 2026-04-27 04:01:33 +02:00
bot d3b11fbb02 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.11.0' (#465) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-04-27 04:01:30 +02:00
Renovate Bot 9a8c13e148 Update dependency androidx.compose.ui:ui-tooling to v1.11.0 2026-04-27 02:01:28 +00:00
Renovate Bot 4f65a86302 Update dependency androidx.compose.material:material to v1.11.0 2026-04-27 02:01:25 +00:00
bot 8c559f73f7 Merge pull request 'Update dependency @turf/turf to v7.3.5' (#453) from renovate/turf-turf-7.x-lockfile into main 2026-04-26 04:02:09 +02:00
Renovate Bot 1e77399412 Update dependency @turf/turf to v7.3.5 2026-04-26 02:02:08 +00:00
bot 6f2d9cacc4 Merge pull request 'Update dependency mapshaper to v0.7.3' (#463) from renovate/mapshaper-0.x-lockfile into main 2026-04-26 04:01:55 +02:00
Renovate Bot f6209562ff Update dependency mapshaper to v0.7.3 2026-04-26 02:01:48 +00:00
bot 9e692dae6a Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.21' (#462) from renovate/org.jetbrains.kotlin.plugin.serialization-2.x into main 2026-04-25 04:10:56 +02:00
Renovate Bot 16458b014f Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.21 2026-04-25 02:03:25 +00:00
bot af262b0ad2 Merge pull request 'Update dependency mapshaper to v0.7.1' (#461) from renovate/mapshaper-0.x-lockfile into main 2026-04-25 04:02:56 +02:00
Renovate Bot 5a81ae5170 Update dependency mapshaper to v0.7.1 2026-04-25 02:02:46 +00:00
bot 89931b9c32 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.21' (#460) from renovate/org.jetbrains.kotlin.plugin.compose-2.x into main 2026-04-24 04:06:03 +02:00
bot 5a07720457 Merge pull request 'Update plugin org.jetbrains.kotlin.android to v2.3.21' (#459) from renovate/org.jetbrains.kotlin.android-2.x into main 2026-04-24 04:06:01 +02:00
Renovate Bot 7dd4049f89 Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.21 2026-04-24 02:06:00 +00:00
Renovate Bot 6aa1253ab6 Update plugin org.jetbrains.kotlin.android to v2.3.21 2026-04-24 02:01:44 +00:00
bot 3391985d20 Merge pull request 'Update plugin com.android.library to v9.2.0' (#456) from renovate/com.android.library-9.x into main 2026-04-23 04:01:56 +02:00
bot 28bb0ae611 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.04.01' (#458) from renovate/androidx.compose-compose-bom-2026.x into main 2026-04-23 04:01:52 +02:00
Renovate Bot d7a3f5389e Update plugin com.android.library to v9.2.0 2026-04-23 02:01:51 +00:00
bot 0552dc33c0 Merge pull request 'Update dependency androidx.navigation:navigation-compose to v2.9.8' (#457) from renovate/androidx.navigation-navigation-compose-2.x into main 2026-04-23 04:01:49 +02:00
Renovate Bot b0799070eb Update dependency androidx.compose:compose-bom to v2026.04.01 2026-04-23 02:01:49 +00:00
Renovate Bot b000b2e921 Update dependency androidx.navigation:navigation-compose to v2.9.8 2026-04-23 02:01:47 +00:00
bot 10c5f9538f Merge pull request 'Update plugin com.android.application to v9.2.0' (#455) from renovate/com.android.application-9.x into main 2026-04-22 04:01:49 +02:00
Renovate Bot 5a47c70a6f Update plugin com.android.application to v9.2.0 2026-04-22 02:01:46 +00:00
bot f768306651 Merge pull request 'Update dependency mapshaper to ^0.7.0' (#454) from renovate/mapshaper-0.x into main 2026-04-21 04:02:00 +02:00
Renovate Bot ff22ea6355 Update dependency mapshaper to ^0.7.0 2026-04-21 02:01:52 +00:00
bot f22ff6eb34 Merge pull request 'Update dependency @turf/area to v7.3.5' (#452) from renovate/turf-area-7.x-lockfile into main 2026-04-20 04:01:43 +02:00
Renovate Bot 12812dcc2f Update dependency @turf/area to v7.3.5 2026-04-20 02:01:38 +00:00
bot c348a2c8a6 Merge pull request 'Lock file maintenance' (#451) from renovate/lock-file-maintenance into main 2026-04-19 04:02:10 +02:00
Renovate Bot 417f53860d Lock file maintenance 2026-04-19 02:02:09 +00:00
bot 7dc7381075 Merge pull request 'Update dependency mapshaper to v0.6.121' (#450) from renovate/mapshaper-0.x-lockfile into main 2026-04-19 04:01:47 +02:00
Renovate Bot b86c1aeebe Update dependency mapshaper to v0.6.121 2026-04-19 02:01:38 +00:00
bot 1d32687848 Merge pull request 'Lock file maintenance' (#449) from renovate/lock-file-maintenance into main 2026-04-18 04:02:18 +02:00
Renovate Bot 80738118f0 Lock file maintenance 2026-04-18 02:02:15 +00:00
bot 45776a2f9b Merge pull request 'Update dependency mapshaper to v0.6.119' (#448) from renovate/mapshaper-0.x-lockfile into main 2026-04-18 04:01:47 +02:00
Renovate Bot b303bc6aa6 Update dependency mapshaper to v0.6.119 2026-04-18 02:01:28 +00:00
bot 476dcddaa9 Merge pull request 'Update dependency mapshaper to v0.6.118' (#447) from renovate/mapshaper-0.x-lockfile into main 2026-04-17 04:01:28 +02:00
Renovate Bot 5229507771 Update dependency mapshaper to v0.6.118 2026-04-17 02:01:18 +00:00
bot 9a16f1b2ce Merge pull request 'Update dependency mapshaper to v0.6.117' (#446) from renovate/mapshaper-0.x-lockfile into main 2026-04-16 04:01:15 +02:00
Renovate Bot 633a7b5d06 Update dependency mapshaper to v0.6.117 2026-04-16 02:01:05 +00:00
bot 80ff0458a1 Merge pull request 'Update plugin com.android.library to v9.1.1' (#445) from renovate/com.android.library-9.x into main 2026-04-15 04:01:03 +02:00
Renovate Bot 5d5d6c6962 Update plugin com.android.library to v9.1.1 2026-04-15 02:00:58 +00:00
bot 2c94f7871b Merge pull request 'Update plugin com.android.application to v9.1.1' (#444) from renovate/com.android.application-9.x into main 2026-04-14 04:01:07 +02:00
Renovate Bot 26a4aae265 Update plugin com.android.application to v9.1.1 2026-04-14 02:01:01 +00:00
bot 477a8c94fd Merge pull request 'Update softprops/action-gh-release action to v3' (#443) from renovate/softprops-action-gh-release-3.x into main 2026-04-13 04:01:11 +02:00
Renovate Bot c00078e766 Update softprops/action-gh-release action to v3 2026-04-13 02:01:06 +00:00
bot 09ba61f3c5 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v14' (#438) from renovate/com.mikepenz-aboutlibraries-core-14.x into main 2026-04-12 04:01:15 +02:00
Renovate Bot 71d48d87be Update dependency com.mikepenz:aboutlibraries-core to v14 2026-04-12 02:01:13 +00:00
bot 9695f69e70 Merge pull request 'Update plugin com.mikepenz.aboutlibraries.plugin to v14' (#442) from renovate/com.mikepenz.aboutlibraries.plugin-14.x into main 2026-04-12 04:01:02 +02:00
Renovate Bot 992116fcfe Update plugin com.mikepenz.aboutlibraries.plugin to v14 2026-04-12 02:00:59 +00:00
bot 270946c082 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.0.1' (#440) from renovate/com.mikepenz-aboutlibraries-compose-m3-14.x into main 2026-04-11 04:01:19 +02:00
Renovate Bot 6832f3ebee Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14.0.1 2026-04-11 02:01:17 +00:00
bot ce47bff4f5 Merge pull request 'Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.11.0' (#441) from renovate/org.jetbrains.kotlinx-kotlinx-serialization-json-1.x into main 2026-04-11 04:01:03 +02:00
Renovate Bot 47c8cf7812 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.11.0 2026-04-11 02:00:59 +00:00
bot 5cd1b5f9db Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v14.0.1' (#439) from renovate/com.mikepenz-aboutlibraries-14.x into main 2026-04-10 04:01:08 +02:00
Renovate Bot e3a6b11c67 Update dependency com.mikepenz:aboutlibraries to v14.0.1 2026-04-10 02:01:00 +00:00
bot 8fb08205f1 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14' (#436) from renovate/com.mikepenz-aboutlibraries-compose-m3-14.x into main 2026-04-08 04:01:23 +02:00
bot 863bba990a Merge pull request 'Update dependency jsdom to v29.0.2' (#437) from renovate/jsdom-29.x-lockfile into main 2026-04-08 04:01:18 +02:00
Renovate Bot cc7f0f6a47 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v14 2026-04-08 02:01:16 +00:00
Renovate Bot c4432e6494 Update dependency jsdom to v29.0.2 2026-04-08 02:01:09 +00:00
bot a4237d102e Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v14' (#435) from renovate/com.mikepenz-aboutlibraries-14.x into main 2026-04-07 04:01:05 +02:00
Renovate Bot 5050468192 Update dependency com.mikepenz:aboutlibraries to v14 2026-04-07 02:00:56 +00:00
bot e526ea9974 Merge pull request 'Lock file maintenance' (#434) from renovate/lock-file-maintenance into main 2026-04-05 04:01:19 +02:00
Renovate Bot 36cd230e16 Lock file maintenance 2026-04-05 02:01:15 +00:00
sora b55b834e35 Update .github/workflows/build.yml 2026-04-04 12:09:22 +02:00
sora f60ff9e9e6 Update .github/workflows/build.yml 2026-04-04 12:05:17 +02:00
bot b8618319b0 Merge pull request 'Lock file maintenance' (#433) from renovate/lock-file-maintenance into main 2026-04-04 04:01:15 +02:00
Renovate Bot 92e4fbeb7a Lock file maintenance 2026-04-04 02:01:13 +00:00
bot 0d1ff771dd Merge pull request 'Lock file maintenance' (#432) from renovate/lock-file-maintenance into main 2026-03-28 03:01:13 +01:00
Renovate Bot 486ccd2a63 Lock file maintenance 2026-03-28 02:01:10 +00:00
bot 560005a943 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.10.6' (#431) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-03-27 03:00:46 +01:00
Renovate Bot 40fdf3f536 Update dependency androidx.compose.ui:ui-tooling to v1.10.6 2026-03-27 02:00:43 +00:00
bot 07172fded1 Merge pull request 'Update dependency androidx.compose.material:material to v1.10.6' (#430) from renovate/androidx.compose.material-material-1.x into main 2026-03-26 03:00:53 +01:00
bot f7f499c4c7 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.03.01' (#429) from renovate/androidx.compose-compose-bom-2026.x into main 2026-03-26 03:00:50 +01:00
Renovate Bot 3ed7eeebcd Update dependency androidx.compose.material:material to v1.10.6 2026-03-26 02:00:48 +00:00
Renovate Bot 5b7e497bc6 Update dependency androidx.compose:compose-bom to v2026.03.01 2026-03-26 02:00:46 +00:00
bot 5749aca451 Merge pull request 'Lock file maintenance' (#428) from renovate/lock-file-maintenance into main 2026-03-22 03:01:20 +01:00
Renovate Bot fd57d75063 Lock file maintenance 2026-03-22 02:01:16 +00:00
bot 17be04d259 Merge pull request 'Lock file maintenance' (#427) from renovate/lock-file-maintenance into main 2026-03-21 03:01:37 +01:00
Renovate Bot 08fb6902db Lock file maintenance 2026-03-21 02:01:36 +00:00
bot 4cf95f81e3 Merge pull request 'Update dependency jsdom to v29.0.1' (#426) from renovate/jsdom-29.x-lockfile into main 2026-03-21 03:01:11 +01:00
Renovate Bot 11ab88e25c Update dependency jsdom to v29.0.1 2026-03-21 02:01:05 +00:00
bot 28e9eb20b9 Merge pull request 'Update dependency gradle to v9.4.1' (#425) from renovate/gradle-9.x into main 2026-03-20 03:01:43 +01:00
Renovate Bot c728e49731 Update dependency gradle to v9.4.1 2026-03-20 02:01:26 +00:00
bot 4cb421ec7a Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.20' (#424) from renovate/org.jetbrains.kotlin.plugin.serialization-2.x into main 2026-03-18 03:08:32 +01:00
Renovate Bot ffe7f6c36d Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.20 2026-03-18 02:00:52 +00:00
bot e65475aca7 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.20' (#423) from renovate/org.jetbrains.kotlin.plugin.compose-2.x into main 2026-03-17 03:08:33 +01:00
bot 1ae85ab23c Merge pull request 'Update plugin org.jetbrains.kotlin.android to v2.3.20' (#422) from renovate/org.jetbrains.kotlin.android-2.x into main 2026-03-17 03:08:23 +01:00
Renovate Bot 2eb83d6e3d Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.20 2026-03-17 02:08:22 +00:00
Renovate Bot fbebc001f6 Update plugin org.jetbrains.kotlin.android to v2.3.20 2026-03-17 02:00:47 +00:00
bot e3105a920b Merge pull request 'Update dependency jsdom to v29' (#421) from renovate/jsdom-29.x into main 2026-03-16 03:01:10 +01:00
Renovate Bot 791cc5df34 Update dependency jsdom to v29 2026-03-16 02:01:00 +00:00
bot 92c6c26d49 Merge pull request 'Lock file maintenance' (#420) from renovate/lock-file-maintenance into main 2026-03-15 03:01:17 +01:00
Renovate Bot db86caa4e4 Lock file maintenance 2026-03-15 02:01:14 +00:00
bot 17ce5da002 Merge pull request 'Lock file maintenance' (#419) from renovate/lock-file-maintenance into main 2026-03-14 03:01:22 +01:00
Renovate Bot d514362719 Lock file maintenance 2026-03-14 02:01:18 +00:00
bot 71865d28f5 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.03.00' (#418) from renovate/androidx.compose-compose-bom-2026.x into main 2026-03-13 03:00:55 +01:00
bot 5b9ac2b00b Merge pull request 'Update dependency androidx.activity:activity-ktx to v1.13.0' (#417) from renovate/androidx.activity-activity-ktx-1.x into main 2026-03-13 03:00:50 +01:00
Renovate Bot 41cf46f182 Update dependency androidx.compose:compose-bom to v2026.03.00 2026-03-13 02:00:49 +00:00
Renovate Bot 007361fa98 Update dependency androidx.activity:activity-ktx to v1.13.0 2026-03-13 02:00:46 +00:00
bot 94fbad41e8 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.10.5' (#416) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-03-12 03:00:57 +01:00
bot f525b5fb68 Merge pull request 'Update dependency androidx.compose.material:material to v1.10.5' (#415) from renovate/androidx.compose.material-material-1.x into main 2026-03-12 03:00:55 +01:00
Renovate Bot 39dd9f76c5 Update dependency androidx.compose.ui:ui-tooling to v1.10.5 2026-03-12 02:00:53 +00:00
Renovate Bot d7980ee737 Update dependency androidx.compose.material:material to v1.10.5 2026-03-12 02:00:51 +00:00
bot 08ad167c12 Merge pull request 'Lock file maintenance' (#414) from renovate/lock-file-maintenance into main 2026-03-07 03:01:23 +01:00
Renovate Bot e713357246 Lock file maintenance 2026-03-07 02:01:21 +00:00
bot 99b82b5d6e Merge pull request 'Update plugin com.android.library to v9.1.0' (#412) from renovate/com.android.library-9.x into main 2026-03-07 03:00:48 +01:00
Renovate Bot d7f12fdacb Update plugin com.android.library to v9.1.0 2026-03-06 02:00:47 +00:00
bot 759645e31e Merge pull request 'Update dependency gradle to v9.4.0' (#413) from renovate/gradle-9.x into main 2026-03-05 03:01:39 +01:00
Renovate Bot 5e50f5733c Update dependency gradle to v9.4.0 2026-03-05 02:01:24 +00:00
bot db523412c5 Merge pull request 'Update plugin com.android.application to v9.1.0' (#411) from renovate/com.android.application-9.x into main 2026-03-04 03:00:50 +01:00
Renovate Bot 75a772f4fe Update plugin com.android.application to v9.1.0 2026-03-04 02:00:46 +00:00
bot e4fa5430ba Merge pull request 'Lock file maintenance' (#410) from renovate/lock-file-maintenance into main 2026-03-01 03:01:21 +01:00
Renovate Bot db321c4d74 Lock file maintenance 2026-03-01 02:01:15 +00:00
bot 14bda79c07 Merge pull request 'Lock file maintenance' (#409) from renovate/lock-file-maintenance into main 2026-02-28 03:01:26 +01:00
Renovate Bot 0cf5511aad Lock file maintenance 2026-02-28 02:01:24 +00:00
bot 2e9aa07b71 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.02.01' (#408) from renovate/androidx.compose-compose-bom-2026.x into main 2026-02-28 03:00:51 +01:00
Renovate Bot 2dd6722ac5 Update dependency androidx.compose:compose-bom to v2026.02.01 2026-02-28 02:00:47 +00:00
bot b15bd32edf Merge pull request 'Update dependency androidx.compose.material:material to v1.10.4' (#406) from renovate/androidx.compose.material-material-1.x into main 2026-02-26 03:01:06 +01:00
bot a1daa4d1eb Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.10.4' (#407) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-02-26 03:01:00 +01:00
Renovate Bot 9914010eb6 Update dependency androidx.compose.ui:ui-tooling to v1.10.4 2026-02-26 02:00:58 +00:00
Renovate Bot 6353a2b8b7 Update dependency androidx.compose.material:material to v1.10.4 2026-02-26 02:00:55 +00:00
bot 9f8c061f29 Merge pull request 'Lock file maintenance' (#405) from renovate/lock-file-maintenance into main 2026-02-22 03:01:18 +01:00
Renovate Bot ef4e8f64dd Lock file maintenance 2026-02-22 02:01:15 +00:00
bot 2065e60c3b Merge pull request 'Lock file maintenance' (#404) from renovate/lock-file-maintenance into main 2026-02-21 03:01:16 +01:00
Renovate Bot ac0eeefb26 Lock file maintenance 2026-02-21 02:01:13 +00:00
bot 22343cc7c6 Merge pull request 'Update dependency jsdom to v28.1.0' (#403) from renovate/jsdom-28.x-lockfile into main 2026-02-16 03:01:16 +01:00
Renovate Bot c8840fe925 Update dependency jsdom to v28.1.0 2026-02-16 02:01:06 +00:00
bot 0bc2614c0e Merge pull request 'Lock file maintenance' (#402) from renovate/lock-file-maintenance into main 2026-02-15 03:01:31 +01:00
Renovate Bot 28400ede30 Lock file maintenance 2026-02-15 02:01:29 +00:00
bot 91c996a0f1 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.02.00' (#399) from renovate/androidx.compose-compose-bom-2026.x into main 2026-02-15 03:01:06 +01:00
Renovate Bot bb602ea38f Update dependency androidx.compose:compose-bom to v2026.02.00 2026-02-15 02:01:02 +00:00
bot fc33efecf7 Merge pull request 'Update plugin com.android.library to v9.0.1' (#401) from renovate/com.android.library-9.x into main 2026-02-15 03:00:53 +01:00
Renovate Bot 832b7d0ee1 Update plugin com.android.library to v9.0.1 2026-02-15 02:00:50 +00:00
bot 2755201920 Merge pull request 'Update dependency @turf/turf to v7.3.4' (#395) from renovate/turf-turf-7.x-lockfile into main 2026-02-14 03:01:33 +01:00
Renovate Bot 7c953a706a Update dependency @turf/turf to v7.3.4 2026-02-14 02:01:31 +00:00
bot d26adae47c Merge pull request 'Update plugin com.android.application to v9.0.1' (#400) from renovate/com.android.application-9.x into main 2026-02-14 03:01:16 +01:00
Renovate Bot 940aba5863 Update plugin com.android.application to v9.0.1 2026-02-14 02:01:14 +00:00
bot a88ea3a5b8 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.10.3' (#398) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-02-13 03:01:24 +01:00
Renovate Bot af7b3e7b2c Update dependency androidx.compose.ui:ui-tooling to v1.10.3 2026-02-13 02:01:21 +00:00
bot 57007049b4 Merge pull request 'Update dependency androidx.compose.material:material to v1.10.3' (#397) from renovate/androidx.compose.material-material-1.x into main 2026-02-12 03:01:19 +01:00
bot e52e8cba27 Merge pull request 'Update dependency androidx.activity:activity-ktx to v1.12.4' (#396) from renovate/androidx.activity-activity-ktx-1.x into main 2026-02-12 03:01:17 +01:00
Renovate Bot 3a675af015 Update dependency androidx.compose.material:material to v1.10.3 2026-02-12 02:01:15 +00:00
Renovate Bot 07c2926d47 Update dependency androidx.activity:activity-ktx to v1.12.4 2026-02-12 02:01:10 +00:00
bot bc29c93e72 Merge pull request 'Update dependency @turf/area to v7.3.4' (#394) from renovate/turf-area-7.x-lockfile into main 2026-02-09 03:01:05 +01:00
Renovate Bot a8b0c99b1c Update dependency @turf/area to v7.3.4 2026-02-09 02:00:58 +00:00
bot 027af22a55 Merge pull request 'Lock file maintenance' (#393) from renovate/lock-file-maintenance into main 2026-02-08 03:01:16 +01:00
Renovate Bot c5ea332f6e Lock file maintenance 2026-02-08 02:01:10 +00:00
bot c80dcfc721 Merge pull request 'Lock file maintenance' (#392) from renovate/lock-file-maintenance into main 2026-02-07 03:08:46 +01:00
Renovate Bot 9c415da2cf Lock file maintenance 2026-02-07 02:08:45 +00:00
bot 52a4bc1c21 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.10' (#391) from renovate/org.jetbrains.kotlin.plugin.serialization-2.x into main 2026-02-07 03:08:14 +01:00
Renovate Bot 45128b0c41 Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.10 2026-02-07 02:00:43 +00:00
bot 97649f9f43 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.10' (#390) from renovate/org.jetbrains.kotlin.plugin.compose-2.x into main 2026-02-06 03:09:15 +01:00
bot 3de4677121 Merge pull request 'Update plugin org.jetbrains.kotlin.android to v2.3.10' (#389) from renovate/org.jetbrains.kotlin.android-2.x into main 2026-02-06 03:09:06 +01:00
Renovate Bot 03f9777c9a Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.10 2026-02-06 02:09:05 +00:00
Renovate Bot 1124d239d9 Update plugin org.jetbrains.kotlin.android to v2.3.10 2026-02-06 02:00:50 +00:00
bot 4efc445ac5 Merge pull request 'Update dependency jsdom to v28' (#388) from renovate/jsdom-28.x into main 2026-02-03 03:01:18 +01:00
Renovate Bot 960a167b44 Update dependency jsdom to v28 2026-02-03 02:01:12 +00:00
bot d4eeadc4f5 Merge pull request 'Update dependency gradle to v9.3.1' (#387) from renovate/gradle-9.x into main 2026-02-02 03:01:58 +01:00
Renovate Bot 3936601599 Update dependency gradle to v9.3.1 2026-02-02 02:01:39 +00:00
bot 453ba4c867 Merge pull request 'Update dependency androidx.navigation:navigation-compose to v2.9.7' (#386) from renovate/androidx.navigation-navigation-compose-2.x into main 2026-02-01 03:01:34 +01:00
Renovate Bot 55d25db229 Update dependency androidx.navigation:navigation-compose to v2.9.7 2026-02-01 02:01:32 +00:00
bot 528789cbfe Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.10.2' (#385) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-02-01 03:01:22 +01:00
Renovate Bot 867584dbb0 Update dependency androidx.compose.ui:ui-tooling to v1.10.2 2026-02-01 02:01:19 +00:00
bot e19c8eba7f Merge pull request 'Update dependency androidx.compose.material:material to v1.10.2' (#384) from renovate/androidx.compose.material-material-1.x into main 2026-01-31 03:01:59 +01:00
Renovate Bot 867ec40141 Update dependency androidx.compose.material:material to v1.10.2 2026-01-31 02:01:57 +00:00
bot dd0fd4041c Merge pull request 'Update dependency @turf/turf to v7.3.3' (#381) from renovate/turf-turf-7.x-lockfile into main 2026-01-31 03:01:37 +01:00
Renovate Bot b772d8769c Update dependency @turf/turf to v7.3.3 2026-01-31 02:01:31 +00:00
bot 92b6e98060 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026.01.01' (#383) from renovate/androidx.compose-compose-bom-2026.x into main 2026-01-30 03:01:30 +01:00
bot 0919c237c8 Merge pull request 'Update dependency androidx.activity:activity-ktx to v1.12.3' (#382) from renovate/androidx.activity-activity-ktx-1.x into main 2026-01-30 03:01:28 +01:00
Renovate Bot afd79eb2c7 Update dependency androidx.compose:compose-bom to v2026.01.01 2026-01-30 02:01:28 +00:00
Renovate Bot d953984df1 Update dependency androidx.activity:activity-ktx to v1.12.3 2026-01-30 02:01:26 +00:00
bot f606a5c57c Merge pull request 'Update dependency @turf/area to v7.3.3' (#380) from renovate/turf-area-7.x-lockfile into main 2026-01-29 03:01:20 +01:00
Renovate Bot 3e1bfe44df Update dependency @turf/area to v7.3.3 2026-01-29 02:01:13 +00:00
bot 63a552934c Merge pull request 'Lock file maintenance' (#379) from renovate/lock-file-maintenance into main 2026-01-24 03:01:34 +01:00
Renovate Bot 74faab692d Lock file maintenance 2026-01-24 02:01:30 +00:00
bot 23c866c743 Merge pull request 'Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0' (#378) from renovate/org.jetbrains.kotlinx-kotlinx-serialization-json-1.x into main 2026-01-22 03:01:09 +01:00
Renovate Bot 8836c41622 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0 2026-01-22 02:01:04 +00:00
bot f1249506a6 Merge pull request 'Update plugin com.android.library to v9' (#377) from renovate/com.android.library-9.x into main 2026-01-19 03:00:48 +01:00
Renovate Bot 9b62593811 Update plugin com.android.library to v9 2026-01-19 02:00:45 +00:00
bot b201c770e8 Merge pull request 'Update plugin com.android.application to v9' (#376) from renovate/com.android.application-9.x into main 2026-01-18 03:01:02 +01:00
Renovate Bot 94e64bcf0d Update plugin com.android.application to v9 2026-01-18 02:01:00 +00:00
bot 12f7913e77 Merge pull request 'Update dependency androidx.compose:compose-bom to v2026' (#375) from renovate/androidx.compose-compose-bom-2026.x into main 2026-01-18 03:00:53 +01:00
Renovate Bot 5866bf837c Update dependency androidx.compose:compose-bom to v2026 2026-01-18 02:00:51 +00:00
bot 9c11c96c00 Merge pull request 'Update dependency @turf/turf to v7.3.2' (#371) from renovate/turf-turf-7.x-lockfile into main 2026-01-17 03:02:24 +01:00
Renovate Bot 6a13d7a779 Update dependency @turf/turf to v7.3.2 2026-01-17 02:02:23 +00:00
bot c71129d6a3 Merge pull request 'Update dependency gradle to v9.3.0' (#374) from renovate/gradle-9.x into main 2026-01-17 03:02:09 +01:00
Renovate Bot a588c8509d Update dependency gradle to v9.3.0 2026-01-17 02:01:57 +00:00
bot b93082dab1 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.10.1' (#373) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2026-01-16 03:01:25 +01:00
bot 495312e7cd Merge pull request 'Update dependency androidx.compose.material:material to v1.10.1' (#372) from renovate/androidx.compose.material-material-1.x into main 2026-01-16 03:01:23 +01:00
Renovate Bot 01d7903fa6 Update dependency androidx.compose.ui:ui-tooling to v1.10.1 2026-01-16 02:01:21 +00:00
Renovate Bot cf30d5f265 Update dependency androidx.compose.material:material to v1.10.1 2026-01-16 02:01:19 +00:00
bot 6294502850 Merge pull request 'Update dependency @turf/area to v7.3.2' (#370) from renovate/turf-area-7.x-lockfile into main 2026-01-15 03:01:03 +01:00
Renovate Bot 1b692865dc Update dependency @turf/area to v7.3.2 2026-01-15 02:00:58 +00:00
bot e20eee2f84 Merge pull request 'Lock file maintenance' (#369) from renovate/lock-file-maintenance into main 2026-01-11 03:01:13 +01:00
Renovate Bot 8d61249b6a Lock file maintenance 2026-01-11 02:01:11 +00:00
bot 2265e4f4cc Merge pull request 'Lock file maintenance' (#368) from renovate/lock-file-maintenance into main 2026-01-10 03:01:18 +01:00
Renovate Bot e6b290d991 Lock file maintenance 2026-01-10 02:01:15 +00:00
bot b4da9656d6 Merge pull request 'Lock file maintenance' (#367) from renovate/lock-file-maintenance into main 2026-01-03 13:23:19 +01:00
Renovate Bot 34079e700d Lock file maintenance 2026-01-03 12:23:17 +00:00
bot 910d1de178 Merge pull request 'Lock file maintenance' (#366) from renovate/lock-file-maintenance into main 2025-12-27 03:01:30 +01:00
Renovate Bot e2296859c5 Lock file maintenance 2025-12-27 02:01:28 +00:00
bot 267126e664 Merge pull request 'Update dependency jsdom to v27.4.0' (#365) from renovate/jsdom-27.x-lockfile into main 2025-12-27 03:01:05 +01:00
Renovate Bot fe0ee5c463 Update dependency jsdom to v27.4.0 2025-12-27 02:00:57 +00:00
bot 064be48564 Merge pull request 'Update plugin com.mikepenz.aboutlibraries.plugin to v13.2.1' (#364) from renovate/com.mikepenz.aboutlibraries.plugin-13.x into main 2025-12-21 03:01:07 +01:00
Renovate Bot b8a1a0e0bc Update plugin com.mikepenz.aboutlibraries.plugin to v13.2.1 2025-12-21 02:01:05 +00:00
bot fb30049f04 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v13.2.1' (#363) from renovate/com.mikepenz-aboutlibraries-core-13.x into main 2025-12-21 03:00:57 +01:00
Renovate Bot 4c6a556cc8 Update dependency com.mikepenz:aboutlibraries-core to v13.2.1 2025-12-21 02:00:51 +00:00
bot 2c45e4dfe4 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v13.2.1' (#362) from renovate/com.mikepenz-aboutlibraries-compose-m3-13.x into main 2025-12-20 03:01:04 +01:00
Renovate Bot c2eec3965f Update dependency com.mikepenz:aboutlibraries-compose-m3 to v13.2.1 2025-12-20 02:01:02 +00:00
bot dad18f6c0c Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v13.2.1' (#361) from renovate/com.mikepenz-aboutlibraries-13.x into main 2025-12-20 03:00:54 +01:00
Renovate Bot 3bf8705179 Update dependency com.mikepenz:aboutlibraries to v13.2.1 2025-12-20 02:00:47 +00:00
bot c1df3f6a92 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.0' (#360) from renovate/org.jetbrains.kotlin.plugin.serialization-2.x into main 2025-12-19 03:08:55 +01:00
Renovate Bot cfc5ba086a Update plugin org.jetbrains.kotlin.plugin.serialization to v2.3.0 2025-12-19 02:00:48 +00:00
bot 1431d384db Merge pull request 'Update dependency androidx.compose:compose-bom to v2025.12.01' (#359) from renovate/androidx.compose-compose-bom-2025.x into main 2025-12-18 03:00:55 +01:00
bot 9fad8233b2 Merge pull request 'Update dependency androidx.activity:activity-ktx to v1.12.2' (#358) from renovate/androidx.activity-activity-ktx-1.x into main 2025-12-18 03:00:51 +01:00
Renovate Bot b985b9dee0 Update dependency androidx.compose:compose-bom to v2025.12.01 2025-12-18 02:00:50 +00:00
Renovate Bot 22ced4b782 Update dependency androidx.activity:activity-ktx to v1.12.2 2025-12-18 02:00:47 +00:00
bot 64090e0eb1 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.0' (#357) from renovate/org.jetbrains.kotlin.plugin.compose-2.x into main 2025-12-17 03:09:59 +01:00
bot 11cf1787b2 Merge pull request 'Update plugin org.jetbrains.kotlin.android to v2.3.0' (#356) from renovate/org.jetbrains.kotlin.android-2.x into main 2025-12-17 03:09:50 +01:00
Renovate Bot 2ca47892c1 Update plugin org.jetbrains.kotlin.plugin.compose to v2.3.0 2025-12-17 02:09:48 +00:00
Renovate Bot ec71180c95 Update plugin org.jetbrains.kotlin.android to v2.3.0 2025-12-17 02:01:05 +00:00
bot db10def0fb Merge pull request 'Lock file maintenance' (#355) from renovate/lock-file-maintenance into main 2025-12-14 03:01:23 +01:00
Renovate Bot 38b0995523 Lock file maintenance 2025-12-14 02:01:20 +00:00
bot a1384e7594 Merge pull request 'Update plugin com.android.library to v8.13.2' (#353) from renovate/com.android.library-8.x into main 2025-12-13 03:01:30 +01:00
Renovate Bot fac01dc0ca Update plugin com.android.library to v8.13.2 2025-12-13 02:01:29 +00:00
bot 063649a5df Merge pull request 'Lock file maintenance' (#354) from renovate/lock-file-maintenance into main 2025-12-13 03:01:22 +01:00
Renovate Bot bb6baa3fe8 Lock file maintenance 2025-12-13 02:01:20 +00:00
bot 6e0b2632ff Merge pull request 'Update plugin com.android.application to v8.13.2' (#352) from renovate/com.android.application-8.x into main 2025-12-12 03:00:48 +01:00
Renovate Bot 33cd4c17da Update plugin com.android.application to v8.13.2 2025-12-12 02:00:45 +00:00
bot 62eb91bdf3 Merge pull request 'Update dependency jsdom to v27.3.0' (#351) from renovate/jsdom-27.x-lockfile into main 2025-12-09 03:01:06 +01:00
Renovate Bot 6a717ca652 Update dependency jsdom to v27.3.0 2025-12-09 02:01:00 +00:00
bot 0eb8337089 Merge pull request 'Lock file maintenance' (#350) from renovate/lock-file-maintenance into main 2025-12-07 03:01:51 +01:00
Renovate Bot a68eceab6d Lock file maintenance 2025-12-07 02:01:46 +00:00
bot 78fefa9bd2 Merge pull request 'Lock file maintenance' (#349) from renovate/lock-file-maintenance into main 2025-12-06 03:01:23 +01:00
Renovate Bot dcf8f05657 Lock file maintenance 2025-12-06 02:01:20 +00:00
bot 0a327cbea1 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.10.0' (#348) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2025-12-05 03:00:54 +01:00
bot 240669f9f2 Merge pull request 'Update dependency androidx.compose.material:material to v1.10.0' (#347) from renovate/androidx.compose.material-material-1.x into main 2025-12-05 03:00:52 +01:00
Renovate Bot b1c1fe78f3 Update dependency androidx.compose.ui:ui-tooling to v1.10.0 2025-12-05 02:00:50 +00:00
Renovate Bot afab88a939 Update dependency androidx.compose.material:material to v1.10.0 2025-12-05 02:00:48 +00:00
bot 0b5669cb52 Merge pull request 'Update dependency androidx.compose:compose-bom to v2025.12.00' (#346) from renovate/androidx.compose-compose-bom-2025.x into main 2025-12-04 03:00:51 +01:00
bot e7af455803 Merge pull request 'Update dependency androidx.activity:activity-ktx to v1.12.1' (#345) from renovate/androidx.activity-activity-ktx-1.x into main 2025-12-04 03:00:50 +01:00
Renovate Bot ca8231d988 Update dependency androidx.compose:compose-bom to v2025.12.00 2025-12-04 02:00:49 +00:00
Renovate Bot 1cf43f41d3 Update dependency androidx.activity:activity-ktx to v1.12.1 2025-12-04 02:00:46 +00:00
bot 52d2aa37fa Merge pull request 'Lock file maintenance' (#344) from renovate/lock-file-maintenance into main 2025-11-30 03:01:05 +01:00
Renovate Bot b1a96d1003 Lock file maintenance 2025-11-30 02:01:03 +00:00
bot d858795a54 Merge pull request 'Lock file maintenance' (#343) from renovate/lock-file-maintenance into main 2025-11-29 03:01:27 +01:00
Renovate Bot dbec6ade39 Lock file maintenance 2025-11-29 02:01:25 +00:00
bot 937cd31bac Merge pull request 'Update dependency @turf/area to v7.3.1' (#341) from renovate/turf-area-7.x-lockfile into main 2025-11-28 03:01:01 +01:00
Renovate Bot ad03d60934 Update dependency @turf/area to v7.3.1 2025-11-28 02:00:56 +00:00
bot 55f9e52c19 Merge pull request 'Lock file maintenance' (#340) from renovate/lock-file-maintenance into main 2025-11-23 03:01:24 +01:00
Renovate Bot af7ebfc6fb Lock file maintenance 2025-11-23 02:01:22 +00:00
bot 2b3c4cea80 Merge pull request 'Lock file maintenance' (#339) from renovate/lock-file-maintenance into main 2025-11-22 03:01:39 +01:00
Renovate Bot 16bfc6cbba Lock file maintenance 2025-11-22 02:01:38 +00:00
bot aa0dfa23fa Merge pull request 'Update actions/checkout action to v6' (#338) from renovate/actions-checkout-6.x into main 2025-11-22 03:00:50 +01:00
Renovate Bot 4c245337bd Update actions/checkout action to v6 2025-11-22 02:00:48 +00:00
bot 00adc184d7 Merge pull request 'Update dependency androidx.activity:activity-ktx to v1.12.0' (#337) from renovate/androidx.activity-activity-ktx-1.x into main 2025-11-21 03:00:58 +01:00
bot 32210875c4 Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.9.5' (#336) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2025-11-21 03:00:54 +01:00
Renovate Bot 63a10cbd12 Update dependency androidx.activity:activity-ktx to v1.12.0 2025-11-21 02:00:52 +00:00
Renovate Bot 43cca9e874 Update dependency androidx.compose.ui:ui-tooling to v1.9.5 2025-11-21 02:00:49 +00:00
bot d97c63f75f Merge pull request 'Update dependency androidx.compose.material:material to v1.9.5' (#335) from renovate/androidx.compose.material-material-1.x into main 2025-11-20 03:00:52 +01:00
bot 50e5e74f59 Merge pull request 'Update dependency androidx.compose:compose-bom to v2025.11.01' (#334) from renovate/androidx.compose-compose-bom-2025.x into main 2025-11-20 03:00:51 +01:00
Renovate Bot 94561e2f96 Update dependency androidx.compose.material:material to v1.9.5 2025-11-20 02:00:50 +00:00
Renovate Bot 23513fc8fb Update dependency androidx.compose:compose-bom to v2025.11.01 2025-11-20 02:00:48 +00:00
bot bea9bb0b96 Merge pull request 'Update dependency @turf/turf to v7.3.0' (#333) from renovate/turf-turf-7.x-lockfile into main 2025-11-19 03:01:22 +01:00
Renovate Bot 0da8f01a92 Update dependency @turf/turf to v7.3.0 2025-11-19 02:01:17 +00:00
bot ede977452d Merge pull request 'Update dependency @turf/area to v7.3.0' (#332) from renovate/turf-area-7.x-lockfile into main 2025-11-18 03:02:02 +01:00
Renovate Bot e12494e5ed Update dependency @turf/area to v7.3.0 2025-11-18 02:01:57 +00:00
bot 1c7c66ee50 Merge pull request 'Update dependency gradle to v9.2.1' (#331) from renovate/gradle-9.x into main 2025-11-18 03:01:47 +01:00
Renovate Bot 88f86c75c8 Update dependency gradle to v9.2.1 2025-11-18 02:01:31 +00:00
bot 036db580f5 Merge pull request 'Lock file maintenance' (#330) from renovate/lock-file-maintenance into main 2025-11-15 03:01:49 +01:00
Renovate Bot 6dcd4a9e25 Lock file maintenance 2025-11-15 02:01:38 +00:00
bot da276fb8f8 Merge pull request 'Update dependency jsdom to v27.2.0' (#329) from renovate/jsdom-27.x-lockfile into main 2025-11-13 03:01:17 +01:00
Renovate Bot 05301b7bd5 Update dependency jsdom to v27.2.0 2025-11-13 02:01:09 +00:00
bot 78c35c28b3 Merge pull request 'Update plugin com.android.library to v8.13.1' (#328) from renovate/com.android.library-8.x into main 2025-11-12 03:01:00 +01:00
Renovate Bot 863ede58b4 Update plugin com.android.library to v8.13.1 2025-11-12 02:00:55 +00:00
bot 7d6692b17a Merge pull request 'Update plugin com.android.application to v8.13.1' (#327) from renovate/com.android.application-8.x into main 2025-11-11 03:00:58 +01:00
Renovate Bot 4f31eadbd4 Update plugin com.android.application to v8.13.1 2025-11-11 02:00:55 +00:00
bot 56d2d2684d Merge pull request 'Lock file maintenance' (#326) from renovate/lock-file-maintenance into main 2025-11-09 03:01:23 +01:00
Renovate Bot 0668c65bfe Lock file maintenance 2025-11-09 02:01:20 +00:00
bot abe3d5e958 Merge pull request 'Lock file maintenance' (#325) from renovate/lock-file-maintenance into main 2025-11-08 03:01:20 +01:00
Renovate Bot 7379e27f90 Lock file maintenance 2025-11-08 02:01:18 +00:00
bot be8b297235 Merge pull request 'Update dependency androidx.compose:compose-bom to v2025.11.00' (#324) from renovate/androidx.compose-compose-bom-2025.x into main 2025-11-06 03:01:58 +01:00
bot 64ad296815 Merge pull request 'Update dependency androidx.navigation:navigation-compose to v2.9.6' (#323) from renovate/androidx.navigation-navigation-compose-2.x into main 2025-11-06 03:01:49 +01:00
Renovate Bot 17266f3c0b Update dependency androidx.compose:compose-bom to v2025.11.00 2025-11-06 02:01:46 +00:00
Renovate Bot 0d9cae6550 Update dependency androidx.navigation:navigation-compose to v2.9.6 2025-11-06 02:01:38 +00:00
bot 41c1eb1257 Merge pull request 'Lock file maintenance' (#322) from renovate/lock-file-maintenance into main 2025-11-01 03:02:17 +01:00
Renovate Bot 4a6164ac84 Lock file maintenance 2025-11-01 02:02:15 +00:00
bot aec008e7be Merge pull request 'Update dependency jsdom to v27.1.0' (#321) from renovate/jsdom-27.x-lockfile into main 2025-11-01 03:01:24 +01:00
Renovate Bot 0d76b994a2 Update dependency jsdom to v27.1.0 2025-11-01 02:01:15 +00:00
bot 14bfaabb11 Merge pull request 'Update dependency gradle to v9.2.0' (#320) from renovate/gradle-9.x into main 2025-10-30 03:01:38 +01:00
Renovate Bot d77c5ec391 Update dependency gradle to v9.2.0 2025-10-30 02:01:23 +00:00
bot b793ac7a6e Merge pull request 'Lock file maintenance' (#319) from renovate/lock-file-maintenance into main 2025-10-26 03:01:47 +01:00
Renovate Bot d04e78694c Lock file maintenance 2025-10-26 02:01:40 +00:00
bot d6dd4e6b96 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.serialization to v2.2.21' (#318) from renovate/org.jetbrains.kotlin.plugin.serialization-2.x into main 2025-10-25 04:09:16 +02:00
Renovate Bot 44e5c54c77 Update plugin org.jetbrains.kotlin.plugin.serialization to v2.2.21 2025-10-25 02:09:08 +00:00
bot bdb49cd085 Merge pull request 'Update plugin org.jetbrains.kotlin.plugin.compose to v2.2.21' (#317) from renovate/org.jetbrains.kotlin.plugin.compose-2.x into main 2025-10-25 04:08:56 +02:00
Renovate Bot e76aca71eb Update plugin org.jetbrains.kotlin.plugin.compose to v2.2.21 2025-10-25 02:01:01 +00:00
bot 98321b4c3b Merge pull request 'Update plugin org.jetbrains.kotlin.android to v2.2.21' (#316) from renovate/org.jetbrains.kotlin.android-2.x into main 2025-10-24 04:06:06 +02:00
bot b082fc44dc Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.9.4' (#315) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2025-10-24 04:00:59 +02:00
Renovate Bot 0776814283 Update plugin org.jetbrains.kotlin.android to v2.2.21 2025-10-24 02:00:57 +00:00
Renovate Bot 3a9718d1a7 Update dependency androidx.compose.ui:ui-tooling to v1.9.4 2025-10-24 02:00:55 +00:00
bot d9ef921a43 Merge pull request 'Update dependency androidx.compose.material:material to v1.9.4' (#314) from renovate/androidx.compose.material-material-1.x into main 2025-10-23 04:00:52 +02:00
bot c415e8a829 Merge pull request 'Update dependency androidx.compose:compose-bom to v2025.10.01' (#313) from renovate/androidx.compose-compose-bom-2025.x into main 2025-10-23 04:00:50 +02:00
Renovate Bot daa291d5de Update dependency androidx.compose.material:material to v1.9.4 2025-10-23 02:00:50 +00:00
Renovate Bot d2987ebe1e Update dependency androidx.compose:compose-bom to v2025.10.01 2025-10-23 02:00:47 +00:00
bot ed32fd1183 Merge pull request 'Lock file maintenance' (#312) from renovate/lock-file-maintenance into main 2025-10-19 04:01:44 +02:00
Renovate Bot 83b1ec9c92 Lock file maintenance 2025-10-19 02:01:42 +00:00
bot 5e982e93ee Merge pull request 'Update dependency jsdom to v27.0.1' (#311) from renovate/jsdom-27.x-lockfile into main 2025-10-19 04:01:10 +02:00
Renovate Bot 846081536d Update dependency jsdom to v27.0.1 2025-10-19 02:01:03 +00:00
bot 9f2f7844f9 Merge pull request 'Lock file maintenance' (#310) from renovate/lock-file-maintenance into main 2025-10-18 04:01:33 +02:00
Renovate Bot 9966bba33c Lock file maintenance 2025-10-18 02:01:31 +00:00
bot ae59b054c9 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v13.1.0' (#308) from renovate/com.mikepenz-aboutlibraries-core-13.x into main 2025-10-18 04:00:51 +02:00
Renovate Bot 8bed6b040b Update dependency com.mikepenz:aboutlibraries-core to v13.1.0 2025-10-16 02:00:51 +00:00
bot d1933ec661 Merge pull request 'Update plugin com.mikepenz.aboutlibraries.plugin to v13' (#309) from renovate/com.mikepenz.aboutlibraries.plugin-13.x into main 2025-10-15 04:01:20 +02:00
Renovate Bot b40932624a Update plugin com.mikepenz.aboutlibraries.plugin to v13 2025-10-15 02:01:17 +00:00
bot 6c5e727c67 Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v13.1.0' (#307) from renovate/com.mikepenz-aboutlibraries-compose-m3-13.x into main 2025-10-15 04:01:15 +02:00
Renovate Bot 6420ae2f13 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v13.1.0 2025-10-15 02:01:07 +00:00
bot 91b234777d Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v13.1.0' (#306) from renovate/com.mikepenz-aboutlibraries-13.x into main 2025-10-14 04:01:25 +02:00
Renovate Bot b1a646f1f2 Update dependency com.mikepenz:aboutlibraries to v13.1.0 2025-10-14 02:01:17 +00:00
bot 89134681f3 Merge pull request 'Lock file maintenance' (#305) from renovate/lock-file-maintenance into main 2025-10-12 04:01:39 +02:00
Renovate Bot 3b670b8ce2 Lock file maintenance 2025-10-12 02:01:36 +00:00
bot b0ba07a7fb Merge pull request 'Update dependency com.mikepenz:aboutlibraries-core to v13' (#304) from renovate/com.mikepenz-aboutlibraries-core-13.x into main 2025-10-12 04:00:55 +02:00
Renovate Bot 07adda1d74 Update dependency com.mikepenz:aboutlibraries-core to v13 2025-10-12 02:00:48 +00:00
bot 6a86d05bad Merge pull request 'Update dependency com.mikepenz:aboutlibraries-compose-m3 to v13' (#303) from renovate/com.mikepenz-aboutlibraries-compose-m3-13.x into main 2025-10-11 04:01:08 +02:00
Renovate Bot dc94c465d6 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v13 2025-10-11 02:01:06 +00:00
bot 950bfbb42e Merge pull request 'Update dependency com.mikepenz:aboutlibraries to v13' (#302) from renovate/com.mikepenz-aboutlibraries-13.x into main 2025-10-11 04:00:57 +02:00
Renovate Bot 927ac05f03 Update dependency com.mikepenz:aboutlibraries to v13 2025-10-11 02:00:51 +00:00
bot d6d84c6892 Merge pull request 'Update dependency androidx.compose:compose-bom to v2025.10.00' (#301) from renovate/androidx.compose-compose-bom-2025.x into main 2025-10-10 04:00:51 +02:00
Renovate Bot a34c1dbb11 Update dependency androidx.compose:compose-bom to v2025.10.00 2025-10-10 02:00:48 +00:00
bot 6df13a044b Merge pull request 'Update dependency androidx.compose.ui:ui-tooling to v1.9.3' (#300) from renovate/androidx.compose.ui-ui-tooling-1.x into main 2025-10-09 04:00:57 +02:00
bot 68fb0023da Merge pull request 'Update dependency androidx.compose.material:material to v1.9.3' (#299) from renovate/androidx.compose.material-material-1.x into main 2025-10-09 04:00:53 +02:00
Renovate Bot 686982c096 Update dependency androidx.compose.ui:ui-tooling to v1.9.3 2025-10-09 02:00:52 +00:00
Renovate Bot 84898895df Update dependency androidx.compose.material:material to v1.9.3 2025-10-09 02:00:49 +00:00
soraefir 472237ba8f wip 2025-10-07 22:38:21 +02:00
Renovate Bot 2ae7e1fb8c Lock file maintenance 2025-10-04 02:00:41 +00:00
Renovate Bot ed4d751dce Update dependency mapshaper to v0.6.113 2025-10-01 02:00:38 +00:00
Renovate Bot b5274d2113 Lock file maintenance 2025-09-28 02:00:47 +00:00
Renovate Bot d7ad8ebd74 Lock file maintenance 2025-09-27 02:01:04 +00:00
Renovate Bot 43a521de16 Update dependency androidx.compose.material3:material3 to v1.4.0 2025-09-27 02:00:37 +00:00
Renovate Bot 4cf8c497a8 Update dependency androidx.navigation:navigation-compose to v2.9.5 2025-09-26 04:00:37 +02:00
Renovate Bot fd57b5dee4 Update dependency androidx.compose.ui:ui-tooling to v1.9.2 2025-09-26 02:00:30 +00:00
Renovate Bot 49b80dc3b9 Update dependency androidx.compose.material:material to v1.9.2 2025-09-25 04:00:37 +02:00
Renovate Bot c0e3943700 Update dependency androidx.compose:compose-bom to v2025.09.01 2025-09-25 02:00:27 +00:00
34 changed files with 6015 additions and 18119 deletions
+12 -7
View File
@@ -23,8 +23,10 @@ jobs:
contents: write contents: write
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v7
with:
fetch-depth: 0
- name: set up secrets - name: set up secrets
run: | run: |
echo "${{ secrets.RELEASE_KEYSTORE }}" > keystore.asc echo "${{ secrets.RELEASE_KEYSTORE }}" > keystore.asc
@@ -32,7 +34,6 @@ 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
- name: create and checkout branch - name: create and checkout branch
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
@@ -43,15 +44,19 @@ jobs:
- name: set up JDK - name: set up JDK
uses: actions/setup-java@v5 uses: actions/setup-java@v5
with: with:
java-version: 17 java-version: 21
distribution: "temurin" distribution: "temurin"
cache: 'gradle'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Build APK - name: Build APK
run: ./gradlew assembleSignedRelease run: |
VERSION_CODE=$(git rev-list --count HEAD)
./gradlew assembleSignedRelease -PVERSION_CODE=$VERSION_CODE
- name: Release - name: Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
with: with:
files: | files: |
+3 -1
View File
@@ -5,6 +5,8 @@
<p>A virtual scratchmap of the world</p> <p>A virtual scratchmap of the world</p>
<a href="https://ko-fi.com/I2I615VP5M"><img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="ko-fi"></a>
<br>
<img src="https://forthebadge.com/images/badges/built-for-android.svg" alt="Built for Android"> <img src="https://forthebadge.com/images/badges/built-for-android.svg" alt="Built for Android">
<img src="https://forthebadge.com/images/badges/built-with-love.svg" alt="Built with love"> <img src="https://forthebadge.com/images/badges/built-with-love.svg" alt="Built with love">
<br> <br>
@@ -71,7 +73,7 @@ Thanks to all contributors, the developers of our dependencies, and our users.
## 📝 License ## 📝 License
``` ```
Copyright (C) 2024 Helcel & MYDOLI Copyright (C) 2026 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
+32 -31
View File
@@ -1,27 +1,25 @@
plugins { plugins {
id 'com.android.application' id 'com.android.application'
id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.plugin.serialization' version '2.4.0'
id 'org.jetbrains.kotlin.plugin.serialization' version '2.2.20' id 'org.jetbrains.kotlin.plugin.compose' version '2.4.0'
id 'org.jetbrains.kotlin.plugin.compose' version '2.2.20' id 'com.mikepenz.aboutlibraries.plugin' version '15.0.3'
id 'com.mikepenz.aboutlibraries.plugin' version '12.2.4'
} }
android { android {
namespace 'net.helcel.beans' namespace 'net.helcel.beans'
compileSdk 36 compileSdk = 37
defaultConfig { defaultConfig {
buildConfigField("String", "APP_NAME", "\"Beans\"") buildConfigField("String", "APP_NAME", "\"Beans\"")
manifestPlaceholders["APP_NAME"] = "Beans" manifestPlaceholders["APP_NAME"] = "Beans"
applicationId 'net.helcel.beans' applicationId 'net.helcel.beans'
minSdk 28 minSdk = 28
targetSdk 36 targetSdk = 37
versionCode 4 versionName "1.3b"
versionName "1.1a" versionCode project.hasProperty('VERSION_CODE') ? project.property('VERSION_CODE').toInteger() : 1
} }
signingConfigs { signingConfigs {
create("release") { register("release") {
try { try {
def keystorePropertiesFile = rootProject.file("app/keystore.properties") def keystorePropertiesFile = rootProject.file("app/keystore.properties")
def keystoreProperties = new Properties() def keystoreProperties = new Properties()
@@ -36,20 +34,18 @@ android {
} }
} }
} }
buildTypes { buildTypes {
debug { debug {
debuggable true debuggable true
} }
release { release {
minifyEnabled true minifyEnabled true
shrinkResources false shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }
signedRelease { signedRelease {
minifyEnabled true minifyEnabled true
shrinkResources false shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig = signingConfigs.getByName("release") signingConfig = signingConfigs.getByName("release")
} }
@@ -78,10 +74,6 @@ android {
kotlinCompilerExtensionVersion = "2.2.20" kotlinCompilerExtensionVersion = "2.2.20"
} }
kotlin {
jvmToolchain(21)
}
lint { lint {
disable 'UsingMaterialAndMaterial3Libraries' disable 'UsingMaterialAndMaterial3Libraries'
} }
@@ -91,30 +83,39 @@ aboutLibraries {
library { library {
exclusionPatterns = [~"androidx.*", ~"com.google.android.*", ~"org.jetbrains.*"] exclusionPatterns = [~"androidx.*", ~"com.google.android.*", ~"org.jetbrains.*"]
} }
excludeFields = ["generated"]
} }
dependencies { dependencies {
implementation 'androidx.compose.material3:material3:1.3.2' implementation 'androidx.compose.material3:material3:1.4.0'
implementation 'androidx.navigation:navigation-compose:2.9.4' implementation "androidx.compose.material:material:1.11.4"
implementation 'androidx.compose.material:material-icons-extended:1.7.8'
implementation 'androidx.navigation:navigation-compose:2.9.8'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.1.5' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.1.5'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.11.0'
implementation 'androidx.preference:preference-ktx:1.2.1' implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'androidx.compose.ui:ui' implementation 'androidx.compose.ui:ui'
implementation "androidx.compose.material:material:1.9.1" implementation "androidx.activity:activity-ktx:1.13.0"
implementation "androidx.activity:activity-ktx:1.11.0"
implementation 'androidx.compose.ui:ui-tooling-preview' implementation 'androidx.compose.ui:ui-tooling-preview'
implementation 'com.google.android.material:material:1.13.0' implementation 'com.google.android.material:material:1.14.0'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0' implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.11.0'
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:12.2.4' implementation 'com.mikepenz:aboutlibraries:14.2.1'
implementation 'com.mikepenz:aboutlibraries-compose-m3:12.2.4' implementation 'com.mikepenz:aboutlibraries-compose-m3:15.0.3'
implementation 'com.mikepenz:aboutlibraries-core:12.2.4' implementation 'com.mikepenz:aboutlibraries-core:15.0.3'
implementation platform('androidx.compose:compose-bom:2025.09.00') implementation platform('androidx.compose:compose-bom:2026.06.01')
debugImplementation 'androidx.compose.ui:ui-tooling:1.9.1' debugImplementation 'androidx.compose.ui:ui-tooling:1.11.4'
}
tasks.configureEach { task ->
if (task.name.startsWith("merge") && task.name.endsWith("Assets")) {
task.outputs.upToDateWhen { false }
}
} }
+1 -2
View File
@@ -8,8 +8,7 @@
android:hardwareAccelerated="false" android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher_round" android:icon="@mipmap/ic_launcher_round"
android:label="${APP_NAME}" android:label="${APP_NAME}"
android:supportsRtl="true" android:supportsRtl="true">
tools:replace="android:allowBackup">
<activity <activity
android:name=".activity.MainScreen" android:name=".activity.MainScreen"
android:exported="true"> android:exported="true">
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.1 MiB

After

Width:  |  Height:  |  Size: 3.9 MiB

File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.0 MiB

After

Width:  |  Height:  |  Size: 3.7 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.1 MiB

After

Width:  |  Height:  |  Size: 4.0 MiB

@@ -19,13 +19,15 @@ import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import net.helcel.beans.R import net.helcel.beans.R
import net.helcel.beans.activity.sub.EditPlaceScreen import net.helcel.beans.activity.sub.EditPlaceScreen
import net.helcel.beans.countries.World import net.helcel.beans.countries.World
@Preview
@Composable @Composable
fun EditScreen(onExit:()->Unit) { fun EditScreen(onExit:()->Unit = {}) {
SysTheme { SysTheme {
Scaffold( Scaffold(
topBar = { topBar = {
@@ -9,19 +9,23 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.material.Icon import androidx.compose.material.Icon
import androidx.compose.material.IconButton import androidx.compose.material.IconButton
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Scaffold import androidx.compose.material.Scaffold
import androidx.compose.material.Surface
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.material.TopAppBar import androidx.compose.material.TopAppBar
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.DateRange
import androidx.compose.material.icons.filled.Edit import androidx.compose.material.icons.filled.Edit
import androidx.compose.material.icons.filled.Percent
import androidx.compose.material.icons.filled.Settings import androidx.compose.material.icons.filled.Settings
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.viewinterop.AndroidView
import androidx.navigation.NavHostController import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost import androidx.navigation.compose.NavHost
@@ -46,12 +50,12 @@ class MainScreen : ComponentActivity() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
actionBar?.hide() actionBar?.hide()
Settings.start(this) Settings.start(this)
GeoLocImporter.importStates(this)
Data.loadData(this, Int.MIN_VALUE) Data.loadData(this, Int.MIN_VALUE)
GeoLocImporter.importStates(this)
setContent { setContent {
SysTheme { SysTheme {
Box(modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.background)) { Box(modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.primary).statusBarsPadding(),) {
AppNavHost(psvg, css) AppNavHost(psvg, css)
} }
} }
@@ -82,7 +86,7 @@ class MainScreen : ComponentActivity() {
Icon(Icons.Default.Edit, contentDescription = "Edit") Icon(Icons.Default.Edit, contentDescription = "Edit")
} }
IconButton(onClick = { nav.navigate("stats") }){ IconButton(onClick = { nav.navigate("stats") }){
Icon(Icons.Default.DateRange, contentDescription = "Stats") Icon(Icons.Default.Percent, contentDescription = "Stats")
} }
IconButton(onClick = { nav.navigate("settings") }) { IconButton(onClick = { nav.navigate("settings") }) {
Icon(Icons.Default.Settings, contentDescription = "Settings") Icon(Icons.Default.Settings, contentDescription = "Settings")
@@ -110,6 +114,7 @@ class MainScreen : ComponentActivity() {
PhotoView(ctx).apply { PhotoView(ctx).apply {
setLayerType(ImageView.LAYER_TYPE_SOFTWARE, null) setLayerType(ImageView.LAYER_TYPE_SOFTWARE, null)
setImageDrawable(drawable) setImageDrawable(drawable)
maximumScale = 32f
scaleType = ImageView.ScaleType.FIT_CENTER scaleType = ImageView.ScaleType.FIT_CENTER
} }
}, modifier = Modifier.fillMaxSize()) }, modifier = Modifier.fillMaxSize())
@@ -118,9 +118,10 @@ fun settingsNav(): NavHostController {
return navController return navController
} }
@Preview
@Composable @Composable
fun SettingsMainScreen(onExit: ()->Unit = {}) { fun SettingsMainScreen(onExit: ()->Unit = {}) {
var nav: NavHostController? = null val nav: NavHostController = settingsNav()
SysTheme { SysTheme {
Scaffold( Scaffold(
topBar = { topBar = {
@@ -128,7 +129,7 @@ fun SettingsMainScreen(onExit: ()->Unit = {}) {
title = { Text(stringResource(R.string.action_settings)) }, title = { Text(stringResource(R.string.action_settings)) },
navigationIcon = { navigationIcon = {
IconButton(onClick = { IconButton(onClick = {
if(nav!=null && !nav!!.popBackStack()) if(!nav.popBackStack())
onExit() onExit()
}) { }) {
Icon( Icon(
@@ -141,29 +142,36 @@ fun SettingsMainScreen(onExit: ()->Unit = {}) {
} }
) { innerPadding -> ) { innerPadding ->
Box(modifier = Modifier.padding(innerPadding)) { Box(modifier = Modifier.padding(innerPadding)) {
nav = settingsNav() SettingsScreen()
} }
} }
} }
} }
@Preview
@Composable @Composable
fun SettingsScreen(navController: NavHostController = settingsNav()) { fun SettingsScreen(navController: NavHostController = settingsNav()) {
val context = LocalContext.current val context = LocalContext.current
val prefs = PreferenceManager.getDefaultSharedPreferences(context) val prefs = PreferenceManager.getDefaultSharedPreferences(context)
val keyTheme = stringResource(R.string.key_theme)
val defaultTheme = stringResource(R.string.system)
val keyProjection = stringResource(R.string.key_projection)
val keyGroup = stringResource(R.string.key_group)
val offString = stringResource(R.string.off)
var showEdit by remember { mutableStateOf(false) } var showEdit by remember { mutableStateOf(false) }
var theme by remember { mutableStateOf(prefs.getString(context.getString(R.string.key_theme), context.getString(R.string.system))!!) } var theme by remember { mutableStateOf(prefs.getString(keyTheme, defaultTheme)!!) }
var projection by remember { mutableStateOf(prefs.getString(context.getString(R.string.key_projection), "default")!!) } var projection by remember { mutableStateOf(prefs.getString(keyProjection, "default")!!) }
var groups by remember { mutableStateOf(prefs.getString(context.getString(R.string.key_group), context.getString(R.string.off))!!) } var groups by remember { mutableStateOf(prefs.getString(keyGroup,offString)!!) }
if(showEdit) if(showEdit)
EditPlaceDialog(true) { EditPlaceDialog(true) {
showEdit = false showEdit = false
val g = Data.selected_group val g = Data.selected_group
if (it && g != null) if (it && g != null) {
Data.visits.reassignAllVisitedToGroup(g.key) Data.visits.reassignAllVisitedToGroup(g.key)
Data.saveData()
}
} }
LazyColumn( LazyColumn(
@@ -179,7 +187,7 @@ fun SettingsScreen(navController: NavHostController = settingsNav()) {
) )
MultiPreference(arrayOf(stringResource(R.string.system),stringResource(R.string.light),stringResource(R.string.dark)), theme) { newTheme -> MultiPreference(arrayOf(stringResource(R.string.system),stringResource(R.string.light),stringResource(R.string.dark)), theme) { newTheme ->
theme = newTheme theme = newTheme
prefs.edit { putString(context.getString(R.string.key_theme), newTheme) } prefs.edit { putString(keyTheme, newTheme) }
} }
HorizontalDivider() HorizontalDivider()
} }
@@ -192,7 +200,7 @@ fun SettingsScreen(navController: NavHostController = settingsNav()) {
) )
MultiPreference(arrayOf(stringResource(R.string.mercator), stringResource(R.string.azimuthalequidistant)), projection) { newProj -> MultiPreference(arrayOf(stringResource(R.string.mercator), stringResource(R.string.azimuthalequidistant)), projection) { newProj ->
projection = newProj projection = newProj
prefs.edit { putString(context.getString(R.string.key_projection), newProj) } prefs.edit { putString(keyProjection, newProj) }
Settings.refreshProjection() Settings.refreshProjection()
} }
HorizontalDivider() HorizontalDivider()
@@ -210,8 +218,10 @@ fun SettingsScreen(navController: NavHostController = settingsNav()) {
deleteMode = true, deleteMode = true,
onDismiss = { onDismiss = {
val g = Data.selected_group val g = Data.selected_group
if (g != null) if (g != null) {
Data.visits.reassignAllVisitedToGroup(g.key) Data.visits.reassignAllVisitedToGroup(g.key)
Data.saveData()
}
showDialog = false showDialog = false
}) })
} }
@@ -219,11 +229,11 @@ fun SettingsScreen(navController: NavHostController = settingsNav()) {
arrayOf(stringResource(R.string.on), stringResource(R.string.off)), arrayOf(stringResource(R.string.on), stringResource(R.string.off)),
groups groups
) { key -> ) { key ->
if (key == context.getString(R.string.off)) { if (key == offString) {
showDialog=true showDialog=true
} }
groups = key groups = key
prefs.edit { putString(context.getString(R.string.key_group), key) } prefs.edit { putString(keyGroup, key) }
} }
HorizontalDivider() HorizontalDivider()
} }
@@ -283,9 +293,13 @@ fun SettingsScreen(navController: NavHostController = settingsNav()) {
@Composable @Composable
fun RegionalScreen() { fun RegionalScreen() {
val context = LocalContext.current val context = LocalContext.current
val keyRegional = stringResource(R.string.key_regional)
val offString = stringResource(R.string.off)
val onString = stringResource(R.string.on)
val prefs = PreferenceManager.getDefaultSharedPreferences(context) val prefs = PreferenceManager.getDefaultSharedPreferences(context)
var selected by remember { mutableStateOf(prefs.getString(context.getString(R.string.key_regional),context.getString(R.string.off))!!)} var selected by remember { mutableStateOf(prefs.getString(keyRegional, offString)!!)}
var regional by remember{ mutableStateOf(prefs.getString(context.getString(R.string.key_regional), context.getString(R.string.off))!!)} var regional by remember{ mutableStateOf(prefs.getString(keyRegional, offString)!!)}
var showDialog by remember{mutableStateOf(false)} var showDialog by remember{mutableStateOf(false)}
var showLoad by remember{mutableStateOf(false)} var showLoad by remember{mutableStateOf(false)}
@@ -305,7 +319,7 @@ fun RegionalScreen() {
regional= selected regional= selected
prefs.edit { prefs.edit {
putString( putString(
context.getString(R.string.key_regional), keyRegional,
regional regional
) )
} }
@@ -332,12 +346,12 @@ fun RegionalScreen() {
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
MultiPreference(arrayOf(stringResource(R.string.on),stringResource(R.string.off)),regional) { key -> MultiPreference(arrayOf(stringResource(R.string.on),stringResource(R.string.off)),regional) { key ->
when (key) { when (key) {
context.getString(R.string.off) -> { showDialog=true offString -> { showDialog=true
selected=key selected=key
} }
context.getString(R.string.on) -> { onString -> {
regional = key regional = key
prefs.edit { putString(context.getString(R.string.key_regional), key) } prefs.edit { putString(keyRegional, key) }
showLoad=true showLoad=true
scope.launch { scope.launch {
withContext(Dispatchers.IO) { withContext(Dispatchers.IO) {
@@ -354,7 +368,7 @@ fun RegionalScreen() {
@Composable @Composable
fun MultiPreference(list: Array<String>, selected: String, onSelected: (String) -> Unit) { fun MultiPreference(list: Array<String>, selected: String, onSelected: (String) -> Unit) {
Column(Modifier.padding(2.dp)) { Column(Modifier.padding(2.dp)) {
list.map { value -> list.forEach { value ->
Row( Row(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier modifier = Modifier
@@ -115,7 +115,6 @@ fun StatsList(activeMode: LocType, countMode: Boolean) {
@Composable @Composable
fun StatsRow(group: Groups.Group, activeMode: LocType, countMode: Boolean) { fun StatsRow(group: Groups.Group, activeMode: LocType, countMode: Boolean) {
val context = LocalContext.current
val visited = remember(group, activeMode) { val visited = remember(group, activeMode) {
Data.visits.getVisitedByValue(group.key) Data.visits.getVisitedByValue(group.key)
@@ -124,18 +123,18 @@ fun StatsRow(group: Groups.Group, activeMode: LocType, countMode: Boolean) {
val count = when (activeMode) { val count = when (activeMode) {
LocType.WORLD -> World.WWW.children.filter { it.code in visited }.size LocType.WORLD -> World.WWW.children.filter { it.code in visited }.size
LocType.COUNTRY -> World.WWW.children.flatMap { it.children.filter { c -> c.code in visited } }.size LocType.COUNTRY -> World.WWW.children.flatMap { it.children.filter { c -> c.code in visited } }.size
LocType.STATE -> World.WWW.children.flatMap { itc->itc.children.flatMap { it.children.filter { it.code in visited } } }.size LocType.STATE -> World.WWW.children.flatMap { a->a.children.flatMap { b->b.children.filter { c->c.code in visited } } }.size
else -> 0 else -> 0
} }
val area = when (activeMode) { val area = when (activeMode) {
LocType.WORLD -> World.WWW.children.filter { it.code in visited }.sumOf { it.area } LocType.WORLD -> World.WWW.children.filter { it.code in visited }.sumOf { it.area }
LocType.COUNTRY -> World.WWW.children.flatMap { it.children.filter { c -> c.code in visited } }.sumOf { it.area } LocType.COUNTRY -> World.WWW.children.flatMap { it.children.filter { c -> c.code in visited } }.sumOf { it.area }
LocType.STATE -> World.WWW.children.flatMap { it.children.flatMap { it.children.filter { it.code in visited } } }.sumOf { it.area } LocType.STATE -> World.WWW.children.flatMap { a->a.children.flatMap { b->b.children.filter { c->c.code in visited } } }.sumOf { it.area }
else -> 0 else -> 0
} }
val displayValue = if (countMode) count.toString() else context.getString(R.string.number_with_unit, area, "km²") val displayValue = if (countMode) count.toString() else stringResource(R.string.number_with_unit, area, "km²")
val backgroundColor = group.color.color val backgroundColor = group.color.color
val textColor = getContrastColor(backgroundColor) val textColor = getContrastColor(backgroundColor)
@@ -54,27 +54,51 @@ fun EditPlaceScreenPreview(){
EditPlaceScreen(Group.EEE) EditPlaceScreen(Group.EEE)
} }
fun syncVisited(loc: GeoLoc?=World.WWW){ fun syncVisited(loc: GeoLoc?=World.WWW): Boolean {
var changed = false
loc?.children?.forEach { tt -> loc?.children?.forEach { tt ->
tt.children.forEach {itc-> tt.children.forEach {itc->
if(Data.visits.getVisited(itc) in listOf(AUTO_GROUP,NO_GROUP)) { if(Data.visits.getVisited(itc) in listOf(AUTO_GROUP,NO_GROUP)) {
if(itc.children.any { itcc -> Data.visits.getVisited(itcc) != NO_GROUP }) val newState = if(itc.children.any { c -> Data.visits.getVisited(c) != NO_GROUP })
Data.visits.setVisited(itc, AUTO_GROUP) AUTO_GROUP
else else
Data.visits.setVisited(itc, NO_GROUP) NO_GROUP
if (Data.visits.getVisited(itc) != newState) {
Data.visits.setVisited(itc, newState)
changed = true
}
} }
} }
if(Data.visits.getVisited(tt) in listOf(AUTO_GROUP,NO_GROUP)) { if(Data.visits.getVisited(tt) in listOf(AUTO_GROUP,NO_GROUP)) {
if(tt.children.any { itc -> Data.visits.getVisited(itc) != NO_GROUP }) val newState = if(tt.children.any { itc -> Data.visits.getVisited(itc) != NO_GROUP })
Data.visits.setVisited(tt, AUTO_GROUP) AUTO_GROUP
else else
Data.visits.setVisited(tt, NO_GROUP) NO_GROUP
if (Data.visits.getVisited(tt) != newState) {
Data.visits.setVisited(tt, newState)
changed = true
}
} }
} }
// Sync World from Continents
if (loc != null && Data.visits.getVisited(loc) in listOf(AUTO_GROUP, NO_GROUP)) {
val newState = if(loc.children.any { Data.visits.getVisited(it) != NO_GROUP })
AUTO_GROUP
else
NO_GROUP
if (Data.visits.getVisited(loc) != newState) {
Data.visits.setVisited(loc, newState)
changed = true
}
}
return changed
} }
@Composable @Composable
fun EditPlaceScreen(loc: GeoLoc, onExit:()->Unit={}) { fun EditPlaceScreen(loc: GeoLoc, onExit:()->Unit={}) {
val visits by Data.visits.visitsFlow.collectAsState()
var showEdit by remember { mutableStateOf(false) } var showEdit by remember { mutableStateOf(false) }
val tabs : SnapshotStateList<GeoLoc> = remember { mutableStateListOf(loc) } val tabs : SnapshotStateList<GeoLoc> = remember { mutableStateListOf(loc) }
val ctx = LocalContext.current val ctx = LocalContext.current
@@ -84,7 +108,12 @@ fun EditPlaceScreen(loc: GeoLoc, onExit:()->Unit={}) {
selectedTab = tabs.lastIndex selectedTab = tabs.lastIndex
} }
SideEffect { SideEffect {
syncVisited() // visits is used to trigger sync whenever data changes
if (visits.isNotEmpty() || true) {
if (syncVisited()) {
Data.saveData()
}
}
} }
BackHandler { BackHandler {
if (tabs.size > 1) tabs.removeAt(tabs.lastIndex) if (tabs.size > 1) tabs.removeAt(tabs.lastIndex)
@@ -95,6 +124,7 @@ fun EditPlaceScreen(loc: GeoLoc, onExit:()->Unit={}) {
showEdit = false showEdit = false
if (it) { if (it) {
Data.visits.setVisited(Data.selected_geoloc, NO_GROUP) Data.visits.setVisited(Data.selected_geoloc, NO_GROUP)
syncVisited()
Data.saveData() Data.saveData()
if (Data.selected_geoloc!=null && Data.selected_geoloc!!.children.any { itc-> Data.visits.getVisited(itc) != NO_GROUP }) { if (Data.selected_geoloc!=null && Data.selected_geoloc!!.children.any { itc-> Data.visits.getVisited(itc) != NO_GROUP }) {
@@ -103,6 +133,7 @@ fun EditPlaceScreen(loc: GeoLoc, onExit:()->Unit={}) {
} }
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) Data.visits.setVisited(Data.selected_geoloc, Data.selected_group!!.key)
syncVisited()
Data.saveData() Data.saveData()
} }
Data.selected_geoloc = null Data.selected_geoloc = null
@@ -111,21 +142,20 @@ fun EditPlaceScreen(loc: GeoLoc, onExit:()->Unit={}) {
Column { Column {
val currentTab = tabs.getOrNull(selectedTab) ?: return@Column val currentTab = tabs.getOrNull(selectedTab) ?: return@Column
TabRow( TabRow(
selectedTabIndex = min(tabs.lastIndex, selectedTab), selectedTabIndex = min(tabs.lastIndex, selectedTab),
) { ) {
tabs.forEachIndexed { index, tab -> tabs.forEachIndexed { index, tab ->
Tab( Tab(
selected = selectedTab == index, selected = selectedTab == index,
onClick = { onClick = {
while (tabs.size > index + 1) while (tabs.size > index + 1)
tabs.removeAt(tabs.lastIndex) tabs.removeAt(tabs.lastIndex)
}, },
text = { Text(tab.fullName) } text = { Text(tab.fullName) }
) )
}
} }
}
LazyColumn( LazyColumn(
modifier = Modifier.fillMaxSize() modifier = Modifier.fillMaxSize()
@@ -145,12 +175,14 @@ fun EditPlaceScreen(loc: GeoLoc, onExit:()->Unit={}) {
Data.visits.getVisited(itc)!= NO_GROUP } == true) AUTO_GROUP Data.visits.getVisited(itc)!= NO_GROUP } == true) AUTO_GROUP
else NO_GROUP else NO_GROUP
) )
Data.saveData()
Data.selected_group = null Data.selected_group = null
} else { } else {
Data.selected_group = null Data.selected_group = null
showEdit=true showEdit=true
} }
syncVisited()
Data.saveData()
}) })
} }
@@ -7,7 +7,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import com.mikepenz.aboutlibraries.ui.compose.DefaultChipColors import com.mikepenz.aboutlibraries.ui.compose.DefaultChipColors
import com.mikepenz.aboutlibraries.ui.compose.DefaultLibraryColors import com.mikepenz.aboutlibraries.ui.compose.DefaultLibraryColors
import com.mikepenz.aboutlibraries.ui.compose.android.rememberLibraries import com.mikepenz.aboutlibraries.ui.compose.android.produceLibraries
import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer
import net.helcel.beans.R import net.helcel.beans.R
import net.helcel.beans.activity.SysTheme import net.helcel.beans.activity.SysTheme
@@ -16,14 +16,14 @@ import net.helcel.beans.activity.SysTheme
@Preview @Preview
@Composable @Composable
fun LicenseScreen() { fun LicenseScreen() {
val libraries = rememberLibraries(R.raw.aboutlibraries) val libraries = produceLibraries(R.raw.aboutlibraries)
SysTheme { SysTheme {
LibrariesContainer( LibrariesContainer(
libraries = libraries.value, libraries = libraries.value,
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
colors = DefaultLibraryColors( colors = DefaultLibraryColors(
backgroundColor = MaterialTheme.colors.background, libraryBackgroundColor = MaterialTheme.colors.background,
contentColor = MaterialTheme.colors.onBackground, libraryContentColor = MaterialTheme.colors.onBackground,
licenseChipColors = DefaultChipColors( licenseChipColors = DefaultChipColors(
containerColor = MaterialTheme.colors.primary, containerColor = MaterialTheme.colors.primary,
contentColor = MaterialTheme.colors.onPrimary, contentColor = MaterialTheme.colors.onPrimary,
@@ -37,6 +37,8 @@ fun LicenseScreen() {
contentColor = MaterialTheme.colors.onSecondary, contentColor = MaterialTheme.colors.onSecondary,
), ),
dialogConfirmButtonColor = MaterialTheme.colors.primary, dialogConfirmButtonColor = MaterialTheme.colors.primary,
dialogBackgroundColor = MaterialTheme.colors.onPrimary,
dialogContentColor = MaterialTheme.colors.primary,
) )
) )
} }
@@ -2,6 +2,7 @@ package net.helcel.beans.countries
import net.helcel.beans.countries.Country.* import net.helcel.beans.countries.Country.*
@Suppress("RedundantSuppression", "SpellCheckingInspection", "unused")
enum class Group(override val fullName: String, override val children: Set<GeoLoc>) : GeoLoc { enum class Group(override val fullName: String, override val children: Set<GeoLoc>) : GeoLoc {
EEE( EEE(
@@ -43,14 +43,14 @@ object Data {
if (groups.size() == 0) { if (groups.size() == 0) {
groups.setGroup(DEFAULT_GROUP, "Visited", groups.setGroup(DEFAULT_GROUP, "Visited",
ContextCompat.getColor(ctx, R.color.blue).toDrawable()) ContextCompat.getColor(ctx, R.color.blue).toDrawable())
saveData()
} }
saveData()
} }
fun saveData() { fun saveData() {
if(groups.id != visits.id) return if(groups.id != visits.id) return
val id = groups.id val id = groups.id
sharedPreferences.edit { sharedPreferences.edit(commit=true) {
putString("groups_$id", groupsSerial.writeTo(groups)) putString("groups_$id", groupsSerial.writeTo(groups))
putString("visits_$id", visitsSerial.writeTo(visits)) putString("visits_$id", visitsSerial.writeTo(visits))
} }
@@ -3,6 +3,7 @@ package net.helcel.beans.helper
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.Serializer import kotlinx.serialization.Serializer
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
@@ -24,53 +25,59 @@ const val AUTO_GROUP = -1
@Serializable @Serializable
class Groups(val id: Int, private val grps: HashMap<Int, Group>) { class Groups(val id: Int, @SerialName("grps") private val groups: HashMap<Int, Group>) {
@kotlinx.serialization.Transient @kotlinx.serialization.Transient
private val _groupsFlow = MutableStateFlow<List<Group>>(grps.values.toList()) private val _groupsFlow = MutableStateFlow<List<Group>>(groups.values.toList())
@kotlinx.serialization.Transient @kotlinx.serialization.Transient
val groupsFlow: StateFlow<List<Group>> = _groupsFlow.asStateFlow() val groupsFlow: StateFlow<List<Group>> = _groupsFlow.asStateFlow()
fun setGroup(key: Int, name: String, col: ColorDrawable) { fun setGroup(key: Int, name: String, col: ColorDrawable) {
grps[key] = Group(key, name, col) val old = groups[key]
_groupsFlow.value = grps.values.toList() if (old != null && old.name == name && old.color.color == col.color) return
groups[key] = Group(key, name, col)
updateFlow()
} }
fun deleteGroup(key: Int) { fun deleteGroup(key: Int) {
grps.remove(key) groups.remove(key)
_groupsFlow.value = grps.values.toList() updateFlow()
}
private fun updateFlow() {
_groupsFlow.value = groups.values.toList()
} }
fun getGroupFromKey(key: Int): Group { fun getGroupFromKey(key: Int): Group {
return grps.getOrDefault(key, EmptyGroup()) return groups.getOrDefault(key, EmptyGroup())
} }
fun genKey(): Int { fun genKey(): Int {
val key = rnd.nextInt() val key = rnd.nextInt()
if (grps.containsKey(key) || key in listOf(NO_GROUP, DEFAULT_GROUP, AUTO_GROUP)) return genKey() if (groups.containsKey(key) || key in listOf(NO_GROUP, DEFAULT_GROUP, AUTO_GROUP)) return genKey()
return key return key
} }
fun size(): Int { fun size(): Int {
return grps.size return groups.size
} }
fun getUniqueEntry(): Group? { fun getUniqueEntry(): Group? {
assert(size() == 1) assert(size() == 1)
return if (grps.size == 1) { return if (groups.size == 1) {
grps[grps.keys.first()] groups[groups.keys.first()]
} else { } else {
null null
} }
} }
fun getGroupFromPos(pos: Int): Pair<Int, Group> { fun getGroupFromPos(pos: Int): Pair<Int, Group> {
if(grps.keys.isEmpty()) return Pair(NO_GROUP,Group(NO_GROUP,"-")) if(groups.keys.isEmpty()) return Pair(NO_GROUP,Group(NO_GROUP,"-"))
val key = grps.keys.toList()[pos] val key = groups.keys.toList()[pos]
return Pair(key, getGroupFromKey(key)) return Pair(key, getGroupFromKey(key))
} }
fun findGroupPos(key: Int): Int { fun findGroupPos(key: Int): Int {
return grps.keys.toList().indexOf(key) return groups.keys.toList().indexOf(key)
} }
class EmptyGroup : Group(0, "") class EmptyGroup : Group(0, "")
@@ -19,24 +19,25 @@ class Visits(val id: Int, private val locs: HashMap<String, Int>) {
val visitsFlow: StateFlow<Map<String,Int>> = _visitsFlow val visitsFlow: StateFlow<Map<String,Int>> = _visitsFlow
fun setVisited(key: GeoLoc?, b: Int) { fun setVisited(key: GeoLoc?, b: Int) {
if (key == null) if (key == null || locs[key.code] == b)
return return
_visitsFlow.value = _visitsFlow.value.toMutableMap().apply {
this[key.code] = b
}
locs[key.code] = b locs[key.code] = b
updateFlow()
}
private fun updateFlow() {
_visitsFlow.value = locs.toMap()
} }
fun deleteVisited(key: Int) { fun deleteVisited(key: Int) {
val keysToDelete = locs val keysToDelete = locs
.filter { it.value == key } .filter { it.value == key }
.map { it.key } .map { it.key }
_visitsFlow.value = _visitsFlow.value.toMutableMap().apply { if (keysToDelete.isEmpty()) return
keysToDelete.forEach { this.remove(it)}
}
keysToDelete.forEach { keysToDelete.forEach {
locs.remove(it) locs.remove(it)
} }
updateFlow()
} }
fun getVisited(key: GeoLoc): Int { fun getVisited(key: GeoLoc): Int {
@@ -60,13 +61,19 @@ class Visits(val id: Int, private val locs: HashMap<String, Int>) {
} }
fun reassignAllVisitedToGroup(group: Int) { fun reassignAllVisitedToGroup(group: Int) {
var changed = false
val keys = locs.filter { (_, grp) -> val keys = locs.filter { (_, grp) ->
grp !in listOf(NO_GROUP, AUTO_GROUP) grp !in listOf(NO_GROUP, AUTO_GROUP)
}.keys }.keys
keys.forEach { keys.forEach {
locs[it] = group if (locs[it] != group) {
locs[it] = group
changed = true
}
}
if (changed) {
updateFlow()
} }
_visitsFlow.value = locs
} }
@OptIn(ExperimentalSerializationApi::class) @OptIn(ExperimentalSerializationApi::class)
@@ -0,0 +1,50 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="128"
android:viewportHeight="128">
<group android:scaleX="0.8918919"
android:scaleY="0.8918919"
android:translateX="6.918919"
android:translateY="6.918919">
<group
android:scaleX="1.5"
android:scaleY="1.5"
android:translateX="10"
android:translateY="10">
<path
android:pathData="M36,36m-28,0a28,28 0,1 1,56 0a28,28 0,1 1,-56 0"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="@color/blue"
android:strokeColor="#000000"
android:strokeLineCap="round"/>
</group>
<group
android:scaleX="1.25"
android:scaleY="1.25"
android:translateX="18"
android:translateY="18">
<path
android:pathData="M56.803,45.75c0.599,-0.299 1.157,-0.672 1.663,-1.11 0.804,-0.698 1.463,-1.546 1.94,-2.497 0.599,-1.303 0.883,-2.728 0.829,-4.161 0.034,-1.498 -0.154,-2.994 -0.558,-4.437 -0.451,-1.645 -1.104,-3.229 -1.944,-4.714 -0.967,-2.141 -2.28,-4.108 -3.887,-5.822 -1.242,-1.326 -2.757,-2.366 -4.44,-3.048 -0.877,-0.372 -1.821,-0.56 -2.774,-0.553 -1.402,0.074 -2.729,0.697 -3.882,1.389 -1.285,0.81 -2.244,1.735 -2.771,3.053 -0.739,2.362 0.827,4.821 1.113,5.269 0.003,0.005 0.187,0.281 0.555,0.832 1.512,2.264 1.589,2.358 1.666,2.495 0.646,1.221 1.114,2.528 1.389,3.882 1.043,4.001 1.565,6.001 2.223,6.932 1.208,1.71 3.455,3.414 5.826,3.325 1.059,-0.088 2.093,-0.371 3.05,-0.835Z"
android:strokeWidth="2"
android:fillColor="@color/white"
android:strokeColor="#000000"
android:strokeLineCap="round"/>
<path
android:pathData="M22,41c-1.54,0.554 -2.83,1.642 -3.636,3.066 -0.714,1.365 -0.957,2.928 -0.693,4.445 0.178,1.247 0.632,2.439 1.329,3.488 2.032,3.228 5.383,4.423 7,5 1.613,0.561 3.295,0.897 5,1 2.387,0.205 6.923,0.535 11,-2 1.287,-0.665 2.335,-1.713 3,-3 0.661,-1.601 0.661,-3.399 0,-5 -0.389,-1.156 -1.121,-2.165 -2.099,-2.894 -0.919,-0.599 -1.974,-0.956 -3.069,-1.039 -2.057,-0.313 -2.756,0.139 -5.014,0.057 -1.271,-0.019 -2.534,-0.214 -3.753,-0.577 -3.036,-0.95 -3.33,-2.457 -5.889,-2.829 -1.066,-0.158 -2.155,-0.061 -3.177,0.282Z"
android:strokeWidth="2"
android:fillColor="@color/white"
android:strokeColor="#000000"
android:strokeLineCap="round"/>
<path
android:pathData="M12.7,26.975c1.758,-3.604 5.311,-3.191 9.58,-7.091 2.701,-2.469 2.858,-4.078 5.613,-5.202 1.407,-0.644 2.984,-0.819 4.498,-0.5 2.053,0.475 3.761,1.891 4.61,3.819 1.116,2.742 -0.314,5.437 -1.398,7.482 -0.951,1.689 -2.167,3.215 -3.602,4.518 -1.479,1.552 -3.161,2.898 -5,4 -2.629,1.541 -6.332,3.711 -9.989,2.43 -1.481,-0.548 -2.768,-1.521 -3.699,-2.796 -1.496,-1.906 -1.735,-4.512 -0.612,-6.659Z"
android:strokeWidth="2"
android:fillColor="@color/white"
android:strokeColor="#000000"
android:strokeLineCap="round"/>
</group>
</group>
</vector>
@@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/> <background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon> </adaptive-icon>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Beans" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Status bar color in dark mode -->
<item name="android:statusBarColor">@color/blue</item>
<!-- Window background in dark mode -->
<item name="android:windowBackground">@color/darkgray</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue</item>
<item name="colorAccent">@color/blue</item>
</style>
</resources>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Beans" parent="android:Theme.Material.Light.NoActionBar">
<item name="android:statusBarColor">@color/blue</item>
<item name="android:windowBackground">@color/blue</item>
</style>
</resources>
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Beans" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Status bar color -->
<item name="android:statusBarColor">@color/blue</item>
<!-- Window background - shows through statusBarsPadding() area -->
<item name="android:windowBackground">@color/blue</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<!-- Optional: Primary colors for the theme -->
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue</item>
<item name="colorAccent">@color/blue</item>
</style>
</resources>
+3 -3
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.13.0' apply false id 'com.android.application' version '9.2.1' apply false
id 'com.android.library' version '8.13.0' apply false id 'com.android.library' version '9.2.1' apply false
id 'org.jetbrains.kotlin.android' version '2.2.20' apply false id 'org.jetbrains.kotlin.android' version '2.4.0' apply false
} }
+52 -8
View File
@@ -1,8 +1,10 @@
#!/bin/node #!/bin/node
import {readFileSync, existsSync} from 'fs' import {readFileSync,writeFileSync,existsSync} from 'fs'
import area from '@turf/area' import area from '@turf/area'
import * as turf from '@turf/turf' import * as turf from '@turf/turf'
import * as path from 'path';
import { JSDOM } from 'jsdom';
const countries = const countries =
@@ -24,7 +26,7 @@ const countries =
const groups = { const groups = {
"EEE":["ALB","AND","AUT","BLR","BEL","BIH","BGR","HRV","CYP","CZE","DNK","EST","FIN","FRA","DEU","GRC","HUN","ISL","IRL","ITA","KAZ","XKO","LVA","LIE","LTU","LUX","MLT","MDA","MCO","MNE","NLD","MKD","NOR","POL","PRT","ROU","RUS","SMR","SRB","SVK","SVN","ESP","SWE","CHE","UKR","GBR","VAT","XAD"], "EEE":["ALA","ALB","AND","AUT","BLR","BEL","BIH","BGR","HRV","CYP","CZE","DNK","EST","FIN","FRA","DEU","GIB","GGY","GRC","HUN","ISL","IRL","IMN","JEY","ITA","KAZ","XKO","LVA","LIE","LTU","LUX","MLT","MDA","MCO","MNE","NLD","MKD","NOR","SJM","POL","PRT","ROU","RUS","SMR","SRB","SVK","SVN","ESP","SWE","CHE","UKR","GBR","VAT","XAD"],
"ABB":["AFG","ARM","AZE","BHR","BGD","BTN","BRN","KHM","CHN","GEO","HKG","IND","IDN","IRN","IRQ","ISR","JPN","JOR","KWT","KGZ","LAO","LBN","MAC","MYS","MDV","MNG","MMR","NPL","PRK","OMN","PAK","PSE","PHL","QAT","SAU","SGP","KOR","LKA","SYR","TWN","TJK","THA","TLS","TUR","TKM","ARE","UZB","VNM","YEM","ZNC"], "ABB":["AFG","ARM","AZE","BHR","BGD","BTN","BRN","KHM","CHN","GEO","HKG","IND","IDN","IRN","IRQ","ISR","JPN","JOR","KWT","KGZ","LAO","LBN","MAC","MYS","MDV","MNG","MMR","NPL","PRK","OMN","PAK","PSE","PHL","QAT","SAU","SGP","KOR","LKA","SYR","TWN","TJK","THA","TLS","TUR","TKM","ARE","UZB","VNM","YEM","ZNC"],
"FFF":["DZA","AGO","BDI","BEN","BWA","BFA","BDI","CPV","CMR","CAF","TCD","COM","COG","COD","CIV","DJI","EGY","GNQ","ERI","SWZ","ETH","GAB","GMB","GHA","GIN","GNB","KEN","LSO","LBR","LBY","MDG","MWI","MLI","MRT","MUS","MYT","MAR","MOZ","NAM","NER","NGA","COD","REU","RWA","STP","SEN","SYC","SLE","SOM","ZAF","SSD","SHN","SDN","TZA","TGO","TUN","UGA","COD","ZMB","ZWE","ESH"], "FFF":["DZA","AGO","BDI","BEN","BWA","BFA","BDI","CPV","CMR","CAF","TCD","COM","COG","COD","CIV","DJI","EGY","GNQ","ERI","SWZ","ETH","GAB","GMB","GHA","GIN","GNB","KEN","LSO","LBR","LBY","MDG","MWI","MLI","MRT","MUS","MYT","MAR","MOZ","NAM","NER","NGA","COD","REU","RWA","STP","SEN","SYC","SLE","SOM","ZAF","SSD","SHN","SDN","TZA","TGO","TUN","UGA","COD","ZMB","ZWE","ESH"],
"NNN":["ABW","AIA","ATG","BHS","BRB","BLZ","BMU","VGB","CAN","CYM","CRI","CUB","CUW","DMA","DOM","SLV","GRL","GRD","GLP","GTM","HTI","HND","JAM","MTQ","MEX","MSR","ANT","CUW","NIC","PAN","PRI","KNA","LCA","MAF","SPM","VCT","TTO","TCA","USA","XCL"], "NNN":["ABW","AIA","ATG","BHS","BRB","BLZ","BMU","VGB","CAN","CYM","CRI","CUB","CUW","DMA","DOM","SLV","GRL","GRD","GLP","GTM","HTI","HND","JAM","MTQ","MEX","MSR","ANT","CUW","NIC","PAN","PRI","KNA","LCA","MAF","SPM","VCT","TTO","TCA","USA","XCL"],
@@ -32,7 +34,6 @@ const groups = {
"UUU":["ASM","AUS","COK","FJI","PYF","GUM","KIR","MHL","FSM","NRU","NCL","NZL","NIU","NFK","MNP","PLW","PNG","PCN","SLB","TKL","TON","TUV","VUT","WLF"], "UUU":["ASM","AUS","COK","FJI","PYF","GUM","KIR","MHL","FSM","NRU","NCL","NZL","NIU","NFK","MNP","PLW","PNG","PCN","SLB","TKL","TON","TUV","VUT","WLF"],
"XXX":[ "XXX":[
"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
"BES",// Bonaire, Sint Eustatius and Saba: special municipalities of the Netherlands in the Caribbean "BES",// Bonaire, Sint Eustatius and Saba: special municipalities of the Netherlands in the Caribbean
"BVT",// Bouvet Island: an uninhabited territory of Norway in the South Atlantic "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 "IOT",// British Indian Ocean Territory: a British overseas territory in the Indian Ocean
@@ -40,16 +41,11 @@ const groups = {
"CCK",// Cocos (Keeling) Islands: 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 "FRO",// Faroe Islands: an autonomous region of Denmark
"ATF",// French Southern and Antarctic Lands: a territory of France located in the southern Indian Ocean "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 "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 "BLM",// Saint Barthélemy: an overseas collectivity of France in the Caribbean
"WSM",// Samoa: an independent island nation in the South Pacific "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 "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 "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 "VIR",// United States Virgin Islands: an unincorporated territory of the United States in the Caribbean
] ]
@@ -166,4 +162,52 @@ async function run(){
} }
} }
function fixSvg(svgPath) {
const countryToRegion = {};
for (const [region, countries] of Object.entries(groups)) {
countries.forEach(country => countryToRegion[country] = region);
}
const absoluteInputPath = path.resolve(svgPath);
if (!existsSync(absoluteInputPath)) {
throw new Error(`Input file not found at: ${absoluteInputPath}`);
}
const svgContent = readFileSync(absoluteInputPath, 'utf8');
const dom = new JSDOM(svgContent, { contentType: 'image/svg+xml' });
const document = dom.window.document;
const svgRoot = document.querySelector('svg');
if (!svgRoot) {
throw new Error("Invalid or empty SVG structure encountered.");
}
if (svgRoot.getAttribute('data-processed') === 'true') {
console.log(`Skipping: File at "${svgPath}" has already been processed.`);
return;
}
const elementGroups = Array.from(svgRoot.querySelectorAll('g'));
elementGroups.forEach(group => {
const currentId = group.getAttribute('id') || '';
const baseIsoCode = currentId.replace(/\d+$/, '');
const regionKey = countryToRegion[baseIsoCode] || 'XXXX';
let regionGroup = svgRoot.querySelector(`g[id="${regionKey}"]`);
if (!regionGroup) {
regionGroup = document.createElementNS('http://w3.org', 'g');
regionGroup.setAttribute('id', regionKey);
svgRoot.appendChild(regionGroup);
}
regionGroup.appendChild(group);
});
svgRoot.setAttribute('data-processed', 'true');
const absoluteOutputPath = path.resolve(svgPath);
let cleanXmlString = svgRoot.outerHTML;
cleanXmlString = cleanXmlString.replace(/[\r\n]+/g, '');
cleanXmlString = cleanXmlString.replace(/xmlns="http:\/\/w3\.org"\s?/g, '');
cleanXmlString = cleanXmlString.replace(/xmlns="http:\/\/www\.w3\.org\/2000\/svg"\s?/g, '');
cleanXmlString = cleanXmlString.replace('<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
writeFileSync(absoluteOutputPath, cleanXmlString, 'utf8');
}
run() run()
fixSvg("./app/src/main/assets/loxim01.svg")
fixSvg("./app/src/main/assets/webmercator01.svg")
fixSvg("./app/src/main/assets/aeqd01.svg")
+50 -6
View File
@@ -8,10 +8,11 @@ GADM_BASEPATH="https://geodata.ucdavis.edu/gadm"
mapshaper="./node_modules/mapshaper/bin/mapshaper" mapshaper="./node_modules/mapshaper/bin/mapshaper"
ATA_URL="https://media.githubusercontent.com/media/wmgeolab/geoBoundaries/905b0baf5f4fb3b9ccf45293647dcacdb2b799d4/releaseData/gbOpen/ATA/ADM0/geoBoundaries-ATA-ADM0_simplified.geojson" ATA_URL="https://media.githubusercontent.com/media/wmgeolab/geoBoundaries/905b0baf5f4fb3b9ccf45293647dcacdb2b799d4/releaseData/gbOpen/ATA/ADM0/geoBoundaries-ATA-ADM0_simplified.geojson"
# Caspian Sea: "XCA"
countries=( countries=(
"AFG" "XAD" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "AFG" "XAD" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE"
"BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "VGB" "BRN" "BGR" "BFA" "BDI" "KHM" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "VGB" "BRN" "BGR" "BFA" "BDI" "KHM"
"CMR" "CAN" "CPV" "XCA" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "XCL" "CCK" "COL" "COM" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "COD" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "XCL" "CCK" "COL" "COM" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "COD"
"DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF"
"GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "HND" "HUN" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "HND" "HUN"
"ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "XKO" "KWT" "KGZ" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "XKO" "KWT" "KGZ"
@@ -115,6 +116,47 @@ toSVG_1() {
"$mapshaper" -i combine-files ${input_files[@]} -proj aeqd +lat_0=90 -simplify 0.005 weighted keep-shapes resolution=1200x1200 -o ./app/src/main/assets/aeqd1.svg svg-data=GID_0,COUNTRY,GID,NAME id-field=GID "$mapshaper" -i combine-files ${input_files[@]} -proj aeqd +lat_0=90 -simplify 0.005 weighted keep-shapes resolution=1200x1200 -o ./app/src/main/assets/aeqd1.svg svg-data=GID_0,COUNTRY,GID,NAME id-field=GID
} }
generate_svg_map() {
local OUT_FILE="$1" # First argument: Output destination path
local PROJ_ARGS="$2" # Second argument: Projection parameters
shift 2 # Remove the first two arguments, leaving only the files
local FILES_TO_RUN=("$@") # Capture all remaining arguments as the file array
echo "Generating: $OUT_FILE using projection [$PROJ_ARGS]"
echo "Processing ${#FILES_TO_RUN[@]} files..."
local JS_PIPELINE_LOGIC="
const conflicts = {
'Z01': 'IND', 'Z04': 'IND', 'Z05': 'IND', 'Z07': 'IND', 'Z09': 'IND',
'Z02': 'CHN', 'Z03': 'CHN','Z08': 'CHN',
'Z06': 'PAK'
};
let rawCode = GID_0 || 'UNK';
let cCode = conflicts[rawCode] ? conflicts[rawCode] : rawCode;
let isGidMissing = (!GID || GID === 'undefined' || GID === 'null' || GID === '');
if (isGidMissing) {
COUNTRY_GROUP = cCode+'2';
} else {
COUNTRY_GROUP = cCode+'1';
}
"
"$mapshaper" -i "${FILES_TO_RUN[@]}" combine-files \
-snap \
-merge-layers force\
-proj $PROJ_ARGS densify \
-simplify 2% weighted keep-shapes \
-filter-islands min-area=0 \
-sort 'this.area' ascending \
-each "$JS_PIPELINE_LOGIC" \
-split COUNTRY_GROUP \
-o "$OUT_FILE" \
format=svg \
id-field=GID \
precision=0.1 \
target=*
}
toSVG_01() { toSVG_01() {
input_files=() input_files=()
@@ -136,9 +178,9 @@ toSVG_01() {
fi fi
done done
"$mapshaper" -i combine-files ${input_files[@]} snap -proj loxim densify -simplify 0.001 weighted keep-shapes -o ./app/src/main/assets/loxim01.svg svg-data=GID_0,COUNTRY,GID,NAME id-field=GID generate_svg_map "./app/src/main/assets/loxim01.svg" "loxim" "${input_files[@]}"
"$mapshaper" -i combine-files ${input_files[@]} snap -proj webmercator densify -simplify 0.001 weighted keep-shapes -o ./app/src/main/assets/webmercator01.svg svg-data=GID_0,COUNTRY,GID,NAME id-field=GID generate_svg_map "./app/src/main/assets/webmercator01.svg" "webmercator" "${input_files[@]}"
"$mapshaper" -i combine-files ${input_files[@]} snap -proj aeqd +lat_0=90 densify -simplify 0.001 weighted keep-shapes -o ./app/src/main/assets/aeqd01.svg svg-data=GID_0,COUNTRY,GID,NAME id-field=GID generate_svg_map "./app/src/main/assets/aeqd01.svg" "aeqd +lat_0=90" "${input_files[@]}"
} }
do_1() { do_1() {
@@ -153,10 +195,12 @@ do_0() {
do do
download_0 "$country" download_0 "$country"
done done
wget -q -O "./temp/1/ATA.json" "$ATA_URL" wget -q -O "./temp/0/ATA.json" "$ATA_URL"
} }
# do_0 # do_0
# do_1 # do_1
# toSVG_0 # toSVG_0
# toSVG_1 # toSVG_1
toSVG_01 toSVG_01
#CUW, CCK, XCL, CXR, IOT, BVT, ABW, FLK, GIB, HMD, KIR, SXM, MDV, MCO, NIU, NFK, PCN, MAF, SGS, VAT
+4 -19
View File
@@ -1,24 +1,9 @@
# Project-wide Gradle settings. # Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=false android.enableJetifier=false
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the android.nonTransitiveRClass=true
# resources declared in the library itself and none from the library's dependencies, android.uniquePackageNames=false
# thereby reducing the size of the R class for that library android.dependency.useConstraints=false
android.nonTransitiveRClass=true android.r8.strictFullModeForKeepRules=false
Binary file not shown.
+4 -2
View File
@@ -1,8 +1,10 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 distributionSha256Sum=9c0f7faeeb306cb14e4279a3e084ca6b596894089a0638e68a07c945a32c9e14
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000 networkTimeout=10000
retries=0
retryBackOffMs=500
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
Vendored
+3 -3
View File
@@ -20,7 +20,7 @@
############################################################################## ##############################################################################
# #
# Gradle start up script for POSIX generated by Gradle. # gradlew start up script for POSIX generated by Gradle.
# #
# Important for running: # Important for running:
# #
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole # bash, then to run this script, type that shell name before the whole
# command line, like: # command line, like:
# #
# ksh Gradle # ksh gradlew
# #
# Busybox and similar reduced shells will NOT work, because this script # Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features: # requires all of these POSIX shell features:
@@ -57,7 +57,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/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/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/.
Vendored
+12 -23
View File
@@ -19,12 +19,12 @@
@if "%DEBUG%"=="" @echo off @if "%DEBUG%"=="" @echo off
@rem ########################################################################## @rem ##########################################################################
@rem @rem
@rem Gradle startup script for Windows @rem gradlew startup script for Windows
@rem @rem
@rem ########################################################################## @rem ##########################################################################
@rem Set local scope for the variables with windows NT shell @rem Set local scope for the variables, and ensure extensions are enabled
if "%OS%"=="Windows_NT" setlocal setlocal EnableExtensions
set DIRNAME=%~dp0 set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=. if "%DIRNAME%"=="" set DIRNAME=.
@@ -51,7 +51,7 @@ echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2 echo location of your Java installation. 1>&2
goto fail "%COMSPEC%" /c exit 1
:findJavaFromJavaHome :findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=% set JAVA_HOME=%JAVA_HOME:"=%
@@ -65,29 +65,18 @@ echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2 echo location of your Java installation. 1>&2
goto fail "%COMSPEC%" /c exit 1
:execute :execute
@rem Setup the command line @rem Setup the command line
@rem Execute Gradle @rem Execute gradlew
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* @rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
:end :exitWithErrorLevel
@rem End local scope for the variables with windows NT shell @rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts
if %ERRORLEVEL% equ 0 goto mainEnd "%COMSPEC%" /c exit %ERRORLEVEL%
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
+4 -4
View File
@@ -1,9 +1,9 @@
{ {
"dependencies": { "dependencies": {
"@turf/area": "^7.0.0", "@turf/area": "^7.3.5",
"@turf/turf": "^7.0.0", "@turf/turf": "^7.3.5",
"jsdom": "^27.0.0", "jsdom": "^29.1.1",
"mapshaper": "^0.6.79" "mapshaper": "^0.7.22"
}, },
"type": "module" "type": "module"
} }
+3
View File
@@ -6,6 +6,9 @@ pluginManagement {
maven { url 'https://jitpack.io' } maven { url 'https://jitpack.io' }
} }
} }
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
}
dependencyResolutionManagement { dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories { repositories {
+2486 -1606
View File
File diff suppressed because it is too large Load Diff