Compare commits

...

124 Commits

Author SHA1 Message Date
Michał Brzozowski
d700510c94 [routing] Remove passed intermediate points when assembling a modified route mid-navigation
Fixes OM #9592

Signed-off-by: Michał Brzozowski <www.haxor@gmail.com>
2025-05-24 08:14:34 +02:00
Konstantin Pastbin
37e5934241 [strings] Update project description in About
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-23 13:06:47 +02:00
Konstantin Pastbin
dfae56d578 [github] Fix CI build flavors
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-23 11:28:23 +02:00
Harry Bond
025181c250 [android] improve auto theming
ported from the big PR. Addresses the issue of the theme not changing when there's no location fix by setting to night at 6pm (still checks when sunset is if you have a location fix)
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-23 10:59:42 +02:00
Konstantin Pastbin
784ef58b5c [strings] Fix telegram_url
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-23 14:59:58 +07:00
Konstantin Pastbin
5cc244de6b [desktop] Rebrand desktop apps
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-23 14:59:58 +07:00
Konstantin Pastbin
c4a5979966 [core] Update bookmarks filenames
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-23 14:59:58 +07:00
Konstantin Pastbin
36bb1e3182 Update domains to comaps.app
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-22 15:18:50 +02:00
Konstantin Pastbin
a08110e83d [editor] Update editor.config and config.xsd xml root
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-22 20:06:09 +07:00
Konstantin Pastbin
3c7c8658fd [editor] Update OSM keys
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-22 19:46:17 +07:00
Konstantin Pastbin
fd8b818a2f [editor] Update OSM dev keys
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-22 19:37:01 +07:00
Harry Bond
dbeb29246e Revert "[android] improve auto theming"
This reverts commit 38802dd29a.

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-22 14:26:53 +02:00
Jean-Baptiste
dc2b3c50dd [CI] Add generate symbols tasks inside CI and create Dockerfile
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-22 13:20:50 +02:00
zyphlar
39059ec26d Adjust donate links
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
2025-05-22 09:24:34 +02:00
Konstantin Pastbin
113c8fab28 [android] Rename Beta builds to Test
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-22 13:01:55 +07:00
Konstantin Pastbin
2a4111235e [android] Disable proprietary Google Fused Location by default
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-22 06:08:32 +02:00
Harry Bond
7c26c0fc1b [android] Update colours
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-22 05:14:19 +02:00
Harry Bond
b943969df1 [android] Use ? for help button, remove logo from help page
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-22 05:14:19 +02:00
Harry Bond
22f3cb2da1 [android] Remove other logo drawables
we should only have ic_launcher and ic_launcher_small (for notifications symbols etc)
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-22 05:14:19 +02:00
Harry Bond
684e6dfcf9 [android] Rebrand splash screen
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-22 05:14:19 +02:00
Harry Bond
93b1a51506 [android] New launcher icon
also remove unused kayak logo
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-22 05:14:19 +02:00
zyphlar
c0fffed2b3 Improve OpenCollective badge
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
2025-05-22 01:56:00 +02:00
zyphlar
3dd6016209 Improve badge links, add donation badges
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
2025-05-22 00:59:17 +02:00
Jean-Baptiste
cf66cf7caa [CI] Add badges in readme
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-22 00:49:43 +02:00
Konstantin Pastbin
a1fc8bb4b0 [strings][android] Improve Google Fused Location Provider setting description
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-22 02:43:31 +07:00
Konstantin Pastbin
2997349668 [fdroid] Delete old translated app descriptions
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 20:08:45 +07:00
Konstantin Pastbin
7015307f8d [fdroid] Update icon to provisional textmark 2025-05-21 19:45:05 +07:00
Konstantin Pastbin
96c3e9cd34 [fdroid] Update app description
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 19:35:18 +07:00
Konstantin Pastbin
405b070f65 [strings] Remove Kayak translations from #67
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 15:53:55 +07:00
Konstantin Pastbin
ef6bd68012 [strings] Replace website links
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:18:27 +07:00
Konstantin Pastbin
8a8f549b38 [strings] Comapsify OM references
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:17:46 +07:00
Konstantin Pastbin
f6af6f3cec [strings] Fix support email
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:17:20 +07:00
Konstantin Pastbin
e5731d64d9 [strings] Replace telegram link
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:16:54 +07:00
Konstantin Pastbin
c0c8c4c092 [strings] Replace instagram link
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:16:34 +07:00
Konstantin Pastbin
9380f0efe6 [strings] Replace app download link
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:16:10 +07:00
Konstantin Pastbin
3776f7893e [strings] Replace advanced-map-editing faq link
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:15:35 +07:00
Konstantin Pastbin
22e160eb2c [strings] Replace tts faq link
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-21 04:14:44 +07:00
Konstantin Pastbin
3878141856 [android] Use microG's FOSS client implementation for Google Fused Location API
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-20 20:31:31 +02:00
Jean-Baptiste
e6d6b51252 [android] Remove old multidex file
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-20 20:17:26 +02:00
Hosted Weblate
5b646cc0c1 [strings] Update translations
Co-authored-by: AT <owje@protonmail.com>
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Daniele Ziglioli <d.ziglioli@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Gari Araolaza <garaolaza@codesyntax.com>
Co-authored-by: GiannosOB <giannos2105@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hugoren Martinako <aumpfbahn@gmail.com>
Co-authored-by: Limfjorden <66277585+Limfjorden@users.noreply.github.com>
Co-authored-by: Matija Nalis (weblate) <mnalis-weblate@voyager.hr>
Co-authored-by: Michał Korczak <omikorin@users.noreply.hosted.weblate.org>
Co-authored-by: Mikel Larreategi <mlarreategi@codesyntax.com>
Co-authored-by: Shipa_2 <aurahag2@gmail.com>
Co-authored-by: Sketch6580 <sketch6580@users.noreply.hosted.weblate.org>
Co-authored-by: The Cats <philosoph@danwin1210.de>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: Yauhen <bugomol@users.noreply.hosted.weblate.org>
Co-authored-by: Zelen Treti <ZelenTreti@proton.me>
Co-authored-by: ZeljkoBG <zeljko.velickovic@gmail.com>
Co-authored-by: Zozosticot <beunenzo@laposte.net>
Co-authored-by: cultrarius <rpcom@pm.me>
Co-authored-by: glemco <32201227+glemco@users.noreply.github.com>
Co-authored-by: soshial <soshial@gmail.com>
Co-authored-by: summoner001 <summoner@vivaldi.net>
Signed-off-by: "Matija Nalis (weblate)" <mnalis-weblate@voyager.hr>
Signed-off-by: AT <owje@protonmail.com>
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Signed-off-by: Daniele Ziglioli <d.ziglioli@gmail.com>
Signed-off-by: Emin Tufan Çetin <etcetin@gmail.com>
Signed-off-by: Gari Araolaza <garaolaza@codesyntax.com>
Signed-off-by: GiannosOB <giannos2105@gmail.com>
Signed-off-by: Hugoren Martinako <aumpfbahn@gmail.com>
Signed-off-by: Limfjorden <66277585+Limfjorden@users.noreply.github.com>
Signed-off-by: Michał Korczak <omikorin@users.noreply.hosted.weblate.org>
Signed-off-by: Mikel Larreategi <mlarreategi@codesyntax.com>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
Signed-off-by: Shipa_2 <aurahag2@gmail.com>
Signed-off-by: Sketch6580 <sketch6580@users.noreply.hosted.weblate.org>
Signed-off-by: The Cats <philosoph@danwin1210.de>
Signed-off-by: Weblate <hosted@weblate.org>
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Signed-off-by: Yauhen <bugomol@users.noreply.hosted.weblate.org>
Signed-off-by: Zelen Treti <ZelenTreti@proton.me>
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
Signed-off-by: Zozosticot <beunenzo@laposte.net>
Signed-off-by: cultrarius <rpcom@pm.me>
Signed-off-by: glemco <32201227+glemco@users.noreply.github.com>
Signed-off-by: soshial <soshial@gmail.com>
Signed-off-by: summoner001 <summoner@vivaldi.net>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/bg/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/eu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/fr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/it/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/nl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/pl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ru/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/be/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/bg/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/eu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/fr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/hr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/hu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/it/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/nl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/pl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/sr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/be/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/id/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/nl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/pt/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/bg/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/eu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/fr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/it/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/nl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/pl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/be/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/bg/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/eu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/fr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/hu/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/nl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/sr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/zh_Hans/
2025-05-20 20:08:46 +02:00
Rimas Kudelis
f96ee01d49 Translate voice navigation strings into Lithuanian
Signed-off-by: Rimas Kudelis <rimas@kudelis.lt>
2025-05-20 20:08:46 +02:00
Konstantin Pastbin
e5bf95b3d8 [strings] Replace OM with CoMaps
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-20 20:08:46 +02:00
Hosted Weblate
22517698da [strings] Update translations
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: Bora Atıcı <boratici.acc@gmail.com>
Co-authored-by: Filip Bengtsson <me@autom.zone>
Co-authored-by: GiannosOB <giannos2105@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Laurent FAVOLE <lfavole@users.noreply.hosted.weblate.org>
Co-authored-by: Lucas Eduardo <duduless2020@gmail.com>
Co-authored-by: Noel Sinikallas <noel.sinikallas@gmail.com>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Signed-off-by: Andi Chandler <andi@gowling.com>
Signed-off-by: Bora Atıcı <boratici.acc@gmail.com>
Signed-off-by: Filip Bengtsson <me@autom.zone>
Signed-off-by: GiannosOB <giannos2105@gmail.com>
Signed-off-by: Laurent FAVOLE <lfavole@users.noreply.hosted.weblate.org>
Signed-off-by: Lucas Eduardo <duduless2020@gmail.com>
Signed-off-by: Noel Sinikallas <noel.sinikallas@gmail.com>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
Signed-off-by: Weblate <hosted@weblate.org>
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/es_MX/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/sv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/en_GB/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/fi/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/it/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/pt/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/es_MX/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/sv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/en_GB/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/fi/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/it/
2025-05-20 20:08:46 +02:00
Jean-Baptiste
bd8d068783 [android] Remove Firebase dependencies
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-20 19:28:02 +02:00
Harry Bond
1813e3da3c [android] Use nav-auto theme setting by default
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-20 19:21:49 +02:00
Jean-Baptiste
158c9b1ee9 [CI] Remove trigger and download world maps
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-20 18:58:39 +02:00
Viktor Govako
44f4a08623 [planet] New data from 250511.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-05-20 18:56:16 +02:00
Konstantin Pastbin
8215a6ec6c [drape] Remove subways bg, add line casing
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-20 18:34:16 +07:00
Konstantin Pastbin
b0812ef8c9 [editor] Update dev OSM oauth2 tokens
Deleted not used OSM_CONSUMER_*

Co-authored-by: zyphlar <zyphlar@gmail.com>
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-20 17:23:32 +07:00
Konstantin Pastbin
11e4b6d7b6 Update CDN config
Co-authored-by: zyphlar <zyphlar@gmail.com>
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-20 17:20:01 +07:00
Konstantin Pastbin
2b7246d463 [editor] Change xml root to comaps
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-20 09:21:50 +02:00
Konstantin Pastbin
54ab965822 [cmake] Rebrand desktop version to CoMaps
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-19 20:55:34 +07:00
Harry Bond
38802dd29a [android] improve auto theming
ported from the big PR. Addresses the issue of the theme not changing when there's no location fix by setting to night at 6pm (still checks when sunset is if you have a location fix)
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-19 10:52:42 +02:00
David Toma
e2718ecbc6 [android] fix fullscreen exit on Route From
Fixes #8915

When on fullscreen mode, after selecting "Route to", the app leaves
fullscreen mode when initiating the navigation window. The same was
not happening when navigating in "Route from" mode, and it was only
possible to leave fullscreen mode after leaving the navigation window.

This commit fixes that bug, ensuring that the app leaves fullscreen
mode when entering "Route from" navigation. Fullscreen mode can then
be set again after exiting navigation.

Signed-off-by: David Toma <david.toma@tecnico.ulisboa.pt>
2025-05-19 10:52:42 +02:00
Rodrigo Salgueiro
87c44041fc [android] Fixed missing newlines in bookmark desc
Fixes #5873

Signed-off-by: Rodrigo Salgueiro <rodrigo.correia.salgueiro@tecnico.ulisboa.pt>
2025-05-19 10:52:42 +02:00
Andrei Shkrob
3a1df72809 [tests] Remove outdated tests
Signed-off-by: Andrei Shkrob <andrei@shkrob.dev>
2025-05-19 10:52:42 +02:00
Kiryl Kaveryn
7fdd8d2e76 [ios] fix Placeholder view animation
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-05-19 10:52:42 +02:00
Alexander Borsuk
1c711b28e1 [ios] Fix boost build error in newer clang that comes with XCode 16.3
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-05-19 10:52:42 +02:00
Alexander Borsuk
0dfec1b28f Fix build error caused by changed digest signature in boost
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-05-19 10:52:42 +02:00
Alexander Borsuk
27ae78120b [dev_sandbox] Fix cp errors for font files
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-05-19 10:52:42 +02:00
Roman Tsisyk
584e76dd47 [android][ios] Remove controversial Kayak integration
This patch removes the "Photos, reviews, booking" referral link displayed for certain hotels.

Apologies to all users who experienced moral distress due to this integration. Thanks to everyone
who spoke up. It should’ve been removed a year ago. Let's close this chapter. Better late than
never. Zap it! Sorry again.

Relevant discussions:

- https://github.com/organicmaps/organicmaps/pull/6523
- https://gitlab.com/fdroid/fdroiddata/-/merge_requests/14082

Commits reverted:

51b3fc99 Add "Details on ..." button to hotels
eee51c1b Rename "More on KAYAK"
2f1b6ce0 Add a setting to display Kayak links

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-05-19 10:52:42 +02:00
Aleksei
3a31956eca Fix "ld.ldd" typo 2025-05-19 10:52:42 +02:00
Kiryl Kaveryn
103d660603 [ios] refactor Toast class and improve toast message style
1. update style: bigger fonts and insets
2. update background blur
3. get rid of MWM prefix
4. replace the timer with the simplier dispatch async after. In this case there is no needed to create a timer for each toasts message just to add a timeout
5. reorder Toast class methods
6. replace the instance `show` method with a `static show`. Because there non needed to call show every time. We do not have stored toast that will be showed in different places thane created.
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-05-19 10:52:42 +02:00
vng
72cc4bbd50 Updated countries generation order.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-05-19 10:52:42 +02:00
Eugene Nikolsky
50e6376afd [ios] Support multiple phone numbers
Multiple phone numbers should be [separated with `;`][parsing] in OSM
`phone` values. This commit adds support for parsing and displaying such
phone numbers individually. Example POI with three phone numbers:
https://www.openstreetmap.org/way/233417266.

Before this change, the phone was displayed as one
value and trying to call it would fail because all the digits were
concatenated together, resulting in an invalid number. For the POI
above, the program tried to call
`tel://+150332563111503325879018008756807`.

This change fixes the parsing of `FMD_PHONE_NUMBER` into an array of
phone numbers. That required updates in a few areas:

- the POI details view (`PlacePageInfoViewController`) now displays
  every phone number as a separate row, each with a clickable link for
  that number; long-click to copy also works.

- the share info preparation (`MWMShareActivityItem`) displays phone
  numbers separated with `; `, which provides a better phone detection
  for iOS.

- the Call button (`PlacePageInteractor`) now has to ask the user which
  number to call if there are more than one.

I tested this on an iPhone 15 Pro, iOS 17.2 simulator (temporarily
commenting the "can make phone call" checks).

Note: the Editing screen wasn't updated in order to keep this PR
smaller.

Fixes https://git.omaps.dev/organicmaps/organicmaps/issues/2458. The
corresponding fix for Android was in
https://github.com/organicmaps/organicmaps/pull/845.

[parsing]: https://wiki.openstreetmap.org/wiki/Key:phone#Parsing_phone_numbers

Signed-off-by: Eugene Nikolsky <omaps@egeek.me>
2025-05-19 10:52:42 +02:00
Eugene Nikolsky
a3ba5c53b6 [ios] Pass the phone to didPressCall
This will allow us to know which phone the user has picked when we've
added support for multiple phone numbers.

Signed-off-by: Eugene Nikolsky <omaps@egeek.me>
2025-05-19 10:52:42 +02:00
Eugene Nikolsky
56c4918e93 [ios] Pass specific phone to call instead of entire POI information
For now, it doesn't change anything because there's still at most one
phone, but this will help with multiple phone numbers because we'll need
to know which phone number the user has picked.

Signed-off-by: Eugene Nikolsky <omaps@egeek.me>
2025-05-19 10:52:42 +02:00
Eugene Nikolsky
9be9f17df9 [ios] Extract PlacePagePhone class
It groups two phone-related properties, `phone` and `phoneUrl` (renamed
to `url`), that used to be in `PlacePageInfoData`. This will make it
easier to support an array of phones for one POI.

Signed-off-by: Eugene Nikolsky <omaps@egeek.me>
2025-05-19 10:52:42 +02:00
DevarshVasani
f1db7d7f98 Refactor sharing URLs to use geo URI and HTTP URL.
Signed-off-by: DevarshVasani <vasanidevarsh@gmail.com>
2025-05-19 10:52:42 +02:00
Konstantin Pastbin
01aecbfac4 [tools] Add generate_subways.sh script
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-19 10:52:42 +02:00
Andrew Shkrob
ef6ffa299d [data] Move fonts into a separate folder
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-05-19 10:52:42 +02:00
Andrew Shkrob
91b91a3e32 [core] Revive clang-format
Closes: #3661

Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-05-19 10:52:42 +02:00
Harry Bond
f0cc178b9a [android] Use light mode by default
Fixes #80
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-18 19:39:03 +00:00
map per
8bf36fab49 Rebranding of OSM note texts
Signed-off-by: map per <map-per@gmx.de>
2025-05-18 19:14:32 +02:00
map per
41417cd842 Adjust editor fields for post_box
Signed-off-by: map per <map-per@gmx.de>
2025-05-18 18:41:42 +02:00
map per
ca0293bd8d Fix 'Support Us' link
Signed-off-by: map per <map-per@gmx.de>
2025-05-18 15:49:54 +00:00
Ferenc Géczi
da05598ce1 [platform] Remove redundant target_compile_options
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2025-05-18 13:36:53 +00:00
Ferenc Géczi
5110867b38 [platform] Separete the location_service lib
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2025-05-18 13:36:53 +00:00
Mihail Mitrofanov
c7aacb3b64 Add Qt dev packages dependency for generating symbols
This commit adds instructions to install necessary Qt development packages for generating symbols during the build process. It also updates the instructions for downloading `World.mwm` and `WorldCoast.mwm` files to include links to the files.
2025-05-17 23:42:44 +02:00
Codeberg Translate
113a2a46d9 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: butterflyoffire <butterflyoffire@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-stores-descriptions/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-stores-descriptions/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-descriptions/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/tts/et/
Translation: CoMaps/Android Stores Descriptions
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android feature types
Translation: CoMaps/AppStore Descriptions
Translation: CoMaps/Countries
Translation: CoMaps/TTS
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS Type Strings
Translation: CoMaps/iOS UI Strings
2025-05-17 17:22:27 +07:00
Konstantin Pastbin
724feb151b [android] Fix JNI building in no-unity mode
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-17 05:09:39 +00:00
Mihail Mitrofanov
381642b0c9 feat(issue_templates): migrate to YAML format
- Remove old Markdown templates
- Reorganize files into  dir
- Add new structured YAML template for feature requests

Signed-off-by: Mihail Mitrofanov <mitrofanov@bitrix.ru>
2025-05-16 20:15:00 +00:00
Jean-Baptiste
e98d506207 [android] Migrate to version catalog
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
Co-authored by: Harry Bond <me@hbond.xyz>
2025-05-16 13:48:17 +00:00
Jean-Baptiste
49beb50f7b [doc] Remove useless screenshots
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-14 18:36:28 +02:00
Jean-Baptiste
4591ce3093 [CI] Enable CI on Github mirror
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-14 05:12:04 +00:00
Jean-Baptiste
274c8a9bc8 [doc] Update docs installation
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-13 12:09:39 +02:00
zyphlar
855cc90d62 Depth typo 2025-05-12 20:41:43 +00:00
Konstantin Pastbin
d02aefbf12 [android] Configure app.comaps.* app ids
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-11 18:46:11 +00:00
hb0nd
ce97718487 [Docs] Nicer section title
Less accusatory sounding
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-11 17:34:01 +01:00
Jean-Baptiste
4f53fdea48 [docs] Update docs about default git branch
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-11 11:05:59 +02:00
Jean-Baptiste
8f4589edfe Fix codeberg url and updates teams
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-11 08:29:14 +02:00
Konstantin Pastbin
844805a3a1 [docs] Add more app features
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-11 05:34:44 +00:00
Konstantin Pastbin
889d536303 [docs] Update CONTRIBUTING.md
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-11 00:12:44 +07:00
Konstantin Pastbin
c10d5403bc Remove preface, add navbar, streamline structure and app description
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-10 18:53:20 +07:00
Konstantin Pastbin
edcea993dd [docs] Update INSTALL.md
- instructions to download World*.mwm files and generate skins
- instructions how to attach historic commits
- minor fixes

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-08 22:46:00 +07:00
Konstantin Pastbin
cbf345c139 Shallow submodules clone in configure.sh
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-08 22:26:40 +07:00
Jean-Baptiste
8f1a0903bb Finish rebrand on the main repository
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-08 21:12:42 +07:00
oleg-rswll
76e17a34bb Update wording 2025-05-08 21:12:42 +07:00
Jean-Baptiste
c36a9e8c63 Rebrand repository documentation
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-08 21:12:42 +07:00
pastk
f6ebf9fcd4 Link to the Governance repo
Signed-off-by: pastk <konstantin.pastbin@gmail.com>
2025-05-08 21:12:42 +07:00
pastk
773ba73cbd Remove app stores badges and links as not ready yet
As people could be confused.

Signed-off-by: pastk <konstantin.pastbin@gmail.com>
2025-05-08 21:12:41 +07:00
pastk
7807d4ec43 Move motto to the top, polish first paragraph
Reviewed-on: https://codeberg.org/comaps/comaps-init/pulls/14
Reviewed-by: Harry Bond <me@hbond.xyz>
Co-authored-by: pastk <konstantin.pastbin@gmail.com>
Co-committed-by: pastk <konstantin.pastbin@gmail.com>
2025-05-08 21:12:41 +07:00
pastk
666bc04e6c Update donation links and financial info
People are visiting already and its important to have working links.

Reviewed-on: https://codeberg.org/comaps/comaps-init/pulls/15
Reviewed-by: Harry Bond <me@hbond.xyz>
Co-authored-by: pastk <konstantin.pastbin@gmail.com>
Co-committed-by: pastk <konstantin.pastbin@gmail.com>
2025-05-08 21:12:41 +07:00
oleg-rswll
129e5aa119 Update README.md 2025-05-08 21:12:41 +07:00
map per
6e6f3446ef Added difference to OM section to readme
Signed-off-by: map per <map-per@gmx.de>
2025-05-08 21:12:41 +07:00
Jean-Baptiste
9519f5135e Continue rebranding of the project
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-08 21:12:41 +07:00
Harry Bond
d298764f61 rename .github to .forgejo
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
d0042badd0 [planet] New data from 250418
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
498bb92131 Update fedi account
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
b0a5decfdd use upstream freetype
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
3191421c2b [android] replace Organic Maps strings with CoMaps
and fix build.gradle strings (appid now app.comaps)

Signed-off-by: Harry Bond <me@hbond.xyz>


Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
906507daa2 [android] Update About page
also update copyright.html to refer to comaps, and fix project name hardcoding in utils.java
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
5b4e6f73a1 [strings] update instagram & telegram localised links
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
c45f9100cb Add symbols and world.mwm to gitignore
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Harry Bond
8e03269e38 [android] disable begging message on placepage
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
jeanbaptisteC
ce6604334b Add new social networks links
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-08 21:12:41 +07:00
jeanbaptisteC
607ffff65d Remove old files
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-08 21:12:41 +07:00
jeanbaptisteC
85b2f6a3aa Rebranding readme, doc and config files
Signed-off-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
2025-05-08 21:12:41 +07:00
Harry Bond
70ed37b648 [android][ios] Remove Kayak links
Signed-off-by: Harry bond <me@hbond.xyz>
2025-05-08 21:12:41 +07:00
Konstantin Pastbin
017a5c6cab Update Matrix, TG and Mastodon links
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-08 21:12:41 +07:00
Konstantin Pastbin
ad264f364e Move Governance docs to a separate repo
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-08 21:12:41 +07:00
Konstantin Pastbin
2ccda64f89 Remove Organic Maps institutional sponsors
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-08 21:12:41 +07:00
Konstantin Pastbin
f93e734eba Remove the LEGAL doc tied to Organic Maps OÜ
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-08 21:12:40 +07:00
Konstantin Pastbin
8198d3cd52 Update copyrights for the CoMaps fork
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-05-08 21:12:40 +07:00
838 changed files with 18271 additions and 16283 deletions

View File

@@ -2,447 +2,47 @@
---
BasedOnStyle: Google
IndentWidth: 2
BreakBeforeBraces: Allman
ColumnLimit: 120
---
Language: Cpp
AccessModifierOffset: -2
AllowShortBlocksOnASingleLine: false
AlignOperands: AlignAfterOperator
AllowShortBlocksOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
BreakConstructorInitializersBeforeComma: true
ConstructorInitializerIndentWidth: 2
DerivePointerAlignment: false
IndentCaseLabels: false
NamespaceIndentation: None
PointerAlignment: Middle
SortIncludes: true
Standard: c++20
IncludeBlocks: Regroup
IncludeCategories:
# Tests --------------------------------------------------------------------------------------------
- Regex: '^"track_analyzing/track_analyzing_tests/'
Priority: 4730
- Regex: '^"poly_borders/poly_borders_tests/'
Priority: 4740
- Regex: '^"generator/generator_integration_tests/'
Priority: 4750
- Regex: '^"generator/generator_tests/'
Priority: 4751
- Regex: '^"generator/mwm_diff_tests/'
Priority: 4752
- Regex: '^"map/style_tests/'
Priority: 4760
- Regex: '^"map/mwm_tests/'
Priority: 4761
- Regex: '^"map/map_tests/'
Priority: 4762
- Regex: '^"map/map_integration_tests/'
Priority: 4763
- Regex: '^"ge0/ge0_tests/'
Priority: 4765
- Regex: '^"openlr/openlr_tests/'
Priority: 4770
- Regex: '^"descriptions/descriptions_tests/'
Priority: 4790
- Regex: '^"ugc/ugc_tests'
Priority: 4810
- Regex: '^"search/search_integration_tests/'
Priority: 4820
- Regex: '^"search/search_tests/'
Priority: 4821
- Regex: '^"search/search_quality/search_quality_tests/'
Priority: 4822
- Regex: '^"drape_frontend/drape_frontend_tests/'
Priority: 4830
- Regex: '^"routing/routing_tests/'
Priority: 4840
- Regex: '^"routing/routing_integration_tests/'
Priority: 4841
- Regex: '^"routing/routing_quality/routing_quality_tests/'
Priority: 4842
- Regex: '^"routing/routing_consistency_tests/'
Priority: 4843
- Regex: '^"routing/routing_benchmarks/'
Priority: 4844
- Regex: '^"kml/kml_tests'
Priority: 4850
- Regex: '^"tracking/tracking_tests/'
Priority: 4860
- Regex: '^"partners_api/partners_api_tests/'
Priority: 4870
- Regex: '^"traffic/traffic_tests/'
Priority: 4880
- Regex: '^"storage/storage_tests/'
Priority: 4890
- Regex: '^"storage/storage_integration_tests/'
Priority: 4891
- Regex: '^"editor/editor_tests/'
Priority: 4900
- Regex: '^"editor/osm_auth_tests/'
Priority: 4910
- Regex: '^"drape/drape_tests/'
Priority: 4920
- Regex: '^"transit/transit_tests'
Priority: 4930
- Regex: '^"routing_common/routing_common_tests/'
Priority: 4940
- Regex: '^"indexer/indexer_tests/'
Priority: 4950
- Regex: '^"platform/platform_tests/'
Priority: 4960
- Regex: '^"coding/coding_tests/'
Priority: 4970
- Regex: '^"geometry/geometry_tests/'
Priority: 4980
- Regex: '^"base/base_tests/'
Priority: 4990
- Regex: '^"testing/'
Priority: 5000
# Binaries (tools) ---------------------------------------------------------------------------------
- Regex: '^"openlr/openlr_match_quality/openlr_assessment_tool/'
Priority: 18908
- Regex: '^"search/search_quality/assessment_tool/'
Priority: 18909
- Regex: '^"qt/'
Priority: 18910
- Regex: '^"track_analyzing/track_analyzer/'
Priority: 19000
- Regex: '^"feature_list/'
Priority: 19100
- Regex: '^"generator/booking_quality_check/'
Priority: 19206
- Regex: '^"generator/complex_generator/'
Priority: 19207
- Regex: '^"generator/feature_segments_checker/'
Priority: 19208
- Regex: '^"generator/srtm_coverage_checker/'
Priority: 19209
- Regex: '^"generator/generator_tool/'
Priority: 19210
- Regex: '^"map/extrapolation_benchmark/'
Priority: 19309
- Regex: '^"map/benchmark_tool/'
Priority: 19310
- Regex: '^"openlr/openlr_stat/'
Priority: 19400
- Regex: '^"search/search_quality/booking_dataset_generator/'
Priority: 19707
- Regex: '^"search/search_quality/features_collector_tool/'
Priority: 19708
- Regex: '^"search/search_quality/samples_generation_tool/'
Priority: 19709
- Regex: '^"search/search_quality/search_quality_tool/'
Priority: 19710
- Regex: '^"track_generator/'
Priority: 19800
- Regex: '^"routing/routing_quality/routing_quality_tool/'
Priority: 19909
- Regex: '^"routing/routes_builder/routes_builder_tool/'
Priority: 19910
- Regex: '^"skin_generator/'
Priority: 20000
# Libraries ----------------------------------------------------------------------------------------
- Regex: '^"poly_borders/'
Priority: 46700
- Regex: '^"track_analyzing/'
Priority: 46800
- Regex: '^"generator/mwm_diff/pymwm_diff/'
Priority: 46907
- Regex: '^"generator/mwm_diff/'
Priority: 46908
- Regex: '^"generator/generator_tests_support/'
Priority: 46909
- Regex: '^"generator/'
Priority: 46910
- Regex: '^"map/'
Priority: 47000
- Regex: '^"ge0/'
Priority: 47050
- Regex: '^"openlr/'
Priority: 47100
- Regex: '^"descriptions/'
Priority: 47300
- Regex: '^"search/search_quality/'
Priority: 47407
- Regex: '^"search/search_tests_support/'
Priority: 47408
- Regex: '^"search/pysearch/'
Priority: 47409
- Regex: '^"search/'
Priority: 47410
- Regex: '^"ugc/'
Priority: 47500
- Regex: '^"track_generator/pytrack_generator/'
Priority: 47600
- Regex: '^"routing/routing_quality/api/'
Priority: 47707
- Regex: '^"routing/routing_quality/'
Priority: 47708
- Regex: '^"routing/routes_builder/'
Priority: 47709
- Regex: '^"routing/'
Priority: 47710
- Regex: '^"tracking/pytracking/'
Priority: 47809
- Regex: '^"tracking/'
Priority: 47810
- Regex: '^"partners_api/'
Priority: 47900
- Regex: '^"traffic/pytraffic/'
Priority: 48109
- Regex: '^"traffic/'
Priority: 48110
- Regex: '^"storage/'
Priority: 48200
- Regex: '^"editor/editor_tests_support/'
Priority: 48309
- Regex: '^"editor/'
Priority: 48310
- Regex: '^"drape_frontend/'
Priority: 48500
- Regex: '^"shaders/'
Priority: 48600
- Regex: '^"drape/'
Priority: 48700
- Regex: '^"qt_tstfrm/'
Priority: 48800
- Regex: '^"kml/pykmlib/'
Priority: 48909
- Regex: '^"kml/'
Priority: 48910
- Regex: '^"transit/'
Priority: 49000
- Regex: '^"routing_common/'
Priority: 49100
- Regex: '^"indexer/'
Priority: 49200
- Regex: '^"platform/platform_tests_support/'
Priority: 49409
- Regex: '^"platform/'
Priority: 49410
- Regex: '^"coding/'
Priority: 49500
- Regex: '^"geometry/'
Priority: 49600
- Regex: '^"base/'
Priority: 49700
- Regex: '^"pyhelpers/'
Priority: 49800
- Regex: '^"app/organicmaps/util/'
Priority: 49840
- Regex: '^"app/organicmaps/maps/'
Priority: 49850
- Regex: '^"app/organicmaps/platform/'
Priority: 49860
- Regex: '^"app/organicmaps/opengl/'
Priority: 49870
- Regex: '^"app/organicmaps/vulkan/'
Priority: 49880
- Regex: '^"app/organicmaps/core/'
Priority: 49890
- Regex: '^"private\.h"$'
Priority: 49900
- Regex: '^"std/'
Priority: 50000
- Regex: '^"defines\.hpp"$'
Priority: 50100
- Regex: '^<Qt.*>$'
Priority: 50140
- Regex: '^<jni.h>$'
Priority: 50180
- Regex: '^<.*>$'
Priority: 50200
- Regex: '^"(3party/boost|boost)/'
Priority: 50300
- Regex: '^<boost'
Priority: 50300
- Regex: '^"3party/.*'
Priority: 50400
- Regex: '^"build_version\.hpp"$'
Priority: 99999
---
Language: Java
BreakAfterJavaFieldAnnotations: true
---
Language: ObjC
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: AfterColon
BreakBeforeTernaryOperators: true
BreakStringLiterals: true
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
BeforeLambdaBody: true
BeforeWhile: true
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBraces: Custom
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
ColumnLimit: 120
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^<.*\.h>'
Priority: 1
- Regex: '^<.*'
Priority: 2
- Regex: '.*'
Priority: 3
IncludeIsMainRegex: '([-_](test|unittest))?$'
IndentCaseLabels: true
IndentPPDirectives: None
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Never
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Right
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
IndentCaseLabels: false
IndentExternBlock: NoIndent
InsertNewlineAtEOF: true
PackConstructorInitializers: Never
PointerAlignment: Middle
QualifierAlignment: Right
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
TabWidth: 8
Standard: Latest
TabWidth: 2
UseTab: Never

View File

@@ -49,13 +49,13 @@
/docs/STYLES.md
/tools/kothic/ @organicmaps/styles
# DevOps.
/.github/workflows @organicmaps/devops
/.forgejo/workflows @organicmaps/devops
/android/*gradle* @organicmaps/devops
/docs/RELEASE_MANAGEMENT.md @organicmaps/devops
/xcode/fastlane/ @organicmaps/devops
# Growth.
README.md @organicmaps/growth
/.github/FUNDING.yml @organicmaps/growth
/.forgejo/FUNDING.yml @organicmaps/growth
/android/app/src/fdroid/play/ @organicmaps/growth
/android/app/src/google/play/ @organicmaps/growth
/iphone/metadata/ @organicmaps/growth

1
.forgejo/FUNDING.yml Normal file
View File

@@ -0,0 +1 @@
open_collective: comaps

View File

@@ -0,0 +1,70 @@
name: 🐞 Bug Report
description: Report a problem you've encountered
title: "bug: "
labels:
- bug
body:
- type: markdown
attributes:
value: |
⚠ **Have you searched for similar, already existing issues?**
Please do that before submitting a new one.
- type: textarea
id: issue-description
attributes:
label: Describe the issue
description: Please write a clear and concise description of the issue here.
placeholder: Describe what is not working as expected...
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: Describe the steps needed to reproduce the issue.
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See the error
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behaviour
description: A clear and concise description of what you expected to happen.
placeholder: I expected that...
validations:
required: false
- type: textarea
id: screenshots
attributes:
label: Screenshots
description: If applicable, add screenshots or screen recordings to help explain your problem.
validations:
required: false
- type: textarea
id: system-info
attributes:
label: System information
description: Provide information about the system where the issue occurred.
placeholder: |
- OS: e.g. Ubuntu 22, iOS 12
- CoMaps version: e.g. 1.2.3
- Device model: e.g. iPhone 6, Samsung S22
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context or comments that may be useful.
validations:
required: false

View File

@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Translations
url: https://codeberg.org/comaps/comaps/src/branch/main/docs/TRANSLATIONS.md
about: Translate CoMaps into your language
- name: News
url: https://comaps.app/news/
about: Check the latest project news

View File

@@ -0,0 +1,47 @@
name: "💡 Feature Request"
description: "Suggest an idea or improvement for CoMaps"
title: "feat: "
labels:
- "enhancement"
body:
- type: markdown
attributes:
value: |
⚠ **Have you searched for similar, already existing issues?**
Please make sure your idea hasn't been suggested before.
- type: textarea
id: related-problem
attributes:
label: "What problem would this feature help solve?"
description: "Share how this feature could make the experience better, smoother, or more enjoyable."
placeholder: "It would be great if..."
validations:
required: true
- type: textarea
id: ideal-solution
attributes:
label: "Describe the ideal solution"
description: "What would you like to see in CoMaps?"
placeholder: "I would like CoMaps to..."
validations:
required: false
- type: textarea
id: alternatives
attributes:
label: "Describe alternatives you have considered"
description: |
How do you solve this issue now with CoMaps or other apps?
You can also share screenshots or examples from other apps.
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: "Additional context"
description: "Any other context, comments, or screenshots to support your request."
validations:
required: false

View File

@@ -3,11 +3,11 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- master
- main
paths-ignore:
- .gitignore
- .github/**
- '!.github/workflows/android-beta.yaml' # Run check on self change
- .forgejo/**
- '!.forgejo/workflows/android-beta.yaml' # Run check on self change
- '**/*_tests/**'
- '**/CMakeLists.txt'
- CONTRIBUTORS

View File

@@ -0,0 +1,121 @@
name: Android Check
on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
pull_request:
paths-ignore:
- .gitignore
- .forgejo/**
- '!.forgejo/workflows/android-check.yaml' # Run check on self change
- '**/*_tests/**'
- CONTRIBUTORS
- LICENSE
- NOTICE
- README.md
- android/app/src/fdroid/**
- android/app/src/google/**
- iphone/**
- data/strings/**
- docs/**
- generator/**
- packaging/**
- platform/*apple*
- platform/*_ios*
- platform/*_linux*
- platform/*_mac*
- platform/*qt*
- platform/*_win*
- pyhelpers/**
- qt*/**
- skin_generator/**
- tools/**
- track_generator/**
- xcode/**
env:
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
jobs:
lint:
name: Android Lint
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Parallel submodules checkout
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Lint
shell: bash
working-directory: android
run: ./gradlew -Pandroidauto=true lint
android-check:
name: Build Android Debug
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
flavor: [WebDebug, FdroidDebug]
include:
- flavor: WebDebug
arch: arm64
- flavor: FdroidDebug
arch: arm32
# Cancels previous jobs if the same branch or PR was updated again.
concurrency:
group: ${{ github.workflow }}-${{ matrix.flavor }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
steps:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 200 # enough to get all commits for the current day
- name: Parallel submodules checkout
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-${{ matrix.flavor }}
- name: Compile ${{ matrix.flavor }}
shell: bash
working-directory: android
env:
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
run: |
cmake --version
ninja --version
./gradlew -P${{ matrix.arch }} assemble${{ matrix.flavor }}
- name: Upload ${{ matrix.flavor }} apk
uses: actions/upload-artifact@v4
with:
name: android-${{ matrix.flavor }}
path: android/app/build/outputs/apk/**/OrganicMaps-*.apk
if-no-files-found: error

View File

@@ -23,7 +23,7 @@ jobs:
with:
repository: ${{ secrets.SCREENSHOTS_REPO }}
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
ref: master
ref: main
path: screenshots
- name: Restore release keys

View File

@@ -97,7 +97,7 @@ jobs:
with:
repository: ${{ secrets.SCREENSHOTS_REPO }}
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
ref: master
ref: main
path: screenshots
- name: Restore release keys
@@ -156,7 +156,7 @@ jobs:
cat ${{ env.RELEASE_NOTES }}
echo ""
echo "See [a detailed announce](https://organicmaps.app/news/) on our website when app updates are published in all stores."
echo "You can get automatic app updates from GitHub [using Obtainium](https://github.com/organicmaps/organicmaps/wiki/Installing-Organic-Maps-from-GitHub-using-Obtainium)."
echo "You can get automatic app updates from Codeberg [using Obtainium](https://codeberg.org/comaps/comaps/wiki/Installing-Organic-Maps-from-GitHub-using-Obtainium)."
echo ""
echo "sha256sum:"
echo -e '\n```'
@@ -164,7 +164,7 @@ jobs:
echo -e '\n```'
} > ${{ runner.temp }}/release-notes.txt
- name: Upload universal APK to GitHub
- name: Upload universal APK to Codeberg
uses: softprops/action-gh-release@v1
if: ${{ matrix.flavor == 'web' }}
with:

View File

@@ -4,7 +4,7 @@ on:
pull_request:
paths:
- packaging/app.organicmaps.desktop.metainfo.xml
- .github/workflows/appstream-check.yaml # Run check on self change
- .forgejo/workflows/appstream-check.yaml # Run check on self change
jobs:
validate-appstream:

View File

@@ -4,7 +4,7 @@ on:
pull_request:
paths:
- qt/res/app.organicmaps.desktop.desktop
- .github/workflows/desktop-file-check.yaml # Run check on self change
- .forgejo/workflows/desktop-file-check.yaml # Run check on self change
jobs:
validate-desktop-file:

View File

@@ -3,11 +3,11 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- master
- main
paths-ignore:
- .gitignore
- .github/**
- '!.github/workflows/ios-beta.yaml' # Run check on self change
- .forgejo/**
- '!.forgejo/workflows/ios-beta.yaml' # Run check on self change
- '**/*_tests/**'
- '**/CMakeLists.txt'
- CONTRIBUTORS

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
pull_request:
paths:
- .github/workflows/ios-check-metadata.yaml # Run check on self change
- .forgejo/workflows/ios-check-metadata.yaml # Run check on self change
- iphone/metadata/**
- tools/python/check_store_metadata.py

View File

@@ -0,0 +1,106 @@
name: iOS Check
on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
pull_request:
paths-ignore:
- .gitignore
- .forgejo/**
- '!.forgejo/workflows/ios-check.yaml' # Run check on self change
- '**/*_tests/**'
- '**/CMakeLists.txt'
- CONTRIBUTORS
- LICENSE
- NOTICE
- README.md
- android/**
- data/strings/**
- docs/**
- generator/**
- iphone/metadata/**
- packaging/**
- platform/*_android*
- platform/*_linux*
- platform/*_mac*
- platform/*qt*
- platform/*_win*
- pyhelpers/**
- qt*/**
- skin_generator/**
- tools/**
- track_generator/**
jobs:
ios-check:
name: Build iOS
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
LANG: en_US.UTF-8 # Fastlane complains that the terminal is using ASCII.
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
TEST_RESULTS_BUNDLE_NAME: OMaps-Test-Results
strategy:
fail-fast: false
matrix:
buildType: [Debug, Release]
# Cancels previous jobs if the same branch or PR was updated again.
concurrency:
group: ${{ github.workflow }}-${{ matrix.buildType }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Parallel submodules checkout
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:
key: xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.buildType }}-${{ github.sha }}
restore-keys: xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.buildType }}
- name: Build and Run Tests (Debug)
if: matrix.buildType == 'Debug'
shell: bash
run: |
xcodebuild test \
-workspace xcode/omim.xcworkspace \
-scheme OMaps \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 16 Pro Max,OS=latest' \
-quiet \
-resultBundlePath ${{ env.TEST_RESULTS_BUNDLE_NAME }}.xcresult \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO
- name: Upload Test Results On Failure (Debug)
if: ${{ matrix.buildType == 'Debug' && failure() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.TEST_RESULTS_BUNDLE_NAME }}-${{ github.run_number }}.xcresult
path: ${{ env.TEST_RESULTS_BUNDLE_NAME }}.xcresult
if-no-files-found: error
- name: Build (Release)
if: matrix.buildType == 'Release'
shell: bash
run: |
xcodebuild build \
-workspace xcode/omim.xcworkspace \
-scheme OMaps \
-configuration Release \
-destination 'generic/platform=iOS' \
-quiet \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO

View File

@@ -29,7 +29,7 @@ jobs:
with:
repository: ${{ secrets.SCREENSHOTS_REPO }}
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
ref: master
ref: main
path: screenshots
- name: Checkout keywords
@@ -37,7 +37,7 @@ jobs:
with:
repository: ${{ secrets.KEYWORDS_REPO }}
ssh-key: ${{ secrets.KEYWORDS_SSH_KEY }}
ref: master
ref: main
path: keywords
- name: Update metadata

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- master
- main
pull_request:
paths-ignore:
- .gitignore

View File

@@ -3,12 +3,12 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- master
- main
pull_request:
paths-ignore:
- .gitignore
- .github/**
- '!.github/workflows/macos-check.yaml' # Run check on self change
- .forgejo/**
- '!.forgejo/workflows/macos-check.yaml' # Run check on self change
- CONTRIBUTORS
- LICENSE
- NOTICE

4
.github/FUNDING.yml vendored
View File

@@ -1,4 +0,0 @@
github: organicmaps
liberapay: OrganicMaps
open_collective: organicmaps
custom: ["https://organicmaps.app/donate/", "https://donate.organicmaps.app/"]

View File

@@ -1,38 +0,0 @@
---
name: Bug Report
about: Describe your issue in detail to help us improve Organic Maps
title: ''
labels: ''
assignees: ''
---
⚠ Have you searched for similar, already existing issues?
**Describe the issue**
Please write a clear and concise description of the issue here.
**Steps to reproduce**
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behaviour**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots or screen recordings to help explain your problem.
**System information:**
- Operating system and its version: [iOS 12, Android 10, Ubuntu 22, MacOS Big Sur, etc.]
- Organic Maps version: [you can find it by tapping the button with the green Organic Maps logo]
- Device Model: [e.g. iPhone 6, Samsung S22]
**Additional context**
Please add any other context or comments here that may be useful.

View File

@@ -1,11 +0,0 @@
blank_issues_enabled: true
contact_links:
- name: Discussions
url: https://github.com/organicmaps/organicmaps/discussions
about: Discuss the usage of Organic Maps, ask questions, or talk about ideas that aren't yet actionable.
- name: Translations
url: https://github.com/organicmaps/organicmaps/blob/master/docs/TRANSLATIONS.md
about: Translate Organic Maps into your language
- name: News
url: https://organicmaps.app/news/
about: Check the latest project news

View File

@@ -1,27 +0,0 @@
---
name: Feature Request
about: Suggest an idea for Organic Maps
title: ''
labels: []
assignees: ''
---
⚠ Have you searched for similar, already existing issues?
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. For example:
I'm always frustrated when [...]
**Describe the ideal solution**
A clear and concise description of what you want to see in Organic Maps.
**Describe alternatives you have considered**
- How do you solve this issue now with Organic Maps or other apps?
- Attach any examples, screenshots, or screen recordings from other apps that help us to better understand the idea.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -3,36 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- master
pull_request:
paths-ignore:
- .gitignore
- .github/**
- '!.github/workflows/android-check.yaml' # Run check on self change
- '**/*_tests/**'
- CONTRIBUTORS
- LICENSE
- NOTICE
- README.md
- android/app/src/fdroid/**
- android/app/src/google/**
- iphone/**
- data/strings/**
- docs/**
- generator/**
- packaging/**
- platform/*apple*
- platform/*_ios*
- platform/*_linux*
- platform/*_mac*
- platform/*qt*
- platform/*_win*
- pyhelpers/**
- qt*/**
- skin_generator/**
- tools/**
- track_generator/**
- xcode/**
- main
env:
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
@@ -61,14 +32,14 @@ jobs:
run: ./gradlew -Pandroidauto=true lint
android-check:
name: Build Android Debug
name: Build Android apps
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
flavor: [WebDebug, FdroidDebug]
flavor: [WebBeta, FdroidDebug]
include:
- flavor: WebDebug
- flavor: WebBeta
arch: arm64
- flavor: FdroidDebug
arch: arm32
@@ -82,7 +53,19 @@ jobs:
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build
sudo apt-get install -y ninja-build \
qt6-base-dev \
qt6-declarative-dev \
qt6-positioning-dev \
libqt6svg6-dev \
optipng \
libfreetype-dev \
libharfbuzz-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
zlib1g-dev
- name: Checkout sources
uses: actions/checkout@v4
@@ -97,6 +80,10 @@ jobs:
shell: bash
run: ./configure.sh
- name: Generate symbols
shell: bash
run: ./tools/unix/generate_symbols.sh
- name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
@@ -117,5 +104,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: android-${{ matrix.flavor }}
path: android/app/build/outputs/apk/**/OrganicMaps-*.apk
path: android/app/build/outputs/apk/**/CoMaps-*.apk
if-no-files-found: error

View File

@@ -3,34 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- master
pull_request:
paths-ignore:
- .gitignore
- .github/**
- '!.github/workflows/ios-check.yaml' # Run check on self change
- '**/*_tests/**'
- '**/CMakeLists.txt'
- CONTRIBUTORS
- LICENSE
- NOTICE
- README.md
- android/**
- data/strings/**
- docs/**
- generator/**
- iphone/metadata/**
- packaging/**
- platform/*_android*
- platform/*_linux*
- platform/*_mac*
- platform/*qt*
- platform/*_win*
- pyhelpers/**
- qt*/**
- skin_generator/**
- tools/**
- track_generator/**
- main
jobs:
ios-check:
@@ -41,7 +14,7 @@ jobs:
LANG: en_US.UTF-8 # Fastlane complains that the terminal is using ASCII.
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
TEST_RESULTS_BUNDLE_NAME: OMaps-Test-Results
TEST_RESULTS_BUNDLE_NAME: CoMaps-Test-Results
strategy:
fail-fast: false
matrix:
@@ -52,6 +25,12 @@ jobs:
cancel-in-progress: true
steps:
- name: Install dependencies
run: |
brew install qt \
freetype \
harfbuzz \
optipng
- name: Checkout sources
uses: actions/checkout@v4
@@ -63,6 +42,16 @@ jobs:
shell: bash
run: ./configure.sh
- name: Download MWM files
shell: bash
run: |
wget https://cdn.comaps.app/maps/latest/World.mwm -P ./data/
wget https://cdn.comaps.app/maps/latest/WorldCoasts.mwm -P ./data/
- name: Generate symbols
shell: bash
run: ./tools/unix/generate_symbols.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:

10
.gitignore vendored
View File

@@ -16,11 +16,16 @@ screenlog.0
data/styles/*/*/out/*
data/resources-*_design/*
# symbols png/sdf are now generated at build
data/resources-*_*/symbols.png
data/resources-*_*/symbols.sdf
data/drules_proto_default_design.bin
data/colors_design.txt
data/patterns_design.txt
data/bookmarks
data/edits.xml
data/World.mwm
data/WorldCoasts.mwm
# Compiled Python
*.pyc
@@ -134,10 +139,7 @@ private.h
android/release.keystore
android/secure.properties
android/libnotify.properties
android/google-services.json
android/google-play.json
android/firebase-app-distribution.json
android/firebase-test-lab.json
android/huawei-appgallery.json
android/res/xml/network_security_config.xml
./server/
@@ -173,6 +175,7 @@ tools/python/*/venv/
# Configs
tools/python/maps_generator/var/etc/map_generator.ini
tools/python/routing/etc/*.ini
tools/unix/maps/settings.sh
# Helpers
/node_modules/
@@ -183,6 +186,7 @@ tools/python/routing/etc/*.ini
# VS Code
.vscode
.cache
# AppStore metadata
screenshots/

2
.gitmodules vendored
View File

@@ -31,7 +31,7 @@
url = https://github.com/unicode-org/icu.git
[submodule "3party/freetype/freetype"]
path = 3party/freetype/freetype
url = https://git.omaps.dev/organicmaps/freetype.git
url = https://gitlab.freedesktop.org/freetype/freetype.git
[submodule "3party/googletest"]
path = 3party/googletest
url = https://github.com/google/googletest.git

View File

@@ -247,7 +247,7 @@ set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
if (PLATFORM_LINUX OR PLATFORM_ANDROID)
find_program(LLD_FOUND ld.lld)
if (LLD_FOUND)
message(STATUS "Using ld.ldd linker")
message(STATUS "Using ld.lld linker")
set(CMAKE_EXE_LINKER_FLAGS "-fuse-ld=lld")
else()
find_program(GOLD_FOUND ld.gold)

View File

@@ -2,6 +2,11 @@ This file contains a list of people who have contributed to this project.
Its not neccesarily comprehensive.
Feel free to add yourself here along with your first contribution!
--------------------------------------------------------------------------------
CoMaps contributors:
(in alphabetic order)
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Organic Maps (formerly OMaps) contributors:
(in alphabetic order)

9
LEGAL
View File

@@ -1,9 +0,0 @@
Certain project resources, including but not limited to domain names, trademarks, hosting accounts, payment accounts, and others, are overseen and managed by Organic Maps OÜ. The governance of these digital assets is subject to policies established by Organic Maps OÜ, in compliance with applicable statutory laws.
Organic Maps OÜ is a legal entity established on 2021-05-01 under the laws of the Republic of Estonia and the European Union, with registration number 16225385. The primary purpose of the entity is to shield the project's members from personal liability and to ensure the legal protection of the project's assets. Official up-to-date information about the entity can be found in the Estonian Business Register:
https://ariregister.rik.ee/eng/company/16225385/Organic-Maps-O%C3%9C
Organic Maps OÜ does not require contributors to transfer copyright ownership and does not retain any copyright over the code contributed to the repository. See the NOTICE file and docs/DCO.md for additional information.
For any legal inquiries, feel free to contact legal@organicmaps.app.

3
NOTICE
View File

@@ -1,5 +1,6 @@
Copyright 2020 My.com B.V. (Mail.Ru Group)
Copyright 2024 Organic Maps Contributors
Copyright 2025 Organic Maps Contributors
Copyright 2025 CoMaps Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

234
README.md
View File

@@ -1,185 +1,125 @@
<div align="center">
<!--<div align="center">
<img src="qt/res/logo.png" height="100"/>
</div>
<h1 align="center"">Organic Maps</h1>
</div>-->
[Organic Maps](https://organicmaps.app) is a free Android & iOS offline maps app for travellers, tourists, drivers, hikers, and cyclists.
It uses crowd-sourced [OpenStreetMap](https://www.openstreetmap.org) data and is developed with love by the creators of **MapsWithMe** (later renamed to **Maps.Me**) and by our community.
No ads, no tracking, no data collection, no crapware. Your [donations](https://organicmaps.app/donate/) and positive reviews motivate and inspire us, thanks ❤️!
<!-- a nav bar -->
[Project Intro](https://codeberg.org/comaps#comaps)
| [Governance](https://codeberg.org/comaps/Governance#comaps-project-governance-docs)
| [FAQ](https://codeberg.org/comaps/Governance/src/branch/main/FAQ.md)
| [Contribute](#contributing)
| [Donate](https://www.comaps.app/donate)
| [Keep Connected](https://codeberg.org/comaps#keep-connected)
[<img src="docs/badges/apple-appstore.png" alt="App Store" width="160">](https://apps.apple.com/app/organic-maps/id1567437057)
[<img src="docs/badges/google-play.png" alt="Google Play" width="160">](https://play.google.com/store/apps/details?id=app.organicmaps)
[<img src="docs/badges/huawei-appgallery.png" alt="AppGallery" width="160">](https://appgallery.huawei.com/#/app/C104325611)
[<img src="docs/badges/obtainium.png" alt="Obtainium" width="160">](https://github.com/organicmaps/organicmaps/wiki/Installing-Organic-Maps-from-GitHub-using-Obtainium)
[<img src="docs/badges/fdroid.png" alt="F-Droid" width="160">](https://f-droid.org/en/packages/app.organicmaps/)
# [CoMaps](https://comaps.app) Hike, Bike, Drive Offline Easy Map Navigation with Privacy
[
![GitHub Actions Workflow Android Status](https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github%2Fworkflows%2Fandroid-check.yaml?style=flat&label=Android%20Build)
](https://github.com/comaps/comaps/actions/workflows/android-check.yaml)
[
![GitHub Actions Workflow iOS Status](https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github%2Fworkflows%2Fios-check.yaml?style=flat&label=iOS%20Build)
](https://github.com/comaps/comaps/actions/workflows/ios-check.yaml)
[
![Donate via OpenCollective](https://img.shields.io/opencollective/all/comaps?color=blue&label=Open%20Collective%20Donors)
](https://opencollective.com/comaps)
[
![Donate via Liberapay](https://img.shields.io/liberapay/patrons/CoMaps.svg?logo=liberapay&label=Liberapay%20Patrons)
](https://liberapay.com/CoMaps)
A community-led free & open source maps app based on [OpenStreetMap](https://www.openstreetmap.org) data and reinforced with commitment to transparency, privacy and being not-for-profit. CoMaps is a fork/spin-off of Organic Maps, which in turn is a fork of Maps.ME.
There are apps for Android and iOS (and ARM macOS).
An alpha linux / macOS Qt desktop version, which is also suitable for linux phones.
**We're working on getting first app releases out soon, please stay tuned!**
<!--
[<img src="docs/badges/apple-appstore.png" alt="App Store" width="160">](https://apps.apple.com/app/comaps/id1567437057)
[<img src="docs/badges/google-play.png" alt="Google Play" width="160">](https://play.google.com/store/apps/details?id=app.comaps)
[<img src="docs/badges/fdroid.png" alt="F-Droid" width="160">](https://f-droid.org/en/packages/app.comaps/)
-->
<p float="left">
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/1.jpg" width="400" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/2.jpg" width="400" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/3.jpg" width="400" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/4.jpg" width="400" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/1.jpg" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/2.jpg" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/3.jpg" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/4.jpg" width="180" />
</p>
## Features
**Offline-focused**: Plan and navigate your trip abroad without the need for cellular service, search waypoints while on a distant hike, etc. All app functions are designed to work offline.
Organic Maps is the ultimate companion app for travellers, tourists, hikers, and cyclists:
**Respecting Privacy**: The app is designed with privacy in mind - does not identify people, does not track, and does not collect personal information. Ads-free.
- Detailed offline maps with places that don't exist on other maps, thanks to [OpenStreetMap](https://openstreetmap.org)
- Cycling routes, hiking trails, and walking paths
- Contour lines, elevation profiles, peaks, and slopes
- Turn-by-turn walking, cycling, and car navigation with voice guidance
- Fast offline search on the map
- Bookmarks and tracks import and export in KML, KMZ & GPX formats
- Dark Mode to protect your eyes
- Countries and regions don't take a lot of space
- Free and open-source
**Simple and Polished**: essential easy to use features that just work.
## Why Organic?
**Saves Your Battery and Space**: Doesnt drain your battery like other navigation apps. Compact maps save precious space on your phone.
Organic Maps is pure and organic, made with love:
**Free and Built by the Community**: People like you helped build the app by adding places to [OpenStreetMap](https://www.openstreetmap.org), testing and giving feedback on features and contributing their development skills and money.
- Respects your privacy
- Saves your battery
- No unexpected mobile data charges
**Open and Transparent Decision-making and Financials, Not-for-profit and Fully Open Source.**
Organic Maps is free from trackers and other bad stuff:
### Main Features
- No ads
- No tracking
- No data collection
- No phoning home
- No annoying registration
- No mandatory tutorials
- No noisy email spam
- No push notifications
- No crapware
- ~~No pesticides~~ Purely organic!
- Downloadable detailed maps with places which are not available with Google Maps
The Android application is verified by the <a href="https://reports.exodus-privacy.eu.org/en/reports/app.organicmaps/latest/">Exodus Privacy Project:
- Outdoor mode with highlighted hiking trails, campsites, water sources, peaks, contour lines, etc
<img src="docs/privacy/exodus.png" width="400">
</a>
- Walking paths and cycleways
The iOS application is verified by <a href="https://ios.trackercontrol.org/analysis/app.organicmaps">TrackerControl for iOS:
- Points of interest like restaurants, gas stations, hotels, shops, sightseeings and many more
<img src="docs/privacy/trackercontrol-ios.png" width="400">
</a>
- Search by name or an address or by point of interest category
<br/>
- Navigation with voice announcements for walking, cycling, or driving
Organic Maps doesn't request excessive permissions to spy on you:
- Bookmark your favorite places with a single tap
<p float="left">
<img src="docs/privacy/om.jpg" width="400">
<img src="docs/privacy/mm.jpg" width="400">
</p>
- Offline Wikipedia articles
At Organic Maps, we believe that privacy is a fundamental human right:
- Subway transit layer and directions
- Organic Maps is an indie community-driven open-source project
- We protect your privacy from Big Tech's prying eyes
- Stay safe no matter where you are
- Track recording
Reject surveillance - embrace your freedom.
- Export and import bookmarks and tracks in KML, KMZ, GPX formats
[**Give Organic Maps a try!**](#install)
- A dark mode to use during the night
## Who is paying for the development?
- Improve map data for everyone using a basic built-in editor
The app is free for everyone, so we rely on donations. Please donate at [organicmaps.app/donate](https://organicmaps.app/donate) to support us!
- Android Auto and CarPlay support
Beloved institutional sponsors below have provided targeted grants to cover some infrastructure costs and fund development of new selected features:
<table>
<tr>
<td>
<a href="https://nlnet.nl/"><img src="docs/sponsors/nlnet.svg" alt="The NLnet Foundation" width="200px"></a>
</td>
<td>
<a href="https://github.com/organicmaps/organicmaps/milestone/7">The Search & Fonts improvement project</a> has been <a href="https://nlnet.nl/project/OrganicMaps/">funded</a> through NGI0 Entrust Fund. <a href="https://nlnet.nl/entrust/">NGI0 Entrust Fund</a> is established by the <a href="https://nlnet.nl/">NLnet Foundation</a> with financial support from the European Commission's <a href="https://www.ngi.eu/">Next Generation Internet programme</a>, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.
</td>
</tr>
<tr>
<td>
<a href="https://summerofcode.withgoogle.com/"><img src="docs/sponsors/gsoc.svg" alt="Google Summer of Code" width="200px"></a>
</td>
<td>
<a href="https://summerofcode.withgoogle.com/">Google</a> backed 5 student's projects in the Google Summer of Code program during <a href="https://summerofcode.withgoogle.com/programs/2022/organizations/organic-maps">2022</a> and <a href="https://summerofcode.withgoogle.com/programs/2023/organizations/organic-maps">2023</a> programs. Noteworthy projects included Android Auto and Wikipedia Dump Extractor.
</td>
</tr>
<tr>
<td>
<a href="https://www.mythic-beasts.com/"><img src="docs/sponsors/mythic-beasts.png" alt="Mythic Beasts" width="200px"></a>
</td>
<td>
<a href="https://www.mythic-beasts.com/">Mythic Beasts</a> ISP <a href="https://www.mythic-beasts.com/blog/2021/10/06/improving-the-world-bit-by-expensive-bit/">provides us</a> two virtual servers with 400 TB/month of free bandwidth to host and serve maps downloads and updates.
</td>
</tr>
<tr>
<td>
<a href="https://44plus.vn"><img src="docs/sponsors/44plus.svg" alt="44+ Technologies" width="200px"></a>
</td>
<td>
<a href="https://44plus.vn">44+ Technologies</a> is <a href="https://44plus.vn/organicmaps">providing us </a>with a free dedicated server worth around $12,000/year to serve maps across Vietnam & Southeast Asia.
</td>
</tr>
<tr>
<td>
<a href="https://futo.org"><img src="docs/sponsors/futo.svg" alt="FUTO" width="200px"></a>
</td>
<td>
<a href="https://futo.org">FUTO</a> has <a href="https://www.youtube.com/watch?v=fJJclgBHrEw">awarded $1000 micro-grant</a> to Organic Maps in February 2023.
</td>
</tr>
</table>
The majority of all expenses have been funded by founders of the project since its inception. The project is far from achieving any sort of financial sustainability. The current level of voluntary donations falls significantly short of covering efforts needed to sustain the app. Any new developments of features are beyond the scope of possibility due to the absence of the necessary financial resources.
Please consider [donating](https://organicmaps.app/donate) if you want to see this open-source project thriving, not dying. There are [other ways how to support the project](#contributing). No coding skills required.
## Copyrights
Licensed under the Apache License, Version 2.0. See
[LICENSE](https://github.com/organicmaps/organicmaps/blob/master/LICENSE),
[NOTICE](https://github.com/organicmaps/organicmaps/blob/master/NOTICE)
and [data/copyright.html](http://htmlpreview.github.io/?https://github.com/organicmaps/organicmaps/blob/master/data/copyright.html)
for more information.
## Governance
See [docs/GOVERNANCE.md](docs/GOVERNANCE.md).
<a name="contributing">
*Freedom Is Here - Discover your journey, navigate the world with privacy and community at the forefront!*
## Contributing
You can help by donating, contributing code, translating, or by telling others about it. To build the best maps app there is a need for software development, design, product, community development, and other areas. Reach out to us and let us know how you want to help.
If you want to build the project, check [docs/INSTALL.md](docs/INSTALL.md). If you want to help the project,
see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). You can [help in many ways](https://organicmaps.app/support-us/), the ability to code is not necessary.
see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). You can help in many ways, the ability to code is not necessary.
## Beta
Some docs might be outdated, contain broken links or old references to Organic Maps, etc. Its a work in progress and help is much appreciated!
Please join our beta program, suggest your features, and report bugs:
There is a dedicated Zulip chat for active contributors: [comaps.zulipchat.com](https://comaps.zulipchat.com)
- [iOS Beta (TestFlight)](https://testflight.apple.com/join/lrKCl08I)
- [Android Beta (Firebase)](https://appdistribution.firebase.dev/i/2f0fee463107b137)
### Feedback
## Feedback
<!-- uncomment when linked resources are ready
- **Rate us on the [App Store](https://apps.apple.com/app/comaps/id1567437057)
and [Google Play](https://play.google.com/store/apps/details?id=app.comaps)**. -->
- Star our repos on Codeberg
- Report bugs and discuss features at [the issue tracker](https://codeberg.org/comaps/comaps/issues)
- **Rate us on the [App Store](https://apps.apple.com/app/organic-maps/id1567437057)
and [Google Play](https://play.google.com/store/apps/details?id=app.organicmaps)**.
- **Star us on Forgejo**.
- Report bugs or issues to [the issue tracker](https://git.omaps.dev/organicmaps/organicmaps/issues).
- Subscribe to our [Telegram Channel](https://t.me/OrganicMapsApp) or to the [[matrix] space](https://matrix.to/#/#organicmaps:matrix.org) for updates.
- Join our [Telegram Group](https://t.me/OrganicMaps) to discuss with other users.
- Присоединяйтесь к нашей [русскоязычной группе в Telegram](https://t.me/OrganicMapsRu) для обратной связи и помощи.
- Diğer kullanıcılarla tartışmak için [Telegram Grubumuza](https://t.me/OrganicMapsTR) katılın.
- Rejoignez notre groupe [Telegram](https://t.me/OrganicMapsFR) pour obtenir de l'aide.
- Contact us by [email](mailto:hello@organicmaps.app).
- Follow our updates in
[Mastodon](https://fosstodon.org/@organicmaps),
[Facebook](https://facebook.com/OrganicMaps),
[X (Twitter)](https://x.com/OrganicMapsApp),
[Instagram](https://instagram.com/organicmaps.app/).
- Güncellemelerimizi [Instagram](https://instagram.com/organicmapstr/) üzerinden takip edin.
## How is development funded?
The Organic Maps community abides by the CNCF [code of conduct](https://github.com/organicmaps/organicmaps/blob/master/docs/CODE_OF_CONDUCT.md).
The app is free for everyone, so we rely on donations. Please [donate](https://opencollective.com/comaps/donate) to support the CoMaps community and see this open project thrive!
The project's financial information is completely open and transparent at [our Open Collective](https://opencollective.com/comaps).
## License and Copyright
Licensed under the Apache License, Version 2.0. See
[LICENSE](LICENSE),
[NOTICE](NOTICE)
and [data/copyright.html](data/copyright.html)
for more information.

23
android/Dockerfile Normal file
View File

@@ -0,0 +1,23 @@
FROM ubuntu:latest
ENV TZ=Etc/UTC
ENV QT_QPA_PLATFORM=offscreen
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
qt6-base-dev \
qt6-svg-dev \
qt6-positioning-dev \
libicu-dev \
libfreetype-dev \
libharfbuzz-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
optipng
WORKDIR /root/comaps
RUN ./configure.sh
RUN ./tools/unix/generate_symbols.sh
CMD ./gradlew -Parm64 assembleFdroidDebug

View File

@@ -2,15 +2,11 @@
/nativeOutputs
# ignore private keys
/google-services.json
/secure.properties
/release.keystore
/secure.properties
/libnotify.properties
/google-services.json
/google-play.json
/firebase-app-distribution.json
/firebase-test-lab.json
/huawei-appgallery.json
/agconnect-services.json
/src/main/res/xml/network_security_config.xml

View File

@@ -3,38 +3,16 @@ buildscript {
google()
mavenCentral()
}
//
// The magic below is needed to disable Google Firebase Services during the build time.
// Unfortunately, the only way to disable Gradle plugins is to add these hardcore switches to buildscript().
//
// Detect flavors from the task name.
def taskName = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase()
def isFdroid = taskName.contains('fdroid')
def isBeta = taskName.contains('beta')
// Firebase Crashlytics compile-time feature flag: -Pfirebase=true|false
def googleFirebaseServicesFlag = findProperty('firebase')
// Enable Firebase for all beta flavors except fdroid only if google-services.json exists.
def googleFirebaseServicesDefault = isBeta && !isFdroid && file("$projectDir/google-services.json").exists()
ext.googleFirebaseServicesEnabled = googleFirebaseServicesFlag != null ?
googleFirebaseServicesFlag == '' || googleFirebaseServicesFlag.toBoolean() :
googleFirebaseServicesDefault
dependencies {
classpath 'com.android.tools.build:gradle:8.7.3'
if (googleFirebaseServicesEnabled) {
println('Building with Google Firebase Services')
classpath 'com.google.gms:google-services:4.4.2'
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.2'
classpath 'com.google.firebase:firebase-appdistribution-gradle:5.0.0'
} else {
println('Building without Google Firebase Services')
}
classpath('com.github.triplet.gradle:play-publisher:3.10.1')
classpath('ru.cian:huawei-publish-gradle-plugin:1.4.2')
classpath libs.android.tools
classpath(libs.triplet.play.publisher)
classpath(libs.huawei.publish)
}
}
@@ -45,11 +23,6 @@ repositories {
}
apply plugin: 'com.android.application'
if (googleFirebaseServicesEnabled) {
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.google.firebase.appdistribution'
}
apply plugin: 'com.github.triplet.play'
apply plugin: 'ru.cian.huawei-publish-gradle-plugin'
@@ -80,8 +53,8 @@ def getCommitMessage() {
def osName = System.properties['os.name'].toLowerCase()
project.ext.appId = 'app.organicmaps'
project.ext.appName = 'Organic Maps'
project.ext.appId = 'app.comaps'
project.ext.appName = 'CoMaps'
// I have Java 21 installed, but this doesn't work on MacOS.
//java {
@@ -103,7 +76,7 @@ android {
ndkVersion '27.2.12479018'
defaultConfig {
// Default package name is taken from the manifest and should be app.organicmaps
// Default package name is taken from the manifest and should be app.comaps
def ver = getVersion()
versionCode = ver.V1
versionName = ver.V2
@@ -112,7 +85,7 @@ android {
minSdk propMinSdkVersion.toInteger()
targetSdk propTargetSdkVersion.toInteger()
applicationId project.ext.appId
buildConfigField 'String', 'SUPPORT_MAIL', '"android@organicmaps.app"'
buildConfigField 'String', 'SUPPORT_MAIL', '"android@comaps.app"'
// Should be customized in flavors.
buildConfigField 'String', 'REVIEW_URL', '""'
resourceConfigurations += [project.ext.supportedLocalizations]
@@ -182,30 +155,33 @@ android {
google {
dimension 'default'
applicationIdSuffix '.google'
versionName = android.defaultConfig.versionName + '-Google'
buildConfigField 'String', 'SUPPORT_MAIL', '"googleplay@organicmaps.app"'
buildConfigField 'String', 'REVIEW_URL', '"market://details?id=app.organicmaps"'
buildConfigField 'String', 'SUPPORT_MAIL', '"gplay@comaps.app"'
buildConfigField 'String', 'REVIEW_URL', '"market://details?id=app.comaps.google"'
}
// Distributed directly by the project, e.g. in repo releases, chats, etc.
web {
dimension 'default'
applicationIdSuffix '.web'
versionName = android.defaultConfig.versionName + '-Web'
buildConfigField 'String', 'SUPPORT_MAIL', '"apk@organicmaps.app"'
versionName = android.defaultConfig.versionName
buildConfigField 'String', 'SUPPORT_MAIL', '"apk@comaps.app"'
}
fdroid {
dimension 'default'
applicationIdSuffix '.fdroid'
versionName = android.defaultConfig.versionName + '-FDroid'
buildConfigField 'String', 'SUPPORT_MAIL', '"fdroid@organicmaps.app"'
buildConfigField 'String', 'SUPPORT_MAIL', '"fdroid@comaps.app"'
}
huawei {
dimension 'default'
applicationIdSuffix '.huawei'
versionName = android.defaultConfig.versionName + '-Huawei'
versionCode = HUAWEI_VERSION_CODE_BASE + android.defaultConfig.versionCode
buildConfigField 'String', 'SUPPORT_MAIL', '"huawei@organicmaps.app"'
buildConfigField 'String', 'REVIEW_URL', '"appmarket://details?id=app.organicmaps"'
buildConfigField 'String', 'SUPPORT_MAIL', '"huawei@comaps.app"'
buildConfigField 'String', 'REVIEW_URL', '"appmarket://details?id=app.comaps"'
}
}
@@ -241,7 +217,7 @@ android {
android.applicationVariants.all { variant ->
def task = variant.name.capitalize()
project.task(type: Exec, "run${task}", dependsOn: "install${task}") {
commandLine android.getAdbExe(), 'shell', 'am', 'start', '-n', "$applicationId/app.organicmaps.DownloadResourcesActivity", '-a', 'android.intent.action.MAIN', '-c', 'android.intent.category.LAUNCHER'
commandLine android.getAdbExe(), 'shell', 'am', 'start', '-n', "$applicationId/app.comaps.DownloadResourcesActivity", '-a', 'android.intent.action.MAIN', '-c', 'android.intent.category.LAUNCHER'
}
}
}
@@ -279,17 +255,9 @@ android {
jniDebuggable true // Enable jni debug build
zipAlignEnabled true
signingConfig signingConfigs.debug
resValue 'string', 'app_name', 'Debug Organic Maps'
resValue 'string', 'app_name', 'CoMaps Debug'
// Do not generate separate debug symbols for debug apps, because we don't distribute them.
ndk.debugSymbolLevel = 'none'
if (googleFirebaseServicesEnabled) {
// Keep debug symbols for test lab.
ndk.debugSymbolLevel = 'symbol_table'
firebaseCrashlytics {
nativeSymbolUploadEnabled true
}
}
}
release {
@@ -302,40 +270,22 @@ android {
resValue 'string', 'app_name', project.ext.appName
// Full size symbols are too big for Google, 217mb aab vs 95mb.
ndk.debugSymbolLevel = 'symbol_table'
if (googleFirebaseServicesEnabled) {
firebaseCrashlytics {
nativeSymbolUploadEnabled true
}
}
}
// TODO(@pastk): rename to "test" everywhere in code
beta {
applicationIdSuffix '.beta'
versionNameSuffix '-beta'
applicationIdSuffix '.test'
versionNameSuffix '-test'
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
// Includes the default ProGuard rules files that are packaged with the Android Gradle plugin.
// To learn more, go to the documentation section about R8 configuration files.
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
matchingFallbacks = ['debug', 'release']
resValue 'string', 'app_name', 'Beta Organic Maps'
matchingFallbacks = ['release'] // use dependencies of "release" build type
resValue 'string', 'app_name', 'CoMaps Test'
// Full size symbols are too big for Google, 217mb aab vs 95mb.
ndk.debugSymbolLevel = 'symbol_table'
if (googleFirebaseServicesEnabled) {
firebaseCrashlytics {
nativeSymbolUploadEnabled true
}
firebaseAppDistribution {
// A new beta release is created for each commit.
// Use the last commit message for the release notes.
releaseNotes = getCommitMessage()
groups = 'qa' // Notify only selected people.
serviceCredentialsFile = "$projectDir/firebase-app-distribution.json"
}
}
}
}
@@ -363,9 +313,11 @@ android {
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
coreLibraryDesugaring libs.android.tools.desugar
// Google Play Location Services
// TODO(@pastk): enabled via microG in all flavors,
// so move google/java/app/organicmaps/location/* into main/ and remove symlinks.
//
// Please add symlinks to google/java/app/organicmaps/location for each new gms-enabled flavor below:
// ```
@@ -374,51 +326,37 @@ dependencies {
// ls -la src/$flavor/java/app/organicmaps/location/GoogleFusedLocationProvider.java
// ```
//
webImplementation 'com.google.android.gms:play-services-location:21.3.0'
googleImplementation 'com.google.android.gms:play-services-location:21.3.0'
huaweiImplementation 'com.google.android.gms:play-services-location:21.3.0'
// This is the microG project's re-implementation which is permissible on
// F-droid because it's Apache-2.0.
fdroidImplementation 'org.microg.gms:play-services-location:0.3.6.244735'
// Google Firebase Services
if (googleFirebaseServicesEnabled) {
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:33.5.1')
// Add the dependencies for the Crashlytics and Analytics libraries
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-crashlytics-ndk'
}
// microG project's FOSS re-implementation of the proprietary libs.google.services.location
implementation libs.microg.services.location
// This line is added as a workaround for duplicate classes error caused by some outdated dependency:
// > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
// We don't use Kotlin, but some dependencies are actively using it.
// See https://stackoverflow.com/a/75719642
implementation 'androidx.core:core:1.15.0'
implementation(platform('org.jetbrains.kotlin:kotlin-bom:2.1.10'))
implementation 'androidx.annotation:annotation:1.9.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.car.app:app:1.7.0-rc01'
implementation 'androidx.car.app:app-projected:1.7.0-rc01'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
implementation 'androidx.fragment:fragment:1.8.5'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.work:work-runtime:2.10.0'
implementation 'androidx.lifecycle:lifecycle-process:2.8.7'
implementation 'com.google.android.material:material:1.12.0'
implementation libs.androidx.core
implementation(platform(libs.jetbrains.kotlin.bom))
implementation libs.androidx.annotation
implementation libs.androidx.appcompat
implementation libs.androidx.car.app
implementation libs.androidx.car.app.projected
implementation libs.androidx.constraintlayout
implementation libs.androidx.fragment
implementation libs.androidx.preference
implementation libs.androidx.recyclerview
implementation libs.androidx.work.runtime
implementation libs.androidx.lifecycle.process
implementation libs.android.material
// Fix for app/organicmaps/util/FileUploadWorker.java:14: error: cannot access ListenableFuture
// https://github.com/organicmaps/organicmaps/issues/6106
implementation 'com.google.guava:guava:33.3.0-android'
implementation 'com.github.devnullorthrow:MPAndroidChart:3.2.0-alpha'
implementation 'net.jcip:jcip-annotations:1.0'
implementation libs.google.guava
implementation libs.devnullorthrow.mpandroidchart
implementation libs.jcip.annotations
// Test Dependencies
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.15.2'
testImplementation 'org.mockito:mockito-inline:5.2.0'
androidTestImplementation libs.androidx.test.junit
testImplementation libs.junit
testImplementation libs.mockito.core
testImplementation libs.mockito.inline
}
tasks.withType(JavaCompile) {

View File

@@ -1 +1 @@
fdroid@organicmaps.app
fdroid@comaps.app

View File

@@ -1 +1 @@
https://organicmaps.app/
https://www.comaps.app/

View File

@@ -1,53 +0,0 @@
‣ تطبيقنا المجاني لا يتتبعك ولا يحتوي على إعلانات ويحتاج إلى دعمك.
‣ يتم تحسينه باستمرار من قبل المساهمين وفريقنا الصغير، في أوقات فراغنا.
‣ إذا كان هناك شيء خاطئ أو مفقود على الخريطة، يرجى إصلاحه في <b>OpenStreetMap</b> وانظر إلى تعديلاتك في تحديث الخرائط المستقبلية.
‣ إذا لم ينجح التنقل أو البحث، يرجى إرسال بريد إلكتروني إلينا. نرد على <i>كل بريد إلكتروني</i> وسنصلحه في أسرع وقت ممكن!
<b>ملاحظاتك ومراجعات الخمس نجوم هي أفضل المحفزات لنا!</b>
الميزات الرئيسية:
• مجاني، مفتوح المصدر، لا إعلانات، لا تتبع
• خرائط مفصلة غير متصلة بالإنترنت مع أماكن غير موجودة على خرائط Google، وذلك بفضل مجتمع <b>OpenStreetMap</b>
• طرق ركوب الدراجات ومسارات المشي لمسافات طويلة ومسارات المشي
• خطوط الكنتور وملامح الارتفاع والقمم والمنحدرات
• المشي بدوران وركوب الدراجات والملاحة التجريبية بالسيارة مع التوجيه الصوتي
• البحث السريع في وضع عدم الاتصال
• العلامات المرجعية وتتبع التصدير والاستيراد بأشكال KML و KMZ و GPX
• الوضع المظلم لحماية عينيك
لا يوجد نظام وسائل النقل العام وخرائط الأقمار الصناعية وغيرها من الميزات الرائعة <i>حتى الآن</i> في الخرائط العضوية. ولكن مع <i>مساعدتك ودعمك</i>، يمكننا أن نجعل هذا العالم أفضل خطوة بخطوة.
الخرائط العضوية هي <b>نقية وعضوية، مصنوعة من الحب</b>:
• تجربة سريعة مشتعلة في وضع عدم الاتصال
• يحترم خصوصيتك
• يحفظ بطاريتك
• لا توجد رسوم غير متوقعة لبيانات الهاتف المحمول
• سهل الاستخدام، مع تضمين أهم الميزات فقط
خالية من أجهزة التعقب والأشياء السيئة الأخرى:
• لا إعلانات
• لا تتبع
• عدم جمع البيانات
• لا يوجد اتصال هاتفي بالمنزل
• لا تسجيل مزعج
• لا توجد دروس إلزامية
• لا بريد إلكتروني مزعج
• لا توجد إشعارات دفع
• لا توجد أواني حلوى
• لا مبيدات عضوية بالكامل
في Organic Maps نعتقد أن <b>الخصوصية هي حق أساسي من حقوق الإنسان:</b>
• Organic Maps هو مشروع مفتوح المصدر يحركه المجتمع المستقل
• نحن نحمي خصوصيتك من أعين المتطفلين لدى شركات التقنيات الكبيرة
•ابق آمنًا بغض النظر عن مكان وجودك
يتم العثور على أجهزة تعقب صفرية والأذونات المطلوبة بشكل ضئيل فقط وفقًا لتقرير Exodus Privacy.
الرجاء زيارة <b><i>organicmaps.app</i></b> للحصول على مزيد من التفاصيل والأسئلة الشائعة، والاتصال بنا مباشرة على @OrganicMapsApp في Telegram.
ارفض المراقبة - احتضن حريتك.
<b>أعطي Organic Maps تجربة!</b>

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
التنقل بالخصوصية - مفتوح المصدر و مُدار من طرف المُجتمع

View File

@@ -1 +0,0 @@
تنزه Organic Maps بدون إنترنت

View File

@@ -1 +0,0 @@
Organic Maps: تنزه والدراجة والقيادة بدون إنترنت

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,53 +0,0 @@
‣ Our free app does not track you, does not have ads, and it needs your support.
‣ It is constantly being improved by contributors and our small team, in our free time.
‣ If something is wrong or missing on the map, please fix it in <b>OpenStreetMap</b> and see your changes in the future maps update.
‣ If navigation or search doesn't work, please check it on osm.org first, and then email us. We reply to <i>EVERY</i> email, and we'll fix it ASAP!
<b>Your feedback and 5-star reviews are the best motivators for us!</b>
Key features:
• Free, open-source, no ads, no tracking
• Detailed offline maps with places that don't exist on Google maps, thanks to the <b>OpenStreetMap</b> community
• Cycling routes, hiking trails, and walking paths
• Contour lines, elevation profiles, peaks, and slopes
• Turn-by-turn walking, cycling, and car navigation with voice guidance and Android Auto
• Fast offline search
• Bookmarks and tracks export and import in KML, KMZ, GPX formats
• Dark mode to protect your eyes
There is no public transport, satellite maps, and other cool features <i>yet</i> in Organic Maps. But with <i>your help and support</i>, we can make better maps step by step.
Organic Maps is <b>pure and organic, made with love</b>:
• Blazing fast offline experience
• Respects your privacy
• Saves your battery
• No unexpected mobile data charges
• Simple to use, with only most important features included
Free from trackers and other bad stuff:
• No ads
• No tracking
• No data collection
• No phoning home
• No annoying registration
• No mandatory tutorials
• No noisy email spam
• No push notifications
• No crapware
• N̶o̶ ̶p̶e̶s̶t̶i̶c̶i̶d̶e̶s̶ Purely organic
At Organic Maps, we believe that <b>privacy is a fundamental human right</b>:
• Organic Maps is an indie community-driven open-source project
• We protect privacy from Big Tech's prying eyes
• Stay safe no matter wherever you are
Zero trackers and only minimally required permissions are found according to Exodus Privacy Report.
Please visit <b><i>organicmaps.app</i></b> website for additional details and FAQ, and contact us directly at @OrganicMapsApp in Telegram.
Reject surveillance - embrace your freedom.
<b>Give Organic Maps a try!</b>

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
Open-source, community-driven maps for travelers, tourists, cyclists & hikers

View File

@@ -1 +0,0 @@
Organic Maps: offline maps

View File

@@ -1 +0,0 @@
Organic Maps Offline Hike, Bike, GPS Navigation

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,53 +0,0 @@
‣ Our free app does not track you, does not have ads, and it needs your support.
‣ It is constantly being improved by contributors and our small team, in our free time.
‣ If something is wrong or missing on the map, please fix it in <b>OpenStreetMap</b> and see your changes in the future maps update.
‣ If navigation or search doesn't work, please check it on osm.org first, and then email us. We reply to <i>EVERY</i> email, and we'll fix it ASAP!
<b>Your feedback and 5-star reviews are the best motivators for us!</b>
Key features:
• Free, open-source, no ads, no tracking
• Detailed offline maps with places that don't exist on Google maps, thanks to the <b>OpenStreetMap</b> community
• Cycling routes, hiking trails, and walking paths
• Contour lines, elevation profiles, peaks, and slopes
• Turn-by-turn walking, cycling, and car navigation with voice guidance and Android Auto
• Fast offline search
• Bookmarks and tracks export and import in KML, KMZ, GPX formats
• Dark mode to protect your eyes
There is no public transport, satellite maps, and other cool features <i>yet</i> in Organic Maps. But with <i>your help and support</i>, we can make better maps step by step.
Organic Maps is <b>pure and organic, made with love</b>:
• Blazing fast offline experience
• Respects your privacy
• Saves your battery
• No unexpected mobile data charges
• Simple to use, with only most important features included
Free from trackers and other bad stuff:
• No ads
• No tracking
• No data collection
• No phoning home
• No annoying registration
• No mandatory tutorials
• No noisy email spam
• No push notifications
• No crapware
• N̶o̶ ̶p̶e̶s̶t̶i̶c̶i̶d̶e̶s̶ Purely organic
At Organic Maps, we believe that <b>privacy is a fundamental human right</b>:
• Organic Maps is an indie community-driven open-source project
• We protect privacy from Big Tech's prying eyes
• Stay safe no matter wherever you are
Zero trackers and only minimally required permissions are found according to Exodus Privacy Report.
Please visit <b><i>organicmaps.app</i></b> website for additional details and FAQ, and contact us directly at @OrganicMapsApp in Telegram.
Reject surveillance - embrace your freedom.
<b>Give Organic Maps a try!</b>

View File

@@ -1,8 +0,0 @@
• Новыя дадзеныя OpenStreetMap ад 27 лютага
• Магчымасць уручную расстаўляць прамежкавыя кропкі маршруту
• Экспарт аднаго абранага трэка са спісу
• Палепшаная маршрутызацыя для веласіпедыстаў
• Дададзена сістэмнае апавяшчэнне пры загрузцы карт, фонавыя загрузкі больш не перарываюцца
• Дададзены мігатлівы віджэт запісу трэка
…і шматлікае іншае на omaps.org/news

View File

@@ -1 +0,0 @@
Open-source, community-driven maps for travelers, tourists, cyclists & hikers

View File

@@ -1 +0,0 @@
Offline Organic Maps Hike Bike

View File

@@ -1 +0,0 @@
Organic Maps Offline Hike, Bike, GPS Navigation

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,53 +0,0 @@
‣ Our free app does not track you, does not have ads, and it needs your support.
‣ It is constantly being improved by contributors and our small team, in our free time.
‣ If something is wrong or missing on the map, please fix it in <b>OpenStreetMap</b> and see your changes in the future maps update.
‣ If navigation or search doesn't work, please check it on osm.org first, and then email us. We reply to <i>EVERY</i> email, and we'll fix it ASAP!
<b>Your feedback and 5-star reviews are the best motivators for us!</b>
Key features:
• Free, open-source, no ads, no tracking
• Detailed offline maps with places that don't exist on Google maps, thanks to the <b>OpenStreetMap</b> community
• Cycling routes, hiking trails, and walking paths
• Contour lines, elevation profiles, peaks, and slopes
• Turn-by-turn walking, cycling, and car navigation with voice guidance and Android Auto
• Fast offline search
• Bookmarks and tracks export and import in KML, KMZ, GPX formats
• Dark mode to protect your eyes
There is no public transport, satellite maps, and other cool features <i>yet</i> in Organic Maps. But with <i>your help and support</i>, we can make better maps step by step.
Organic Maps is <b>pure and organic, made with love</b>:
• Blazing fast offline experience
• Respects your privacy
• Saves your battery
• No unexpected mobile data charges
• Simple to use, with only most important features included
Free from trackers and other bad stuff:
• No ads
• No tracking
• No data collection
• No phoning home
• No annoying registration
• No mandatory tutorials
• No noisy email spam
• No push notifications
• No crapware
• N̶o̶ ̶p̶e̶s̶t̶i̶c̶i̶d̶e̶s̶ Purely organic
At Organic Maps, we believe that <b>privacy is a fundamental human right</b>:
• Organic Maps is an indie community-driven open-source project
• We protect privacy from Big Tech's prying eyes
• Stay safe no matter wherever you are
Zero trackers and only minimally required permissions are found according to Exodus Privacy Report.
Please visit <b><i>organicmaps.app</i></b> website for additional details and FAQ, and contact us directly at @OrganicMapsApp in Telegram.
Reject surveillance - embrace your freedom.
<b>Give Organic Maps a try!</b>

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
Open-source, community-driven maps for travelers, tourists, cyclists & hikers

View File

@@ -1 +0,0 @@
Organic Maps: gps и навигиране

View File

@@ -1 +0,0 @@
Organic Maps Offline Hike, Bike, GPS Navigation

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,10 +0,0 @@
Organic Maps হল একটি GPS নেভিগেশন অ্যাপ যার গোপনীয়তা রয়েছে, ড্রাইভার, হাইকার এবং সাইক্লিস্টদের জন্য। অ্যাপটিতে গোপনীয়তা সহ নেভিগেশন বৈশিষ্ট্য রয়েছে - কোন অবস্থান ট্র্যাকিং, কোন তথ্য সংগ্রহ এবং কোন বিজ্ঞাপন নেই। অনুসন্ধান, রাউটিং এবং নেভিগেশন সেল ফোন সিগন্যাল ছাড়াই কাজ করে, দূরবর্তী হাইকিং ট্রেইলে ভ্রমণের জন্য আদর্শ বা দুর্বল সংযোগ সহ অবস্থানগুলি। জৈব মানচিত্র সারা বিশ্ব থেকে অবদানকারীদের সাথে ক্রাউড-সোর্সড OpenStreetMap ডেটা ব্যবহার করে। প্রকল্পটি সম্প্রদায়-চালিত, কোডটি ওপেন সোর্স, এবং সম্প্রদায়ের উন্নয়ন এবং সহযোগিতাকে অগ্রাধিকার দেয়।
• কোন সেল সিগন্যাল প্রয়োজন নেই - অনুসন্ধান এবং একটি সংকেত ছাড়া রুট
• দক্ষ ব্যাটারি ব্যবহার - ব্যাটারি ড্রেন হ্রাস
• দ্রুত অনুসন্ধান - দ্রুত অবস্থান খুঁজুন
অর্গানিক ম্যাপে, আমরা গোপনীয়তাকে গুরুত্ব দিই:
• কোন অবস্থান ট্র্যাকিং
• কোন ডেটা সংগ্রহ নেই
• কোন বিজ্ঞাপন নেই

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
গোপনীয়তার সাথে নেভিগেট করুন - সম্প্রদায়-চালিত এবং ওপেন-সোর্স

View File

@@ -1 +0,0 @@
Organic Maps: হাইক বাইক ড্রাইভ

View File

@@ -1 +0,0 @@
Organic Maps: হাইক, বাইক, ড্রাইভ অফলাইন

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,52 +0,0 @@
‣ La nostra aplicació gratuïta no té cap mena de publicitat ni us fa un seguiment.
‣ És millorada constantment durant el temps lliure dels seus usuaris i el nostre petit equip.
‣ Si hi ha res malament o inacabat al mapa, podeu arreglar-ho a l'<b>OpenStreetMap</b> i veureu els vostres canvis a la propera actualització dels mapes.
‣ Si la navegació o la cerca no funciona, envieu-nos un correu electrònic. Responem a <i>TOTS</i> els correus-e i ho solucionem tan aviat com es pugui.
<b>Els vostres comentaris i comentaris de 5 estrelles són els millors motivadors per a nosaltres!</b>
Característiques clau:
• Gratuït, de codi obert, sense anuncis, sense seguiment
• Mapes detallats fora de línia amb llocs que no existeixen a Google Maps, gràcies a la comunitat de l'<b>OpenStreetMap</b>
• Rutes amb bicicleta, rutes d'excursionisme i senderisme
• Corbes de nivell, perfils d'elevació, cims i pendents
• Passeig, bicicleta i navegació en cotxe amb guia de veu, Android Auto
• Cerca ràpida fora de línia
• Exportació i importació d'adreces d'interès en formats KML, KMZ i GPX
• Mode fosc per a protegir els ulls
No hi ha <i>de moment</i> transport públic, mapes per satèl·lit i altres funcions interessants a l'Organic Maps. Però amb <i>la vostra ajuda i suport</i>, podem millorar aquest món pas a pas.
L'Organic Maps és <b>pur i orgànic, fet amb amor</b>:
• Experiència fora de línia ràpida i brillant
• Respecta la vostra privadesa
• Estalvia la bateria
• Sense càrrecs inesperats de dades mòbils
• Fàcil d'utilitzar, amb només les funcions més importants incloses
Lliure de rastrejadors i altres coses dolentes:
• Sense anuncis
• Sense seguiment
• Sense recollida de dades
• Sense trucades per a vendre-us res
• Sense cap mena de registre
• Sense tutorials obligatoris
• Sense enviar-vos correu brossa
• Sense notificacions push
• Sense crapware
• So̶ns̶o̶ ̶p̶e̶s̶t̶i̶c̶i̶d̶e̶s̶ Purament orgànic
A Organic Maps, creiem que la privadesa <b> és un dret humà fonamental</b>:
• Organic Maps és un projecte de codi obert impulsat per la comunitat independent
• Protegim la privadesa de les mirades indiscretes de les grans multinacionals
• Estigueu segurs siguis on siguis
Segons l'informe de privadesa d'Exodus, no s'ha trobat cap rastrejador i s'utilitzen només els permisos mínims necessaris.
Per a més informació, visiteu el web <b><i>organicmaps.app</i></b> o bé contacteu-nos (en anglès) a @OrganicMapsApp al Telegram.
Rebutgeu la vigilància: accepteu la vostra llibertat.
<b>Proveu els mapes orgànics!</b>

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
Mapes comunitaris i de codi obert per a turistes, ciclistes i excursionistes

View File

@@ -1 +0,0 @@
Organic Maps GPS fora de línia

View File

@@ -1 +0,0 @@
Organic Maps: GPS, senderisme i BTT sense dades

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,53 +0,0 @@
‣ Naše bezplatná aplikace vás nesleduje, neobsahuje reklamy a potřebuje vaši podporu.
‣ Je neustále vylepšována přispěvateli a naším malým týmem v našem volném čase.
‣ Pokud je na mapě něco špatně nebo na ní něco chybí, opravte to prosím na <b>OpenStreetMap</b>. Své změny uvidíte v pozdějších aktualizacích map.
‣ Pokud nefunguje navigace nebo vyhledávání, zkontrolujte to prosím nejprve na osm.org a až poté nám napište e-mail. Odpovídáme na <i>KAŽDÝ</i> e-mail a problémy opravujeme jak nejdříve můžeme.
<b>Vaše zpětná vazba a 5-hvězdičková hodnocení jsou pro nás nejlepší motivací!</b>
Klíčové funkce:
• Bezplatné, open-source, bez reklam, bez sledování
• Podrobné offline mapy s místy, které neexistují v Mapách Google, díky komunitě <b>OpenStreetMap</b>
• Cyklotrasy, turistické trasy a pěší stezky
• Vrstevnice, výškové profily, vrcholy a svahy
• Pěší, cyklistická a automobilová navigace krok po kroku s hlasovými pokyny a Android Auto
• Rychlý offline vyhledávač
• Export a import záložek a tras ve formátech KML, KMZ a GPX
• Tmavý režim pro ochranu vašich očí
Organic Maps <i>zatím</i> neobsahují cool vychytávky jako veřejnou dopravu nebo satelitní mapy, <i>s vaší pomocí a podporou</i> ale můžeme postupně mapy vylepšovat.
Aplikace Organic Maps je <b>čistá a organická, vytvořená s láskou</b>:
• Neskutečně rychlý offline zážitek
• Respektuje vaše soukromí
• Šetří vaší baterii
• Žádné neočekávané poplatky za mobilní data
• Je jednoduchá na používání, obsahuje pouze nejdůležitější funkce
Neobsahuje sledovací prvky a další špatnosti:
• Žádné reklamy
• Žádné sledování
• Žádné sbírání dat
• Žádné volání domů
• Žádná otravná registrace
• Žádné povinné tutoriály
• Žádný e-mailový spam
• Žádná vyskakovací oznámení
• Žádný crapware
• Ž̶á̶d̶n̶é̶ ̶p̶e̶s̶t̶i̶c̶i̶d̶y̶ Plně organické
V Organic Maps věříme, že <b>soukromí je základní lidské právo</b>:
• Organic Maps jsou nezávislý komunitní open-source projekt
• Chráníme vaše soukromí před zvědavýma očima Big Tech firem
• Nezávisle na vašem umístění jste v bezpečí
Podle hlášení Exodus Privacy neobsahuje aplikace žádné sledovací prvky a vyžaduje pouze minimální množství oprávnění.
Pro další podrobnosti a často kladené dotazy prosím navštivte webové stránky <b><i>organicmaps.app</i></b>. Kontaktovat nás můžete přes @OrganicMapsApp na Telegramu.
Odmítněte sledování - přijměte svou svobodu.
<b>Vyzkoušejte Organic Maps!</b>

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
Navigace s ochranou soukromí - vedená komunitou a open-source

View File

@@ -1 +0,0 @@
Organic Maps: pěšky kolo auto

View File

@@ -1 +0,0 @@
Organic Maps: pěšky, na kole a autem offline

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,53 +0,0 @@
‣ Our free app does not track you, does not have ads, and it needs your support.
‣ It is constantly being improved by contributors and our small team, in our free time.
‣ If something is wrong or missing on the map, please fix it in <b>OpenStreetMap</b> and see your changes in the future maps update.
‣ If navigation or search doesn't work, please check it on osm.org first, and then email us. We reply to <i>EVERY</i> email, and we'll fix it ASAP!
<b>Your feedback and 5-star reviews are the best motivators for us!</b>
Key features:
• Free, open-source, no ads, no tracking
• Detailed offline maps with places that don't exist on Google maps, thanks to the <b>OpenStreetMap</b> community
• Cycling routes, hiking trails, and walking paths
• Contour lines, elevation profiles, peaks, and slopes
• Turn-by-turn walking, cycling, and car navigation with voice guidance and Android Auto
• Fast offline search
• Bookmarks and tracks export and import in KML, KMZ, GPX formats
• Dark mode to protect your eyes
There is no public transport, satellite maps, and other cool features <i>yet</i> in Organic Maps. But with <i>your help and support</i>, we can make better maps step by step.
Organic Maps is <b>pure and organic, made with love</b>:
• Blazing fast offline experience
• Respects your privacy
• Saves your battery
• No unexpected mobile data charges
• Simple to use, with only most important features included
Free from trackers and other bad stuff:
• No ads
• No tracking
• No data collection
• No phoning home
• No annoying registration
• No mandatory tutorials
• No noisy email spam
• No push notifications
• No crapware
• N̶o̶ ̶p̶e̶s̶t̶i̶c̶i̶d̶e̶s̶ Purely organic
At Organic Maps, we believe that <b>privacy is a fundamental human right</b>:
• Organic Maps is an indie community-driven open-source project
• We protect privacy from Big Tech's prying eyes
• Stay safe no matter wherever you are
Zero trackers and only minimally required permissions are found according to Exodus Privacy Report.
Please visit <b><i>organicmaps.app</i></b> website for additional details and FAQ, and contact us directly at @OrganicMapsApp in Telegram.
Reject surveillance - embrace your freedom.
<b>Give Organic Maps a try!</b>

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
Open-source, community-driven maps for travelers, tourists, cyclists & hikers

View File

@@ -1 +0,0 @@
Offline Organic Maps Hike Bike

View File

@@ -1 +0,0 @@
Organic Maps Offline Hike, Bike, GPS Navigation

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,53 +0,0 @@
‣ Unsere kostenlose App trackt niemanden, enthält keine Werbung und braucht deine Unterstützung.
‣ Sie wird ständig von Mitwirkenden und unserem kleinen Team verbessert, in unserer Freizeit.
‣ Wenn etwas auf der Karte falsch ist oder fehlt, dann korrigiere es bitte in <b>OpenStreetMap</b> und sieh deine Änderungen in der zukünftigen Kartenaktualisierung.
‣ Sollte die Navigation oder die Suche nicht funktionieren, sende uns bitte eine E-Mail. Wir antworten auf <i>JEDE</i> E-Mail und werden das Problem so schnell wie möglich beheben!
<b>Dein Feedback und deine 5-Sterne-Bewertungen sind die beste Motivation für uns!</b>
Wichtigste Funktionen:
• Kostenlos, Open-Source, keine Werbung, kein Tracking
• Detaillierte Offline-Karten mit Orten, die es auf anderen Karten nicht gibt, dank an die <b>OpenStreetMap</b> Community
• Rad-, Wander- und Spazierwege
• Höhenlinien, Höhenprofile, Bergspitzen und Steigungen
• Schritt-für-Schritt-Navigation für Fußgänger, Radfahrer und Autos mit Sprachführung
• Schnelle Offlinesuche
• Export und Import von Lesezeichen im KML, KMZ, GPX-Format
• Dunkler Modus zum Schutz deiner Augen
Öffentlichen Verkehrsmittel, Satellitenbildkarten und viele weitere wichtige Merkmale werden <i>noch</i> nicht unterstützt. Aber mit <i>deiner Hilfe und Unterstützung</i> können wir diese Welt und unsere Karten Schritt für Schritt besser machen.
Organic Maps ist <b>rein, organisch und mit Liebe gemacht</b>:
• Rasend schnelle Offline-Erfahrung
• Respektiert deine Privatsphäre
• Schont deinen Akku
• Keine unerwarteten Gebühren für mobile Daten
• Einfach zu bedienen, nur die wichtigsten Funktionen integriert
Frei von Trackern und schlechten Dingen:
• Keine Werbung
• Kein Tracking
• Keine Datenerfassung
• Kein Telefonieren nach Hause
• Keine lästige Registrierung
• Keine obligatorischen Tutorials
• Kein lästiger E-Mail-Spam
• Keine Push-Benachrichtigungen
• Keine Crapware
• -K̶e̶i̶n̶e̶ ̶P̶e̶s̶t̶i̶z̶i̶d̶e̶ Rein organisch
Wir bei Organic Maps glauben, dass <b>Privatsphäre ein grundlegendes Menschenrecht</b> ist:
• Organic Maps ist ein von einer unabhängigen Gemeinschaft betriebenes Open-Source-Projekt
• Wir schützen deine Privatsphäre vor den neugierigen Augen der großen Technologiekonzerne
• Bleib sicher, egal wo du bist
Keine Tracker und nur minimal erforderliche Berechtigungen sind laut dem Exodus-Datenschutzbericht vorhanden.
Bitte besuche <b><i>organicmaps.app</i></b> Webseite für weitere Details und ein FAQ. Oder kontaktiere uns direkt unter @OrganicMapsApp in Telegram.
Lehne Überwachung ab - lebe deine Freiheit.
<b>Teste Organic Maps!</b>

View File

@@ -1,8 +0,0 @@
• Neue OpenStreetMap-Daten vom 27. Februar
• Möglichkeit, Zwischenroutenpunkte manuell zu arrangieren
• Einen einzelnen ausgewählten Track aus der Liste teilen
• Verbesserte Routenführung für Fahrräder
• Beim Herunterladen von Karten eine Systembenachrichtigung anzeigen und Hintergrunddownloads nicht unterbrechen
• Ein blinkendes Trackaufzeichnungs-Widget hinzugefügt
…weitere Details unter omaps.org/news

View File

@@ -1 +0,0 @@
Navigieren mit Datenschutz - Community-gesteuert & Open-Source

View File

@@ -1 +0,0 @@
Organic Maps Offline Karten

View File

@@ -1 +0,0 @@
Organic Maps Offline Wandern, Radfahren, GPS-Navi

View File

@@ -1 +0,0 @@
https://www.youtube.com/watch?v=dK-CUuy82Uc

View File

@@ -1,10 +0,0 @@
Το Organic Maps είναι μια εφαρμογή πλοήγησης GPS με απόρρητο, για οδηγούς, πεζοπόρους και ποδηλάτες. Η εφαρμογή διαθέται πλοήγηση με απόρρητο - χωρίς παρακολούθηση τοποθεσίας, χωρίς συλλογή δεδομένων και χωρίς διαφημίσεις. Η αναζήτηση, η δρομολόγηση και η πλοήγηση λειτουργούν χωρίς σήμα κινητού τηλεφώνου, ιδανικά για ταξίδι σε μακρινά μονοπάτια πεζοπορίας ή τοποθεσίες με κακές συνδέσεις. Το Organic Maps χρησιμοποιεί τα crowd-sourced δεδομένα του OpenStreetMap με συνεισφέροντες απ' όλη την υφήλιο. Το έργο βασίζεται στην κοινότητα, ο κώδικας είναι ανοιχτού κώδικα, και δίνει προτεραιότητα στην ανάπτυξη και τη συνεργασία της κοινότητας.
• Δεν Απαιτείται Σήμα Κινητής - Αναζήτηση & δρομολόγηση χωρίς σήμα
• Αποτελεσματική Χρήση Μπαταρίας - Μειωμένη αποστράγγιση μπαταρίας
• Γρήγορη Αναζήτηση - Βρείτε γρήγορα τοποθεσίες
Στο Organic Maps, εκτιμούμε το απόρρητο:
• Όχι Παρακολούθηση Τοποθεσίας
• Όχι Συλλογή Δεδομένων
• Όχι Διαφημίσεις

View File

@@ -1,8 +0,0 @@
• New OpenStreetMap data as of February 27
• Ability to manually arrange intermediate route points
• Share a single selected track from the list
• Improved routing for bicycles
• Display a system notification when downloading maps and don't interrupt background downloads
• Added a flashing Track Recording widget
…more details at omaps.org/news

View File

@@ -1 +0,0 @@
Navigate with Privacy - Community-Driven & Open-Source

View File

@@ -1 +0,0 @@
Organic Maps: Hike Bike Drive

View File

@@ -1 +0,0 @@
Organic Maps: Hike, Bike, Drive Offline

Some files were not shown because too many files have changed in this diff Show More