Compare commits

...

178 Commits

Author SHA1 Message Date
x7z4w
8c5b252ca7 [fdroid] Release version 2025.10.09-3
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-10-09 11:19:27 +00:00
eisa01
2e91e64056 [android] Fix Metadata IntRange
Discovered while debugging issue #2078

Signed-off-by: eisa01 <eisa01@gmail.com>
2025-10-09 11:10:18 +00:00
Jean-Baptiste
d1bac84c7a [android] Fix crash on the place page
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-10-09 11:10:18 +00:00
Jean-Baptiste
eb264889e3 Release notes for September release
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-10-02 09:45:32 +02:00
Jean-Baptiste
9989912be8 [planet] Update map data to 250906
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-10-01 13:46:11 +02:00
Codeberg Translate
eea6825618 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: N4ta <codeberg@n4ta.anonaddy.me>
Co-authored-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: alexgabi <alexgabi@noreply.codeberg.org>
Co-authored-by: patepelo <patepelo@noreply.codeberg.org>
Co-authored-by: sas33 <sas33@noreply.codeberg.org>
Co-authored-by: summoner <summoner@noreply.codeberg.org>
Co-authored-by: summoner001 <summoner@disroot.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/Countries and regions names
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-09-29 15:09:28 +00:00
Yannik Bloscheck
546dcc1332 [styles] Display cemeteries icon earlier and switch back to previous color
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-29 16:39:59 +02:00
Gonzalo Pesquero
63be3426f0 [docs] Update install instructions about python protobuf
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2025-09-27 22:45:33 +02:00
Jean-Baptiste
b49b19f34d [android] Use M3 theme on round FAB
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-26 17:25:54 +02:00
x7z4w
18cd10ceed [core] nit
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-25 20:27:15 +02:00
Jean-Baptiste
99737af02a [android] Update somes Android icons
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-24 18:17:22 +02:00
Jean-Baptiste
314982b65a [android] Update styles of edit button
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-24 17:55:23 +02:00
lluka
b88839c3d8 [android] Open map folder instead of start download when icon is clicked
Signed-off-by: lluka <luka.lednicki@mailbox.org>
2025-09-24 15:16:40 +02:00
lluka
8de440729e Fix getting hours label in HoursMinutesPickerFragment
Signed-off-by: lluka <luka.lednicki@mailbox.org>
2025-09-24 10:32:07 +02:00
x7z4w
7e86a6f609 [ci] Fix protobuf version
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-22 17:35:30 +02:00
Yannik Bloscheck
1d8bf09ddb [ios] Fix header height in editor
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-22 16:45:36 +02:00
Codeberg Translate
ace089d691 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: JanezPavelZebovec <janezpavelzebovec@noreply.codeberg.org>
Co-authored-by: Juan M Sevilla <jumase@noreply.codeberg.org>
Co-authored-by: Mickael81 <mickael81@noreply.codeberg.org>
Co-authored-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: alexgabi <alexgabi@noreply.codeberg.org>
Co-authored-by: garbuix <garbuix@noreply.codeberg.org>
Co-authored-by: gedankenstuecke <gedankenstuecke@noreply.codeberg.org>
Co-authored-by: ldmpub <ldmpub@noreply.codeberg.org>
Co-authored-by: memqaj <memqaj@noreply.codeberg.org>
Co-authored-by: pL1 <pl1@noreply.codeberg.org>
Co-authored-by: patepelo <patepelo@noreply.codeberg.org>
Co-authored-by: sas33 <sas33@noreply.codeberg.org>
Co-authored-by: summoner <summoner@noreply.codeberg.org>
Co-authored-by: sziatomi <sziatomi@noreply.codeberg.org>
Co-authored-by: tsobuskerudbyen <tsobuskerudbyen@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/Search synonyms / aliases
Translation: CoMaps/Voice announcements for navigation (TTS)
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-09-22 13:29:03 +00:00
Wojciech Sipak
d623034980 [tests] fix url prefix in mwm_url_tests.cpp
Signed-off-by: Wojciech Sipak <wsipak@protonmail.com>
2025-09-22 12:17:17 +02:00
eisa01
e1520fd0e8 [carplay] Fix list selection highlight
Need to create the templates with sections from the start, or the second item will be highlighted

Fixes bug #1913

Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-22 11:57:57 +02:00
x7z4w
c558fe4ebd [search] Add Spanish synonyms
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-21 21:52:21 +02:00
Wojciech Sipak
9c9c9c8b8b [cmake] remove shaders_compiler dead code
Signed-off-by: Wojciech Sipak <wsipak@protonmail.com>
2025-09-21 19:31:15 +02:00
Wojciech Sipak
1ae9d7f72f [tests] fix expected test result for bookmarks_test.cpp
Signed-off-by: Wojciech Sipak <wsipak@protonmail.com>
2025-09-21 19:17:38 +02:00
Wojciech Sipak
6f96e0bd8a [tests] fix type name for std::pair in downloader test
Signed-off-by: Wojciech Sipak <wsipak@protonmail.com>
2025-09-21 19:16:40 +02:00
x7z4w
8f8c905d9e try
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-21 19:12:40 +02:00
x7z4w
ebd30818a2 revert
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-21 19:12:40 +02:00
x7z4w
3f6a2d2927 [ci] Fix android lint
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-21 19:12:40 +02:00
Wojciech Sipak
0ef547daa6 fix syntax in osm2meta.cpp
Signed-off-by: Wojciech Sipak <wsipak@protonmail.com>
2025-09-20 19:14:31 +02:00
eisa01
39260bbc6c [build] Check for python protobuf module
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-20 12:27:32 +02:00
Adam McKellar
3775f0590f [docs] Add copyable and AppVerifier compatible certificate signature to README
Signed-off-by: Adam McKellar <dev@mckellar.eu>
2025-09-19 11:35:41 +02:00
Yannik Bloscheck
7bf77d78ef [ios] Make it possible to copy the place name
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-18 22:14:05 +02:00
Séverin Lemaignan
f8d786958a [generator] retrieve socket:* OSM tags used by amenity:charging_station
Currently support the following socket types:
- type 1
- type 1 combo
- type 2 (wired or wo/ cable)
- type 2 combo
- chademo
- nacs

This commit also adds initial display of the socket types and power
the to Qt desktop app.

Signed-off-by: Séverin Lemaignan <severin@guakamole.org>
2025-09-18 22:09:52 +02:00
Konstantin Pastbin
de6953598b [tools] Chmod upload_to_cdn.sh and note about sudo usage
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-18 18:29:24 +02:00
x7z4w
4dbba4c05e [styles] Colored labels for vehicle
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-18 17:27:07 +02:00
Codeberg Translate
0cd27f7ba9 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: fbausch <fbausch@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/iOS - Map Feature Types
2025-09-18 08:09:16 +00:00
Yannik Bloscheck
344f332be9 [styles] Made chemist (like a drugstore) icon more clear
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-17 19:41:31 +02:00
Yannik Bloscheck
43014ab4c1 [ios] Fix CarPlay icons for iOS 26 by switching them to symbols
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-17 19:40:25 +02:00
Yannik Bloscheck
2b430c625a [ios] Fix some navigation bar buttons for iOS 26
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-17 19:40:25 +02:00
Yannik Bloscheck
d541cfbf02 [ios] Fix search bar background for iOS 26
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-17 19:40:25 +02:00
Yannik Bloscheck
c310e3e3b1 [ios] Project files updates for Xcode 26
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-17 19:40:25 +02:00
Yannik Bloscheck
5211856f5b [ios] Added adjusted icon for iOS 26
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-17 19:40:25 +02:00
Yannik Bloscheck
f279e872b5 [ios] Adjusted workflows to use the Xcode 26
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-17 19:40:25 +02:00
x7z4w
2e243a2729 [search] Add synonym
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-17 18:09:26 +02:00
Jean-Baptiste
86dc0cfc60 [android] Fix alignment of download button
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-17 17:46:18 +02:00
Codeberg Translate
f16432123d [strings] Update from Codeberg Translate
Co-authored-by: B o d o <timtrek@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Co-authored-by: Stephan-P <stephan-p@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: codebergian42 <codebergian42@noreply.codeberg.org>
Co-authored-by: gedankenstuecke <gedankenstuecke@noreply.codeberg.org>
Co-authored-by: ldmpub <ldmpub@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: menganito <menganito@noreply.codeberg.org>
Co-authored-by: metehan <metehan@noreply.codeberg.org>
Co-authored-by: pL1 <pl1@noreply.codeberg.org>
Co-authored-by: sziatomi <sziatomi@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/search-synonyms-aliases/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/Search synonyms / aliases
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-09-16 15:09:16 +00:00
Jean-Baptiste
6c8f955689 [android] Fix Bluesky button not working
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-16 12:15:16 +02:00
Jean-Baptiste
f6e35aedbe [android] Use M2 shape for track recording button
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-16 12:15:04 +02:00
Yannik Bloscheck
e5f1c647dd [styles] Fix tower icon in outdoor style
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-16 10:39:27 +02:00
Jean-Baptiste
982c2ff8de [android] Apply M3 Fab theme on position chooser fab
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-16 09:30:02 +02:00
Jean-Baptiste
8cd1b918df [android] Fix tint color FAB in dark mode
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-16 07:09:04 +02:00
Jean-Baptiste
f0b6a7b81a [android] Migrate FAB to Material 3 theme
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-16 05:16:43 +02:00
metehan
fb09204fc6 Added new Turkish screenshots for Android phones
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
metehan
7aeca95afb Added new Turkish screenshots for Android phones
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
metehan
4a48a9f59c revert e05b6e8ff1
revert Added new Turkish screenshots for Android phones

Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
metehan
094522a18c Added new Turkish screenshots for Android phones
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
metehan
549c31f6c9 Delete old Turkish screenshots from OM
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
metehan
61c765eb83 Delete old Turkish screenshots from OM
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
metehan
aec4e5a16a Delete old Turkish screenshots from OM
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
metehan
7b9f4b787f Delete old screenshots from OM
Signed-off-by: metehan <metehan@noreply.codeberg.org>
2025-09-15 20:28:21 +02:00
BjoernS
10e9f45d70 [docs] Add missing configuration step and package for Linux installation 2025-09-15 19:45:31 +02:00
Yannik Bloscheck
beaa7aef8b [styles] Added icons for tower and masts
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-15 18:13:51 +02:00
Konstantin Pastbin
656f08c4b3 [core] Change ru1 to an alt endpoint because of SSL cert issue
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-15 17:06:45 +02:00
Yannik Bloscheck
819e27918a [styles] Added icon for communications tower
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-15 16:37:19 +02:00
Weblate
452855051c Translated using Weblate (Persian)
Currently translated at 12.8% (329 of 2551 strings)

Translation: CoMaps/Countries and regions names
2025-09-15 10:35:41 -03:00
aoxa
bc676ada2b Translated using Weblate (Persian)
Currently translated at 12.8% (329 of 2551 strings)

Translation: CoMaps/Countries and regions names
2025-09-15 10:35:41 -03:00
Codeberg Translate
221930ae70 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Juan M Sevilla <jumase@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: aoxa <aoxa@noreply.codeberg.org>
Co-authored-by: conrad <conrad@noreply.codeberg.org>
Co-authored-by: dobridabar <dobridabar@noreply.codeberg.org>
Co-authored-by: hectodium <hectodium@noreply.codeberg.org>
Co-authored-by: metehan <metehan@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/Search synonyms / aliases
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-09-15 10:35:28 -03:00
Jean-Baptiste
d1643d695e [android] Use FAB instead save button at the top
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-15 15:20:19 +02:00
Konstantin Pastbin
cc8f45bac9 [generator] Hush too common 'No street found' logging
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-15 15:10:30 +02:00
Wojciech Sipak
126a24fc4a fix order of operations in configure.sh
CMake targets used in "generate symbols"
depend on data/categories.txt file.
Let's generate the file first.
2025-09-15 14:54:26 +02:00
Viktor Govako
67913fa879 [styles] Treat landuse=reservoir same as natural=water.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-15 12:56:45 +02:00
Viktor Govako
439086f1c5 [stylrs] Prio(military) > Prio(nature_reserve, boundary).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-15 12:56:45 +02:00
Viktor Govako
ee820c1baa [styles] Added line rules for boundary=aboriginal_lands/national_park/protected_area.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-15 12:56:45 +02:00
Viktor Govako
8aed02475a [classifier] Added shop=lighting.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Co-authored-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-15 12:56:45 +02:00
Jean-Baptiste
4bbf963581 [android] Fix about screen
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-15 12:13:21 +02:00
Codeberg Translate
450c25c4a5 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: aoxa <aoxa@noreply.codeberg.org>
Co-authored-by: dobridabar <dobridabar@noreply.codeberg.org>
Co-authored-by: metehan <metehan@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Countries and regions names
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-09-14 18:06:11 +02:00
Jean-Baptiste
655d8f5898 [android] Use white background instead grey background
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-14 11:55:10 +02:00
Jean-Baptiste
ebb2d13047 [android] Reorganize socials networks on about screen
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-14 11:52:56 +02:00
cyber-toad
79a1ee1769 [gpx] Fix bookmark color change
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2025-09-14 12:33:03 +07:00
cyber-toad
fd342c2a17 [gpx] Save bookmark color to gpx export (#11238)
* [gpx] Save bookmark color to gpx export
* [gpx] Code-review fixes
* [gpx] Use m_rgba to store initial color, reset on predefined color change
* [gpx] Move MapPredefinedColor to color parser
* [gpx] Adjust naming

Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2025-09-14 12:32:53 +07:00
Viktor Govako
bf79f7a95c [search] Minor checks and asserts.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-14 12:24:08 +07:00
Alexander Borsuk
d3397d1fba [android] Removed unused jcip annotations
Signed-off-by: Alexander Borsuk <me@alex.bio>
Co-authored-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-14 12:19:57 +07:00
Alexander Borsuk
edb5e44d83 [3party] Add glaze copyright
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-09-14 12:17:44 +07:00
Andrei Shkrob
ce9034a07d [drape] Replace empty region classes with using
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-09-14 12:04:59 +07:00
Andrei Shkrob
131a9235c5 [shaders] Fix vulkan shaders generator
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-09-14 12:04:52 +07:00
Andrei Shkrob
ed445410c2 [shaders] Remove glsl::vec3 and glsl::ivec3 bindings
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-09-14 12:04:44 +07:00
Andrei Shkrob
6fd125fa2b [cmake] Add missing shaders to sources group
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-09-14 12:04:35 +07:00
x7z4w
b42466980b [search] Add synonym
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-13 18:52:03 +02:00
Konstantin Pastbin
4245cc3fe4 [generator] Add a CDN upload script
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-13 11:49:04 +02:00
Jean-Baptiste
d102396c6a [android] Use Material button instead TextView
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-12 20:33:57 +02:00
x7z4w
e9a0b9d2f1 [search] Add synonyms
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-12 18:35:36 +02:00
Konstantin Pastbin
94e7c8b11a [android] Symlink GPlay relnotes to F-Droid
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-12 18:35:23 +02:00
Konstantin Pastbin
aaff2ac33b [android] Fix app icon for test/beta builds
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-12 17:45:54 +07:00
Codeberg Translate
a47b1f6e47 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Translation: CoMaps/Android UI Strings
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
2025-09-12 06:00:41 +00:00
Codeberg Translate
b07201eda9 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: conrad <conrad@noreply.codeberg.org>
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/F-Droid app description
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-09-12 11:30:13 +07:00
x7z4w
8f2ec5d295 [docs] nit
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-11 17:35:00 +02:00
Konstantin Pastbin
84e2da9829 [android] Delete GPlay unsupported locales
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-11 22:20:34 +07:00
Konstantin Pastbin
3e9c142b72 [android] Separate GPlay and F-Droid metadata checks
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-11 22:20:34 +07:00
Codeberg Translate
886c094d77 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: conrad <conrad@noreply.codeberg.org>
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/F-Droid app description
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-09-11 16:59:09 +02:00
Henry Sternberg
08adc592f7 [routing] Bicycle turn penalties
Signed-off-by: Henry Sternberg <henry@bluelightmaps.com>
2025-09-11 12:32:55 +00:00
Jean-Baptiste
bc8cc7bb41 [android] Fix warnings
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-11 09:54:02 +02:00
jeanbaptisteC
99163b485d Update copyright file about Android Chart library
Signed-off-by: jeanbaptisteC <jeanbaptiste.charron@outlook.fr>
2025-09-11 09:29:54 +02:00
Jean-Baptiste
2ef4eb62ba [android] Use a library maintain to draw charts
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-10 22:05:18 +02:00
Yannik Bloscheck
292875c3bd [styles] New nightclub icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-10 14:44:27 +02:00
Yannik Bloscheck
0b6dfe1160 [styles] Display cemeteries earlier and with a more distinct color
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-10 13:47:17 +02:00
x7z4w
3e9d763d84 [ci] Delete stale
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-10 11:34:52 +02:00
x7z4w
8ec44fa1ed [search] Add synonyms
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-10 11:13:42 +02:00
Codeberg Translate
ee307d2fa1 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Stephan-P <stephan-p@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Translation: CoMaps/Search synonyms / aliases
2025-09-10 08:36:55 +00:00
Codeberg Translate
b039119512 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: javnik <javnik@noreply.codeberg.org>
Co-authored-by: oleg-rswll <oleg-rswll@noreply.codeberg.org>
Co-authored-by: sas33 <sas33@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Search synonyms / aliases
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-09-10 06:42:39 +00:00
Konstantin Pastbin
5300af3138 [strings] Add categories.txt to gitignore
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-10 13:25:59 +07:00
eisa01
2ee305659b Clean up code
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-10 07:56:30 +02:00
eisa01
6e8d74621f [core] Add branch to place page data
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-10 07:56:30 +02:00
eisa01
3d8a1eddc7 [core] Include branch in highlighting
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-10 07:56:30 +02:00
eisa01
47b18e7753 [ios] Move branch data to PlacePagePreview
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-10 07:56:30 +02:00
Yannik Bloscheck
49391bb39e [ios] Improved text thickness in combination with branch name
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-10 07:56:30 +02:00
eisa01
c039d599e4 [iOS][core] Add branch to search result list
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-10 07:56:30 +02:00
eisa01
c9214d3130 [iOS] Add branch to title of place page
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-10 07:56:30 +02:00
Jean-Baptiste
2f5f9e15c3 [android] Add new outlined buttons
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-09 20:53:00 +02:00
Codeberg Translate
b70d45691a [strings] Update from Codeberg Translate
Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: oleg-rswll <oleg-rswll@noreply.codeberg.org>
Translation: CoMaps/Search synonyms / aliases
2025-09-09 17:47:23 +00:00
Codeberg Translate
ca4d54d222 [strings] Update from Codeberg Translate
Co-authored-by: B o d o <timtrek@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: Mickael81 <mickael81@noreply.codeberg.org>
Co-authored-by: Pamputt <pamputt@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: joysriramsarkar <joysriramsarkar@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: relet <relet@noreply.codeberg.org>
Co-authored-by: sas33 <sas33@noreply.codeberg.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android/
Translate-URL: https://translate.codeberg.org/projects/comaps/search-synonyms-aliases/
Translate-URL: https://translate.codeberg.org/projects/comaps/search-synonyms-aliases/de/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-09-09 19:39:03 +02:00
Konstantin Pastbin
3b22aecddb [strings] Search synonyms fixes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-10 00:07:26 +07:00
x7z4w
9fe1c42c54 [strings] Support Weblate for search categories
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-09 17:38:28 +02:00
x7z4w
56b8600518 [strings] Make social media untranslatable
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-09 16:35:00 +02:00
Jean-Baptiste
2aa8179985 [android]Remove OSM Auth in app
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-08 18:28:20 +02:00
eisa01
ea0d19a66c [docs] Add CarPlay instructions, incl. how to simulate location
New python script loads GPX tracks exported from CoMaps into the iOS Simulator

Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-08 18:22:11 +02:00
eisa01
d583b99683 [carplay] Reset search mode to handle switching from iOS
Fixes bug #1790

Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-08 18:21:52 +02:00
Jean-Baptiste
b7d275eda8 [android] Migrate last TextView to Material Components
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-08 18:13:17 +02:00
Konstantin Pastbin
452f582d45 [core] Improve logging for routing sections loading
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-08 17:23:32 +02:00
x7z4w
2b41ce684f [strings] Fix French categories
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-08 13:03:30 +02:00
mvglasow
75ea316eef [docs] Add Qt Creator
Signed-off-by: mvglasow <michael -at- vonglasow.com>
2025-09-08 03:03:04 +02:00
Jean-Baptiste
1aea5dd82e [android] Migrate last ImageView to Material Components
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-07 21:16:28 +02:00
Yannik Bloscheck
ad7d051b10 [ios] Center location more during navigation in CarPlay
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-07 20:32:03 +02:00
Yannik Bloscheck
d7ae2089c6 [ios] Center location more during navigation in CarPlay
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-07 20:31:14 +02:00
Jean-Baptiste
e9d3b56456 [android] Migrate last components in altitude chart panel to Material components
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-07 20:18:04 +02:00
Codeberg Translate
2a41184f75 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Pamputt <pamputt@noreply.codeberg.org>
Co-authored-by: Poppi <poppi@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: aoxa <aoxa@noreply.codeberg.org>
Co-authored-by: javnik <javnik@noreply.codeberg.org>
Co-authored-by: krugleshock <krugleshock@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Co-authored-by: sziatomi <sziatomi@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Voice announcements for navigation (TTS)
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS UI Strings
2025-09-07 18:04:55 +00:00
Jean-Baptiste
d09524bae6 [android] Migrate last components in altitude chart panel to Material components
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-07 20:04:50 +02:00
Jean-Baptiste
a5e55491fc [android] Migrate last components in altitude chart panel to Material components
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-07 20:04:05 +02:00
Jean-Baptiste
7eb17f612b [android] Migrate toolbar search to Material Components
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-07 20:03:37 +02:00
Jean-Baptiste
a54ce48104 [android] Update setting icon used during navigation
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-07 10:26:55 +02:00
Yannik Bloscheck
113e91788a [styles] Fix label color for tire shops
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-06 20:26:51 +02:00
Charlie-83
2d67116568 [android] Center the roundabout exit number in Android Auto
Signed-off-by: Charlie-83 <11279546+Charlie-83@users.noreply.github.com>
2025-09-06 18:44:36 +02:00
Charlie-83
19eeca80fc [android] Show roundabout exit number in Android Auto
Signed-off-by: Charlie-83 <11279546+Charlie-83@users.noreply.github.com>
2025-09-06 18:44:36 +02:00
javnik
a57ac029a1 [embedded faq] Update pl translation
Signed-off-by: javnik <javnik@noreply.codeberg.org>
2025-09-06 11:32:54 +02:00
Gonzalo Pesquero
1ab4b828aa [android] Set different app icon for test and debug modes
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2025-09-06 11:26:55 +02:00
IXVG47QZ
39bd613d8b add spelled out street numerals
Signed-off-by: IXVG47QZ <jako_accomm@simplelogin.com>
2025-09-05 20:39:41 +02:00
Andrei Shkrob
c014e224b2 [routing] New API for lanes
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-09-05 20:35:15 +02:00
Yannik Bloscheck
93293e7b31 [ios] Really ignore new lines in meatdata script
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-09-05 20:17:44 +02:00
Matheus Gomes
e9aded43fb Add highway.pedestrian.square translations
Add translation of areas that have the combination of highway=pedestrian and place=square tags.

Signed-off-by: Matheus Gomes <matheusgomesms@noreply.codeberg.org>
2025-09-05 19:01:00 +02:00
eisa01
7cbe29db72 [generator] Always add ref to subway_entrance title
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-05 11:37:54 +02:00
Stzyxh
a63cf538e8 add izyyondroid badge to the readme
Signed-off-by: Stzyxh <stzyxh@tutamail.com>
2025-09-05 03:15:20 +02:00
Codeberg Translate
5e141e2a98 [strings] Update from Codeberg Translate
Co-authored-by: Alexey Ladygin <nitrodox@noreply.codeberg.org>
Co-authored-by: B o d o <timtrek@noreply.codeberg.org>
Co-authored-by: CharlesNepote <charlesnepote@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Edgarsons <edgarsons@noreply.codeberg.org>
Co-authored-by: Edison_Lu <edison_lu@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: N4ta <codeberg@n4ta.anonaddy.me>
Co-authored-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Stephan-P <stephan-p@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: aoxa <aoxa@noreply.codeberg.org>
Co-authored-by: artnay <artnay@noreply.codeberg.org>
Co-authored-by: dobridabar <dobridabar@noreply.codeberg.org>
Co-authored-by: filip_grgic <filip_grgic@noreply.codeberg.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: hectodium <hectodium@noreply.codeberg.org>
Co-authored-by: jaspernb <jaspernb@noreply.codeberg.org>
Co-authored-by: javnik <javnik@noreply.codeberg.org>
Co-authored-by: jeanbaptisteC <jeanbaptistec@noreply.codeberg.org>
Co-authored-by: ldmpub <ldmpub@noreply.codeberg.org>
Co-authored-by: medveonmaga <medveonmaga@noreply.codeberg.org>
Co-authored-by: patepelo <patepelo@noreply.codeberg.org>
Co-authored-by: paulb <paulb@noreply.codeberg.org>
Co-authored-by: relet <relet@noreply.codeberg.org>
Co-authored-by: rimas <rimas@noreply.codeberg.org>
Co-authored-by: sunriverus97 <sunriverus97@noreply.codeberg.org>
Co-authored-by: sziatomi <sziatomi@noreply.codeberg.org>
Co-authored-by: thesupertechie <thesupertechie@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Android UI Strings (SDK)
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/Voice announcements for navigation (TTS)
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plist
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-09-04 14:14:24 +00:00
javnik
2237cda8ee [docs] Add missing weblate translation links
Signed-off-by: javnik <javnik@noreply.codeberg.org>
2025-09-04 15:14:24 +02:00
Fs00
4da403b8c0 [search] Recognize camp sites allowing caravans/motorhomes as caravan sites
Signed-off-by: Fs00 <francescosaltori@gmail.com>
2025-09-04 15:02:48 +02:00
x7z4w
cda311aff0 fix
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-04 14:36:41 +02:00
x7z4w
f290b2948e nit
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-04 14:36:41 +02:00
x7z4w
ee25fa0e36 [build] Pass SKIP envs
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-04 14:36:41 +02:00
Konstantin Pastbin
76cb6803c2 [generator] Improve logging
- more logging for various stages start/finish
- silenced some too repetitive and common warnings (changed to LDEBUG)

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-04 17:34:23 +07:00
eisa01
9e38cff708 [generator] Add branch to search indexer
Signed-off-by: eisa01 <eisa01@gmail.com>
2025-09-04 11:19:58 +02:00
javnik
2db63d5798 [categories] Refine and add more PL categories translations
Signed-off-by: javnik <javnik@noreply.codeberg.org>
2025-09-03 11:00:37 +02:00
Jean-Baptiste
9d3d9fd758 [android] Switch to Filled button styles
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-03 09:31:53 +02:00
x7z4w
e1bdac53e8 [build] Fix variable assignment
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-09-03 07:18:28 +02:00
Harry Bond
fe9a679d10 [build] Always try to init/update submodules (#1692)
submodules can be outdated etc when switching between branches, it makes sense to just always re-init them

Signed-off-by: Harry Bond <me@hbond.xyz>
Co-authored-by: Harry Bond <me@hbond.xyz>
Co-committed-by: Harry Bond <me@hbond.xyz>
2025-09-03 06:55:53 +02:00
Konstantin Pastbin
8c19e6ef2e [styles] Display caravan and camp sites in vehicle style
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-02 19:21:31 +02:00
Konstantin Pastbin
2b17fbfd85 Barriers comments and priorities regeneration
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-02 19:15:07 +02:00
Konstantin Pastbin
a389dbfded [classif] Add amenity=security_booth/checkpoint into guardhouse
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-02 19:15:07 +02:00
Konstantin Pastbin
4f34d27c6d [strings] Add translations for security booths and offices, power portals
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-02 19:15:07 +02:00
Viktor Govako
702eec643a [categories] Added office-security, building-guardhouse.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-02 19:15:07 +02:00
Konstantin Pastbin
a63bd8894b [styles] Adjust/fix guardhouses and security offices
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-02 19:15:07 +02:00
Viktor Govako
a48a9a67a4 [classifier] Added building=guardhouse, office=security.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-02 19:15:07 +02:00
Viktor Govako
a35ec0df90 [styles] Draw man_made-tower-communication as a regular mast (not a storage-tank).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-02 19:15:07 +02:00
Viktor Govako
c600374ecc [classifier] Added power=portal.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-02 19:15:07 +02:00
David Martinez
094f481691 [styles] Use brown color for tourism POIs in dark mode
[styles] Use brown color for tourism POIs in dark mode

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-02 19:15:07 +02:00
Konstantin Pastbin
d8b96e56c0 [styles] Display libraries earlier from z17-
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-02 19:15:07 +02:00
Viktor Govako
c8c7110736 [styles] Show sidewalks in outdoor from z13.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-02 19:15:07 +02:00
Viktor Govako
d4d4755145 [styles] Minor cleanup.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-09-02 19:15:07 +02:00
Charlie-83
7eb7fcdffd [build] Run configure.sh on run* gradle tasks 2025-09-02 15:26:19 +01:00
Charlie-83
442a55ce69 [build] Fix build on Arch Linux 2025-09-02 12:23:16 +01:00
Konstantin Pastbin
1d4b69e37d [search] Add more French synonyms for green and food waste
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-01 23:02:25 +07:00
Konstantin Pastbin
0bec4a6ccc [classif] Add recycling:food_waste into recycling-green_waste
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-09-01 22:57:57 +07:00
Jean-Baptiste
f9a1606f89 [android] Enable Java 21
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-09-01 17:39:55 +02:00
801 changed files with 31532 additions and 27711 deletions

View File

@@ -1,4 +1,4 @@
name: Android Check Metadata
name: Android Check Store Metadata
on:
workflow_dispatch: # Manual trigger
pull_request:
@@ -21,5 +21,8 @@ jobs:
android
tools/python/check_store_metadata.py
- name: Check metadata
run: ./tools/python/check_store_metadata.py android
- name: Check Google Play metadata
run: ./tools/python/check_store_metadata.py gplay
- name: Check F-Droid metadata
run: ./tools/python/check_store_metadata.py fdroid

View File

@@ -8,21 +8,19 @@ jobs:
runs-on: ubuntu-latest
environment: production
steps:
- name: Checkout sources
# TODO: use shallow (and sparse?) checkout
- name: Checkout
uses: actions/checkout@v4
# - name: Parallel submodules checkout
# shell: bash
# run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
with:
fetch-depth: 1
sparse-checkout: |
android
tools/python/check_store_metadata.py
- name: Restore release keys
shell: bash
run: |
echo "$PRIVATE_H" | base64 -d > private.h
echo "$GOOGLE_PLAY_JSON" | base64 -d > android/app/google-play.json
env:
PRIVATE_H: ${{ secrets.PRIVATE_H }}
GOOGLE_PLAY_JSON: ${{ secrets.GOOGLE_PLAY_JSON }}
- name: Upload

View File

@@ -35,7 +35,7 @@ jobs:
name: Apple TestFlight
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.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

View File

@@ -37,7 +37,7 @@ jobs:
name: Build iOS
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.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

View File

@@ -7,7 +7,7 @@ jobs:
name: iOS Release
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.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

View File

@@ -32,7 +32,7 @@ jobs:
name: macOS builds and tests
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.app/Contents/Developer
HOMEBREW_NO_ANALYTICS: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
strategy:

View File

@@ -1,22 +0,0 @@
name: Close stale PRs
on:
schedule:
- cron: "0 0 * * *" # Runs every day at midnight
jobs:
stale:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-pr-stale: 180 # 6 months before warning
days-before-pr-close: 365 # Closed after 12 months
stale-pr-label: "stale"
stale-pr-message: "Hi! This PR has been inactive for 6 months. If it's still relevant, please update it to let us know youd like to keep it open 😊"
close-pr-message: "This PR has been automatically closed after 12 months of inactivity."
days-before-issue-stale: -1 # Issues are never stale
days-before-issue-close: -1 # Issues are never closed
remove-stale-when-updated: true

View File

@@ -6,7 +6,7 @@ on:
- main
env:
JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 # Java 17 is required for Android Gradle 8 plugin
JAVA_HOME: /usr/lib/jvm/temurin-21-jdk-amd64 # Java 21 is required for Android Gradle 8 plugin
SKIP_MAP_DOWNLOAD: true
jobs:
@@ -23,9 +23,16 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Install protobuf
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y python3-pip
pip install "protobuf<3.21" --break-system-packages
- name: Configure repository
shell: bash
run: SKIP_GENERATE_SYMBOLS=1 ./configure.sh
run: ./configure.sh
- name: Lint
shell: bash
@@ -66,8 +73,9 @@ jobs:
libxinerama-dev \
libxcursor-dev \
libxi-dev \
python3-protobuf \
python3-pip \
zlib1g-dev
pip install "protobuf<3.21" --break-system-packages
- name: Checkout sources
uses: actions/checkout@v4

View File

@@ -10,7 +10,7 @@ jobs:
name: Build iOS
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.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

3
.gitignore vendored
View File

@@ -35,6 +35,9 @@ data/patterns.txt*
# data/colors_design.txt
# data/patterns_design.txt
# Auto-generated from data/categories-strings/* by tools/unix/generate_categories.sh
data/categories.txt
# Compiled Python
*.pyc

View File

@@ -120,7 +120,7 @@ if (PLATFORM_LINUX AND (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_BUILD_T
add_compile_options(-fno-fat-lto-objects)
# To fix ar and ranlib "plugin needed to handle lto object".
string(REGEX MATCH "[0-9]+" GCC_MAJOR_VERSION ${CMAKE_CXX_COMPILER_VERSION})
file(GLOB_RECURSE plugin /usr/lib/gcc/*/${GCC_MAJOR_VERSION}/liblto_plugin.so)
file(GLOB_RECURSE plugin /usr/lib/gcc/*/${GCC_MAJOR_VERSION}*/liblto_plugin.so)
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> --plugin ${plugin} qcs <TARGET> <OBJECTS>")
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> --plugin ${plugin} <TARGET>")
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> --plugin ${plugin} qcs <TARGET> <OBJECTS>")
@@ -225,6 +225,26 @@ endif()
# Used in qt/ and shaders/
find_package(Python3 REQUIRED COMPONENTS Interpreter)
execute_process(
COMMAND ${Python3_EXECUTABLE} -c "import google.protobuf;
print(google.protobuf.__version__)"
RESULT_VARIABLE PROTOBUF_CHECK
OUTPUT_VARIABLE PROTOBUF_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
if(PROTOBUF_CHECK EQUAL 0)
if(PROTOBUF_VERSION VERSION_LESS "4.0.0")
message(STATUS "Python protobuf ${PROTOBUF_VERSION} found (< 4.0)")
else()
message(FATAL_ERROR "Python protobuf ${PROTOBUF_VERSION} found, but version < 4.0 required")
endif()
else()
message(FATAL_ERROR "Python protobuf not found. Install version <4.0")
endif()
add_subdirectory(libs)
if (PLATFORM_DESKTOP)

View File

@@ -51,6 +51,9 @@ A community-led free & open source maps app based on [OpenStreetMap](https://www
<a href="https://f-droid.org/en/packages/app.comaps.fdroid/">
<img src="docs/badges/fdroid.png" alt="F-Droid" width="160"/>
</a>
<a href="https://apt.izzysoft.de/fdroid/index/apk/app.comaps">
<img src="docs/badges/izzyondroid.png" alt="Obtainium" width="160"/>
</a>
<a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/comaps/comaps">
<img src="docs/badges/obtainium.png" alt="Obtainium" width="160"/>
</a>
@@ -155,6 +158,12 @@ SHA-256: 4894e8e6963627ef660031d8593fe77297f835acb4e23810003e926135023b4c
SHA-1: 8b7b5739f917e9f7c681671ced0c9c8562123ade
MD5: 9cce0ffea281dc2f0e0a154d6d2e281e
```
To verify CoMaps via [AppVerifier](https://github.com/soupslurpr/AppVerifier), use the following signing certificate fingerprint:
```
app.comaps
48:94:E8:E6:96:36:27:EF:66:00:31:D8:59:3F:E7:72:97:F8:35:AC:B4:E2:38:10:00:3E:92:61:35:02:3B:4C
```
---
## ⚖️ License

View File

@@ -24,3 +24,6 @@
/src/main/res/drawable-mdpi/uk_northern_ireland.png
/src/main/res/drawable-mdpi/uk_scotland.png
/src/main/res/drawable-mdpi/uk_wales.png
# Symlinked to F-Droid relnotes by tools/unix/link_gplay_relnotes.sh
/src/google/play/release-notes

View File

@@ -29,12 +29,12 @@ def getCommitMessage() {
project.ext.appId = 'app.comaps'
project.ext.appName = 'CoMaps'
// I have Java 21 installed, but this doesn't work on MacOS.
//java {
// toolchain {
// languageVersion.set(JavaLanguageVersion.of(17))
// }
//}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
}
android {
namespace = 'app.organicmaps'
@@ -311,8 +311,8 @@ android {
compileOptions {
coreLibraryDesugaringEnabled = true
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
}
}
@@ -355,8 +355,7 @@ dependencies {
// Fix for app/organicmaps/util/FileUploadWorker.java:14: error: cannot access ListenableFuture
// https://github.com/organicmaps/organicmaps/issues/6106
implementation libs.google.guava
implementation libs.devnullorthrow.mpandroidchart
implementation libs.jcip.annotations
implementation libs.appdevnext.androidchart
// Test Dependencies
androidTestImplementation libs.androidx.test.junit

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/bg_app_icon_test"/>
<foreground android:drawable="@drawable/ic_launcher_foreground_test"/>
<monochrome android:drawable="@drawable/ic_launcher_foreground_monochrome"/>
</adaptive-icon>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/bg_app_icon_debug"/>
<foreground android:drawable="@drawable/ic_launcher_foreground_debug"/>
<monochrome android:drawable="@drawable/ic_launcher_foreground_monochrome"/>
</adaptive-icon>

View File

@@ -0,0 +1 @@
CoMaps - Camina, pedala o condueix privadament

View File

@@ -1,8 +1,10 @@
OpenStreetMap-Daten vom 22. August
Neue Geschwindigkeitsanzeige & Details aufgezeichneter Strecken
Besserer dunkler Modus, neue farbige Labels
Anzeige wann Orte & Öffnungszeiten überprüft wurden
Routenplanung berücksichtigt Stoppschilder, Ampeln & bedingte Einschränkungen.
GPS-Peilung wird statt Kompass bevorzugt & höhere GPS-Frequenz.
Adressen & Notizen im OSM-Editor unterstützt.
Mehr Verbesserungen an UI-Elementen & Kartenstil, alle Details in den Codeberg-Versionshinweisen!
Karten-Daten vom 6. September
Zeitstrafen für Radrouting
Farbige POI-Beschriftungen in Autonavigation
POI-Suche nach Filialnamen
Abspannportale, Sicherheitskabinen & Büros hinzugefügt
Aktualisierte Symbole für Türme, Nachtclubs, Apotheken und Fahnenmasten
Lesezeichen-Farbe in GPX-Exporten
Farbfüllung von Fußgängerbereiche auf Plätzen
• Android Auto: Anzeige Ausfahrtsnummern in Kreisverkehren
Weitere Änderungen in Codeberg-Versionshinweisen!

View File

@@ -1,9 +1,10 @@
• OpenStreetMap data as of August 22
New current speed indicator, display track info
Improved dark map style, added coloured labels
Display when places & opening hours were last checked
Routing now considers turns, stop signs, lights & conditional restrictions
Prefer GPS bearing over compass and increase location poll rate
Enable adding standalone addresses & notes in the editor
Various UI element & map style improvements
• OpenStreetMap data as of September 6
Turn penalties for bicycle routing
Colored POI labels for car navigation map style
Search POIs by branch name
Added power portals, security booths and offices
Update icons for towers, nightclubs, chemists, flagpoles
Save bookmark color to GPX exports
Color fill pedestrian parts of squares
• Android Auto: display roundabout exit numbers
Check our Codeberg release notes for more changes!

View File

@@ -1,9 +1,10 @@
• Datos de OSM a 22-08-2025
Nuevo indicador de velocidad e información de pista
Modo oscuro mejorado y nombres de POI coloreados
Indicador de última revisión de lugares y horarios de apertura
Rutas mejoradas teniendo en cuenta giros, señales de STOP, semáforos y restricciones
Mayor precisión para determinar tu localización y sentido
Añade direcciones y notas con el editor
Otras mejoras en elementos de la interfaz y estilo del mapa
Entra en nuestro Codeberg para más cambios!
• Datos a 6 de septiembre
Penalizaciones de giros en rutas de bici
Etiquetas de puntos de interés en color en navegación
Buscar por nombre de sucursal
Añadir portales de energía, cabinas de seguridad y oficinas
Nuevos iconos: torres, discotecas, parafarmacias y mástiles
Guardar color en exportaciones GPX
Colorear áreas peatonales de plazas
• Android Auto: mostrar números de salida de rotondas
Más detalles en Codeberg

View File

@@ -1 +1 @@
Navegación de mapa fácil - Descubre más en tu camino - Creado por la comunidad
Navegación sencilla - Descubre más en tu camino - Creado por la comunidad

View File

@@ -1,32 +1,34 @@
Yhteisövetoinen, ilmainen ja avoimeen lähdekoodiin perustuva karttasovellus, jonka pohjalla käytetään OpenStreetMapin avointa karttadataa. Sovelluksen kehityksessä on sitouduttu läpinäkyvyyteen, yksityisyyteen ja voittoa tavoittelemattomuuteen. CoMapsin projekti on haarautunut Organic Mapsista, joka taas on haarautunut aiemmin Maps.ME:stä
Yhteisön johtama vapaa ja avoimeen lähdekoodiin perustuva karttasovellus, jonka karttadata perustuu OpenStreetMap:n avoimeen dataan. Sovelluksessa painottuu vahva sitoutuminen läpinäkyvyyteen, yksityisyyteen ja voittoa tavoittelemattomaan toimintaan. CoMaps on haarautunut Organic Maps:sta, joka taas omalta osaltaan on haarautunut Maps.ME:stä.
Lue lisää projektin tavotteista ja suunnasta osoitteesta <b><i>codeberg.org/comaps</i></b>.
Liity yhteisöön ja auta kehittämään paras saatavilla oleva karttasovellus
• Käytä sovellusta ja kerro siitä myös muille
• Anna palautetta ja raportoi ongelmia
• Päivitä karttoja, joko sovelluksessa tai OpenStreetMapin verkkosivuilla
Lue tarkemmin projektin syistä ja sen suunnasta osoitteesta <b><i>codeberg.org/comaps</i></b>.
Liity yhteisöön ja auta kehittämään parasta karttasovellusta
• Käytä sovellusta ja levitä siitä sanaa
• Anna palautetta ja raportoi ongelmista
• Päivitä karttadataa sovelluksessa tai OpenStreetMap:n verkkosivuilla
‣ <b>Offline-painotteinen</b>: Suunnittele ja navigoi ulkomailla ilman mobiiliverkkoja. Kaikki sovelluksen toiminnot on suunniteltu käytettäväksi ilman verkkoyhteyttä.
‣ <b>Kunnioittaa yksityisyyttä</b>: Sovellus on suunniteltu yksilön yksityisyys silmälläpitäen. Sovellus ei tunnista tai kerää tietoja sinusta. Mainosvapaa.
‣ <b>Yksinkertainen ja viimeistelty</b>: Olennaiset ominaisuudet, joita on helppo käyttää.
‣ <b>Säästä akkua ja tallennustilaa</b>: Ei kuluta akkua, kuten muut navigointisovellukset. Kompaktit kartat säästävät arvokasta tallennustilaa puhelimessasi.
‣ <b>Ilmainen ja yhteisön luoma</b>: Vapaaehtoiset, kuten sinä olette auttaneet sovelluksen kehityksessä lisäämällä paikkoja OpenStreetMap:iin, testaamalla sovellusta ja antamalla palautetta. Voit myös auttaa kehittämällä ominaisuuksia ja lahjoittamalla sovelluskehitykseen
‣ <b>Avoin ja läpinäkyvä päätöksenteko sekä rahoitus. Voittoa tavoittelematon ja täysin avoimeen lähdekoodiin perustuva.</b>
‣ <b>Offline-painotteinen</b>: Suunnittele ja navigoi matkasi ilman verkkoyhteyttä. Etsi reittipisteitä retkilläsi. Kaikki sovelluksen toiminnot on suunniteltu käytettäväksi ilman verkkoyhteyttä.
‣ <b>Kunnioittaa yksityisyyttä</b>: Sovellus on suunniteltu yksityisyyttä silmälläpitäen. Sovellu ei tunnista ihmisä, seuraa toimintaasi, eikä kerää henkilökohtaisia tietojasi. Mainosvapaa.
‣ <b>Yksinkertainen ja viimeistelty</b>: Olennaiset ominaisuudet, joita on helppo käyttää.
‣ <b>Säästää akkua ja tilaa</b>: Ei kuluta akkua, kuten toiset karttasovellukset. Kompaktit kartat säästävät tilaa puhelimessasi.
‣ <b>Ilmainen ja yhteisön rakentama</b>: Ihmiset, kuten sinä ovat auttaneet sovelluksen kehityksessä lisäämällä paikkoja OpenStreetMap:iin, testaamalla sovellusta ja antamalla palautetta. Voit auttaa myös kehittämällä sovellusta ja lahjoittamalla sovelluskehitykseen.
‣ <b>Avoin ja läpinäkyvä päätöksenteko ja rahoitus. Voittoa tavoittelematon ja täysin avoimeen lähdekoodiin perustuva.</b>
<b>Tärkeimmät ominaisuudet</b>:
• Ladattavat yksityiskohtaiset kartat paikoista, joita ei löydy edes Google Maps:sta
• Ulkoilutila, josta löytyy korostettuna reitit, leirintäpaikat, vesipisteet, huiput ja korkeuserot yms.
• Kävely- ja pyörätiet
• Kiinnostavat paikat, kuten ravintolat, huoltoasemat, hotellit, kaupat, nähtävyydet ja monta muuta
• Etsi nimellä, osoitteella tai kiinnostavan paikan kategorialla
• Navigointi ääni-ilmoituksilla kävellessä, pyöräillessä tai ajaessa
• Tallenna suosikkipaikkasi yhdellä napautuksella
• Offline Wikipedia-artikkelit
• Maanalaisen liikenteen tasot ja ohjeet
• Reittien tallennus
• Tuo ja vie kirjanmerkkejä ja reittejä KML-, KMZ- ja GPX-formaateissa
• Tumma tila iltaa ja yötä varten
• Paranna karttadataa kaikille sisäänrakennetulla editorilla
<ul>
<li>Ladattavat yksityiskohtaiset kartat paikoista, joita ei löydy edes Google Maps:sta</li>
<li>Ulkoilutila, josta löytyy korostettuna reitit, leirintäpaikat, vesipisteet, huiput ja korkeuserot yms.</li>
<li>Kävely- ja pyörätiet</li>
<li>Kiinnostavat paikat, kuten ravintolat, huoltoasemat, hotellit, kaupat, nähtävyydet ja monta muuta</li>
<li>Etsi nimellä, osoitteella tai kiinnostavan paikan kategorialla</li>
<li>Navigointi ääni-ilmoituksilla kävellessä, pyöräillessä tai ajaessa</li>
<li>Tallenna suosikkipaikkasi yhdellä napautuksella</li>
<li>Offline Wikipedia-artikkelit</li>
<li>Maanalaisen liikenteen tasot ja ohjeet</li>
<li>Reittien tallennus</li>
<li>Tuo ja vie kirjanmerkkejä ja reittejä KML-, KMZ- ja GPX-formaateissa</li>
<li>Tumma tila iltaa ja yötä varten</li>
<li>Paranna karttadataa kaikille sisäänrakennetulla editorilla</li>
</ul>
<b>Vapaus on täällä</b>
Löydä matkasi ja navigoi maailmalla yksityisyyden ja yhteisön tukemana!
Löydä matkasi, navigoi maailmassa yksityisyyden ja yhteisön tukemana!

View File

@@ -1 +1 @@
CoMaps - Navigoi ilman verkkoyhteyttä yksityisesti
CoMaps - Navigoi yksityisesti ilman verkkoyhteyttä

View File

@@ -1,9 +1,9 @@
• Données OSM du 22 août
Nouvel indicateur de vitesse et détails des pistes
• Amélioration du style sombre, ajout de labels colorées
Affichage de la date de dernière vérification d'un lieu
Support dans le routage des virages, signalisations et restrictions
Amélioration de la boussole et de la précision GPS
Support des adresses et des notes dans l'éditeur
Diverses améliorations d'UI et du style de la carte
• Données OSM du 06 septembre
Pénalités dans les calculs d'itinéraires vélos
• Ajout de labels colorés en mode navigation
Support du tag branch dans la recherche
Ajout des portiques électriques, postes de sécurité
Mise à jour des icônes de tours, boîtes de nuits, chimiste et mat
Enregistrement de la couleur des signets dans les exports GPX
Android Auto: Affichage du numéro de sortie des ronds-points
Plus d'informations sur notre Codeberg

View File

@@ -1 +1 @@
Navigation de cartes facile - Découvrez le monde - Propulsé par la communauté
Navigation facile - Vivez de grands voyages - Propulsé par la communauté

View File

@@ -1,32 +1,32 @@
A CoMaps egy közösség által létrehozott, ingyenes és nyílt forráskódú térképalkalmazás, amely az OpenStreetMap térképadatain alapul, és amelyet az átláthatóság, a magánélet védelme és a nonprofit jelleg iránti elkötelezettség erősít. A CoMaps az Organic Maps villája, amely viszont a Maps.ME villája.
Egy közösség által vezetett, ingyenes és nyílt forráskódú térképalkalmazás, amely az OpenStreetMap adatain alapul, és amelynek alapelvei a átláthatóság, az adatvédelem és a nonprofit működés. A CoMaps az Organic Maps alkalmazás egyik változata, amely viszont a Maps.ME alkalmazás egyik változata.
A projekt előzményeiről és az irányáról a <b><i>codeberg.org/comaps</i></b> oldalon olvashatsz.
Csatlakozz ott a közösséghez, és segíts a legjobb térképalkalmazás elkészítésében.
• Használd az alkalmazást és terjeszd a hírét
• Adj visszajelzést és jelentsd a problémákat
• Frissítsd és javítsd a térképadatokat az alkalmazásban vagy az OpenStreetMap weboldalán.
A projekt előzményeiről és fejlesztési irányáról bővebben a <b><i>codeberg.org/comaps</i></b> oldalon olvashat.
Csatlakozzon a közösséghez, és segítsen a legjobb térképalkalmazás létrehozásában
• Használja az alkalmazást, és terjessze a hírt róla
• Adjon visszajelzést, és jelentsen problémákat
• Frissítse a térképadatokat az alkalmazásban vagy az OpenStreetMap weboldalon
‣ <b>Offline-fókuszú:</b> Tervezd meg és navigáld külföldi útad mobilszolgáltatás nélkül, keress útpontokat egy távoli túra során stb. Az alkalmazás minden funkcióját úgy terveztük, hogy internetkapcsolat nélkül is működjön.
‣ <b>A magánélet tiszteletben tartása:</b> Az alkalmazás az adatvédelem szem előtt tartásával készült, nem azonosítja az embereket, nem követi nyomon és nem gyűjt személyes adatokat, és reklámmentes.
‣ <b>Takarékosdik az akkumulátorral és a tárhellyel:</b> Nem meríti le az akkumulátort, mint más navigációs alkalmazások. A jól összeállítot kis méretű térképek értékes helyet takarítanak meg a telefonon.
‣ <b>Egyszerű és szép grafikus felület,</b> nagyszerű és könnyen használható funkciók, amelyek egyszerűen működnek.
‣ <b>Ingyenes és a közösség által szített:</b> A hozzád hasonló emberek segítettek az alkalmazás létrehozásában azáltal, hogy hozzáadtak helyeket az OpenStreetMap térképhez, tesztelték és visszajelzést adtak a funkciókról, valamint hozzájárultak a fejlesztői képességeikkel és a pénzükkel.
‣ <b>Nyílt és átlátható döntéshozatal és pénzügyek, nonprofit és teljesen nyílt forráskódú.</b>
‣ <b>Offline</b>: Tervezze meg és navigálja külföldi utazását mobilszolgáltatás nélkül, keressen útpontokat távoli túrákon stb. Az alkalmazás összes funkciója úgy van kialakítva, hogy offline is működjön.
‣ <b>A magánélet tiszteletben tartása</b>: Az alkalmazás a magánélet tiszteletben tartásával lett kialakítva nem azonosítja az embereket, nem követi nyomon őket és nem gyűjt személyes adatokat. Reklámmentes.
‣ <b>Egyszerű és kifinomult</b>: alapvető, könnyen használható funkciók, amelyek egyszerűen működnek.
‣ <b>Takarékos az akkumulátorral és a tárhellyel</b>: Nem meríti le az akkumulátort, mint más navigációs alkalmazások. A kompakt térképek értékes helyet takarítanak meg a telefonon.
‣ <b>Ingyenes és a közösség által fejlesztett</b>: Az Önhöz hasonló emberek segítettek az alkalmazás fejlesztésében azzal, hogy helyeket adtak hozzá az OpenStreetMaphez, tesztelték és visszajelzéseket adtak a funkciókról, valamint fejlesztői ismereteikkel és pénzzel is hozzájárultak a fejlesztéshez.
‣ <b>Nyílt, átlátható döntéshozatal és pénzügyek, nonprofit és teljesen nyílt forráskódú.
<b>Főbb jellemzők:</b>
• Letölthető részletes térképek olyan helyekkel, amelyek sok kereskedelmi térképen nem állnak rendelkezésre.
Szabadtéri üzemmód kiemelt túraútvonalakkal, táborhelyekkel, vízforrásokkal, csúcsokkal, szintvonalakkal stb.
Sétaútvonalak és kerékpárutak
• Érdekes pontok, mint például éttermek, benzinkutak, szállodák, üzletek, látnivalók és még sok minden más
• Keresés név, cím vagy az érdekes pontok kategóriája alapján
Navigáció hangutasításokkal gyalogláshoz, kerékpározáshoz vagy vezetéshez
• Kedvenc helyeid könyvjelzővel láthatod el egyetlen érintéssel
• Wikipedia szócikkek internetkapcsolat nélkül
• Metró tranzit réteg és irányok
• Útvonal mentése
• Könyvjelzők és nyomvonalak exportálása és importálása KML, KMZ, GPX formátumokban
• Sötét üzemmód az éjszakai használathoz
Térképadatok javítása mindenki számára egy alapvető beépített szerkesztő segítségével
<b>Főbb jellemzők</b>:
• Letölthető részletes térképek olyan helyekkel, amelyek nem érhetők el a Google Maps-en
Kültéri mód kiemelt túraútvonalakkal, kempingekkel, vízforrásokkal, csúcsokkal, szintvonalakkal stb.
Gyalogos és kerékpáros útvonalak
• Érdekes helyek, például éttermek, benzinkutak, szállodák, üzletek, látnivalók és még sok más
• Keresés név, cím vagy érdekes hely kategória alapján
Hangos navigáció gyalogos, kerékpáros vagy autós utazáshoz
• Kedvenc helyek könyvjelzővel egyetlen érintéssel
Offline Wikipedia cikkek
• Metróhálózat és útvonaltervezés
• Útvonalrögzítés
• Könyvjelzők, útvonalak exportálása és importálása KML, KMZ, GPX formátumokban
• Sötét mód az éjszakai használathoz
A beépített alapszerkesztővel mindenki javíthatja a térképadatokat
<b>Itt van a szabadság</b>
Fedezd fel az utadat, navigálj a világban úgy, hogy a magánélet és a közösség kerüljön előtérbe!
<b>A szabadság itt van</b>
Fedezze fel utazását, navigáljon a világban, ahol az adatvédelem és a közösség az első!

View File

@@ -1 +1 @@
Könnyű térképes navigáció - Fedezz fel többet az útjaidról - A közösség erejével
Egyszerű térképnavigáció Fedezze fel utazását A közösség támogatásával

View File

@@ -1 +1 @@
CoMaps - Túra, Bicikli, Vezetés offline diszkréten
CoMaps túrázás, kerékpározás, autózás offline

View File

@@ -0,0 +1,10 @@
• OpenStreetMap aggiornato al 6 Settembre
• Bici: miglior stima del tempo di percorrenza
• Auto: punti d'interesse colorati
• Cerca i punti d'interesse tramite filiale
• Aggiunte strutture alta tensione, cabine di sicurezza e uffici
• Aggiornate le icone per torri, discoteche, farmacie e aste per bandiere
• Salva il colore dei Preferiti nel GPX
• Evidenziate le aree pedonali nelle piazze
• AndroidAuto: aggiunto il numero dell'uscita nelle rotonde
Visita Codeberg per ulteriori dettagli

View File

@@ -0,0 +1 @@
Vienkārša kartes navigācija - Atklāj vairāk par savu ceļojumu - Darbina kopiena

View File

@@ -0,0 +1 @@
CoMaps - dodies ceļā bezsaistē ar privātumu

View File

@@ -0,0 +1,32 @@
App għall-mapep b'xejn u b'sors miftuħ (open source) immexxi mill-komunità bbażata fuq dejta minn OpenStreetMap, b'impenn għal trasparenza, privatezza u mhux għal-profitt. CoMaps hija fork ta' Organic Maps, li min-naħa tagħha hija fork ta' Maps.ME.
Kompli aqra dwar ir-raġunijiet għall-proġett u d-direzzjoni tiegħu hawn <b><i>codeberg.org/comaps</i></b>.
Ingħaqad mal-komunità u għin biex toħloq l-aqwa app tal-mapep
• Uża l-app u semmiha ma' min taf
• Agħti feedback u rrapporta problemi
• Aġġorna d-dejta tal-mapep fl-app jew fuq il-websajt OpenStreetMap
‣ <b>Iffokata fuq offlajn</b>: Ippjana u innaviga l-vjaġġ tiegħek barra minn pajjiżek mingħajr ħtieġa ta' servizz ċellulari, fittex waypoints waqt ħajk, eċċ. Il-funzjonijiet kollha tal-app huma ddisinjati biex jaħdmu offlajn.
‣ <b>Tirrispetta l-Privatezza</b>: L-app hija ddisinjata bil-privatezza f'moħħha - ma tidentifikax nies, ma ssegwikx, u ma tiġborx informazzjoni personali. Bla reklami.
‣ <b>Sempliċi u Rfinuta</b>: karatteristiċi essenzjali, faċli biex jintużaw u li sempliċement jaħdmu.
‣ <b>Tiffrankalek Batterija u Spazju</b>: Ma taħlix il-batterija bħal apps oħra tal-mapep. Mapep kompatti li jiffrankawlek spazju prezzjuż fuq il-mowbajl.
‣ <b>B'xejn u Mibnija mill-Komunità</b>: Nies bħalek għenu fl-iżvilupp tal-app billi żiedu postijiet f'OpenStreetMap, ittestjaw u taw feedback dwar il-karatteristiċi u kkontribwew il-ħiliet u l-flus tagħhom.
‣ <b>Trasparenza fil-finanzi u fit-teħid ta' deċiżjonijiet, Mhux għall-profitt u sors kompletament miftuħ.</b>
<b>Karatteristiċi Prinċipali</b>:
• Mapep dettaljati li jistgħu jitniżżlu b'postijiet li mhumiex disponibbli fuq Google Maps
• Modalità ta' barra b'mogħdijiet tal-mixi, postijiet għal-ikkampjar, sorsi tal-ilma, quċċati, linji tal-kontorn, eċċ.
• Mogħdijiet għall-mixi u rotti għar-roti
• Postijiet ta' interess bħal ristoranti, stazzjonijiet tal-petrol, lukandi, ħwienet, postijiet turistiċi u ħafna aktar
• Fittex bl-isem jew bl-indirizz jew bil-kategorija interess
• Navigazzjoni b'avviżi bil-vuċi għall-mixi, ċikliżmu, u sewqan
• Immarka l-postijiet favoriti tiegħek b'tapp waħda
• Artikli offlajn ta' Wikipedia
• Direzzjonijiet tas-subways
• Reġistrazzjoni ta' trekks
• Esportazzjoni u importazzjoni ta' bookmarks u trekks f'formati KML, KMZ, GPX
• Modalità mudlama biex tintuża bil-lejl
• Ittejjeb id-dejta tal-mapep għal kulħadd b'użu ta' editur bażiku u integrat
<b>Il-Libertà Waslet</b>
Skopri l-vjaġġ tiegħek, innaviga d-dinja bil-privatezza u bil-komunità fuq quddiem nett!

View File

@@ -0,0 +1 @@
Navigazzjoni ta' mapep faċli - Skopri iktar mill-vjaġġ - Imsaħħaħ mill-komunita`

View File

@@ -0,0 +1 @@
CoMaps - Imxi, Suq Rota u Karozza bil-Privatezza

View File

@@ -0,0 +1,32 @@
Prowadzona przez społeczność, darmowa i otwartoźródłowa aplikacja mapowa oparta na danych OpenStreetMap, wzmacniana zobowiązaniem do transparentności, prywatności i działalnością non-profit. CoMaps jest forkiem/spin-off'em Organic Maps, który z kolei jest forkiem Maps.ME.
Przeczytaj o powodach powstania projektu i jego kierunku na stronie <b><i>codeberg.org/comaps</i></b>.
Dołącz do społeczności i pomóż stworzyć najlepszą aplikację mapową
• Używaj aplikacji i rozpowszechnia o niej informacje,
• Przekazuj opinie i zgłaszaj problemy,
• Aktualizuj dane w aplikacji lub na stronie OpenStreetMap.
‣ <b>Skoncentrowana na pracy w trybie offline</b>: Zaplanuj trasę i nawiguj podczas swojej podróży za granicą bez potrzeby korzystania z sieci komórkowej, wyszukuj punkty nawigacyjne podczas dalekich wędrówek itp. Wszystkie funkcje aplikacji zostały zaprojektowane do pracy w trybie offline.
‣ <b>Poszanowanie prywatności</b>: Aplikacja została zaprojektowana z myślą o prywatności nie identyfikuje osób, nie śledzi ich i nie gromadzi danych osobowych. Bez reklam.
‣ <b>Prosta i dopracowana</b>: niezbędne, łatwe w użyciu funkcje, które po prostu działają.
‣ <b>Oszczędza baterię i miejsce</b>: Nie wyczerpuje baterii jak inne aplikacje nawigacyjne. Kompaktowe mapy oszczędzają cenne miejsce w telefonie.
‣ <b>Darmowa i stworzona przez społeczność</b>: Osoby takie jak Ty pomogły w tworzeniu aplikacji, dodając miejsca do OpenStreetMap, testując i przekazując opinie na temat funkcji oraz wnosząc swoje umiejętności programistyczne i pieniądze.
‣ <b>Otwarte i transparentne podejmowanie decyzji i zarządzanie finansami, nie dla zysku i w pełni otwartoźródłowe.</b>
<b>Główne funkcje</b>:
• Szczegółowe mapy do pobrania z miejscami niedostępnymi na wielu mapach komercyjnych,
• Tryb outdoorowy z wyróżnionymi szlakami turystycznymi, kempingami, źródłami wody, szczytami, poziomicami itp.,
• Ścieżki spacerowe i rowerowe,
• Punkty zainteresowania, takie jak restauracje, stacje benzynowe, hotele, sklepy, atrakcje turystyczne i wiele innych,
• Wyszukiwanie według nazwy, adresu lub kategorii punktu zainteresowania,
• Nawigacja z komunikatami głosowymi dla pieszych, rowerzystów i kierowców,
• Dodawanie zakładek do ulubionych miejsc jednym dotknięciem,
• Artykuły z Wikipedii offline,
• Warstwa z liniami metra oraz nawigacja z użyciem metra,
• Nagrywanie tras,
• Eksport i import zakładek i tras w formatach KML, KMZ i GPX,
• Ciemny tryb do użytku w nocy,
• Ulepszanie danych mapowych dzięki wbudowanemu edytorowi.
<b>Wolność jest tutaj</b>
Odkrywaj swoją podróż, nawiguj po świecie z prywatnością i społecznością na pierwszym planie!

View File

@@ -0,0 +1 @@
Łatwa nawigacja Odkryj więcej ze swojej podróży Wspierane przez społeczność

View File

@@ -0,0 +1 @@
CoMaps - Nawiguj offline z zachowaniem prywatności

View File

@@ -1,8 +1,10 @@
• Dados OSM de 22/08
Novo indicador de velocidade e tela de informações de trilha
Melhor estilo de mapa escuro, rótulos coloridos adicionados
Exibição da última atualização de locais e horários de funcionamento
O roteamento agora considera conversões, PARE, semáforos, e restrições condicionais
Preferência por orientação GPS em vez de bússola e aumento da frequência de localização
Editor: adição de endereços e notas independentes
Melhorias em elementos da interface e estilo de mapa
• Dados OSM de 6/09
Penalidades de conversão para bicicleta
Etiquetas de POI coloridas para o estilo do mapa de navegação de carros
Busca de POIs por nome de filial
Adição de portais de energia, guaritas e escritórios
Atualização de ícones para torres, discotecas, farmácias e mastros
Salva a cor dos favoritos nas exportações GPX
Preenchimento de praças pavimentadas
• Android Auto: exibe números de saída de rotatória
Confira nossas notas de lançamento do Codeberg para mais mudanças

View File

@@ -0,0 +1,32 @@
O aplicație de hărți gratuită & open source, condusă de comunitate, bazată pe date OpenStreetMap și întărită prin angajament față de transparență, confidențialitate și statut non-profit. CoMaps este un fork/spin-off al Organic Maps, care la rândul său este un fork al Maps.ME.
Citește mai multe despre motivele proiectului și direcția sa pe <b><i>codeberg.org/comaps</i></b>.
Alătură-te comunității de acolo și ajută la crearea celei mai bune aplicații de hărți:
• Folosește aplicația și promovează-o
• Oferă feedback și raportează probleme
• Actualizează datele hărților în aplicație sau pe site-ul OpenStreetMap
‣ <b>Orientare offline</b>: Planifică-ți și navighează-ți călătoria în străinătate fără nevoia unui semnal cellular, caută puncte de reper în timpul unei drumeții îndepărtate etc. Toate funcțiile aplicației sunt concepute să funcționeze offline.
‣ <b>Respectă confidențialitatea</b>: Aplicația este concepută cu confidențialitatea în minte - nu identifică persoanele, nu urmărește și nu colectează informații personale. Fără reclame.
‣ <b>Simplă și rafinată</b>: caracteristici esențiale, ușor de utilizat, care funcționează fără probleme.
‣ <b>Economisește bateria și spațiul</b>: Nu consumă bateria la fel de mult ca alte aplicații de navigație. Hărțile compacte economisesc spațiu prețios pe telefon.
‣ <b>Gratuită și construită de comunitate</b>: Oameni ca tine au contribuit la construirea aplicației prin adăugarea de locații pe OpenStreetMap, testare și oferire de feedback pentru funcții, și prin contribuția cu abilități de dezvoltare și finanțare.
‣ <b>Decizii și finanțare deschise și transparente, non-profit și cu sursă complet deschisă (open source)</b>.
<b>Caracteristici principale</b>:
• Hărți detaliate, descărcabile, cu locații care nu sunt disponibile pe Google Maps
• Mod pentru activități în aer liber cu trasee de drumeție marcate, locuri de campat, surse de apă, vârfuri, linii de contur etc.
• Căi pietonale și piste de ciclism
• Puncte de interes precum restaurante, benzinării, hoteluri, magazine, obiective turistice și multe altele
• Căutare după nume, adresă sau categorie de punct de interes
• Navigație cu anunțuri vocale pentru mers pe jos, cu bicicleta sau cu mașina
• Marchează-ți locațiile preferate cu un singur clic
• Articole Wikipedia offline
• Strat pentru metrou și indicații de traseu
• Înregistrare trasee
• Exportă și importă marcaje și trasee în formatele KML, KMZ, GPX
• Un mod întunecat pentru utilizare nocturnă
• Îmbunătățește datele hărții pentru toți, folosind un editor de bază integrat
<b>Libertatea este aici</b>
Descoperă-ți călătoria, navighează prin lume având în frunte confidențialitatea și comunitatea!

View File

@@ -0,0 +1 @@
Navigare ușoară - Descoperă mai mult din călătoria ta - Susținut de comunitate

View File

@@ -1,9 +1,10 @@
• Данные 22 августа
Новый спидометр,информация о маршруте
Улучшен тёмный стиль,цветные метки
Время последней проверки часов работы
Построении маршрута учитывает повороты, знак «Стоп»,светофоры и ограничения
Предпочтение отдается GPS-координатам,а не компасу,увеличена частота опроса местоположения
Можно добавлять отдельные адреса и заметки в редакторе
Улучшены различные элементы пользовательского интерфейса и стиль карты
Ознакомьтесь с примечания к релизу про изменения!
• Данные на 6 сентября
Предупреждения на веломаршруте
Цветные метки POI при автонавигации
Поиск POI по названию ветки
Добавлены высоковольтные опоры, помещения охраны и офисы
Обновлены значки башен,вышек,мачт,ночных клубов,аптек
Сохранение цвета закладок при экспорте в GPX (через OM)
Отображение цветом пешеходных зон
• Android Auto: отображение номеров съездов на кольцевых развязках
Посмотрите примечания к выпуску Codeberg, чтобы узнать о других изменениях!

View File

@@ -0,0 +1 @@
Jednoduchá navigácia - Objav viac zo svojej cesty - Funguje vďaka komunite

View File

@@ -0,0 +1 @@
CoMaps - kráčaj, bicykluj a jazdi v súkromí

View File

@@ -0,0 +1 @@
Enostavna navigacija Odkrij več o svojem potovanju Podprto v skupnosti

View File

@@ -0,0 +1 @@
CoMapsHodi, kolesari, vozi brez povezave, zasebno

View File

@@ -1,4 +1,4 @@
Бесплатна апликација отвореног кода коју одржава заједница, која се заснива на ОpenStreetMap подацима. Непрофитна, транспарентна и цени вашу приватност. CoMaps је настала од апликације Organic Maps, које је настала од апликације Maps.ME.
Бесплатна апликација отвореног кода коју одржава заједница и која се заснива на ОpenStreetMap подацима. Непрофитна, транспарентна и цени вашу приватност. CoMaps је настала од апликације Organic Maps, која је настала од апликације Maps.ME.
Прочитајте о разлозима пројекта и његовог правца на <b><i>codeberg.org/comaps</i></b>
Придружите се отвореној заједници и помозите да направимо најбољу апликацију за мапе
@@ -10,7 +10,7 @@
‣ <b>Поштовање приватности</b>: Апликација је осмишљена са приватношћу корисника на уму - не идентификује људе, не прати или прикупља личне податке. Нема реклама.
‣ <b>Једноставно и елегантно</b>: Апликација је лака за употребу и једноставно функционише.
‣ <b>Чува вашу батерију и простор</b>: Не троши батерију као остале апликације за навигацију. Компактне мапе чувају драгоцени простор на вашем телефону.
‣ <b>Отворено и направљено од стране заједнице</b>: Људи попут вас су допринели развоју апликације додавањем локација на OpenStreetMap, тестирањем, давањем повратних информација о апликацији и помогли су својим програмерским вештинама и донацијама.
‣ <b>Отворено и направљено од стране заједнице</b>: Људи попут вас су допринели развоју апликације додавањем локација на OpenStreetMap, тестирањем, давањем повратних информација о апликацији и помогли су својим програмерским вештинама и донацијама.
‣ <b>Отворено и транспарентно доношење одлука и употреба донација, непрофитна и потпуно отвореног кода.</b>
<b> Главне карактеристике </b>:

View File

@@ -1 +1 @@
Једноставна навигација - Сазнајте више о свом путовању - Ради на бази заједнице
Једноставна навигација - Сазнајте више о свом путовању - Одржава заједница

View File

@@ -1 +1 @@
CoMaps - пешачење, бицикл, вожња
CoMaps - пешачење, бицикл и вожња, са приватношћу

Binary file not shown.

Before

Width:  |  Height:  |  Size: 961 KiB

After

Width:  |  Height:  |  Size: 777 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 KiB

After

Width:  |  Height:  |  Size: 865 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 KiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 KiB

View File

@@ -1 +1 @@
version: 2025.03.02-7-FDroid+25030207
version: 2025.10.09-3-FDroid+25100903

View File

@@ -1 +0,0 @@
সহজ মানচিত্র নেভিগেশন - আপনার যাত্রা সম্পর্কে আরও জানুন - সম্প্রদায় কর্তৃক পরিচালিত

View File

@@ -1 +0,0 @@
CoMaps - গোপনীয়তা সহ যাতায়াত

View File

@@ -1 +1 @@
Navegación de mapa fácil - Descubre más en tu camino - Creado por la comunidad
Navegación sencilla - Descubre más en tu camino - Creado por la comunidad

View File

@@ -1 +1 @@
Navigation cartographique facile - Vivez de grands voyages - Propulsé par la communauté
Navigation facile - Vivez de grands voyages - Propulsé par la communauté

View File

@@ -1 +1 @@
CoMaps - Naviguer sans suivi
CoMaps - Naviguez tranquille

View File

@@ -0,0 +1,36 @@
Egy közösség által létrehozott és működtetett, ingyenes és nyílt forráskódú térképalkalmazás, amely az OpenStreetMap adatain alapul, és amelynek alapelvei a átláthatóság, az adatvédelem és a nonprofit működés.
Csatlakozz a közösséghez, és segíts a legjobb térképalkalmazás létrehozásában!
• Használd az alkalmazást, és terjesszd a hírt róla!
• Adj visszajelzést, és jelentsd a problémákat!
• Frissítsd a térképadatokat az alkalmazásban vagy az OpenStreetMap weboldalon!
<i>Visszajelzéseid és az 5 csillagos értékelésed a legjobb támogatás számunkra!</i>
‣ <b>Egyszerű és kifinomult</b>: alapvető, könnyen használható funkciók, amelyek egyszerűen működnek.
‣ <b>Offline-központú</b>: Tervezd meg és navigálj a külföldi útjaidon mobilhálózat igénybevétele nélkül, keress útvonalpontokat távoli túrákon stb. Az alkalmazás összes funkciója úgy lett kialakítva, hogy internetkapcsolat nélkül is működjön.
‣ <b>Tiszteletben tartja a magánéletet</b>: Az alkalmazás a magánélet tiszteletben tartásával lett kialakítva. Nem azonosítja az embereket, nem követi nyomon őket és nem gyűjt személyes adatokat. Reklámmentes.
‣ <b>Kíméli az akkumulátort és helytakarékos</b>: Nem meríti le az akkumulátort, mint más navigációs alkalmazások. A kisméretű, jól összeállított térképek értékes helyet takarítanak meg a telefonon.
‣ <b>Ingyenes és a közösség által fejlesztett</b>: A hozzád hasonló emberek segítettek az alkalmazás fejlesztésében azzal, hogy helyeket adtak hozzá az OpenStreetMaphez, tesztelték és visszajelzéseket adtak a funkciókról, valamint fejlesztői ismereteikkel és a pénzükkel is hozzájárultak a fejlesztéshez.
‣ <b>Nyílt és átlátható döntéshozatal és pénzügyek, nonprofit és teljesen nyílt forráskódú.
<<b>Főbb jellemzők</b>:
• Letölthető részletes térképek olyan helyekkel, amelyek nem érhetők el a Google Maps-en
• Kültéri mód kiemelt túraútvonalakkal, kempingekkel, vízforrásokkal, csúcsokkal, kontúrvonalakkal, stb.
• Túraútvonalak és kerékpárutak
• Érdekes helyek, például éttermek, benzinkutak, szállodák, üzletek, látnivalók és még sok más
• Keresés név, cím vagy érdekes hely kategória szerint
• Hangos navigáció gyalogos, kerékpáros vagy autós utazáshoz
• Kedvenc helyeid könyvjelzővel láthatod el egyetlen érintéssel
• Offline Wikipedia cikkek
• Metró közlekedési réteg és útvonalak
• Útvonalrögzítés
• Könyvjelzők és útvonalak exportálása és importálása KML, KMZ, GPX formátumokban
• Sötét mód éjszakai használatra
• A beépített alapszerkesztővel mindenki javíthatja a térképadatokat
• Android Auto támogatás
Kérjük, jelentsd az alkalmazással kapcsolatos problémákat, javasolj ötleteket, és csatlakozz közösségünkhöz a <b><i>comaps.app</i></b> weboldalon.
<b>Itt van a szabadság</b>
Fedezd fel utadat, navigálj a világban úgy, hogy az adatvédelem és a közösség kerüljön előtérbe!

View File

@@ -1 +1 @@
Könnyű térképes navigáció - Fedezz fel többet az útjaidról - A közösség erejével
Egyszerű térképnavigáció Fedezze fel utazását A közösség támogatásával

View File

@@ -1 +0,0 @@
Navigation facile del mappa Discoperi tu viage Alimentate per le communitate

View File

@@ -1 +0,0 @@
CoMaps Naviga private

View File

@@ -0,0 +1 @@
Vienkārša kartes navigācija - Atklāj vairāk par savu ceļojumu - Darbina kopiena

View File

@@ -0,0 +1 @@
CoMaps - kartes ar privātumu

View File

@@ -1 +1 @@
കോമാപ്പ്സ് - സ്വകാര്യതയോടെ സഞ്ചരിക്കൂ
CoMaps - ഓഫ്‌ലൈൻ നാവിഗേഷൻ

View File

@@ -1 +1 @@
CoMaps - Nawigacja szanująca prywatność
CoMaps Nawigacja offline

View File

@@ -0,0 +1,36 @@
O aplicație de hărți gratuită & open source, condusă de comunitate, bazată pe date OpenStreetMap și susținută de angajamentul față de transparență, confidențialitate și statutul non-profit.
Alătură-te comunității și ajută la crearea celei mai bune aplicații de hărți
• Folosește aplicația și promovează-o
• Oferă feedback și raportează probleme
• Actualizează datele hărții în aplicație sau pe site-ul OpenStreetMap
<i>Feedback-ul și recenziile tale cu 5 stele sunt cel mai bun sprijin pentru noi!</i>
‣ <b>Simplă și Rafinată</b>: funcții esențiale, ușor de utilizat, care pur și simplu funcționează.
‣ <b>Focusată pe Modul Offline</b>: Planifică-ți și navighează-ți călătoria în străinătate fără nevoia unui serviciu cellular, caută waypoint-uri în timpul unei drumeții îndepărtate etc. Toate funcțiile aplicației sunt concepute să funcționeze offline.
‣ <b>Respectă Confidențialitatea</b>: Aplicația este concepută cu confidențialitatea în minte - nu identifică oamenii, nu urmărește și nu colectează informații personale. Fără reclame.
‣ <b>Îți Economisește Bateria și Spațiul</b>: Nu-ți golește bateria ca alte aplicații de navigație. Hărțile compacte economisesc spațiu prețios pe telefon.
‣ <b>Gratuită și Construită de Comunitate</b>: Oameni ca tine au contribuit la construirea aplicației prin adăugarea de locuri pe OpenStreetMap, testare și oferire de feedback privind funcțiile și contribuind cu abilități de dezvoltare și bani.
‣ <b>Decizii și Finanțe Deschise și Transparente, Non-profit și Complet Open Source.</b>
<b>Funcționalități principale</b>:
• Hărți detaliate descărcabile cu locuri care nu sunt disponibile pe Google Maps
• Mod outdoor cu trasee de drumeție evidențiate, locuri de campat, surse de apă, vârfuri, linii de cotă etc.
• Căi pietonale și piste de biciclete
• Puncte de interes precum restaurante, benzinării, hoteluri, magazine, obiective turistice și multe altele
• Căutare după nume sau adresă sau după categoria punctului de interes
• Navigare cu anunțuri vocale pentru mers pe jos, cu bicicleta sau cu mașina
• Marchează-ți locurile preferate cu un singur click
• Articole Wikipedia offline
• Strat pentru traseul de metrou și indicații
• Înregistrare traseu
• Exportă și importă marcaje și trasee în formate KML, KMZ, GPX
• Un mod întunecat pentru utilizarea nocturnă
• Îmbunătățește datele hărții pentru toți, folosind un editor de bază încorporat
• Suport Android Auto
Te rugăm să raportezi probleme ale aplicației, să sugerezi idei și să ni te alături comunității pe site-ul <b><i>comaps.app</i></b>.
<b>Libertatea este aici</b>
Descoperă-ți călătoria, navighează prin lume cu confidențialitate și comunitate în prim plan!

View File

@@ -0,0 +1 @@
Navigare ușoară - Descoperă mai mult din călătoria ta - Susținut de comunitate

View File

@@ -1 +1 @@
CoMaps - Navighează liniștit
CoMaps - Navighează privat

View File

@@ -0,0 +1 @@
Jednoduchá navigácia - Objav viac zo svojej cesty - Funguje vďaka komunite

View File

@@ -0,0 +1 @@
CoMaps - Naviguj v súkromí

View File

@@ -0,0 +1 @@
Enostavna navigacija Odkrij več o svojem potovanju Podprto v skupnosti

View File

@@ -1 +1 @@
Једноставна навигација - Сазнајте више о свом путовању - Ради на бази заједнице
Једноставна навигација - Сазнајте више о свом путовању - Одржава заједница

View File

@@ -1 +0,0 @@
../../fdroid/play/release-notes

View File

@@ -4,7 +4,6 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import app.organicmaps.sdk.Framework;
@@ -25,9 +24,11 @@ import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.listener.OnChartValueSelectedListener;
import com.google.android.material.textview.MaterialTextView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -55,10 +56,10 @@ public class ChartController implements OnChartValueSelectedListener
private MarkerView mCurrentLocationMarkerView;
@SuppressWarnings("NullableProblems")
@NonNull
private TextView mMaxAltitude;
private MaterialTextView mMaxAltitude;
@SuppressWarnings("NullableProblems")
@NonNull
private TextView mMinAltitude;
private MaterialTextView mMinAltitude;
@NonNull
private final Context mContext;
private long mTrackId = Utils.INVALID_ID;
@@ -118,7 +119,7 @@ public class ChartController implements OnChartValueSelectedListener
x.setPosition(XAxis.XAxisPosition.BOTTOM);
x.setAxisLineColor(ThemeUtils.getColor(mContext, androidx.appcompat.R.attr.dividerHorizontal));
x.setAxisLineWidth(mContext.getResources().getDimensionPixelSize(R.dimen.divider_height));
ValueFormatter xAxisFormatter = new AxisValueFormatter(mChart);
IAxisValueFormatter xAxisFormatter = new AxisValueFormatter(mChart);
x.setValueFormatter(xAxisFormatter);
YAxis y = mChart.getAxisLeft();

View File

@@ -33,7 +33,6 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultLauncher;
@@ -133,6 +132,8 @@ import app.organicmaps.widget.placepage.PlacePageViewModel;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.textview.MaterialTextView;
import java.util.ArrayList;
import java.util.Objects;
@@ -719,7 +720,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
if (!TextUtils.isEmpty(appName))
{
setTitle(appName);
((TextView) mPointChooser.findViewById(R.id.title)).setText(appName);
((MaterialTextView) mPointChooser.findViewById(R.id.title)).setText(appName);
}
}

View File

@@ -4,7 +4,6 @@ import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
import static android.Manifest.permission.ACCESS_FINE_LOCATION;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
@@ -22,14 +21,12 @@ import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import app.organicmaps.downloader.DownloaderActivity;
import app.organicmaps.intent.Factory;
import app.organicmaps.sdk.display.DisplayManager;
import app.organicmaps.sdk.location.LocationHelper;
import app.organicmaps.sdk.util.Config;
import app.organicmaps.sdk.util.LocationUtils;
import app.organicmaps.sdk.util.concurrency.UiThread;
import app.organicmaps.sdk.util.log.Logger;
import app.organicmaps.util.SharingUtils;
import app.organicmaps.util.ThemeUtils;
import app.organicmaps.util.Utils;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.io.IOException;

View File

@@ -17,7 +17,7 @@ import androidx.annotation.NonNull;
import androidx.documentfile.provider.DocumentFile;
import app.organicmaps.R;
import app.organicmaps.sdk.util.log.Logger;
import app.organicmaps.util.UiUtils;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;

View File

@@ -6,9 +6,6 @@ import android.text.InputFilter;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
@@ -20,6 +17,7 @@ import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
import app.organicmaps.util.InputUtils;
import app.organicmaps.util.Utils;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import java.util.Objects;
@@ -39,6 +37,8 @@ public class BookmarkCategorySettingsFragment extends BaseMwmToolbarFragment
@SuppressWarnings("NullableProblems")
@NonNull
private TextInputEditText mEditCategoryNameView;
@NonNull
private ShapeableImageView mSaveView;
@Override
public void onCreate(@Nullable Bundle savedInstanceState)
@@ -85,23 +85,8 @@ public class BookmarkCategorySettingsFragment extends BaseMwmToolbarFragment
});
mEditDescView = root.findViewById(R.id.edit_description);
mEditDescView.setText(mCategory.getDescription());
}
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, MenuInflater inflater)
{
inflater.inflate(R.menu.menu_done, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if (item.getItemId() == R.id.done)
{
onEditDoneClicked();
return true;
}
return super.onOptionsItemSelected(item);
mSaveView = root.findViewById(R.id.done);
mSaveView.setOnClickListener(v -> onEditDoneClicked());
}
private void onEditDoneClicked()

View File

@@ -23,6 +23,8 @@ import app.organicmaps.util.UiUtils;
import app.organicmaps.util.Utils;
import app.organicmaps.widget.recycler.RecyclerClickListener;
import app.organicmaps.widget.recycler.RecyclerLongClickListener;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.checkbox.MaterialCheckBox;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textview.MaterialTextView;
@@ -59,7 +61,7 @@ public class Holders
public static class HeaderViewHolder extends RecyclerView.ViewHolder
{
@NonNull
private final MaterialTextView mButton;
private final MaterialButton mButton;
@NonNull
private final MaterialTextView mText;
@@ -77,7 +79,7 @@ public class Holders
}
@NonNull
public MaterialTextView getButton()
public MaterialButton getButton()
{
return mButton;
}

View File

@@ -1,5 +1,11 @@
package app.organicmaps.car.util;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import androidx.annotation.NonNull;
import androidx.car.app.CarContext;
import androidx.car.app.model.CarIcon;
@@ -31,18 +37,19 @@ public final class RoutingHelpers
@NonNull
public static LaneDirection createLaneDirection(@NonNull LaneWay laneWay, boolean isRecommended)
{
int shape = LaneDirection.SHAPE_UNKNOWN;
shape = switch (laneWay)
@LaneDirection.Shape
final int shape = switch (laneWay)
{
case REVERSE -> LaneDirection.SHAPE_U_TURN_LEFT;
case SHARP_LEFT -> LaneDirection.SHAPE_SHARP_LEFT;
case LEFT -> LaneDirection.SHAPE_NORMAL_LEFT;
case SLIGHT_LEFT, MERGE_TO_LEFT -> LaneDirection.SHAPE_SLIGHT_LEFT;
case SLIGHT_RIGHT, MERGE_TO_RIGHT -> LaneDirection.SHAPE_SLIGHT_RIGHT;
case THROUGH -> LaneDirection.SHAPE_STRAIGHT;
case RIGHT -> LaneDirection.SHAPE_NORMAL_RIGHT;
case SHARP_RIGHT -> LaneDirection.SHAPE_SHARP_RIGHT;
default -> shape;
case ReverseLeft -> LaneDirection.SHAPE_U_TURN_LEFT;
case SharpLeft -> LaneDirection.SHAPE_SHARP_LEFT;
case Left -> LaneDirection.SHAPE_NORMAL_LEFT;
case MergeToLeft, SlightLeft -> LaneDirection.SHAPE_SLIGHT_LEFT;
case Through -> LaneDirection.SHAPE_STRAIGHT;
case SlightRight, MergeToRight -> LaneDirection.SHAPE_SLIGHT_RIGHT;
case Right -> LaneDirection.SHAPE_NORMAL_RIGHT;
case SharpRight -> LaneDirection.SHAPE_SHARP_RIGHT;
case ReverseRight -> LaneDirection.SHAPE_U_TURN_RIGHT;
default -> LaneDirection.SHAPE_UNKNOWN;
};
return LaneDirection.create(shape, isRecommended);
@@ -73,7 +80,32 @@ public final class RoutingHelpers
final Maneuver.Builder builder = new Maneuver.Builder(maneuverType);
if (maneuverType == Maneuver.TYPE_ROUNDABOUT_ENTER_AND_EXIT_CCW)
builder.setRoundaboutExitNumber(roundaboutExitNum > 0 ? roundaboutExitNum : 1);
builder.setIcon(new CarIcon.Builder(IconCompat.createWithResource(context, carDirection.getTurnRes())).build());
builder.setIcon(new CarIcon.Builder(createManeuverIcon(context, carDirection, roundaboutExitNum)).build());
return builder.build();
}
@NonNull
private static IconCompat createManeuverIcon(@NonNull final CarContext context, @NonNull CarDirection carDirection, int roundaboutExitNum)
{
if (!CarDirection.isRoundAbout(carDirection) || roundaboutExitNum == 0)
{
return IconCompat.createWithResource(context, carDirection.getTurnRes());
}
Bitmap bitmapImmutable = BitmapFactory.decodeResource(context.getResources(), carDirection.getTurnRes());
Bitmap bitmap = bitmapImmutable.copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setTextAlign(Paint.Align.LEFT);
paint.setFakeBoldText(true);
paint.setTextSize(24);
paint.setAntiAlias(true);
String digit = String.valueOf(roundaboutExitNum);
Rect bounds = new Rect();
paint.getTextBounds(digit, 0, 1, bounds);
float cx = canvas.getWidth() / 2f - bounds.exactCenterX();
float cy = canvas.getHeight() / 2f - bounds.exactCenterY();
canvas.drawText(digit, cx, cy, paint);
return IconCompat.createWithBitmap(bitmap);
}
}

View File

@@ -13,9 +13,9 @@ import androidx.car.app.navigation.model.TravelEstimate;
import androidx.car.app.navigation.model.Trip;
import androidx.core.graphics.drawable.IconCompat;
import app.organicmaps.sdk.bookmarks.data.MapObject;
import app.organicmaps.sdk.routing.LaneInfo;
import app.organicmaps.sdk.routing.LaneWay;
import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sdk.routing.SingleLaneInfo;
import app.organicmaps.sdk.util.Distance;
import app.organicmaps.util.Graphics;
import app.organicmaps.widget.LanesDrawable;
@@ -69,11 +69,12 @@ public final class RoutingUtils
builder.setManeuver(RoutingHelpers.createManeuver(context, info.carDirection, info.exitNum));
if (info.lanes != null)
{
for (final SingleLaneInfo laneInfo : info.lanes)
for (final LaneInfo laneInfo : info.lanes)
{
final Lane.Builder laneBuilder = new Lane.Builder();
for (final LaneWay laneWay : laneInfo.mLane)
laneBuilder.addDirection(RoutingHelpers.createLaneDirection(laneWay, laneInfo.mIsActive));
for (final LaneWay laneWay : laneInfo.mLaneWays)
laneBuilder.addDirection(
RoutingHelpers.createLaneDirection(laneWay, /* isRecommended */ laneWay == laneInfo.mActiveLaneWay));
builder.addLane(laneBuilder.build());
}
final LanesDrawable lanesDrawable = new LanesDrawable(context, info.lanes);

View File

@@ -378,14 +378,16 @@ class DownloaderAdapter extends RecyclerView.Adapter<DownloaderAdapter.ViewHolde
case CountryItem.STATUS_DOWNLOADABLE, CountryItem.STATUS_PARTLY ->
{
if (clickOnStatus)
onDownloadActionSelected(mItem, DownloaderAdapter.this);
{
if (mItem.isExpandable())
goDeeper(mItem, true);
else
onDownloadActionSelected(mItem, DownloaderAdapter.this);
}
else
processLongClick();
}
case CountryItem.STATUS_FAILED ->
{
MapManagerHelper.warn3gAndRetry(mActivity, mItem.id, null);
}
case CountryItem.STATUS_FAILED -> MapManagerHelper.warn3gAndRetry(mActivity, mItem.id, null);
case CountryItem.STATUS_UPDATABLE ->
MapManagerHelper.warnOn3gUpdate(mActivity, mItem.id, () -> MapManagerHelper.startUpdate(mItem.id));
default -> throw new IllegalArgumentException("Inappropriate item status: " + mItem.status);

View File

@@ -33,6 +33,8 @@ import app.organicmaps.sdk.util.Utils;
import app.organicmaps.util.Graphics;
import app.organicmaps.util.InputUtils;
import app.organicmaps.util.UiUtils;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textfield.TextInputEditText;
@@ -88,8 +90,8 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
private MultilanguageAdapter mNamesAdapter;
private MaterialTextView mNamesCaption;
private MaterialTextView mAddLanguage;
private MaterialTextView mMoreLanguages;
private MaterialButton mAddLanguage;
private MaterialButton mMoreLanguages;
private MaterialTextView mStreet;
private TextInputEditText mHouseNumber;
@@ -97,7 +99,7 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
// Define Metadata entries, that have more tricky logic, separately.
private MaterialTextView mPhone;
private MaterialTextView mEditPhoneLink;
private MaterialButton mEditPhoneLink;
private MaterialTextView mCuisine;
private SwitchCompat mWifi;
private MaterialTextView mSelfService;
@@ -134,7 +136,7 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
private TextInputEditText mDescription;
private final Map<Metadata.MetadataType, View> mDetailsBlocks = new HashMap<>();
private final Map<Metadata.MetadataType, View> mSocialMediaBlocks = new HashMap<>();
private MaterialTextView mReset;
private MaterialButton mReset;
private EditorHostFragment mParent;
@@ -468,7 +470,7 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
View levelBlock = initBlock(view, Metadata.MetadataType.FMD_LEVEL, R.id.block_level, R.drawable.ic_level_white,
R.string.editor_level, InputType.TYPE_CLASS_NUMBER);
View fediverseContactBlock =
initBlock(view, Metadata.MetadataType.FMD_CONTACT_FEDIVERSE, R.id.block_fediverse, R.drawable.ic_mastodon_white,
initBlock(view, Metadata.MetadataType.FMD_CONTACT_FEDIVERSE, R.id.block_fediverse, R.drawable.ic_mastodon,
R.string.mastodon, InputType.TYPE_TEXT_VARIATION_URI);
View facebookContactBlock =
initBlock(view, Metadata.MetadataType.FMD_CONTACT_FACEBOOK, R.id.block_facebook, R.drawable.ic_facebook_white,
@@ -485,7 +487,7 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
initBlock(view, Metadata.MetadataType.FMD_CONTACT_LINE, R.id.block_line, R.drawable.ic_line_white,
R.string.editor_line_social_network, InputType.TYPE_TEXT_VARIATION_URI);
View blueskyContactBlock =
initBlock(view, Metadata.MetadataType.FMD_CONTACT_BLUESKY, R.id.block_bluesky, R.drawable.ic_bluesky_white,
initBlock(view, Metadata.MetadataType.FMD_CONTACT_BLUESKY, R.id.block_bluesky, R.drawable.ic_bluesky,
R.string.bluesky, InputType.TYPE_TEXT_VARIATION_URI);
View operatorBlock = initBlock(view, Metadata.MetadataType.FMD_OPERATOR, R.id.block_operator,
R.drawable.ic_operator, R.string.editor_operator, 0);

View File

@@ -66,12 +66,9 @@ public class FeatureCategoryAdapter extends RecyclerView.Adapter<RecyclerView.Vi
case TYPE_FOOTER ->
{
return new FooterViewHolder(inflater.inflate(R.layout.item_feature_category_footer, parent, false),
(FooterListener) mFragment);
}
default ->
{
throw new IllegalArgumentException("Unsupported viewType: " + viewType);
mFragment);
}
default -> throw new IllegalArgumentException("Unsupported viewType: " + viewType);
}
}

View File

@@ -4,7 +4,6 @@ import static app.organicmaps.sdk.util.Utils.getLocalizedFeatureType;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -15,7 +14,6 @@ import androidx.annotation.Nullable;
import app.organicmaps.MwmApplication;
import app.organicmaps.R;
import app.organicmaps.base.BaseMwmRecyclerFragment;
import app.organicmaps.dialog.EditTextDialogFragment;
import app.organicmaps.sdk.Framework;
import app.organicmaps.sdk.editor.Editor;
import app.organicmaps.sdk.editor.OsmOAuth;

View File

@@ -9,6 +9,7 @@ import android.text.format.DateFormat;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
import androidx.annotation.IntRange;
import androidx.annotation.NonNull;
@@ -133,7 +134,7 @@ public class HoursMinutesPickerFragment extends BaseMwmDialogFragment
if (id != 0)
{
mPickerHoursLabel = mPicker.findViewById(id);
if (!(mPickerHoursLabel instanceof MaterialTextView))
if (!(mPickerHoursLabel instanceof TextView))
mPickerHoursLabel = null;
}

View File

@@ -6,7 +6,6 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
import android.widget.ScrollView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -15,24 +14,16 @@ import app.organicmaps.R;
import app.organicmaps.base.BaseMwmToolbarFragment;
import app.organicmaps.sdk.editor.OsmOAuth;
import app.organicmaps.sdk.util.Constants;
import app.organicmaps.sdk.util.DateUtils;
import app.organicmaps.sdk.util.concurrency.ThreadPool;
import app.organicmaps.sdk.util.concurrency.UiThread;
import app.organicmaps.util.InputUtils;
import app.organicmaps.util.UiUtils;
import app.organicmaps.util.Utils;
import app.organicmaps.util.WindowInsetUtils.ScrollableContentInsetsListener;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputEditText;
public class OsmLoginFragment extends BaseMwmToolbarFragment
{
private ProgressBar mProgress;
private MaterialButton mLoginButton;
private MaterialButton mLostPasswordButton;
private TextInputEditText mLoginInput;
private TextInputEditText mPasswordInput;
@Nullable
@Override
@@ -46,28 +37,10 @@ public class OsmLoginFragment extends BaseMwmToolbarFragment
{
super.onViewCreated(view, savedInstanceState);
getToolbarController().setTitle(R.string.login);
mLoginInput = view.findViewById(R.id.osm_username);
mPasswordInput = view.findViewById(R.id.osm_password);
mLoginButton = view.findViewById(R.id.login);
mLostPasswordButton = view.findViewById(R.id.lost_password);
MaterialButton registerButton = view.findViewById(R.id.register);
registerButton.setOnClickListener((v) -> Utils.openUrl(requireActivity(), Constants.Url.OSM_REGISTER));
mProgress = view.findViewById(R.id.osm_login_progress);
// TODO(@pastk): remove unused flow with users entering credentials into app's form
// Hide login and password inputs and Forgot password button
UiUtils.hide(view.findViewById(R.id.osm_username_container), view.findViewById(R.id.osm_password_container),
mLostPasswordButton);
mLoginButton.setOnClickListener((v) -> loginWithBrowser());
/* login via in-app form
else
{
mLoginButton.setOnClickListener((v) -> login());
mLostPasswordButton.setOnClickListener((v) -> Utils.openUrl(requireActivity(),
Constants.Url.OSM_RECOVER_PASSWORD));
}
*/
String code = readOAuth2CodeFromArguments();
if (code != null && !code.isEmpty())
@@ -86,42 +59,17 @@ public class OsmLoginFragment extends BaseMwmToolbarFragment
return arguments.getString(OsmLoginActivity.EXTRA_OAUTH2CODE);
}
private void login()
{
InputUtils.hideKeyboard(mLoginInput);
final String username = mLoginInput.getText().toString().trim();
final String password = mPasswordInput.getText().toString();
enableInput(false);
UiUtils.show(mProgress);
mLoginButton.setText("");
ThreadPool.getWorker().execute(() -> {
final String oauthToken = OsmOAuth.nativeAuthWithPassword(username, password);
final String username1 = (oauthToken == null) ? null : OsmOAuth.nativeGetOsmUsername(oauthToken);
UiThread.run(() -> processAuth(oauthToken, username1));
});
}
private void loginWithBrowser()
{
Utils.openUri(requireContext(), Uri.parse(OsmOAuth.nativeGetOAuth2Url()), R.string.browser_not_available);
}
private void enableInput(boolean enable)
{
mPasswordInput.setEnabled(enable);
mLoginInput.setEnabled(enable);
mLoginButton.setEnabled(enable);
mLostPasswordButton.setEnabled(enable);
}
private void processAuth(String oauthToken, String username)
{
if (!isAdded())
return;
enableInput(true);
UiUtils.hide(mProgress);
mLoginButton.setEnabled(true);
mLoginButton.setText(R.string.login_osm);
if (oauthToken == null)
onAuthFail();

View File

@@ -17,7 +17,6 @@ import app.organicmaps.BuildConfig;
import app.organicmaps.R;
import app.organicmaps.base.BaseMwmFragment;
import app.organicmaps.sdk.Framework;
import app.organicmaps.sdk.util.Config;
import app.organicmaps.sdk.util.Constants;
import app.organicmaps.sdk.util.DateUtils;
import app.organicmaps.util.Graphics;
@@ -58,18 +57,17 @@ public class HelpFragment extends BaseMwmFragment implements View.OnClickListene
Linkify.addLinks(osmPresentationView, Linkify.WEB_URLS);
}
setupItem(R.id.faq, true, root);
setupItem(R.id.news, true, root);
setupItem(R.id.web, true, root);
setupItem(R.id.email, true, root);
setupItem(R.id.code_repo, false, root);
setupItem(R.id.telegram, false, root);
setupItem(R.id.instagram, false, root);
setupItem(R.id.facebook, false, root);
// setupItem(R.id.twitter, true, root);
setupItem(R.id.code_repo, true, root);
setupItem(R.id.mastodon, true, root);
setupItem(R.id.matrix, true, root);
setupItem(R.id.mastodon, false, root);
setupItem(R.id.lemmy, true, root);
setupItem(R.id.bluesky, true, root);
setupItem(R.id.pixelfed, true, root);
setupItem(R.id.openstreetmap, true, root);
setupItem(R.id.faq, true, root);
setupItem(R.id.email, true, root);
setupItem(R.id.report, isLandscape, root);
setupItem(R.id.copyright, false, root);
@@ -120,18 +118,16 @@ public class HelpFragment extends BaseMwmFragment implements View.OnClickListene
Utils.sendTo(requireContext(), BuildConfig.SUPPORT_MAIL, getString(R.string.project_name));
else if (id == R.id.code_repo)
Utils.openUrl(requireActivity(), Constants.Url.CODE_REPO);
else if (id == R.id.telegram)
Utils.openUrl(requireActivity(), getString(R.string.telegram_url));
else if (id == R.id.instagram)
Utils.openUrl(requireActivity(), getString(R.string.instagram_url));
else if (id == R.id.facebook)
Utils.showFacebookPage(requireActivity());
// else if (id == R.id.twitter)
// Utils.openUrl(requireActivity(), Constants.Url.TWITTER);
else if (id == R.id.matrix)
Utils.openUrl(requireActivity(), Constants.Url.MATRIX);
else if (id == R.id.mastodon)
Utils.openUrl(requireActivity(), Constants.Url.MASTODON);
else if (id == R.id.matrix)
Utils.openUrl(requireActivity(), Constants.Url.MATRIX);
else if (id == R.id.lemmy)
Utils.openUrl(requireActivity(), Constants.Url.LEMMY);
else if (id == R.id.bluesky)
Utils.openUrl(requireActivity(), Constants.Url.BLUESKY);
else if (id == R.id.pixelfed)
Utils.openUrl(requireActivity(), Constants.Url.PIXELFED);
else if (id == R.id.openstreetmap)
Utils.openUrl(requireActivity(), getString(R.string.osm_wiki_about_url));
else if (id == R.id.faq)

View File

@@ -2,10 +2,12 @@ package app.organicmaps.maplayer;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.R;
import app.organicmaps.adapter.OnItemClickListener;
@@ -14,7 +16,7 @@ class LayerHolder extends RecyclerView.ViewHolder
@NonNull
final ImageView mButton;
@NonNull
final TextView mTitle;
final MaterialTextView mTitle;
@NonNull
final View mNewMarker;
@Nullable

View File

@@ -38,7 +38,6 @@ import app.organicmaps.sdk.routing.RoutingController;
import app.organicmaps.sdk.util.Config;
import app.organicmaps.util.ThemeUtils;
import app.organicmaps.util.UiUtils;
import app.organicmaps.util.Utils;
import app.organicmaps.util.WindowInsetUtils;
import app.organicmaps.widget.menu.MyPositionButton;
import app.organicmaps.widget.placepage.PlacePageViewModel;

View File

@@ -31,7 +31,6 @@ import app.organicmaps.widget.LanesView;
import app.organicmaps.widget.SpeedLimitView;
import app.organicmaps.widget.menu.NavMenu;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textview.MaterialTextView;
public class NavigationController implements TrafficManager.TrafficCallback, NavMenu.NavMenuListener

View File

@@ -20,9 +20,7 @@ import android.text.style.StyleSpan;
import android.text.style.TypefaceSpan;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -70,13 +68,13 @@ final class RoutingBottomMenuController implements View.OnClickListener
@NonNull
private final MaterialButton mStart;
@NonNull
private final ImageView mAltitudeChart;
private final ShapeableImageView mAltitudeChart;
@NonNull
private final MaterialTextView mTime;
@NonNull
private final MaterialTextView mAltitudeDifference;
@NonNull
private final TextView mTimeVehicle;
private final MaterialTextView mTimeVehicle;
@Nullable
private final MaterialTextView mArrival;
@NonNull
@@ -102,9 +100,9 @@ final class RoutingBottomMenuController implements View.OnClickListener
View transitFrame = getViewById(activity, frame, R.id.transit_panel);
MaterialTextView error = (MaterialTextView) getViewById(activity, frame, R.id.error);
MaterialButton start = (MaterialButton) getViewById(activity, frame, R.id.start);
ImageView altitudeChart = (ImageView) getViewById(activity, frame, R.id.altitude_chart);
ShapeableImageView altitudeChart = (ShapeableImageView) getViewById(activity, frame, R.id.altitude_chart);
MaterialTextView time = (MaterialTextView) getViewById(activity, frame, R.id.time);
TextView timeVehicle = (TextView) getViewById(activity, frame, R.id.time_vehicle);
MaterialTextView timeVehicle = (MaterialTextView) getViewById(activity, frame, R.id.time_vehicle);
MaterialTextView altitudeDifference = (MaterialTextView) getViewById(activity, frame, R.id.altitude_difference);
MaterialTextView arrival = (MaterialTextView) getViewById(activity, frame, R.id.arrival);
View actionFrame = getViewById(activity, frame, R.id.routing_action_frame);
@@ -124,8 +122,8 @@ final class RoutingBottomMenuController implements View.OnClickListener
private RoutingBottomMenuController(@NonNull Activity context, @NonNull View altitudeChartFrame,
@NonNull View timeElevationLine, @NonNull View transitFrame,
@NonNull MaterialTextView error, @NonNull MaterialButton start,
@NonNull ImageView altitudeChart, @NonNull MaterialTextView time,
@NonNull MaterialTextView altitudeDifference, @NonNull TextView timeVehicle,
@NonNull ShapeableImageView altitudeChart, @NonNull MaterialTextView time,
@NonNull MaterialTextView altitudeDifference, @NonNull MaterialTextView timeVehicle,
@Nullable MaterialTextView arrival, @NonNull View actionFrame,
@Nullable RoutingBottomMenuListener listener)
{

View File

@@ -16,7 +16,6 @@ import androidx.fragment.app.FragmentManager;
import app.organicmaps.R;
import app.organicmaps.downloader.MapManagerHelper;
import app.organicmaps.sdk.downloader.CountryItem;
import app.organicmaps.sdk.downloader.MapManager;
import app.organicmaps.util.UiUtils;
import com.google.android.material.textview.MaterialTextView;

View File

@@ -6,13 +6,15 @@ import android.os.Bundle;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.activity.result.ActivityResultLauncher;
import androidx.annotation.DrawableRes;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.MwmApplication;
import app.organicmaps.R;
import app.organicmaps.sdk.Framework;
@@ -319,7 +321,7 @@ public class RoutingPlanController extends ToolbarController
UiUtils.show(mDrivingOptionsBtnContainer);
boolean hasAnyOptions = RoutingOptions.hasAnyOptions() && !isRulerType();
UiUtils.showIf(hasAnyOptions, mDrivingOptionsImage);
TextView title = mDrivingOptionsBtnContainer.findViewById(R.id.driving_options_btn_title);
MaterialTextView title = mDrivingOptionsBtnContainer.findViewById(R.id.driving_options_btn_title);
title.setText(hasAnyOptions ? R.string.change_driving_options_btn : R.string.define_to_avoid_btn);
}

View File

@@ -8,13 +8,15 @@ import android.content.res.Resources;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.DrawableRes;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.R;
import app.organicmaps.sdk.search.DisplayedCategories;
import app.organicmaps.sdk.util.Language;
@@ -112,7 +114,7 @@ class CategoriesAdapter extends RecyclerView.Adapter<CategoriesAdapter.ViewHolde
if (viewType == ViewType.CATEGORY)
{
view = mInflater.inflate(R.layout.item_search_category, parent, false);
viewHolder = new ViewHolder(view, (TextView) view);
viewHolder = new ViewHolder(view, (MaterialTextView) view);
}
else
{
@@ -138,7 +140,7 @@ class CategoriesAdapter extends RecyclerView.Adapter<CategoriesAdapter.ViewHolde
class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
{
@NonNull
private final TextView mTitle;
private final MaterialTextView mTitle;
@NonNull
private final View mView;
@@ -166,7 +168,7 @@ class CategoriesAdapter extends RecyclerView.Adapter<CategoriesAdapter.ViewHolde
return mEnglishResources.getString(categoryId);
}
ViewHolder(@NonNull View v, @NonNull TextView tv)
ViewHolder(@NonNull View v, @NonNull MaterialTextView tv)
{
super(v);
mView = v;

View File

@@ -5,12 +5,14 @@ import android.content.res.Resources;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.AttrRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.R;
import app.organicmaps.sdk.search.SearchResult;
import app.organicmaps.util.Graphics;
@@ -42,11 +44,11 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.SearchDataViewHol
BaseResultViewHolder(@NonNull View view)
{
super(view);
if (view instanceof TextView)
if (view instanceof MaterialTextView)
{
int tintAttr = getTintAttr();
if (tintAttr != 0)
Graphics.tint((TextView) view, tintAttr);
Graphics.tint((MaterialTextView) view, tintAttr);
}
view.setOnClickListener(v -> processClick(mResult, mOrder));
}
@@ -56,7 +58,7 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.SearchDataViewHol
{
mResult = result;
mOrder = order;
final TextView titleView = getTitleView();
final MaterialTextView titleView = getTitleView();
if (titleView != null)
titleView.setText(mResult.getFormattedTitle(titleView.getContext()));
@@ -68,7 +70,7 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.SearchDataViewHol
return androidx.appcompat.R.attr.colorAccent;
}
abstract TextView getTitleView();
abstract MaterialTextView getTitleView();
abstract void processClick(SearchResult result, int order);
}
@@ -81,9 +83,9 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.SearchDataViewHol
}
@Override
TextView getTitleView()
MaterialTextView getTitleView()
{
return (TextView) itemView;
return (MaterialTextView) itemView;
}
@Override
@@ -98,15 +100,15 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.SearchDataViewHol
@NonNull
final View mFrame;
@NonNull
final TextView mName;
final MaterialTextView mName;
@NonNull
final TextView mOpen;
final MaterialTextView mOpen;
@NonNull
final TextView mDescription;
final MaterialTextView mDescription;
@NonNull
final TextView mRegion;
final MaterialTextView mRegion;
@NonNull
final TextView mDistance;
final MaterialTextView mDistance;
@Override
int getTintAttr()
@@ -126,7 +128,7 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.SearchDataViewHol
}
@Override
TextView getTitleView()
MaterialTextView getTitleView()
{
return mName;
}

View File

@@ -3,9 +3,11 @@ package app.organicmaps.search;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.MwmApplication;
import app.organicmaps.R;
import app.organicmaps.sdk.routing.RoutingController;
@@ -25,12 +27,12 @@ class SearchHistoryAdapter extends RecyclerView.Adapter<SearchHistoryAdapter.Vie
public static class ViewHolder extends RecyclerView.ViewHolder
{
private final TextView mText;
private final MaterialTextView mText;
public ViewHolder(View itemView)
{
super(itemView);
mText = (TextView) itemView;
mText = (MaterialTextView) itemView;
Graphics.tint(mText);
}
}

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