Compare commits

...

306 Commits

Author SHA1 Message Date
zyphlar
acd97c816d Fallback to previous Coastlines 2025-08-04 05:18:22 +00:00
zyphlar
13aa12fb97 Try 18 Features threads 2025-08-04 05:17:45 +00:00
zyphlar
83ddd58bfc sftp fix 2025-08-04 05:17:17 +00:00
zyphlar
49c954ceb8 fix empty relations 2025-08-04 05:12:26 +00:00
zyphlar
31786731ca Settings change
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
Konstantin Pastbin
c509263c5b [generator] Skip World map download and symbols regen
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
Konstantin Pastbin
8aa1cfb083 [generator] Update conf path
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
zyphlar
6537ca34cd Update generator scripts for docker/prod
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
zyphlar
306aa002f0 Add docker run script
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
Konstantin Pastbin
21743be44d Increase Features threads from 12 to 16
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-28 13:54:08 +07:00
zyphlar
119650d7f3 Update tools/unix/docker_maps_generator.sh
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
2025-07-28 13:54:08 +07:00
zyphlar
be70c34eba Tweaks, get subway hooks proper
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
Konstantin Pastbin
ac9b70d229 Update subways path
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-28 13:54:08 +07:00
Konstantin Pastbin
85cec703e5 Update INI
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-28 13:54:08 +07:00
zyphlar
5925fe85b2 Fix s3 variables
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
zyphlar
f0458c9715 Map generation mostly working, but slow and not doing full planet with add-ins yet
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
zyphlar
54fc3d0b64 On-server tweaks
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
zyphlar
df70b29623 Add files to automatically generate maps with Docker
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-28 13:54:08 +07:00
gekeleda
d1da6c197e [android] Round map download percentage
Reviewed-on: https://codeberg.org/comaps/comaps/pulls/1110
Reviewed-by: x7z4w <x7z4w@noreply.codeberg.org>
Co-authored-by: gekeleda <git@davidgekeler.eu>
Co-committed-by: gekeleda <git@davidgekeler.eu>
2025-07-28 08:41:11 +02:00
Konstantin Pastbin
0dc8d69375 [isolines] Upgrade some popular hiking regions to 20m step
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-28 08:41:02 +02:00
Andrei Shkrob
3352279d9d [android][sdk] Create empty SDK library
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-07-27 19:31:30 +02:00
Harry Bond
6da8b69a1b [android] Fix donate button not opening in hamburger menu
oops - fixes #1099

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-27 18:07:31 +02:00
x7z4w
fe1c371b5f [android-auto] Fix SearchRecents.add
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-07-27 17:34:38 +02:00
Jean-Baptiste
309eed2365 [android] Use SVG assets for download status icons
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-27 17:18:29 +02:00
Jean-Baptiste
979c713436 [android] Fix logo missing in about layout
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-27 14:15:50 +02:00
x7z4w
5e8a8de646 [docs] Allow pseudonyms
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-07-27 13:37:18 +02:00
Yannik Bloscheck
b0bdd2c665 [core] Respect system language order
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-27 12:22:45 +02:00
Yannik Bloscheck
dd949925f6 [core] Respect system language order
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-27 12:22:11 +02:00
Codeberg Translate
b37572000f [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: Fjuro <fjuro@alius.cz>
Co-authored-by: Mickael81 <mickael81@noreply.codeberg.org>
Co-authored-by: N4ta <codeberg@n4ta.anonaddy.me>
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: patepelo <patepelo@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-07-27 12:13:17 +02:00
Jean-Baptiste
332ab819b2 [android] Remove somes Android warnings
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-27 12:10:10 +02:00
sunsand
860f58e60e [strings] Fixed and squashed - Translated using Codeberg Translate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-27 09:16:54 +02:00
Jean-Baptiste
0e7d8a65cc [android] Improve layouts in RTL mode with LTR texts
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-27 09:12:52 +02:00
jeanbaptisteC
4c6207a8ce Translated using Weblate (French)
Currently translated at 100.0% (631 of 631 strings)

Translation: CoMaps/Android UI Strings
2025-07-27 08:49:10 +02:00
Jean-Baptiste
b96afc6fbb [android] Enable animateLayoutChanges in a layout
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-27 07:35:22 +02:00
Jean-Baptiste
8174eac134 [android] Follow Material style guide for translations
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-26 15:54:00 +02:00
Konstantin Pastbin
f4dd133872 [styles] Regenerate for generic amenities areas
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 13:08:08 +02:00
Konstantin Pastbin
feddb98a81 [styles] Add areas to bici, moto parkings, visitor centers and ranger stations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 13:08:08 +02:00
Konstantin Pastbin
886938c0dc [styles] Add captions to landuse-retail
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 13:08:08 +02:00
Konstantin Pastbin
5014b4018d [styles] Add captions to landuse-garages
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 13:08:08 +02:00
Codeberg Translate
084357a68e [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: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-26 13:06:02 +02:00
Konstantin Pastbin
c6c758d7af [styles] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 12:39:08 +02:00
Konstantin Pastbin
e80679eeb0 [styles] Fix luggage_locker icons color
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 12:39:08 +02:00
David Martinez
1fda519032 [styles] Add amenity=luggage_locker
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-07-26 12:39:08 +02:00
Konstantin Pastbin
57f543a0dd [classif] Change escape_game type id to match OM
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 12:39:08 +02:00
Konstantin Pastbin
2b173cebe6 [search] Added synonyms to amenity-cinema
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 12:39:08 +02:00
Konstantin Pastbin
10f154858c [editor] Add ranger station
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 12:39:08 +02:00
Konstantin Pastbin
20e0b0ff95 [styles] Fix ranger station icons color
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 12:39:08 +02:00
Viktor Govako
4588703f71 [classifier] Added amenity=ranger_station.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-26 12:39:08 +02:00
Viktor Govako
11ee2b121b Added ftype::Trunc.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-26 12:39:08 +02:00
Viktor Govako
4e9efa63ff [classifier] Added post_office=post_partner.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-26 12:39:08 +02:00
Viktor Govako
161123245e [styles] Set the office=diplomatic priority near the post_office.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-26 12:39:08 +02:00
Konstantin Pastbin
8f11eb876e [editor] Add amenity-bicycle_parking-covered
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 12:39:08 +02:00
David Martinez
47741282cf [styles] Add amenity-bicycle_parking-covered
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-07-26 12:39:08 +02:00
maklein
115dbbea79 Translated using Weblate (German)
Currently translated at 100.0% (106 of 106 strings)

Translation: CoMaps/Voice announcements for navigation (TTS)
2025-07-26 12:10:05 +02:00
Codeberg Translate
088a2bfd22 [strings] Update from Codeberg Translate
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@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: Supaplextw <supaplextw@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: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: alexgabi <alexgabi@noreply.codeberg.org>
Co-authored-by: hosara <hosara@noreply.codeberg.org>
Co-authored-by: ldmpub <ldmpub@noreply.codeberg.org>
Co-authored-by: maklein <maklein@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Co-authored-by: rimas <rimas@noreply.codeberg.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-07-26 12:10:05 +02:00
Konstantin Pastbin
d8cdfb8080 [android] Fix additional SDK merge issues
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-26 09:22:32 +02:00
Andrei Shkrob
b465b95854 [android][sdk] Move everything to .sdk package
Signed-off-by: Andrei Shkrob <andrei@shkrob.dev>
2025-07-26 09:22:32 +02:00
Filip Czaplicki
cee3f24cd9 [styles] Deduplicate rules in Icons.mapcss
node and area rules with the same selector are redundant.
Only one of them is needed.

Discussed at https://codeberg.org/comaps/comaps/pulls/969#issuecomment-5922451

Change done automatically using
rg --passthru -UN --pcre2 '^node\|([^,]+),?\narea\|\1,?' --replace 'node|$1,' data/styles/default/include/Icons.mapcss | sponge data/styles/default/include/Icons.mapcss
rg --passthru -UN --pcre2 '^area\|([^,]+),?\nnode\|\1,?' --replace 'node|$1,' data/styles/default/include/Icons.mapcss | sponge data/styles/default/include/Icons.mapcss

Signed-off-by: Filip Czaplicki <git@starsep.com>
2025-07-26 07:56:02 +02:00
Codeberg Translate
c7133364c1 [strings] Update from Codeberg Translate
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@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: Supaplextw <supaplextw@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: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: alexgabi <alexgabi@noreply.codeberg.org>
Co-authored-by: hosara <hosara@noreply.codeberg.org>
Co-authored-by: ldmpub <ldmpub@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Co-authored-by: rimas <rimas@noreply.codeberg.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Countries and regions names
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-07-25 19:05:13 +02:00
Kiryl Kaveryn
cc6958282b [map] Save points altitudes when saving route as a track (#10759)
[map] Save points altitudes when saving route as a track

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-25 18:22:07 +02:00
Kiryl Kaveryn
21cc2bbf52 [map] Show track's place page screen on save route automatically
It will help the user to save the track to the right place, set color and name without searching for the track in the bookmarks screen.
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-25 18:22:07 +02:00
Yannik Bloscheck
1cf4ff21ec [ios] Added setting for map language
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-25 17:41:01 +02:00
Jean-Baptiste
1fe8f1f0e6 [android] Bump dependencies
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-25 16:06:56 +02:00
Jean-Baptiste
f8bfdb898b [android] Remove NY feature
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-25 13:29:50 +02:00
x7z4w
898c940de0 [android] Bump ndkVersion
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-07-25 12:07:33 +02:00
Yannik Bloscheck
eca0e91ec4 [styles] Regenerated files for increasing the distinction for scrubs and woods
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-25 11:35:53 +02:00
Yannik Bloscheck
26567a2220 [styles] Increasing the distinction for scrubs and woods
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-25 11:35:53 +02:00
x7z4w
539e5cdfeb Add generator_tool target
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-07-25 06:32:48 +02:00
Viktor Govako
dde65a918b 4 threads for Taiwan_North search indexer.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
c0469ddef2 Avoid py dependencies.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
34af5e26d9 Do not inherit "oneway" and "surface" from Relation.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
d89ef42acc Fixed hgt tile's grid traversal.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Alexander Borsuk
fb1279ca5a Quotes support for CSV parser
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-25 06:32:48 +02:00
Viktor Govako
128b0f3e2b Borders 2025-07-25 06:32:48 +02:00
Viktor Govako
3b46dd1dee Check default max speeds consistency.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
767f27e00a Added SrtmTileManager::GetBilinearHeight.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
ac50520ca8 Print SRTM tiles usage.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
4f6455d6f8 Added maxspeed OSM related warnings.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
c2c68c4a76 Fixed getting url bug.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
2f2c3b042f Fixed altitude tiles cache bug.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
a5e7922d37 Fixed races.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
c05b668e38 Added SrtmTileManager::GetTriangleHeight.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
58ea819936 Use pre-downloaded wiki descriptions.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
038746b698 Updated scripts.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
11585e07bb Added "tr" description language.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
a576f529a4 Stop running StageMWM when any country was failed.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
e298da740e Get all URLs.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
68711cae06 Enable StageDescriptions.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
a3bb0bed46 Set boost addr2line option for stacktrace.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
0c7e6300f5 Fixed some 'double comparison' tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
2529d5bf5d Crash dump in topography_generator_tool.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Alexander Borsuk
0ef61252c6 Use release with debug info for easier crashlog analysis
Note: use tools/unix/build_omim.sh -R
2025-07-25 06:32:48 +02:00
vng
530847285c [tools] Build Release with Debug info with a script
TODO: Support this configuration in python generator build
2025-07-25 06:32:48 +02:00
vng
cdc2b1b5b5 Added LTO and -Ofast.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Alexander Borsuk
606a94c818 Fixed reading SRTM from squashfs 2025-07-25 06:32:48 +02:00
vng
6bac0d5f65 Added ASTER tif into SRTM hgt converter.
Signed-off-by: vng <viktor.govako@gmail.com>
2025-07-25 06:32:48 +02:00
Viktor Govako
9a609f638c [android] Do not split languages in a bundle.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-24 18:20:56 +02:00
Alexander Borsuk
cfb97a3db6 [android] Pass English from categories search when language is not supported in the core
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-24 18:20:56 +02:00
Alexander Borsuk
9ad94eb95c [android] Fixed unnecessary overhead when showing search categories
The filtering was related to virtual "promo" categories that are not used anymore

Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-24 18:20:56 +02:00
Kiryl Kaveryn
aa71668eab [ios] Fixed category search for unsupported translations.
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-24 18:20:56 +02:00
Viktor Govako
d649e46ef2 [android] Fixed category search for unsupported translations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-24 18:20:56 +02:00
Viktor Govako
12dbfc6622 [categories] Removed dummy list.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-24 18:20:56 +02:00
Yannik Bloscheck
8393402c02 [ios] Fix builds of test bundle
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-24 11:40:16 +02:00
Codeberg Translate
972bb21264 [strings] Update from Codeberg Translate
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
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: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: alexgabi <alexgabi@noreply.codeberg.org>
Co-authored-by: hosara <hosara@noreply.codeberg.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-07-24 08:41:22 +02:00
Yannik Bloscheck
bab869db2b [ios] Correction condition for showing viral alert
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-24 06:23:25 +02:00
Jean-Baptiste
56f9990a7b [android] Update categories assets
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-23 23:22:47 +02:00
Filip Czaplicki
bef136a094 [styles] Regenerate with leisure=escape_game
Signed-off-by: Filip Czaplicki <git@starsep.com>
2025-07-23 16:52:54 +02:00
Filip Czaplicki
c4c08fc410 [classif] Add leisure=escape_game
Signed-off-by: Filip Czaplicki <git@starsep.com>
2025-07-23 16:52:54 +02:00
Konstantin Pastbin
1433b0e866 [android] Fix Panoramax links not working
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 15:57:46 +02:00
Konstantin Pastbin
b14bdd883e [planet] Update map data to 250713
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 05:39:30 +02:00
Konstantin Pastbin
67c0b3e6d2 [tools] Output only existing relnotes for GP console
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-23 00:36:41 +02:00
hb0nd
7e7e84ea64 [docs] Don't direct people to email as primary way to report
Responses will be much faster through the issue tracker

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-22 18:51:32 +01:00
Harry Bond
6857ca8f90 [android] fix checkbox colours after MaterialCheckbox migration
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-22 15:18:42 +02:00
Codeberg Translate
e3b83140b6 [strings] Update from Codeberg Translate
Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-22 12:35:19 +00:00
Konstantin Pastbin
eea5d2f17e [search] Fix inconsistencies between predefined categories synonyms and translations
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-22 14:35:12 +02:00
Konstantin Pastbin
18c11abfd2 Release notes 2025.07.22
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-22 13:55:53 +02:00
Yannik Bloscheck
8321817fac [ios] Remember bottom button positions between app switches with hidden left button
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-22 10:22:44 +02:00
Alexander Borsuk
9a50b3b147 [ios] Fixed wrong coordinates access for pure suggestion search results
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-22 10:21:59 +02:00
David Martinez
2cd1d9df3c [ios] Show multi-line titles in bookmark lists
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
e3d4549f98 [ios] Fix About screen cell background issue
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
ef1ea0ef96 [ios] Review fixes
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
1e8ab6d209 [ios] Hide the PP subtitle when there are no any info (related for Tracks)
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
e7524e5725 [map] [ios] disable category displaying for ios
Because it is displayed in the Edit cell on the Place Page

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
6c3c1af787 [ios] Show Track PP fully expanded
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
49d5335e7e [ios] Implement New Edit view on the PlacePage screen
To allow change the color and group from directly from the then PP
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
ec6a98a6fd [ios] Replace InfoItemViewController with InfoItemView
To simplify logic and increase reusability

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
8e28470490 [ios] upate place page object type
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Kiryl Kaveryn
a19cbbbbf7 [ios] [map] Show Add Place for business
Closes https://github.com/organicmaps/organicmaps/issues/10849

Related PRs: https://github.com/organicmaps/organicmaps/pull/9002 and https://github.com/organicmaps/organicmaps/pull/8158

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-22 10:21:59 +02:00
Harry Bond
e780ef685d [android] Fix logo inset scaling
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-22 09:40:08 +02:00
Konstantin Pastbin
33255e05af [android] Handle exceptions when starting foreground services
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-22 08:19:54 +02:00
Codeberg Translate
1207627257 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@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: Mickael81 <mickael81@noreply.codeberg.org>
Co-authored-by: jros <jros@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: paulb <paulb@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-22 04:29:47 +00:00
Konstantin Pastbin
f6105468c0 [strings] Set all missing iOS strings to EN version
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-21 20:20:39 +07:00
Yannik Bloscheck
98ede09ed8 [docs] Adding document explaining our user testing
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-21 15:07:05 +02:00
Yannik Bloscheck
f5492262bf [styles] Made postbox icon better regcognizable
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-21 13:57:57 +02:00
Kiryl Kaveryn
8b64225b80 [ios] Save log.txt file to the root documents directory
Fixes:
1. The log.txt file is saved root documents directory
2. The log.txt is not immediately deleted while creating the zip
3. Zip archive for sharing is created in the tmp directory as before (to be cleaned up automatically)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-21 18:53:38 +07:00
Codeberg Translate
cd00dd22a7 [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: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translation: CoMaps/iOS UI Strings
2025-07-21 11:31:56 +00:00
Yannik Bloscheck
110648fb89 [ios] Adding setting to change map appearance
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-21 13:29:03 +02:00
Codeberg Translate
e7cdaba817 [strings] Update from Codeberg Translate
Co-authored-by: 19atlas <19atlas@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Laurent FAVOLE <lfavole@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: fbausch <fbausch@noreply.codeberg.org>
Co-authored-by: hosara <hosara@noreply.codeberg.org>
Co-authored-by: jros <jros@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
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/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-07-21 10:39:05 +00:00
Konstantin Pastbin
190111c04b [styles] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-21 12:38:57 +02:00
Konstantin Pastbin
cc199aafd8 [styles][outdoor] Increase opacity of 50m isolines on z13-14
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-21 12:38:57 +02:00
Konstantin Pastbin
b546dbfb26 [styles] Add some generic amenities fills to vehicle style
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-21 12:38:57 +02:00
Konstantin Pastbin
d0b690105e [styles] Remove duplicate priority for landuse-garages
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-21 12:38:57 +02:00
x7z4w
43453c8705 [strings] Fix Korean strings
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-07-21 09:06:18 +00:00
Yannik Bloscheck
5ae0ef626a [ios] Added help to menu and switched some menu icons to system symbols
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-21 10:19:37 +02:00
Jean-Baptiste
a5bd24ccdb [doc] Fix exodus url in the readme
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-20 19:24:16 +02:00
Filip Czaplicki
6cfdeadf87 [docs] Change OM (referring to Organic Maps) to CoMaps
Signed-off-by: Filip Czaplicki <git@starsep.com>
2025-07-20 16:33:02 +02:00
Yannik Bloscheck
cdaf34bde2 [styles] Regenerated files for colored different wetland types differently
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-20 16:05:28 +02:00
Yannik Bloscheck
c92e1b4ab2 [styles] Colored different wetland types differently
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-20 16:05:28 +02:00
Yannik Bloscheck
3f79a3bece [desktop] Updating icons to the new logo
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-20 15:53:17 +02:00
Codeberg Translate
b366a400a1 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: x7z4w <x7z4w@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-20 13:44:03 +00:00
Konstantin Pastbin
9b8593d4fb [strings] Fix lt countries-strings
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-20 20:25:52 +07:00
Codeberg Translate
a913857949 [strings] Update from Codeberg Translate
Co-authored-by: Alexey Ladygin <nitrodox@noreply.codeberg.org>
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Kaiserschmarren <kaiserschmarren@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Mickael81 <mickael81@noreply.codeberg.org>
Co-authored-by: Moonshadow <moonshadow@noreply.codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: dothanhcong1110 <dothanhcong1110@noreply.codeberg.org>
Co-authored-by: edml <edml@noreply.codeberg.org>
Co-authored-by: eryk <eryk@noreply.codeberg.org>
Co-authored-by: fluffynyako <fluffynyako@noreply.codeberg.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: ikanakova <ikanakova@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: loscati <loscati@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Co-authored-by: yurtpage <yurtpage@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr_CA/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/tts/de/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
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 Plurals
Translation: CoMaps/iOS UI Strings
2025-07-20 15:10:35 +02:00
Filip Czaplicki
0971c47e84 Portable bash shebang
Signed-off-by: Filip Czaplicki <git@starsep.com>
2025-07-20 15:08:44 +02:00
Codeberg Translate
dbfb0d5e0b [strings] Update from Codeberg Translate
Co-authored-by: Alexey Ladygin <nitrodox@noreply.codeberg.org>
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Kaiserschmarren <kaiserschmarren@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Mickael81 <mickael81@noreply.codeberg.org>
Co-authored-by: Moonshadow <moonshadow@noreply.codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: dothanhcong1110 <dothanhcong1110@noreply.codeberg.org>
Co-authored-by: edml <edml@noreply.codeberg.org>
Co-authored-by: eryk <eryk@noreply.codeberg.org>
Co-authored-by: fluffynyako <fluffynyako@noreply.codeberg.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: ikanakova <ikanakova@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: loscati <loscati@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Co-authored-by: yurtpage <yurtpage@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr_CA/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/tts/de/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
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 Plurals
Translation: CoMaps/iOS UI Strings
2025-07-20 14:41:03 +02:00
Yannik Bloscheck
6218552060 [ios] Option to actually stop track recording without saving
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-20 14:28:00 +02:00
Yannik Bloscheck
9adf012ae9 [ios] Adjusted social media in the about section
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-20 12:49:31 +02:00
zyphlar
57e86d72e9 [core] Use hyphens instead of colons for address ranges
Signed-off-by: zyphlar <zyphlar@gmail.com>
2025-07-20 16:28:01 +07:00
Codeberg Translate
24a4edd904 [strings] Update from Codeberg Translate
Co-authored-by: Alexey Ladygin <nitrodox@noreply.codeberg.org>
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: ERYpTION <eryption@noreply.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Kaiserschmarren <kaiserschmarren@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Mickael81 <mickael81@noreply.codeberg.org>
Co-authored-by: Moonshadow <moonshadow@noreply.codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: dothanhcong1110 <dothanhcong1110@noreply.codeberg.org>
Co-authored-by: edml <edml@noreply.codeberg.org>
Co-authored-by: eryk <eryk@noreply.codeberg.org>
Co-authored-by: fluffynyako <fluffynyako@noreply.codeberg.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: ikanakova <ikanakova@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: loscati <loscati@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Co-authored-by: yurtpage <yurtpage@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr_CA/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/tts/de/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
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 Plurals
Translation: CoMaps/iOS UI Strings
2025-07-20 07:40:52 +02:00
Konstantin Pastbin
cbe874e467 [isolines] Revert Kazakhstan_South to poor
On extra_small 50-f4-s14 its crashing processing the N47E079 tile

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-20 06:38:04 +02:00
Konstantin Pastbin
f5aa221da0 [isolines] Downgrade slightly mwms with isolines taking 50% and more (they were upgraded in 2024)
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-20 06:38:04 +02:00
Konstantin Pastbin
af31d26674 [isolines] Upgrade regions to new profiles
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-20 06:38:04 +02:00
Konstantin Pastbin
5915299012 [isolines] Add ad-hoc script to update regions' profiles
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-20 06:38:04 +02:00
Konstantin Pastbin
b7ca80bb11 [isolines] Upgrade x_small profile to 50-f4-s14, add high_f3 20-f3-s15
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-20 06:38:04 +02:00
Harry Bond
9585038738 Revert "Add codeberg/forgejo runners for ci/cd (#893)"
This reverts commit 24b2d41ba4.
Accidentally merged when renaming some commits as it was set to auto-merge

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-18 11:42:29 +01:00
zyphlar
24b2d41ba4 Add codeberg/forgejo runners for ci/cd (#893)
Creates a new Actions job for running map generation, as well as migrates the github linux build to forgejo actions running on our own hardware

Reviewed-on: https://codeberg.org/comaps/comaps/pulls/893
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
Co-authored-by: zyphlar <zyphlar@gmail.com>
Co-committed-by: zyphlar <zyphlar@gmail.com>
2025-07-18 11:39:09 +02:00
Radek Olsak
559d2b3bcf [styles] Regenerated styles
Signed-off-by: Radek Olsak <radek@olsak.net>
2025-07-18 10:31:25 +01:00
Radek Olsak
ebaae75d9b [styles] Changed sports_centre icon in styles
Signed-off-by: Radek Olsak <radek@olsak.net>
2025-07-18 10:31:19 +01:00
Radek Olsak
4cc0912285 [styles] Changed icons for leisure=dance/sports_centre
Signed-off-by: Radek Olsak <radek@olsak.net>
2025-07-18 10:31:13 +01:00
Yannik Bloscheck
54681719fb [ios] Adding link to delete OSM profile page
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-17 11:26:37 +02:00
Yannik Bloscheck
8b3cdbb937 [ios] Updating Live Activity icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-16 18:19:21 +02:00
Konstantin Pastbin
753696786d [styles] Regenerate for construction areas color
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-16 17:56:34 +02:00
Konstantin Pastbin
3663b86eea [styles] Make construction areas color colder
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-16 17:56:34 +02:00
Codeberg Translate
bc5a6cc89a [strings] Update from Codeberg Translate
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Kaiserschmarren <kaiserschmarren@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: eryk <eryk@noreply.codeberg.org>
Co-authored-by: ikanakova <ikanakova@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/tts/de/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
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 Plurals
Translation: CoMaps/iOS UI Strings
2025-07-16 16:02:25 +02:00
Yannik Bloscheck
93415fe952 [ios] Adjusted code for consistency
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-16 14:55:14 +02:00
Yannik Bloscheck
4fd617684b Adjusted links in shared HTML files to new themed brand color
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-16 14:55:14 +02:00
Yannik Bloscheck
48faa90b5e [ios] Switch About to SwiftUI
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-16 14:55:14 +02:00
Yannik Bloscheck
1883575006 [ios] Updated dark app icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-16 12:03:21 +02:00
Konstantin Pastbin
26826fc63f [core] Don't crash in debug on mismatched (test) mwm versions
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-16 16:45:06 +07:00
zyphlar
cbb4557856 Add details to map generation instructions
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
2025-07-16 11:34:39 +02:00
Yannik Bloscheck
b632aa00e3 [ios] Fix missing distance label in search results
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-16 10:19:03 +02:00
Konstantin Pastbin
6ff4faa156 [styles] Regenerate for contour lines
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-16 14:53:02 +07:00
Konstantin Pastbin
ca601a2407 [styles][outdoors] Increase prominence of contour lines
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-16 14:53:02 +07:00
x7z4w
c14e15ced5 [strings] Add police station synonym
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-07-15 16:24:35 +00:00
Stzyxh
47ed04fb2e add Logo to Readme
Signed-off-by: Stzyxh <Stzyxh@noreply.codeberg.org>
2025-07-15 11:44:32 +02:00
hb0nd
c9e8a1068b [docs] Add signing cert fingerprints to readme
fixes #250

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-15 09:10:34 +02:00
Harry Bond
23b8ad6120 [Android] Change to the new logo 🎉
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-15 07:21:20 +02:00
Yannik Bloscheck
1e1510897c [ios] Changed to the new logo
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-15 07:12:54 +02:00
Codeberg Translate
37c67c8dc1 [strings] Update from Codeberg Translate
Co-authored-by: B o d o <timtrek@noreply.codeberg.org>
Co-authored-by: Cayenne79 <cayenne79@noreply.codeberg.org>
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: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.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: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
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-07-14 17:06:25 +00:00
x7z4w
d8bca2f652 [strings] Fix bogus string
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-07-14 16:20:56 +00:00
Harry Bond
86dacd70ff [Android] Add current opening hours status to placepage preview
And refresh it every 45s
adjust base_red/yellow/green colours

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-14 15:51:07 +02:00
Harry Bond
8213a278d7 [core] Remove legacy opening_hours stuff
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-14 15:51:07 +02:00
Konstantin Pastbin
1167c82b15 [fdroid] Update logo and add feature graphic for GP and FD
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-14 15:47:41 +02:00
Codeberg Translate
1d6cb3bcf8 [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: Fjuro <fjuro@alius.cz>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: alexgabi <alexgabi@noreply.codeberg.org>
Co-authored-by: marcosm <marcosm@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/tts/eu/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Countries and regions names
Translation: CoMaps/Voice announcements for navigation (TTS)
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-14 12:49:03 +07:00
Konstantin Pastbin
0fee3c3781 Add de1 and us1 CDN servers to the default list
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-13 17:46:08 +02:00
David Gekeler
ab591052c3 Fix location update frequency at 1s
Signed-off-by: David Gekeler <git@davidgekeler.eu>
2025-07-13 17:23:48 +02:00
Yannik Bloscheck
38d5496258 [ios] Hide voice guidance test button when voice guidance is disabled
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-13 16:22:45 +02:00
Codeberg Translate
edb995ceed [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: Fjuro <git@alius.cz>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: marcosm <marcosm@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
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-07-13 15:18:19 +02:00
Yannik Bloscheck
105bb09a09 [styles] Regenerated files for changed how the greenery system works
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-13 14:29:39 +02:00
Yannik Bloscheck
64975fc649 [styles] Changed how the greenery system works
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-13 14:28:33 +02:00
Yannik Bloscheck
792f8332f5 [ios] Fixed slight misalignment with light entertaiment category icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-13 10:50:12 +02:00
Yannik Bloscheck
b8b14677a7 [ios] Made tint color in dark mode slightly lighter
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-13 10:50:12 +02:00
Konstantin Pastbin
9af30e0d47 [styles] Regenerate for landuse=retail
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-13 00:18:39 +07:00
Yannik Bloscheck
a59d4bed55 [styles] Added slight background color for retail areas
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-13 00:18:12 +07:00
Harry Bond
cc948034f3 [android] Don't include dependenciesInfo blobs
This metadata is encrypted with a public key owned by Google (only Google can read it). It's unauditable and there's no benefit to keeping it.
see https://android.izzysoft.de/articles/named/iod-scan-apkchecks#blobs for more info

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-12 13:34:51 +02:00
Konstantin Pastbin
f066b44e01 [tests] Remove deprecated landuse=field
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-12 13:18:52 +02:00
Konstantin Pastbin
b0f338273b [tests] Update tests for new wetland types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-12 13:18:52 +02:00
Konstantin Pastbin
f1ec689532 [strings] Add translations for wetland types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-12 13:18:52 +02:00
Konstantin Pastbin
771c3d9c93 [styles] Regenerate for wetlands types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-12 13:18:52 +02:00
Konstantin Pastbin
4542788bb1 [classif] Add distinct wetland types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-12 13:18:52 +02:00
Yannik Bloscheck
5b28a13e93 [ios] Adjusted opening color to fit with the new style
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-12 10:59:19 +02:00
Yannik Bloscheck
73a3d1850b [ios] Always create light mode categories icons for the system search
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-12 07:44:23 +02:00
Yannik Bloscheck
9c70433007 [ios] Updated general transport icon in search results
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-12 07:44:23 +02:00
Yannik Bloscheck
983fc290ef [ios] Made icons for search categories to be cut out and fixed ATM and post icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-12 07:44:23 +02:00
Yannik Bloscheck
222dfce85e [styles] Updated general transport icon for dark style
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-12 07:44:23 +02:00
Yannik Bloscheck
f6521ec068 [ios] Adjusted direction indicator to tint color
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-12 07:44:23 +02:00
Yannik Bloscheck
bff20b523e [ios] Made dark appearance colors actually dark and match the system more
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-12 01:52:24 +02:00
Konstantin Pastbin
c838e06d54 [core] Remove assert for chunkSize which can be 0 now
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-11 22:56:18 +07:00
Yannik Bloscheck
7db355dd5c [ios] Change interface tint color to green
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-11 17:41:56 +02:00
Yannik Bloscheck
527031adba [ios] Changed icons for search categories to SVGs and matched their new style
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-11 17:30:22 +02:00
Konstantin Pastbin
d85949c716 [core] Fix search after replacement of churchyard with religious land
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-11 22:07:20 +07:00
Yannik Bloscheck
4c3392b881 [ios] Fix zooming out via the keyboard command not working
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-11 12:58:01 +02:00
Yannik Bloscheck
90502f7635 [ios] Removed reference to non-existing class in Interface Builder file
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-11 12:57:08 +02:00
Yannik Bloscheck
147022e42d [ios] Trying to prevent random crashes because of the left button in some rare occasions
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-11 12:56:03 +02:00
Codeberg Translate
f67e2efc87 [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: Fjuro <git@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Kachelkaiser <kachelkaiser@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: medveonmaga <medveonmaga@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/tts/hu/
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/Voice announcements for navigation (TTS)
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-11 05:13:51 +00:00
Jean-Baptiste
9cd3db6f39 [android] Fix crash in the editor
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-10 20:15:14 +02:00
Yannik Bloscheck
7138970ea6 [ios] Make left button configurable
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 18:07:13 +02:00
Yannik Bloscheck
cbd561ec90 Adding myself to contributors
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 17:54:28 +02:00
Yannik Bloscheck
048dc60be6 [ios] Make sure all C files keep using the right whitespace
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 17:54:27 +02:00
Yannik Bloscheck
40018f5cc8 [ios] Added rules for Swift formatting
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 17:52:07 +02:00
Yannik Bloscheck
4314f281d1 [ios] Increasing used Swift version
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 17:52:07 +02:00
Yannik Bloscheck
b529a733c0 Adding code style guide for Swift
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 17:51:54 +02:00
Yannik Bloscheck
1b8172f744 [ios] Improved TTS system voice selection
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 17:14:47 +02:00
Konstantin Pastbin
c589aaa3cf [styles] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 17:07:16 +02:00
Konstantin Pastbin
13b91b36ae [styles] Replace deprecated landuse=churchyard with landuse=religious
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 17:07:16 +02:00
Konstantin Pastbin
e523434b36 [classif] Deprecate power=station
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 17:07:16 +02:00
Filip Czaplicki
752fcaf09c Portable shebang in set_up_android.py script
Signed-off-by: Filip Czaplicki <git@starsep.com>
2025-07-10 17:01:22 +02:00
Yannik Bloscheck
7e2b05573f [ios] Fix issues with routing options
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 15:48:15 +02:00
Konstantin Pastbin
7e63d98cb7 [tests] Add downloading dynamic chunk size test
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 09:25:01 +02:00
Konstantin Pastbin
304addba58 [android] Increase dl http thread buffer size to 128KB
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 09:25:01 +02:00
Konstantin Pastbin
1becd3e0ba [core] Use dynamic chunk size for downloading maps
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 09:25:01 +02:00
Konstantin Pastbin
dee47e7a66 [core] Disable servers pinging before starting downloads
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 09:25:01 +02:00
Konstantin Pastbin
2e60bfc289 [core] Improve downloader logging
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 09:25:01 +02:00
Yannik Bloscheck
fdbb41e0fd [ios] Changed settings to SwiftUI
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 08:06:58 +02:00
Henry Sternberg
090ed5044a [routing] Improved TTS for roundabouts
Signed-off-by: Henry Sternberg <dev@bluelightmaps.com>
2025-07-10 07:07:34 +02:00
Codeberg Translate
54b6471400 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.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: canadagoose <canadagoose@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: yannikbloscheck <yannikbloscheck@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant_HK/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr_CA/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ar_SA/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pt_PT/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-10 04:03:45 +00:00
Konstantin Pastbin
415e2fc0c2 [styles] Regenerate for area fills changes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 05:37:43 +02:00
Konstantin Pastbin
f0ed076858 [styles] Raise medical, educational, sport areas visibility, add more types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 05:37:43 +02:00
Konstantin Pastbin
57f28fa85b [styles] Raise visibility of industrial areas, add more types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 05:37:43 +02:00
Konstantin Pastbin
7228fe239d [styles] Add areas to general amenities
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-10 05:37:43 +02:00
Yannik Bloscheck
c294937c73 [ios] Updated general transport icon to the general style
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-09 19:22:03 +02:00
Yannik Bloscheck
ebf84e7d5b [styles] Improved balance between transport icons
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-09 19:22:03 +02:00
Yannik Bloscheck
19dd760c44 [styles] Adjusted general transport boomarks icon
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-09 19:22:03 +02:00
Yannik Bloscheck
8a8ac5c660 [ios] Show downloading progress percentage in full numbers only
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-09 10:25:30 +02:00
Yannik Bloscheck
7a8f7929fc [ios] Fixing missing translation for saved route
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-08 23:47:39 +02:00
Bastian Greshake Tzovaras
b285ef348b Add to copyright notices (#784)
Reviewed-on: https://codeberg.org/comaps/comaps/pulls/784
Reviewed-by: Konstantin Pastbin <pastk@noreply.codeberg.org>
Co-authored-by: Bastian Greshake Tzovaras <bgreshake@googlemail.com>
Co-committed-by: Bastian Greshake Tzovaras <bgreshake@googlemail.com>
2025-07-08 18:32:05 +02:00
Yannik Bloscheck
87dad591ab [ios] Fixing reappearing login promts
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-08 13:36:54 +02:00
Henry Sternberg
9e49aae49e [docs] Updated to reflect new desktop binary name
Signed-off-by: Henry Sternberg <dev@bluelightmaps.com>
2025-07-08 08:17:02 +01:00
Codeberg Translate
d621636549 [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: Priit Jõerüüt <jrtcdbrg@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: alexgabi <alexgabi@noreply.codeberg.org>
Co-authored-by: fbausch <fbausch@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: slickdaddy <slickdaddy@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant_HK/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS Plurals
Translation: CoMaps/iOS UI Strings
2025-07-07 09:34:51 +00:00
Konstantin Pastbin
ec1d2e6c82 [core] Add more logging to the downloader
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-07 07:21:53 +02:00
Codeberg Translate
6d0c52afcc [strings] Update from Codeberg Translate
Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: sunsand <sunsand@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/en/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/pt_PT/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/zh_Hant_HK/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/en/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/en/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/en/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/pt_PT/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
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 Plurals
Translation: CoMaps/iOS UI Strings
2025-07-06 21:04:35 +07:00
Jean-Baptiste
3abf354099 [iOS] Drop products features on the place page
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-06 13:49:13 +02:00
Jean-Baptiste
9a759229f9 [android] Migrate editor screens to Material components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-06 13:43:17 +02:00
Yannik Bloscheck
a3e1666ede [ios] Removed unused settings icons
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-06 13:30:59 +02:00
Yannik Bloscheck
15c7e71866 [ios] Switched OSM profile to SwiftUI and redesigned it
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-06 13:30:59 +02:00
Yannik Bloscheck
db1ef9b148 [android] Adjusted to editor changes with user preferences
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-06 13:30:59 +02:00
Yannik Bloscheck
9951ebece7 [editor] Stopped user preferences throwing an exception
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-06 13:30:59 +02:00
Jean-Baptiste
7bfb488f1d [android] Drop products features on the place page
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-06 11:06:05 +02:00
Jean-Baptiste
df70ae1b01 [docs] Simplify documentation to contribute
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-05 18:07:15 +02:00
Jean-Baptiste
15b3cda4d7 [android] Migrate place page to Material Components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-05 16:01:08 +02:00
Codeberg Translate
99bb468448 [strings] Update from Codeberg Translate
Manually fixed merge conflict.

Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Lezurex <lezurex@noreply.codeberg.org>
Co-authored-by: N4ta <codeberg@n4ta.anonaddy.me>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: phama <phama@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/countries/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plist/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gsw/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
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-07-05 14:53:23 +07:00
Vraj Shah
46ec844398 Fixes #10721 | prevent splash screen content from being overlapped | (#10775)
* Fix: prevent splash screen content from being overlapped by system nav bar on Android 15/16

Signed-off-by: vrajs <vrajshah006@gmail.com>
2025-07-05 09:42:39 +02:00
kavikhalique
f8d1914037 Show "Retry" button on download failure
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2025-07-05 09:42:39 +02:00
S. Kozyr
71386ce395 Fixed layout
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2025-07-05 09:42:39 +02:00
DevarshVasani
8d95d2e9b7 Fix IllegalStateException in destroySurface method
Signed-off-by: DevarshVasani <vasanidevarsh@gmail.com>
2025-07-05 09:42:39 +02:00
Alexander Borsuk
05c4413394 [android] Fix EACCESS PermissionDenied error when opening files on Android 5
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-05 09:42:39 +02:00
hemanggs
29bbbb13ee [Android] Fixes inset handling
Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-07-05 09:42:39 +02:00
Konstantin Pastbin
e321b1c5be Revert "[android] Adds delay to inset application on API 29 and lower"
This reverts commit 7b600efd5c.
2025-07-05 09:42:39 +02:00
Yannik Bloscheck
736e1aa07b [styles] Regenerated files for custom color for general areas
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-04 23:23:20 +02:00
Yannik Bloscheck
e32b01494a [styles] Custom color for general areas
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-04 23:22:18 +02:00
Konstantin Pastbin
4496690e0a [strings] Update Austria region names
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-04 15:08:03 +02:00
Yannik Bloscheck
ef9618b3d6 [ios] Allowed to use C++ editor methods directly from Swift
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-04 13:42:46 +02:00
Jean-Baptiste
13ba20aa25 [android] Fix crash in bookmarks tracks screen
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-04 13:33:57 +02:00
Alexander Borsuk
23c23c118d Removed unused font leftover from MM
It was introduced in https://github.com/mapsme/omim/pull/11982 for subscriptions

Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-04 11:42:44 +02:00
Kiryl Kaveryn
5b4d458579 [ios] fix elevation chart failing on update
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-04 11:42:44 +02:00
Kiryl Kaveryn
1bb2b2274f [ios] Review fixes
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-04 11:42:44 +02:00
Kiryl Kaveryn
aec82794ac [ios] Fix track selection point updates on every new selection
On the every new tap on the `Track` or during the `Elevation chart` dragging, the track `Active point` will be updated now. It allows to keep the current selected track point coordinates up to date and fix the bug when the `route to/route from` buttons use only the initial coordinates.
Key changes:
1. the `Active point` and `My position` points are moved from the `Elevation profile` to the `PlacePageTrackData` because this properties are related to the whole track. Not only chart. The chart is only one of the consumers of this data updates.
2. The subscription to the active point updates is moved from the `Elevation profile` to the `PlacePagePresenter`. The reason - see 1.
2. The callback `onActivePointChanged` is added to notify that the active point is updated
3. When the callback is triggered the `PlacePageTrackData` fetches the new coordinates from the core and saves it. This coordinates are used by the `route to/from` buttons.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-04 11:42:44 +02:00
Kiryl Kaveryn
927299f4a9 [ios] Expand circle buttons tappable area
By 5pt to not overlap with another buttons (`close` and `share` on the place page screen)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-04 11:42:44 +02:00
Kiryl Kaveryn
87cb0307cf [ios] fix EditorVC NoteCell jumping while typing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-07-04 11:42:44 +02:00
Alexander Borsuk
de7f60ea37 [xcode] Remove files deleted from disk also from xcode project
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-04 11:42:44 +02:00
Alexander Borsuk
f7fb0e80e5 [xcode] Fixed wrong paths to location files and sorted project files
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-04 11:42:44 +02:00
Alexander Borsuk
e49a74e287 [strings] Missing Qingdao metro translation string
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-07-04 16:01:52 +07:00
Viktor Govako
77a7255e93 [data] Deleted countries_names.txt
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-04 15:54:17 +07:00
Viktor Govako
25b3abadef [country][strings] Updated Italy-Tuscany.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-04 15:45:48 +07:00
Viktor Govako
01388ae6dd [drape] Relaxed GPS track Spline update.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-07-04 15:22:49 +07:00
Omar Mostafa
4bf61f14f8 [base] Improve Arabic Search Normalization
Signed-off-by: Omar Mostafa <3omar.7afez2022@gmail.com>
2025-07-04 15:15:15 +07:00
pastk
49603aa0a1 Deleted translation using Weblate (Portuguese (Portugal)) 2025-07-04 04:21:55 +00:00
pastk
890c927bab Deleted translation using Weblate (Portuguese (Portugal)) 2025-07-04 04:19:57 +00:00
Codeberg Translate
d564f69b58 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Juno Takano <jutty@noreply.codeberg.org>
Co-authored-by: Lezurex <lezurex@noreply.codeberg.org>
Co-authored-by: N4ta <codeberg@n4ta.anonaddy.me>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: ZeljkoBG <zeljkobg@noreply.codeberg.org>
Co-authored-by: canadagoose <canadagoose@noreply.codeberg.org>
Co-authored-by: ghose <ghose@noreply.codeberg.org>
Co-authored-by: marcosm <marcosm@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: metehan <metehan@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Co-authored-by: 玄枵 <ipmlosion@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/en_GB/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/fr_CA/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/pt_PT/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/pt_PT/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plist/pt_PT/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-plurals/en/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
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-07-03 18:04:06 +00:00
Stzyxh
abd15756be Redesign README
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-07-03 19:12:00 +07:00
Jean-Baptiste
ea1edec3df [android] Fix the size of downloader icon
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-02 18:43:34 +02:00
Codeberg Translate
c17135f5a6 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Lezurex <lezurex@noreply.codeberg.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: brtc <brtc@noreply.codeberg.org>
Co-authored-by: openfab <openfab@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Co-authored-by: pastk <pastk@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/zh_Hant/
Translate-URL: https://translate.codeberg.org/projects/comaps/google-play-descriptions/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios-typestrings/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/af/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ar/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ast/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/az/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/be/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bg/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/bn/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ca/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/da/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/el/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/es_MX/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/eu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fa/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/fr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/gl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/he/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/hu/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ia/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/id/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/is/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/it/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ja/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/kab/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ko/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/lv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ml/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/mt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nb_NO/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/pt_BR/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ro/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/ru/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sq/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sv/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/sw/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/th/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/tr/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/uk/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/vi/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hant/
Translation: CoMaps/Android - Map Feature Types
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/Google Play and Huawei AppGallery descriptions
Translation: CoMaps/iOS - Map Feature Types
Translation: CoMaps/iOS UI Strings
2025-07-02 09:12:26 +00:00
Codeberg Translate
2471ff0545 [strings] Update from Codeberg Translate
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Fjuro <git@alius.cz>
Co-authored-by: Lezurex <lezurex@noreply.codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: Priit Jõerüüt <jrtcdbrg@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: gpesquero <gpesquero@noreply.codeberg.org>
Co-authored-by: lazlo <lazlo@noreply.codeberg.org>
Co-authored-by: oster5 <oster5@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/comaps/android/cs/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/gsw/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/android/zh_Hans/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/de/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/es/
Translate-URL: https://translate.codeberg.org/projects/comaps/appstore-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/fdroid-app-description/nl/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/et/
Translate-URL: https://translate.codeberg.org/projects/comaps/ios/zh_Hans/
Translation: CoMaps/Android UI Strings
Translation: CoMaps/Apple AppStore description
Translation: CoMaps/F-Droid app description
Translation: CoMaps/iOS UI Strings
2025-07-01 13:56:21 +00:00
hb0nd
a99d1c1a38 [android] fix downloader notification using wrong icon
Signed-off-by: hb0nd <me@hbond.xyz>
2025-07-01 12:51:43 +02:00
Jean-Baptiste
deb663e4f9 [android] Migrate download screens to Material components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-01 11:48:47 +02:00
Jean-Baptiste
3858b0905f [android] Migrate somes icons to svg
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-01 05:06:22 +02:00
Jean-Baptiste
8db9289b56 [android] Migrate bookmarks layouts to Material Components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-07-01 05:04:32 +02:00
2077 changed files with 69390 additions and 92817 deletions

1
.gitignore vendored
View File

@@ -9,6 +9,7 @@ Makefile.Release
object_script.*.Debug
object_script.*.Release
compile_commands.json
*.local.*
stxxl.errlog
stxxl.log

View File

@@ -103,12 +103,29 @@ if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
elseif (${CMAKE_BUILD_TYPE} MATCHES "Rel")
add_definitions(-DRELEASE)
if (NOT MSVC)
add_compile_options(-Ofast) # Also enables -ffast-math
add_compile_options(-Ofast $<$<CXX_COMPILER_ID:GNU>:-flto=auto>) # Also enables -ffast-math
endif()
else()
message(FATAL_ERROR "Unknown build type: " ${CMAKE_BUILD_TYPE})
endif()
if (${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo")
add_compile_options(-fno-omit-frame-pointer)
endif()
# Linux GCC LTO plugin fix.
if (PLATFORM_LINUX AND (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_BUILD_TYPE MATCHES "^Rel"))
# To force errors if LTO was not enabled.
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)
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>")
set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> --plugin ${plugin} <TARGET>")
endif()
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
if (PLATFORM_LINUX OR PLATFORM_ANDROID)
@@ -242,6 +259,10 @@ if (PLATFORM_DESKTOP)
add_subdirectory(qt)
omim_add_tool_subdirectory(skin_generator)
endif()
if (GENERATOR_TOOL)
add_compile_options(-march=native -mtune=native)
message(STATUS "target CPU optimizations enabled, produced binaries will NOT work on a different CPU")
endif()
add_subdirectory(dev_sandbox)
endif()

View File

@@ -7,9 +7,11 @@ CoMaps contributors:
(in alphabetic order)
--------------------------------------------------------------------------------
Bastian Greshake Tzovaras
clover sage
Harry Bond <me@hbond.xyz>
vikiawv
Yannik Bloscheck
--------------------------------------------------------------------------------
Organic Maps (formerly OMaps) contributors:

165
README.md
View File

@@ -1,62 +1,88 @@
<!--<div align="center">
<img src="qt/res/logo.png" height="100"/>
</div>-->
<!-- Navigation Bar -->
<p align="center">
<a href="https://codeberg.org/comaps#comaps">Project Intro</a> |
<a href="https://codeberg.org/comaps/Governance#comaps-project-governance-docs">Governance</a> |
<a href="https://codeberg.org/comaps/Governance/src/branch/main/FAQ.md">FAQ</a> |
<a href="#contributing">Contribute</a> |
<a href="https://www.comaps.app/donate">Donate</a> |
<a href="https://codeberg.org/comaps#keep-connected">Keep Connected</a>
</p>
<!-- a nav bar -->
[Project Intro](https://codeberg.org/comaps#comaps)
| [Governance](https://codeberg.org/comaps/Governance#comaps-project-governance-docs)
| [FAQ](https://codeberg.org/comaps/Governance/src/branch/main/FAQ.md)
| [Contribute](#contributing)
| [Donate](https://www.comaps.app/donate)
| [Keep Connected](https://codeberg.org/comaps#keep-connected)
# [CoMaps](https://comaps.app) Hike, Bike, Drive Offline Easy Map Navigation with Privacy
[
![GitHub Actions Workflow Android Status](https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github%2Fworkflows%2Fandroid-check.yaml?style=flat&label=Android%20Build&logo=android&logoColor=white)
](https://github.com/comaps/comaps/actions/workflows/android-check.yaml)
[
![GitHub Actions Workflow iOS Status](https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github%2Fworkflows%2Fios-check.yaml?style=flat&label=iOS%20Build&logo=apple&logoColor=white)
](https://github.com/comaps/comaps/actions/workflows/ios-check.yaml)
[
![Donate via OpenCollective](https://img.shields.io/opencollective/all/comaps?logo=opencollective&color=blue&label=Open%20Collective%20Donors)
](https://opencollective.com/comaps)
[
![Donate via Liberapay](https://img.shields.io/liberapay/patrons/CoMaps.svg?logo=liberapay&label=Liberapay%20Patrons&color=efcc00&)
](https://liberapay.com/CoMaps)
<div align="center" >
<img src="docs/badges/logo.svg" width="150">
</div>
<div align="center">
<h1><a href="https://comaps.app/">CoMaps</a></h1>
<h2>Hike, Bike, Drive Offline - Easy Map Navigation with Privacy</h2>
</div>
<div align="center">
<p align="center">
<a href="https://codeberg.org/comaps/comaps/releases">
<img src="https://img.shields.io/github/license/comaps/comaps?style=for-the-badge&logo=opensourceinitiative&logoColor=white&color=588157" alt="License" style="width: 90%; max-width: 150px;"/>
</a>
<a href="https://github.com/comaps/comaps/actions/workflows/android-check.yaml">
<img src="https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github/workflows/android-check.yaml?label=Android%20Build&logo=android&logoColor=white&style=for-the-badge&color=588157" alt="Android Build Status" style="width: 90%; max-width: 170px;"/>
</a>
<a href="https://github.com/comaps/comaps/actions/workflows/ios-check.yaml">
<img src="https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github/workflows/ios-check.yaml?label=iOS%20Build&logo=apple&logoColor=white&style=for-the-badge&color=588157" alt="iOS Build Status" style="width: 90%; max-width: 145px;"/>
</a>
<a href="https://opencollective.com/comaps">
<img src="https://img.shields.io/opencollective/all/comaps?label=Open%20Collective%20Donors&logo=opencollective&logoColor=white&style=for-the-badge&color=588157" alt="Open Collective Donors" style="width: 90%; max-width: 191px;"/>
</a>
<a href="https://liberapay.com/CoMaps">
<img src="https://img.shields.io/liberapay/patrons/CoMaps.svg?label=Liberapay%20Patrons&logo=liberapay&logoColor=white&style=for-the-badge&color=588157" alt="Liberapay Patrons" style="width: 90%; max-width: 160px;"/>
</a>
</p>
</div>
A community-led free & open source maps app based on [OpenStreetMap](https://www.openstreetmap.org) data and reinforced with commitment to transparency, privacy and being not-for-profit. CoMaps is a fork/spin-off of Organic Maps, which in turn is a fork of Maps.ME.
---
There are apps for Android and iOS (and ARM MacOS).
An alpha Linux / MacOS Qt desktop version, which is also suitable for Linux phones.
A community-led free & open source maps app based on [OpenStreetMap](https://www.openstreetmap.org), built for transparency, privacy, and not-for-profit values. A fork of Organic Maps, originally based on Maps.ME.
[<img src="docs/badges/apple-appstore.png" alt="App Store" width="160">](https://apps.apple.com/app/comaps/id6747180809)
[<img src="docs/badges/google-play.png" alt="Google Play" width="160">](https://play.google.com/store/apps/details?id=app.comaps.google)
[<img src="docs/badges/fdroid.png" alt="F-Droid" width="160">](https://f-droid.org/en/packages/app.comaps.fdroid/)
[<img src="docs/badges/codeberg.png" alt="Codeberg" width="160">](https://codeberg.org/comaps/comaps/releases)
**Available for:** Android, iOS, ARM macOS, and alpha Linux/macOS desktop builds (also usable on Linux phones).
<p float="left">
<p align="center">
<a href="https://apps.apple.com/app/comaps/id6747180809">
<img src="docs/badges/apple-appstore.png" alt="App Store" width="160"/>
</a>
<a href="https://play.google.com/store/apps/details?id=app.comaps.google">
<img src="docs/badges/google-play.png" alt="Google Play" width="160"/>
</a>
<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://codeberg.org/comaps/comaps/releases">
<img src="docs/badges/codeberg.png" alt="Codeberg" width="160"/>
</a>
</p>
<!-- Screenshots -->
<p align="center">
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/1.png" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/2.png" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/3.png" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/4.png" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/5.png" width="180" />
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/6.png" width="180" />
</p>
**Offline-focused**: Plan and navigate your trip abroad without the need for cellular service, search waypoints while on a distant hike, etc. All app functions are designed to work offline.
---
**Respecting Privacy**: The app is designed with privacy in mind - does not identify people, does not track, and does not collect personal information. Ads-free.
## ⚡️ Highlights
**Simple and Polished**: Essential, easy to use features that just work.
- **Offline-first**: Navigate without a connection
- **Privacy-respecting**: No tracking, Ads or data collection
- **Lightweight**: Battery- and space-efficient
- **Simple**: Polished, user-focused interface
- **Community-built**: Free, open source, and collaborative
- **Transparent**: Open finances and governance
**Saves Your Battery and Space**: Doesnt drain your battery like other navigation apps. Compact maps save precious space on your phone.
---
**Free and Built by the Community**: People like you helped build the app by adding places to [OpenStreetMap](https://www.openstreetmap.org), testing and giving feedback on features and contributing their development skills and money.
**Open and Transparent Decision-making and Financials, Not-for-profit and Fully Open Source.**
### Main Features
## 🚀 Main Features
- Downloadable detailed maps with places which are not available with Google Maps
@@ -86,41 +112,52 @@ An alpha Linux / MacOS Qt desktop version, which is also suitable for Linux phon
- Android Auto and CarPlay support
*Freedom Is Here - Discover your journey, navigate the world with privacy and community at the forefront!*
***Freedom Is Here Navigate the world with privacy and community at the forefront.***
## Contributing
---
## 🤝 Contributing
You can help by donating, contributing code, translating, or by telling others about it. To build the best maps app there is a need for software development, design, product, community development, and other areas. Reach out to us and let us know how you want to help.
If you want to build the project, check [docs/INSTALL.md](docs/INSTALL.md). If you want to help the project,
see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). You can help in many ways, the ability to code is not necessary.
- Build instructions: [docs/INSTALL.md](docs/INSTALL.md)
- Contribution guide: [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)
> [!NOTE]
> Some docs might be outdated, contain broken links or old references to Organic Maps, etc. Its a work in progress and help is much appreciated!
Some docs might be outdated, contain broken links or old references to Organic Maps, etc. Its a work in progress and help is much appreciated!
There is a dedicated Zulip chat for active contributors: [Zulip](https://comaps.zulipchat.com)
There is a dedicated Zulip chat for active contributors: [comaps.zulipchat.com](https://comaps.zulipchat.com)
---
### Feedback
## 💬 Feedback
- Rate us on [App Store](https://apps.apple.com/app/comaps/id6747180809) and [Google Play](https://play.google.com/store/apps/details?id=app.comaps.google)
- Star our repos on Codeberg
- Report bugs or request features on the [issue tracker](https://codeberg.org/comaps/comaps/issues)
- **Rate us on the [App Store](https://apps.apple.com/app/comaps/id6747180809)
and [Google Play](https://play.google.com/store/apps/details?id=app.comaps.google)**.
- Star our repos on Codeberg
- Report bugs and discuss features at [the issue tracker](https://codeberg.org/comaps/comaps/issues)
---
## How is development funded?
The app is free for everyone, so we rely on donations. Please [donate](https://opencollective.com/comaps/donate) to support the CoMaps community and see this open project thrive!
## 💸 Funding
CoMaps is free. To stay that way, it relies on your support.
Donate via [OpenCollective](https://opencollective.com/comaps/donate) or [Liberapay](https://liberapay.com/CoMaps).
The project's financial information is completely open and transparent at [our Open Collective](https://opencollective.com/comaps).
## Privacy
---
The Android application was analysed by the [Exodus platform](https://reports.exodus-privacy.eu.org/fr/reports/app.comaps.google/latest/)
## 🔒 Privacy
## License and Copyright
The Android app has been reviewed by [Exodus Privacy](https://reports.exodus-privacy.eu.org/en/reports/app.comaps.google/latest/).
Licensed under the Apache License, Version 2.0. See
[LICENSE](LICENSE),
[NOTICE](NOTICE)
and [data/copyright.html](data/copyright.html)
for more information.
To [verify](https://developer.android.com/studio/command-line/apksigner#usage-verify) the APK, use the following signing certificate fingerprints:
```
SHA-256: 4894e8e6963627ef660031d8593fe77297f835acb4e23810003e926135023b4c
SHA-1: 8b7b5739f917e9f7c681671ced0c9c8562123ade
MD5: 9cce0ffea281dc2f0e0a154d6d2e281e
```
---
## ⚖️ License
Licensed under the Apache License 2.0.
See [LICENSE](LICENSE), [NOTICE](NOTICE), and [data/copyright.html](data/copyright.html).

4
android/.idea/icon.svg generated Normal file
View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64pt" height="64pt" viewBox="0 0 835 835">
<path d="M698.5 141.1a20 20 0 0 1 30.8-1.3A416 416 0 0 1 835 417.4a416 416 0 0 1-93.3 263 20 20 0 0 1-31.3-.6l-43-56.6a20 20 0 0 1-.2-24 307 307 0 0 0 59.3-181.8c0-74.2-26.2-142.3-69.9-195.6a20 20 0 0 1-.5-24.8zM260.7 456.4a20 20 0 0 1-7.7-36.7l282-177.4a20 20 0 0 1 29.9 22.7l-97 318.9a20 20 0 0 1-37.5 2.2l-49.2-111.5z" style="fill:#ccdfca"/>
<path d="M626.3 753a20 20 0 0 1-6.2 29.6A416 416 0 0 1 417.5 835 417.7 417.7 0 0 1 0 417.4 417.7 417.7 0 0 1 603.3 43.5a20 20 0 0 1 7 30l-42.4 55.8a20 20 0 0 1-24.2 6.1 307 307 0 0 0-126.2-27 309 309 0 0 0-309 309c0 170.6 138.5 309 309 309a307 307 0 0 0 141.6-34.3 20 20 0 0 1 25.1 5.6z" style="fill:#fefdf6"/>
</svg>

After

Width:  |  Height:  |  Size: 753 B

View File

@@ -15,12 +15,6 @@ buildscript {
}
}
repositories {
google()
mavenCentral()
maven { url 'https://www.jitpack.io' } // MPAndroidChart
}
apply plugin: 'com.android.application'
apply plugin: 'com.github.triplet.play'
apply plugin: 'ru.cian.huawei-publish-gradle-plugin'
@@ -65,14 +59,29 @@ project.ext.appName = 'CoMaps'
android {
namespace 'app.organicmaps'
dependenciesInfo {
// Disables dependency metadata when building APKs (for IzzyOnDroid/F-Droid)
includeInApk = false
// Disables dependency metadata when building Android App Bundles (for Google Play)
includeInBundle = false
}
buildFeatures {
dataBinding = true
buildConfig = true
}
// Users are complaining that the app should be re-downloaded from the Play Store after changing the language.
bundle {
language {
enableSplit = false
}
}
// All properties are read from gradle.properties file
compileSdk propCompileSdkVersion.toInteger()
ndkVersion '27.2.12479018'
ndkVersion '28.2.13676358'
defaultConfig {
// Default package name is taken from the manifest and should be app.comaps
@@ -397,6 +406,8 @@ android {
}
dependencies {
implementation project(':sdk')
coreLibraryDesugaring libs.android.tools.desugar
// Google Play Location Services

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1 +0,0 @@
../../../../google/java/app/organicmaps/location

View File

@@ -0,0 +1 @@
../../../../../google/java/app/organicmaps/sdk/location

View File

@@ -6,12 +6,12 @@ Můžete se zde také připojit ke komunitě pomáhat s vytvářením nejlepší
• Poskytujte zpětnou vazbu a nahlašujte problémy
• Aktualizujte mapová data v aplikaci nebo na webu OpenStreetMap
<b>Zaměřené na offline použití</b>: Plánujte a navigujte své cesty do zahraničí bez nutnosti mobilních dat, hledejte body na vzdálených túrách apod. Všechny funkce aplikace jsou navrženy tak, aby fungovaly offline.
<b>S ohledem na soukromí</b>: Aplikace je navržená s důrazem na soukromí neidentifikuje lidi, nesleduje vás a nesbírá osobní údaje. Bez reklam.
<b>Jednoduché a vyladěné</b>: Základní, snadno použitelné funkce, které prostě fungují.
<b>Šetří vaši baterii a místo</b>: Nevybíjí vaší baterii, jako ostatní navigační aplikace. Kompaktní mapy šetří cenné místo ve vašem telefonu.
<b>Bezplatné a vytvořené komunitou</b>: S vytvářením aplikace pomáhají lidé, jako jste vy, přidáváním míst do projektu OpenStreetMap, testováním a poskytováním zpětné vazby k funkcím a přispíváním svými vývojářskými schopnostmi a penězi.
<b>Otevřené a transparentní rozhodování a nakládání s financemi, neziskovost a plně otevřený zdrojový kód.</b>
<b>Zaměřené na offline použití</b>: Plánujte a navigujte své cesty do zahraničí bez nutnosti mobilních dat, hledejte body na vzdálených túrách apod. Všechny funkce aplikace jsou navrženy tak, aby fungovaly offline.
<b>S ohledem na soukromí</b>: Aplikace je navržená s důrazem na soukromí neidentifikuje lidi, nesleduje vás a nesbírá osobní údaje. Bez reklam.
<b>Jednoduché a vyladěné</b>: Základní, snadno použitelné funkce, které prostě fungují.
<b>Šetří vaši baterii a místo</b>: Nevybíjí vaší baterii, jako ostatní navigační aplikace. Kompaktní mapy šetří cenné místo ve vašem telefonu.
<b>Bezplatné a vytvořené komunitou</b>: S vytvářením aplikace pomáhají lidé, jako jste vy, přidáváním míst do projektu OpenStreetMap, testováním a poskytováním zpětné vazby k funkcím a přispíváním svými vývojářskými schopnostmi a penězi.
<b>Otevřené a transparentní rozhodování a nakládání s financemi, neziskovost a plně otevřený zdrojový kód.</b>
<b>Hlavní funkce</b>:
• Stahovatelné podrobné mapy s místy, která nenajdete ani v Mapách Google

View File

@@ -1 +1 @@
Jednoduchá navigace v mapě - Objevte více na své cestě Vyvíjeno komunitou
Jednoduchá navigace v mapě Objevte více na své cestě Vyvíjeno komunitou

View File

@@ -0,0 +1 @@
Nem kortnavigation - Oplev mere af din rejse - Drevet af fællesskabet

View File

@@ -0,0 +1 @@
CoMaps - vandr, cykl og kør offline med privatliv

View File

@@ -1,4 +1,4 @@
Eine von der Community betriebene, kostenlose Open-Source Karten-App, die auf OpenStreetMap Daten basiert. Transparent, datensparsam und nicht gewinnorientiert. CoMaps ist ein Fork/Abspaltung von Organic Maps, die wiederum ein Fork/Abspaltung von Maps.Me ist.
Eine von der Community betriebene, kostenlose Open-Source Karten-App, die auf OpenStreetMap Daten basiert. Transparent und nicht gewinnorientiert. CoMaps ist ein Fork/Abspaltung von Organic Maps, die wiederum ein Fork/Abspaltung von Maps.Me ist.
Lese mehr über die Gründe und Ziele des Projektes unter <b><i>codeberg.org/comaps</i></b>.
Werde Teil der Community und hilf mit, die beste Karten-App zu entwickeln
@@ -28,5 +28,5 @@ Werde Teil der Community und hilf mit, die beste Karten-App zu entwickeln
• Dunkler Modus für die Nutzung bei Nacht
• Kartenbearbeitung direkt in der App mit einem einfachen Editor
<b>Freiheit beginnt hier</b>
<b>Entdecke die Unabhängigkeit</b>
Entdecke deine Reise navigiere in der Welt mit Datenschutz!

View File

@@ -1,6 +1,9 @@
• OpenStreetMap-Daten vom 22. Juni
Optionale automatische Backups von Lesezeichen & Tracks
Neue 100m-Höhenlinien für Regionen die vorher gröbere/keine Isolinien hatten
Vegetation & Spielplätze werden früher angezeigt, neue Farben für Campingplätze & andere Einrichtungen
Pfade & Tracks werden standardmäßig bei höherem Zoom angezeigt, Outdoor-Stil für Detailübersicht
Aktion des linken Button nichtm mehr im Hamburger-Menü, stattdessen werden "Über & Hilfe" dort angezeigt
Wir stellen vor: Das neue CoMaps-Logo!
Verbesserte Höhenlinien in vielen Regionen (Stufen von 20/50 m)
Links zu Panoramax-Bildern für ausgewählte POIs
OpenStreetMap-Daten vom 13. Juli
Neue Farben für viele Objekte und Farben werden früher angezeigt
Öffnungszeiten werden beim Antippen eines POI angezeigt
• Verschiedene Arten von Feuchtgebieten
• Neue Farben für Vegetation und andere Features; einige neue Icons
• Wandern: bessere Darstellung der Höhenlinien

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,7 +1,10 @@
• OpenStreetMap data as of June 22
• a setting for automatic bookmarks and tracks backup
added 100m-step altitude isolines to all regions that had worse or no isolines
display vegetation and playground color fills earlier, add fills to camp sites and some amenities
paths & tracks appear on the map later by default - still appear earlier in the outdoor style
hide active custom button action from the hamburger menu, move there About & Help from the settings
update map transport icons
Introducing CoMaps logo!
upgrade altitude contour lines for many regions to 20 or 50 meters step
add Panoramax Picture links to selected POIs
OpenStreetMap data as of July 13
add color fills to many features and display fills earlier for existing features
display opening hours state when selecting a POI
• split all wetlands into several distinct types
• update vegetation and other map colors, update some map icons
• outdoors: bolder altitude contour lines

View File

@@ -1,6 +1,9 @@
• datos de OpenStreetMap a 22 de junio
añadido ajuste para la copia de seguridad automática de marcadores y trazas
• añadidas isolíneas de 100 m a las regiones que tenían isolíneas peores o no tenían isolíneas
se muestra antes la vegetación y zonas de juego, añadidas áreas a campings y otros servicios
los senderos y pistas aparecen más tarde - siguen igual en estilo de outdoors
• se oculta botón personalizado del menú y se mueve allí Acerca de y Ayuda desde los ajustes
¡Presentamos el logo de CoMaps!
mejora de isolíneas con más detalle para muchas regiones
• añade enlaces de imágenes de Panoramax a POIs seleccionados
datos de OpenStreetMap a 13 de julio
añadidos rellenos de color a muchas características
• se muestra el estado de horarios de apertura al seleccionar un POI
• se dividen los humedales en tipos distintos
• se actualiza la vegetación y otros colores del mapa, así como otros iconos
• exteriores: líneas de contorno de altitud más gruesas

View File

@@ -1,6 +1,7 @@
• Données OpenStreetMap du 22 juin
Sauvegarde automatique des signets et traces GPS en local
• Ajout des courbes d'altitude avec un précision de 100 mètres dans toutes les régions qui avaient peu de courbes ou aucune
Ajustements des styles notamment sur la végétation, les aires de jeu et les chemins
Masque laction active du bouton personnalisé dans le menu hamburger
Correction de certains plantages et bugs
Présentation du logo CoMaps !
Amélioration des courbes daltitude à une précision de 20 ou 50 mètres pour de nombreuses régions
• Ajout d'un lien vers les images Panoramax des POI
Données OpenStreetMap du 13 juillet
Affichage de létat des heures douverture lors de la sélection dun POI
Mise à jour du style(végétation et zones humides), mise à jour de certaines icônes de la carte
• Outdoors: Améliorations de la visibilité des courbes d'altitude

View File

@@ -1 +1 @@
Navigation facile - Découvrez plus lors de votre voyage - Fait par la communauté
Navigation cartographique facile - Découvrez davantage de votre voyage - Propulsé par la communauté

View File

@@ -0,0 +1,32 @@
Aplicación de mapas gratuíta, de código aberto e xestionada pola comunidade, obtén os datos desde OpenStreetMap e co compromiso reforzado coa transparencia, privacidade e non ter o beneficio económico como obxectivo. CoMaps é unha bifurcación ou derivada de Organic Maps, que pola súa parte ven sendo unha bifurcación de Maps.ME.
Vai a <b><i>codeberg.org/comaps</i></b> e coñece as razóns da necesidade deste proxecto e as decisións tomadas.
Únete alí á comunidade e axuda a que teñamos a mellor aplicación de mapas
• Usa a aplicación e dille a outras persoas que o fas
• Informa de fallos e publica túa experiencia
• Actualiza os datos do mapa na aplicación ou no sitio web OpenStreetMap
‣ <b>Sen conexión de datos</b>: planea a viaxe e sigue a ruta sen precisar unha conexión á rede móbil, busca lugares relevantes nas andainas máis longas, etc. Todas as características da aplicación están deseñadas para funcionar sen precisar conexión de datos.
‣ <b>Respecto pola privacidade</b>: a aplicación está deseñada coa privacidade en primeiro plano - non identifica ás persoas, non te segue, non recolle información sobre ti. Non ten publicidade.
‣ <b>Simple e organizada</b>: características esenciais, fáciles de usar e que funcionan.
‣ <b>Aforra batería e espazo</b>: non esgota a batería como outras aplicacións de navegación. Os mapas compactos aforran espazo na memoria do dispositivo.
‣ <b>Gratuíta e feita pola comunidade</b>: persoas coma ti que axudan a crear a aplicación engadindo lugares en OpenStreetMap, probando novas características e dando a súa opinión, colaborando ao seu desenvolvemento con código ou financiamento.
‣ <b>Proceso de toma de decisións Aberto e Transparente para os temas económicos, Sen ánimo de lucro e totalmente de Código Aberto</b>
<b>Características principais</b>:
• Mapas detallados descargables con lugares que non están dispoñibles en Google Maps
• Modo para actividades en exterior con camiños para andainas, lugares para acampar, fontes de auga, picos dos montes, curvas de nivel, etc
• Rutas a pé e en bicicleta
• Puntos de interese como restaurantes, gasoliñeiras, hoteis, tendas, miradores e moitos máis
• Busca polo nome ou polo enderezo ou por categoría do punto de interese
• Navegación con anuncios por voz para camiñar, ir en bicicleta ou conducir
• Marca os lugares favoritos cun só toque
• Artigos da Wikipedia sen conexión
• Mapas do transporte por Metro
• Gravación das rutas
• Exportación e Importación de marcadores e rutas nos formatos KML, KMZ e GPX
• Modo escuro para a noite
• Contribúe a mellorar o mapa para todas as persoas usando o editor básico incluído
<b>Aquí es Libre</b>
Atopa o teu camiño, navega polo mundo con privacidade e coa comunidade como prioridade!

View File

@@ -0,0 +1 @@
CoMaps - Túra, Bicikli, Vezetés offline diszkréten

View File

@@ -0,0 +1,32 @@
Een door de community ontwikkelde, gratis en open source kaartenapp, gebaseerd op OpenStreetMap-gegevens, met een sterke focus op transparantie en privacy, en zonder winstoogmerk. CoMaps is een fork/spin-off van Organic Maps, welke is afgeleid van Maps.ME.
Meer informatie over de redenen voor het project en de richting ervan vindt u op <b><i>codeberg.org/comaps</i></b>.
Sluit je aan bij de community en help mee aan de ontwikkeling van de beste kaartenapp:
• Gebruik de app en deel je ervaringen met anderen
• Geef feedback en meld eventuele problemen
• Houd de kaarten up-to-date, zowel in de app als op de OpenStreetMap-website
‣ <b>Offline-georiënteerd</b>: Plan en navigeer je reis in het buitenland zonder internet, zoek waypoints tijdens een lange wandeling, enzovoort. Alle functies zijn ontworpen om offline te functioneren.
‣ <b>Respect voor privacy</b>: De app is ontworpen met privacy in gedachten - geen gegevensverzameling en advertentievrij.
‣ <b>Eenvoudig en verfijnd</b>: essentiële, gebruiksvriendelijke functies die gewoon werken.
‣ <b>Bespaar je batterij en opslag</b>: De app verbruikt minder batterij dan andere navigatie-apps. Compacte kaarten besparen ruimte op je telefoon.
‣ <b>Gratis en gebouwd door de community</b>: Mensen zoals jij helpen de app door plaatsen toe te voegen aan OpenStreetMap, functies te testen en feedback te geven, en hun programmervaardigheden bij te dragen of te doneren.
‣ <b>Open en transparant besluitvormings- en financieel beleid, geen winstoogmerk en volledig open source.</b>
<b>Hoofdfuncties</b>:
• Downloadbare gedetailleerde kaarten met plaatsen die niet beschikbaar zijn bij Google Maps
• Buitenmodus met gemarkeerde wandelpaden, campings, waterbronnen, toppen, hoogtelijnen, enz.
• Wandelpaden en fietspaden
• Bezienswaardigheden zoals restaurants, tankstations, hotels, winkels en nog veel meer
• Zoeken op naam of adres of op categorie
• Navigatie met spraakmeldingen voor wandelen, fietsen of autorijden
• Sla je favoriete plaatsen op met een enkele klik
• Offline Wikipedia-artikelen
• Metro laag en routebeschrijvingen
• Trackregistratie
• Exporteer en importeer bladwijzers en tracks in KML, KMZ, GPX-formaten
• Een donkere modus voor gebruik 's nachts
• Verbeter kaartgegevens voor iedereen met een eenvoudige ingebouwde editor
<b>Vrijheid is hier/b>
Ontdek je reis, navigeer over de wereld met privacy en community voorop!

View File

@@ -0,0 +1 @@
Eenvoudige kaartnavigatie - Ontdek meer van je reis - Gemaakt door de community

View File

@@ -0,0 +1,9 @@
Wprowadzamy logo CoMaps!
• zwiększenie dokładności izolinii w wielu regionach w krokach 20 do 50 metrów
• dodanie linków do zdjęć z Panoramax do wybranych POI
• aktualizacja danych OpenStreetMap z 13 lipca
• dodanie wypełnienia kolorem dla wielu typów obiektów
• wyświetlanie stanu godzin otwarcia przy wyborze POI
• podział mokradeł na kilka typów
• aktualizacja koloru roślinności i innych kolorów, aktualizacja części ikon na mapie
• tryb outdoorowy: pogrubione warstwice wysokości

View File

@@ -8,7 +8,6 @@ Junte-se à comunidade e ajude a criar o melhor aplicativo de mapas.
‣ <b>Foco offline</b>: Planeje e navegue em sua viagem ao exterior sem a necessidade de sinal de celular, pesquise pontos de referência durante uma caminhada distante, etc. Todas as funções do aplicativo foram projetadas para funcionar offline.
‣ <b>Respeito à privacidade</b>: O aplicativo foi projetado com a privacidade em mente - não identifica pessoas, não rastreia e não coleta informações pessoais. Livre de anúncios.
‣ <b>Simples e sofisticado</b>: recursos essenciais e fáceis de usar que simplesmente funcionam.
‣ <b>Economiza bateria e espaço</b>: Não esgota a bateria como outros aplicativos de navegação. Mapas compactos economizam espaço precioso no seu celular.
‣ <b>Gratuito e desenvolvido pela comunidade</b>: Pessoas como você ajudaram a desenvolver o aplicativo adicionando lugares ao OpenStreetMap, testando e dando feedback sobre os recursos e contribuindo com suas habilidades de desenvolvimento e dinheiro.

View File

@@ -0,0 +1,9 @@
Apresentamos o logo do CoMaps!
• Curvas de nível mais detalhadas em muitas regiões
• Adicionados links de imagens do Panoramax para pontos de interesse selecionados
• Dados OSM de 13/07
• Adicionados preenchimentos de cor a muitos elementos
• Exibição de horário de funcionamento ao selecionar um ponto de interesse
• Divididas áreas úmidas em vários tipos distintos
• Atualizada cores/ícones para vegetação e outros elementos
• Ar livre: curvas de nível de altitude mais destacadas

View File

@@ -1,55 +1,32 @@
Um aplicativo de mapas gratuito e de código aberto, liderado pela comunidade, baseado em dados do OpenStreetMap e reforçado pelo compromisso com a transparência, privacidade e sem fins lucrativos. O CoMaps é um fork/spin-off do Organic Maps, que por sua vez é um fork do Maps.ME.
Leia mais sobre os motivos do projeto e sua direção em <b><i>codeberg.org/comaps</i></b>.
Junte-se à comunidade e ajude a criar o melhor aplicativo de mapas.
• Use o aplicativo e divulgue-o.
• Envie feedback e relate problemas.
• Atualize os dados do mapa no aplicativo ou no site do OpenStreetMap.
‣ <b>Foco offline</b>: Planeje e navegue em sua viagem ao exterior sem a necessidade de sinal de celular, pesquise pontos de referência durante uma caminhada distante, etc. Todas as funções do aplicativo foram projetadas para funcionar offline.
‣ <b>Respeitando a privacidade</b>: O aplicativo foi projetado com a privacidade em mente - não identifica pessoas, não rastreia e não coleta informações pessoais. Sem anúncios.
‣ <b>Simples e sofisticado</b>: recursos essenciais e fáceis de usar que simplesmente funcionam.
‣ <b>Economiza bateria e espaço</b>: Não consome muita bateria como outros aplicativos de navegação. Mapas compactos economizam espaço precioso no seu celular.
‣ <b>Gratuito e desenvolvido pela comunidade</b>: Pessoas como você ajudaram a desenvolver o aplicativo adicionando lugares ao OpenStreetMap, testando e dando feedback sobre os recursos e contribuindo com suas habilidades de desenvolvimento e dinheiro.
‣ <b>Tomada de decisões e finanças abertas e transparentes, sem fins lucrativos e totalmente de código aberto.</b>
<b>Principais recursos</b>:
• Mapas detalhados para download com locais não disponíveis no Google Maps
• Modo ao ar livre com trilhas em destaque, acampamentos, fontes de água, picos, curvas de nível, etc.
• Trilhas para caminhada e ciclovias
• Pontos de interesse como restaurantes, postos de gasolina, hotéis, lojas, pontos turísticos e muito mais
• Pesquise por nome, endereço ou por categoria de ponto de interesse
• Navegação com anúncios de voz para caminhadas, ciclismo ou direção
• Marque seus lugares favoritos com um único toque
• Artigos offline da Wikipédia
• Camada e direções de transporte público do metrô
• Gravação de trilhas
• Exporte e importe favoritos e trilhas nos formatos KML, KMZ e GPX
• Um modo escuro para usar à noite
• Aprimore os dados do mapa para todos usando um editor básico integrado
<b>A Liberdade Chegou</b>
Descubra sua jornada, navegue pelo mundo com privacidade e comunidade em primeiro lugar!

View File

@@ -0,0 +1 @@
CoMaps - Drumeții, Ciclism, Condus Offline în confidențialitate

View File

@@ -1,7 +1,6 @@
Бесплатное и свободное картографическое приложение, основанное на данных OpenStreetMap и подкреплённое обязательствами по прозрачности, конфиденциальности и некоммерческой направленности. CoMaps — это ответвление от Organic Maps, которое, в свою очередь, является ответвлением от Maps.ME.
Подробнее о причинах проекта и его направлении читайте на <a href="https://codeberg.org/comaps">сайте</a>.
Подробнее о причинах проекта и его направлении читайте на сайте <b><i> codeberg.org/comaps </i><b>.
Присоединяйтесь к сообществу и помогите создать лучшее приложение с картами
• Используйте приложение и распространяйте информацию о нём
• Оставляйте отзывы и сообщайте о проблемах

View File

@@ -1,6 +1,9 @@
• карты OpenStreetMap от 22 июня
автоматическое резервное копирование меток и треков
линии высот с шагом 100м для всех регионов, где линии с этим шагом отсутствовали
цветная заливка растительности и игровых площадок отображается раньше, добавлена заливка для кемпингов и других объектов
тропы и грунтовки отображаются позже в стиле по умолчанию - используйте стиль «Активный отдых» для обзора троп
выбранная функция настраиваемой кнопки больше не дублируется в пунктах меню
Представляем логотип CoMaps!
Линии высот для многих регионов с шагом 20м или 50м
Ссылки на изображения Panoramax к выбранным POI
Карты OpenStreetMap от 13 июля
Заливки цветом ко многим объектам и более ранняя заливка для существующих объектов
Показ часов работы при выборе POI
• Разные водно-болотные угодья отличаются цветом
• Обновлены цвета растительности и другие цвета на карте, изменены некоторые иконки
В стиле "Активный отдых" более четкие линии высот

View File

@@ -1 +1 @@
Простая навигация по карте — Откройте больше за ваше путешествие. От сообщества
Простая навигация по карте — Откройте больше за ваше путешествие От сообщества

View File

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

View File

@@ -0,0 +1,9 @@
Представљамо CoMaps лого!
• ажуриране изохипсе за многе регионе на кораке од 20 или 50 метара
• додате везе ка Panoramax сликама за изабране тачке интересовања (POI)
• подаци са OpenStreetMap-а од 13. јула
• додате боје за многе елементе и раније приказивање постојећих површина
• приказ стања радног времена при избору POI-ја
• мочваре подељене на неколико различитих типова
• ажуриране боје вегетације и других елемената на мапи, ажуриране поједине иконе
• на отвореном: наглашеније изохипсе

View File

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

View File

@@ -1 +1 @@
Kolayca gezinin - Seyahat etmenin ötesini bulun - Gönüllüler tarafından yapıldı
Kullanımı kolay harita - Yolculuğun ötesine geçin - topluluğun katkılarıyla

View File

@@ -1 +1 @@
CoMaps - İnternetsiz Seyahat Edin
CoMaps - Gizlilikle Yürüyün, Sürün, Gezin

View File

@@ -0,0 +1 @@
Định vị bản đồ dễ dàng - Khám phá thế giới quanh bạn - Đồng hành cùng cộng đồng

View File

@@ -1,8 +1,8 @@
package app.organicmaps.location;
package app.organicmaps.sdk.location;
import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
import static android.Manifest.permission.ACCESS_FINE_LOCATION;
import static app.organicmaps.util.concurrency.UiThread.runLater;
import static app.organicmaps.sdk.util.concurrency.UiThread.runLater;
import android.app.PendingIntent;
import android.content.Context;
@@ -26,8 +26,8 @@ import com.google.android.gms.location.LocationSettingsStatusCodes;
import com.google.android.gms.location.Priority;
import com.google.android.gms.location.SettingsClient;
import app.organicmaps.util.LocationUtils;
import app.organicmaps.util.log.Logger;
import app.organicmaps.sdk.util.LocationUtils;
import app.organicmaps.sdk.util.log.Logger;
class GoogleFusedLocationProvider extends BaseLocationProvider
{

View File

@@ -1,12 +1,13 @@
package app.organicmaps.location;
package app.organicmaps.sdk.location;
import android.content.Context;
import androidx.annotation.NonNull;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import app.organicmaps.util.Config;
import app.organicmaps.util.log.Logger;
import app.organicmaps.sdk.util.Config;
import app.organicmaps.sdk.util.log.Logger;
public class LocationProviderFactory
{

View File

@@ -1 +1 @@
Jednoduchá navigace v mapě - Objevte více na své cestě Vyvíjeno komunitou
Jednoduchá navigace v mapě Objevte více na své cestě Vyvíjeno komunitou

View File

@@ -0,0 +1,36 @@
En fællesskabsdrevet gratis og open source-kortapp baseret på OpenStreetMap-data og forstærket med en forpligtelse til gennemsigtighed, privatliv og non-profit.
Bliv en del af fællesskabet og vær med til at skabe den bedste kortapp
• Brug appen og fortæl andre om den
• Giv feedback og rapporter problemer
• Opdater kortdata i appen eller på OpenStreetMap-webstedet
<i>Din feedback og 5-stjernede anmeldelser er den bedste støtte for os!</i>
‣ <b>Enkel og poleret</b>: væsentlige, brugervenlige funktioner, der bare virker.
‣ <b>Offline-focused</b>: Planlæg og naviger på din rejse i udlandet uden behov for mobilfordbindelse, søg efter rutepunkter, mens du er på en lang vandretur osv. Alle app-funktioner er designet til at fungere offline..
‣ <b>Respekt for privatlivets fred</b>: Appen er designet med fokus på privatlivets fred den identificerer ikke personer, sporer ikke og indsamler ikke personlige oplysninger. Annoncefri.
‣ <b>Sparer på batteriet og plads</b>: Dræner ikke dit batteri som andre navigationsapps. Kompakte kort sparer værdifuld plads på din telefon.
‣ <b>Gratis og udviklet af fællesskabet</b>: Folk som dig har været med til at udvikle appen ved at tilføje steder til OpenStreetMap, teste og give feedback på funktioner samt bidrage med deres udviklingskompetencer og penge.
‣ <b>Åben og gennemsigtig beslutningstagning og økonomi, non-profit og fuldstændig open source.</b>
<b>Vigtigste funktioner</b>:
• Detaljerede kort med steder, der ikke er tilgængelige på Google Maps, kan downloades.
• Udendørstilstand med fremhævede vandreruter, campingpladser, vandkilder, bjergtoppe, højdekurver osv.
• Gang- og cykelstier
• Interessepunkter som restauranter, tankstationer, hoteller, butikker, seværdigheder og meget mere
• Søg efter navn, adresse eller efter interessepunkt-kategori
• Navigation med stemmevejledning til gående, cyklende eller kørende
• Bogmærk dine yndlingssteder med ét enkelt tryk
• Offline Wikipedia-artikler
• Lag med metrolinjer og rutevejledning
• Sporoptagelse
• Eksportér og importér bogmærker og ruter i KML, KMZ, GPX-formater
• En mørk tilstand til brug om natten
• Forbedr kortdata for alle ved hjælp af en simpel, indbygget redigeringsfunktion
• Android Auto-understøttelse
Rapportér app-problemer, kom med forslag og bliv en del af vores fællesskab på <b><i>comaps.app</i></b> webstedet.
<b>Nu med frihed</b>
Udforsk din rejse, og navigér i verden med fokus på privatliv og fællesskab!

View File

@@ -0,0 +1 @@
Nem kortnavigation - Oplev mere af din rejse - Drevet af fællesskabet

View File

@@ -0,0 +1 @@
CoMaps - Naviger med privatliv

View File

@@ -1,4 +1,4 @@
Eine von der Community betriebene, kostenlose Open-Source Karten App, die auf OpenStreetMap-Daten basiert. Transparent, datensparsam und nicht gewinnorientiert.
Eine von der Community betriebene, kostenlose Open-Source Karten App, die auf OpenStreetMap-Daten basiert. Ein Gemeinschaftsprojekt mit Fokus auf Transparenz und non-profit.
Werde Teil der Community und hilf mit, die beste Karten-App zu entwickeln
• Nutze die App und erzähle anderen davon
@@ -8,8 +8,8 @@ Werde Teil der Community und hilf mit, die beste Karten-App zu entwickeln
<i>Dein Feedback und deine 5-Sterne-Bewertung sind die beste Unterstützung für uns!</i>
‣ <b>Einfach und ausgereift</b>: Essenzielle, leicht zu bedienende Funktionen, die einfach funktionieren.
‣ <b>Offline-orientiert</b>: Plane und navigiere im Ausland ohne Mobilfunkverbindung, finde Wegpunkte auf abgelegenen Wanderungen usw. Alle Funktionen sind für den Offline-Einsatz konzipiert.
‣ <b>Datenschutzfreundlich</b>: Die App wurde mit Fokus auf Privatsphäre entwickelt keine Personenidentifikation, kein Tracking, keine Erfassung persönlicher Daten, keine Werbung.
‣ <b>Offlinekarten</b>: Plane und navigiere im Ausland ohne Mobilfunkverbindung, finde Wegpunkte auf abgelegenen Wanderungen usw. Alle Funktionen sind für den Offline-Einsatz konzipiert.
‣ <b>Datenschutz ist uns wichtig!</b>: Die App wurde mit Fokus auf Privatsphäre entwickelt kein Tracking, keine Erfassung persönlicher Daten, keine Werbung.
‣ <b>Spart Akku und Speicherplatz</b>: Verbraucht nicht unnötig Akku wie andere Navi-Apps. Kompakte Karten sparen Speicherplatz auf Deinem Gerät.
‣ <b>Kostenlos und von der Community entwickelt</b>: Menschen wie du haben geholfen, die App zu entwickeln durch das Hinzufügen von Orten zu OpenStreetMap, Testen von neuen Funktionen, Softwareentwicklung oder Spenden.
‣ <b>Offen und transparent bei Entscheidungen und Finanzen, gemeinnützig und vollständig Open Source</b>
@@ -32,5 +32,5 @@ Werde Teil der Community und hilf mit, die beste Karten-App zu entwickeln
Bitte melde Probleme, schlage neue Funktionen vor und werde Teil der Community auf unserer Website: <b><i>comaps.app</i></b>
<b>Freiheit beginnt hier</b>
<b>Entdecke die Unabhängigkeit</b>
Entdecke deine Reise navigiere in der Welt mit Datenschutz!

View File

@@ -0,0 +1,35 @@
Komunitateak gidatutako doako eta kode irekiko aplikazioa OpenStreetMap datuetan oinarrituta, gardentasuna, pribatutasuna eta irabazi asmorik gabeko konpromisoarekin indartua.
Sartu komunitatean eta lagundu mapa aplikaziorik onena egiten
• Erabili aplikazioa eta horri buruzko iritsia zabaldu
• Eman feedbacka eta txostenetako gaiak
• Eguneratu maparen datuak aplikazioan edo OpenStreetMap webgunean
<i> Zure iritzia eta 5 izarreko berrikuspenak dira guretzako laguntza onena! </ i>
‣ <b>Sinplea</b>: oso erraza da ondo funtzionatzen duten funtzioak erabiltzea.
‣ <b> Lineaz kanpo erabiltzeko prest </ b> Planifikatu eta nabigatu atzerrira bidaiatzea, konexio beharrik gabe, bilatu bideak urruneko ibilaldi batean, etab. Aplikazioaren funtzio guztiak lineaz kanpo lan egiteko diseinatuta daude.
‣ <b> Pribatutasuna errespetatzea </ b>: aplikazioa pribatutasunarekin diseinatuta dago, ez du pertsonak identifikatzen, ez du jarraipena egiten, eta ez du informazio pertsonala biltzen. Iragarkirik gabe.
‣ <b> Zure bateria eta espazioa gordetzen ditu </ b>: ez du bateria xukatu beste nabigazio aplikazioak bezala. Mapa trinkoek espazioa aurrezten dute zure telefonoan.
‣ <b> Libre eta komunitateak eraikitakoa: Zu bezalako jendeak aplikazioa eraikitzen lagundu du tokiak gehituz OpenStreetMapen, probatuz eta funtzioei buruzko iritzia emanez eta iritsiz eta diruz lagunduz.
‣ <b> Erabakiak hartzea eta finantza gardenak, irabazi asmorik gabekoa eta guztiz iturburu irekikoa. </ B>
<b> Ezaugarri nagusiak </ b>:
• Deskargatu mapa zehatzak Google Maps-ekin eskuragarri ez dauden lekuekin
• Landa eremua moduan nabarmendutako mendi ibilbideak, kanpinak, ur iturriak, gailurrak, sestra-lerroak, etab
• Bideak eta bidegorriak
• Jatetxe, gasolindegiak, hotelak, dendak, bisitak eta bestelako interesguneak
• Bilatu izenaren edo helbide baten arabera, edo kategoriaren arabera
• Oinez, txirrindularitzarako edo gidatzeko ahots-oharrak dituen nabigazioa
• Markatu zure gogoko lekuak ikutu bakarrarekin
• Lineaz kanpoko Wikipedia artikuluak
• Metroaren garraio geruza eta jarraibideak
• Arrastoen grabazioa
• Laster-markak eta ibilbideak esportatu eta inportatu KML, KMZ, GPX formatuetan
• Gauean erabiltzeko modu iluna
• Hobetu mapako datuak oinarrizko editore integratua erabiliz
• Android Auto laguntza
Mesedez, jakinarazi aplikazioaren gorabeherak, ideiak proposatu eta sartu gure komunitatean <b> <i> comaps.app </ i> </ b> webgunean.
<b> Askatasuna hemen </ b> da
Ezagutu zure bidaia, nabigatu munduan pribatutasunarekin eta komunitatearen abangoardian!

View File

@@ -0,0 +1 @@
Mapa nabigazio erraza - Ezagutu gehiago zure bidaiaz - Komunitatean egina

View File

@@ -0,0 +1 @@
Comaps - Pribatuki nabigatu

View File

@@ -1 +1 @@
Navigation facile - Découvrez plus lors de votre voyage - Fait par la communauté
Navigation cartographique facile - Découvrez davantage de votre voyage - Propulsé par la communauté

View File

@@ -0,0 +1,35 @@
Aplicación de mapas gratuíta, de código aberto e xestionada pola comunidade, obtén os datos desde OpenStreetMap e co compromiso reforzado coa transparencia, privacidade e non ter o beneficio económico como obxectivo.
Únete á comunidade e axuda a que teñamos a mellor aplicación de mapas
• Usa a aplicación e dille a outras persoas que o fas
• Informa de fallos e publica túa experiencia
• Actualiza os datos do mapa na aplicación ou no sitio web OpenStreetMap
<i>Os teus comentarios e recensións de 5 estrelas son a mellor axuda para nós!
‣ <b>Sen conexión de datos</b>: planea a viaxe e sigue a ruta sen precisar unha conexión á rede móbil, busca lugares relevantes nas andainas máis longas, etc. Todas as características da aplicación están deseñadas para funcionar sen precisar conexión de datos.
‣ <b>Respecto pola privacidade</b>: a aplicación está deseñada coa privacidade en primeiro plano - non identifica ás persoas, non te segue, non recolle información sobre ti. Non ten publicidade.
‣ <b>Simple e organizada</b>: características esenciais, fáciles de usar e que funcionan.
‣ <b>Aforra batería e espazo</b>: non esgota a batería como outras aplicacións de navegación. Os mapas compactos aforran espazo na memoria do dispositivo.
‣ <b>Gratuíta e feita pola comunidade</b>: persoas coma ti que axudan a crear a aplicación engadindo lugares en OpenStreetMap, probando novas características e dando a súa opinión, colaborando ao seu desenvolvemento con código ou financiamento.
‣ <b>Proceso de toma de decisións Aberto e Transparente para os temas económicos, Sen ánimo de lucro e totalmente de Código Aberto</b>
<b>Características principais</b>:
• Mapas detallados descargables con lugares que non están dispoñibles en Google Maps
• Modo para actividades en exterior con camiños para andainas, lugares para acampar, fontes de auga, picos dos montes, curvas de nivel, etc
• Rutas a pé e en bicicleta
• Puntos de interese como restaurantes, gasoliñeiras, hoteis, tendas, miradores e moitos máis
• Busca polo nome ou polo enderezo ou por categoría do punto de interese
• Navegación con anuncios por voz para camiñar, ir en bicicleta ou conducir
• Marca os lugares favoritos cun só toque
• Artigos da Wikipedia sen conexión
• Mapas do transporte por Metro
• Gravación das rutas
• Exportación e Importación de marcadores e rutas nos formatos KML, KMZ e GPX
• Modo escuro para a noite
• Contribúe a mellorar o mapa para todas as persoas usando o editor básico incluído
Por favor informa de calquera incidencia que xurda así como suxire novas funcións na nosa comunidade en <b><i>comaps.app</i></b>
<b>Aquí es Libre</b>
Atopa o teu camiño, navega polo mundo con privacidade e coa comunidade como prioridade!

View File

@@ -0,0 +1 @@
CoMaps -Navega con Privacidade

View File

@@ -0,0 +1,36 @@
Een door de community ontwikkelde, gratis en open source kaartenapp, gebaseerd op OpenStreetMap-gegevens, met een sterke focus op transparantie en privacy, en zonder winstoogmerk.
Sluit je aan bij de community en help mee aan de ontwikkeling van de beste kaartenapp:
• Gebruik de app en deel je ervaringen met anderen
• Geef feedback en meld eventuele problemen
• Houd de kaarten up-to-date, zowel in de app als op de OpenStreetMap-website
<i>Jouw feedback en 5-sterrenbeoordelingen zijn de beste steun voor ons!!</i>
‣ <b>Eenvoudig en verfijnd</b>: essentiële, gebruiksvriendelijke functies die gewoon werken.
‣ <b>Offline-georiënteerd</b>: Plan en navigeer je reis in het buitenland zonder internet, zoek waypoints tijdens een lange wandeling, enzovoort. Alle functies zijn ontworpen om offline te functioneren.
‣ <b>Respect voor privacy</b>: De app is ontworpen met privacy in gedachten - geen gegevensverzameling en advertentievrij.
‣ <b>Bespaar je batterij en opslag</b>: De app verbruikt minder batterij dan andere navigatie-apps. Compacte kaarten besparen ruimte op je telefoon.
‣ <b>Gratis en gebouwd door de community</b>: Mensen zoals jij helpen de app door plaatsen toe te voegen aan OpenStreetMap, functies te testen en feedback te geven, en hun programmervaardigheden bij te dragen of te doneren.
‣ <b>Open en transparant besluitvormings- en financieel beleid, geen winstoogmerk en volledig open source.</b>
<b>Hoofdfuncties</b>:
• Downloadbare gedetailleerde kaarten met plaatsen die niet beschikbaar zijn bij Google Maps
• Buitenmodus met gemarkeerde wandelpaden, campings, waterbronnen, toppen, hoogtelijnen, enz.
• Wandelpaden en fietspaden
• Bezienswaardigheden zoals restaurants, tankstations, hotels, winkels en nog veel meer
• Zoeken op naam of adres of op categorie
• Navigatie met spraakmeldingen voor wandelen, fietsen of autorijden
• Sla je favoriete plaatsen op met een enkele klik
• Offline Wikipedia-artikelen
• Metro laag en routebeschrijvingen
• Trackregistratie
• Exporteer en importeer bladwijzers en tracks in KML, KMZ, GPX-formaten
• Een donkere modus voor gebruik 's nachts
• Verbeter kaartgegevens voor iedereen met een eenvoudige ingebouwde editor
• Ondersteuning voor Android Auto
Meld app-problemen, stel nieuwe functies voor en sluit je aan bij onze community op de <b><i>comaps.app</i></b> website.
<b>Vrijheid is hier/b>
Ontdek je reis, navigeer over de wereld met privacy en community voorop!

View File

@@ -0,0 +1 @@
CoMaps - Viaje com Privacidade

View File

@@ -0,0 +1 @@
CoMaps - Navighează liniștit

View File

@@ -1 +1 @@
Простая навигация по карте — Откройте больше за ваше путешествие. От сообщества
Простая навигация по карте — Откройте больше за ваше путешествие От сообщества

View File

@@ -1,6 +1,6 @@
Бесплатна апликација за мапе отвореног кода коју води заједница заснована на OpenStreetMap подацима и ојачана посвећеношћу транспарентности, приватности и непрофитности.
Придружите се заједници и помозите да направимо најбољу навигацију
Придружите се заједници и помозите да направите најбољу навигацију
• Користите апликацију и ширите информације о њој
• Оставите повратне информације и пријавите проблеме
• Ажурирајте мапе из апликације или на сајту OpenStreetMap
@@ -11,26 +11,26 @@
‣ <b>Офлајн фокусирана</b>: Планирајте путовање у иностранство без употребе мобилне телефоније, потражите правац тачке током дугог путовања, итд . Све функције апликације су дизајниране за рад у режиму без интернета.
‣ <b>Поштовање приватности</b>: Апликација је развијена с обзиром на приватност - не идентификује људе, не прати и не прикупља личне информације. Без реклама.
‣ <b>Штеди батерију и простор</b>: Не празни батерију, као остале навигациje. Компактне mape штедe драгоценi prostor на вашем телефону..
‣ <b>Free and Built by the Community</b>: Такви људи, као што сте помогли да креирате апликацију, додајући места у OpenStreetMap, тестира и остављајући повратне информације о функцијама, као и стављајући своје вештине развоја и новац.
‣ <b>Отворено и транспарентно доношење одлука и финансија, непрофитни и потпуно отворени кода.</b>
‣ <b>Бесплатно и изграђено од стране заједнице</b>: Људи попут вас помогли су у изради апликације додавањем места на OpenStreetMap, тестирањем и давањем повратних информација о функцијама и доприносом својим развојним вештинама и новцем.
‣ <b>Отворено и транспарентно доношење одлука и финансије, непрофитне и потпуно отвореног кода.</b>
<b>Главне карактеристике</b>:
Преузимање детаљне мапе са локацијама које нису доступне у Google Maps
• Истакнуте планинарске стазе, кампови, изворима воде, врхове, контуре линије итд
Пешачке и бициклистичке стазе
Тачке од интереса као што су ресторани, бензинске станице, хотели, атракције, шопинг и још много тога
Претрага по имену или адреси или по категорији интересних места
Навигација са гласовним огласима за планинарење, бициклизам или вожње аутомобила
• Означи своја омиљене места са једним додиром
• Офлајн Википедиа чланци
• Транзитни слој метроа и упутства
• Track recording
• Export and import bookmarks and tracks in KML, KMZ, GPX formats
• A dark mode to use during the night
• Improve map data for everyone using a basic built-in editor
Подршка за Андроид Ауто
<li>Преузимање детаљних мапа са локацијама које нису доступне у Google Maps</li>
<li>Режим на отвореном са истакнутим планинарским стазама, кампови, извори воде, врхови, контурне линије, итд</li>
<li>Пешачке и бициклистичке стазе</li>
<li>Тачке интереса попут ресторана, бензинских станица, хотели, продавнице, разгледање и још много тога</li>
<li>Претрага по имену, адреси или по ТОИ категоријама</li>
<li>Навигација са гласовним упутима за планинарење, бициклизам или вожњу аутомобилом</li>
<li>Обележите своја омиљена места једним додиром</li>
<li>Википедија чланци без интернета</li>
<li>Нивои транзита у метроа и смер кретања</li>
<li>Снимање траса</li>
<li>Извоз и увоз маркера и траса у форматима KML, KMZ, GPX</li>
<li>Тамни режим за употребу ноћу</li>
<li>Побољшавање картографских података за све, користећи основни едитор за уређивање</li>
<li>Подршка за Андроид Ауто</li>
Молимо Вас да пријавите проблеме са апликацијом, предложите идеје и придружите се нашој заједници на <b><i>comaps.app</i></b> страни.
<b>Сад је слободна</b>
<b>Сад је слободно</b>
Откријте своје путовање, путујте светом с приватношћу и заједницом на челу!

View File

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

View File

@@ -1,36 +1,36 @@
OpenStreetMap verilerine dayanan ve şeffaflık, gizlilik ve kar amacı gütmeyen olma taahhüdüyle güçlendirilen, topluluk tarafından yönetilen ücretsiz ve açık kaynaklı bir harita uygulaması.
OpenStreetMap verilerine dayanan, kâr amacı gütmeyen, gizlilik ve şeffaflık odaklı, topluluk tarafından yönetilen, özgür ve açık kaynak kodlu bir harita uygulaması.
Topluluğa katılın ve en iyi harita uygulamasını oluşturmaya yardımcı olun
• Uygulamayı kullanın ve bunu herkese duyurun
• Geri bildirimde bulunun ve sorunları bildirin
• Harita verilerini uygulamada veya OpenStreetMap web sitesinde güncelleyin
Topluluğa katılın ve en iyi harita uygulamasını oluşturmamıza yardım edin
• Uygulamayı kullanın ve çevrenize yayın
• Geri bildirim verin ve sorunları bildirin
• Harita verilerini uygulamadan veya OpenStreetMap üzerinden düzenleyin
<i>Geri bildirimleriniz ve 5 yıldızlı yorumlarınız bizim için en iyi destektir!</i>
‣ <b>Basit ve Cilalı</b>: sadece işe yarayan, kullanımı kolay temel özellikler.
‣ <b>Çevrim dışı odaklı</b>: Cep telefonu hizmetine ihtiyaç duymadan yurtdışı seyahatinizi planlayın ve gezinin, uzun bir yürüyüş sırasında rota noktalarını arayın, vb. Tüm uygulama işlevleri çevrimdışı çalışmak üzere tasarlanmıştır.
‣ <b>Gizliliğe Saygı</b>: Uygulama gizlilik düşünülerek tasarlanmıştır; kişileri tanımlamaz, takip etmez ve kişisel bilgi toplamaz. Reklamsız.
‣ <b>Pilinizden ve Alanınızdan Tasarruf Edin</b>: Diğer navigasyon uygulamaları gibi pilinizi tüketmez. Kompakt haritalar telefonunuzda değerli alan tasarrufu sağlar.
‣ <b>Ücretsiz ve Topluluk Tarafından Oluşturuldu</b>: Sizin gibi insanlar, OpenStreetMap'e yerler ekleyerek, özellikleri test ederek ve geri bildirimde bulunarak ve geliştirme becerilerinizi ve paranızı katkıda bulunarak uygulamanın oluşturulmasına yardımcı oldunuz..
‣ <b>Açık ve Şeffaf Karar Alma ve Finansman, Kar Amacı Gütmeyen ve Tamamen Açık Kaynak.</b>
‣ <b>Basit ve Temiz</b>: Sadece temel, kullanımı basit, işe yarayan özellikler.
‣ <b>Çevrimdışı Odaklı</b>: Mobil veriye ihtiyaç duymadan yurt dışı seyahatinizi planlayın ve gezin, uzun bir yürüyüş sırasında rotanızdaki noktaları bulun ve daha fazlası . Tüm özellikler çevrimdışı çalışmak üzere tasarlanmıştır.
‣ <b>Gizliliğe Saygılı</b>: Uygulama gizliliğe saygılı olarak tasarlanmıştır. Kullanıcı profilinizi çıkarmaz, sizi takip etmez ve kişisel bilgi toplamaz. Üstelik tamamen reklamsızdır.
‣ <b>Pil ve Depolamanızdan Tasarruf Eder</b>: Diğer navigasyon uygulamaları gibi pilinizi sömürmez. Compact maps değerli depolama alanınızdan tasarruf eder.
‣ <b>Ücretsizdir ve Gücünü Topluluktan Alır</b>: Sizin gibi insanlar OpenStreetMap'e yer ekleyerek, yeni özellikleri test ederek, geri bildirimde bulunarak, program geliştirme becerileri ve bağışlarla katkıda bulunarak uygulamanın oluşturulmasına yardımcı oldu.
‣ <b>Açık ve Şeffaf Şekilde Yürütülen Karar Alma ve Fonlama Süreçleri, Kâr Amacı Gütmez ve Tamamen Açık Kaynaklı.</b>
<b>Ana Özellikleri</b>:
• Google Haritalar'da bulunmayan yerleri içeren indirilebilir detaylı haritalar
Vurgulanan yürüyüş parkurları, kamp alanları, su kaynakları, zirveler, kontur çizgileriyleık hava modu gibi
• Yürüyüş yolları ve bisiklet yolları
• Restoranlar, benzin istasyonları, oteller, mağazalar, turistik yerler gibi ilgi çekici noktalar ve daha fazlası
• İsme veya adrese göre veya ilgi noktası kategorisine göre arama yapın
Yürüyerek, bisikletle veya araçla seyahat edenler için sesli duyurularla navigasyon
Favori yerlerinizi tek bir dokunuşla yer imlerine ekleyin
• Çevrim dışı Wikipedia makaleleri
• Metro geçiş katmanı ve yönleri
Rota kaydı
• Yer imlerini ve parkurları KML, KMZ, GPX formatlarında dışa ve içe aktarın
• Geceleri kullanmak için karanlık mod
Temel bir yerleşik düzenleyici kullanarak herkes için harita verilerini iyileştirin
<b>Ana Özellikler</b>:
• Google Haritalar'da bulunmayan yerleri içeren, çevrimdışı detaylı haritalar
Yürüyüş parkurları, kamp alanları, su kaynakları, zirveler, kontur çizgileri vb. nesneleri vurgulayanık hava modu
• Yürüyüş ve bisiklet yolları
• Restoran, benzin istasyonu, otel, mağaza, görülecek yerler ve çok daha fazla harita noktası
• İsim, adres veya harita noktası kategorisine göre arama yapın
Sesli yönlendirmeye sahip yürüyüş, bisiklet ve araç navigasyonu
En sevdiğiniz mekanları tek dokunuşla yer imlerinize kaydedin
• Çevrimdışı Vikipedi makaleleri
• Metro ulaşım katmanı ve rotaları
GPS izinizi kaydedin
• Yer imi ve GPS izlerinizi KML, KMZ ve GPX biçimlerinde dışa veya içe aktarın
• Gece boyunca kullanmanızı sağlayacak koyu mod
Uygulama içi düzenleyiciyi kullanarak harita verilerini herkes için daha iyi hale getirin
• Android Auto desteği
Lütfen uygulama sorunlarını bildirin, fikir önerin ve <b><i>comaps.app</i></b> web sitesinde topluluğumuza katılın.
Lütfen <b><i>comaps.app</i></b> adresinden uygulama sorunlarını bildirin, önerilerinizi paylaşın ve topluluğumuza katılın.
<b>Özgürlük Burada</b>
Yolculuğunuzu keşfedin, gizlilik ve topluluk ön planda tutularak dünyayı keşfedin!
<b>Özgürlük Buradan Başlıyor</b>
Yolculuğunuzun ötesine geçin, gizlilik ve topluluğu ön planda tutarak dünyada gezinin!

View File

@@ -1 +1 @@
Kolayca gezinin - Seyahat etmenin ötesini bulun - Gönüllüler tarafından yapıldı
Kullanımı kolay harita - Yolculuğun ötesine geçin - topluluğun katkılarıyla

View File

@@ -0,0 +1,36 @@
Một ứng dụng bản đồ miễn phí & mã nguồn mở do cộng đồng phát triển, dựa trên dữ liệu OpenStreetMap và cam kết mạnh mẽ về minh bạch, quyền riêng tư và phi lợi nhuận.
Hãy tham gia cộng đồng và cùng chúng tôi xây dựng ứng dụng bản đồ tốt nhất!
• Sử dụng ứng dụng và chia sẻ với mọi người
• Đóng góp ý kiến và báo cáo lỗi
• Cập nhật dữ liệu bản đồ trong ứng dụng hoặc trên trang web OpenStreetMap
<i>Đánh giá 5 sao và phản hồi của bạn là sự ủng hộ quý giá nhất!</i>
‣ <b>Đơn giản và tinh tế</b>: Những tính năng cần thiết, dễ sử dụng và hoạt động mượt mà.
‣ <b>Hoạt động offline</b>: Lên kế hoạch và điều hướng chuyến đi ở nước ngoài mà không cần kết nối mạng, tìm kiếm địa điểm khi đi bộ đường dài... Tất cả chức năng đều hoạt động offline.
‣ <b>Tôn trọng quyền riêng tư</b>: Ứng dụng được thiết kế để bảo vệ sự riêng tư - không định danh người dùng, không theo dõi và không thu thập thông tin cá nhân. Hoàn toàn không có quảng cáo.
‣ <b>Tiết kiệm pin và dung lượng</b>: Không ngốn pin như các ứng dụng bản đồ khác. Bản đồ nhỏ gọn giúp tiết kiệm dung lượng điện thoại.
‣ <b>Miễn phí và được xây dựng bởi cộng đồng</b>: Chính những người như bạn đã góp phần phát triển ứng dụng bằng cách thêm địa điểm vào OpenStreetMap, kiểm thử tính năng, đóng góp ý kiến, kỹ năng lập trình và tài chính.
‣ <b>Minh bạch trong quyết định & tài chính, phi lợi nhuận và mã nguồn mở hoàn toàn.</b>
<b>Tính năng chính</b>:
• Tải bản đồ chi tiết với nhiều địa điểm không có trên Google Maps
• Chế độ ngoài trời với các tuyến đi bộ, khu cắm trại, nguồn nước, đỉnh núi, đường đồng mức... được đánh dấu rõ ràng
• Đường đi bộ và đường dành cho xe đạp
• Địa điểm quan tâm như nhà hàng, trạm xăng, khách sạn, cửa hàng, điểm tham quan...
• Tìm kiếm theo tên, địa chỉ hoặc danh mục địa điểm
• Dẫn đường với thông báo bằng giọng nói cho đi bộ, đạp xe hoặc lái xe
• Đánh dấu địa điểm yêu thích chỉ với một lần chạm
• Đọc bài viết Wikipedia offline
• Lớp bản đồ tàu điện ngầm và chỉ dẫn di chuyển
• Ghi lại lộ trình
• Xuất/nhập bookmark và lộ trình dưới dạng KML, KMZ, GPX
• Chế độ tối để sử dụng ban đêm
• Chỉnh sửa bản đồ cơ bản ngay trong ứng dụng để cải thiện dữ liệu cho mọi người
• Hỗ trợ Android Auto
Hãy báo cáo lỗi, đề xuất ý tưởng và tham gia cộng đồng của chúng tôi tại trang web <i><b>comaps.app</b></i>.
<b>Tự do ngay trong tay bạn!</b>
Khám phá hành trình, điều hướng thế giới với sự riêng tư và tinh thần cộng đồng!

View File

@@ -0,0 +1 @@
Định vị bản đồ dễ dàng - Khám phá thế giới quanh bạn - Đồng hành cùng cộng đồng

View File

@@ -0,0 +1 @@
CoMaps - Định vị riêng tư

View File

@@ -1 +0,0 @@
../../../../google/java/app/organicmaps/location

View File

@@ -0,0 +1 @@
../../../../../google/java/app/organicmaps/sdk/location

View File

@@ -20,6 +20,9 @@
<uses-feature
android:name="android.hardware.location.gps"
android:required="false"/>
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="22" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

View File

@@ -5,21 +5,21 @@ project(organicmaps C CXX)
set(SRC
# JNI headers
../../../../../private.h
app/organicmaps/core/jni_helper.hpp
app/organicmaps/core/jni_java_methods.hpp
app/organicmaps/core/logging.hpp
app/organicmaps/core/ScopedEnv.hpp
app/organicmaps/core/ScopedLocalRef.hpp
app/organicmaps/Framework.hpp
app/organicmaps/opengl/android_gl_utils.hpp
app/organicmaps/opengl/androidoglcontext.hpp
app/organicmaps/opengl/androidoglcontextfactory.hpp
app/organicmaps/opengl/gl3stub.h
app/organicmaps/platform/GuiThread.hpp
app/organicmaps/platform/AndroidPlatform.hpp
app/organicmaps/util/Distance.hpp
app/organicmaps/util/FeatureIdBuilder.hpp
app/organicmaps/vulkan/android_vulkan_context_factory.hpp
app/organicmaps/sdk/core/jni_helper.hpp
app/organicmaps/sdk/core/jni_java_methods.hpp
app/organicmaps/sdk/core/logging.hpp
app/organicmaps/sdk/core/ScopedEnv.hpp
app/organicmaps/sdk/core/ScopedLocalRef.hpp
app/organicmaps/sdk/Framework.hpp
app/organicmaps/sdk/opengl/android_gl_utils.hpp
app/organicmaps/sdk/opengl/androidoglcontext.hpp
app/organicmaps/sdk/opengl/androidoglcontextfactory.hpp
app/organicmaps/sdk/opengl/gl3stub.h
app/organicmaps/sdk/platform/GuiThread.hpp
app/organicmaps/sdk/platform/AndroidPlatform.hpp
app/organicmaps/sdk/util/Distance.hpp
app/organicmaps/sdk/util/FeatureIdBuilder.hpp
app/organicmaps/sdk/vulkan/android_vulkan_context_factory.hpp
# JNI sources
app/organicmaps/sdk/search/DisplayedCategories.cpp
@@ -39,47 +39,47 @@ set(SRC
app/organicmaps/sdk/MapStyle.cpp
app/organicmaps/sdk/OrganicMaps.cpp
app/organicmaps/sdk/Router.cpp
app/organicmaps/core/jni_helper.cpp
app/organicmaps/core/jni_java_methods.cpp
app/organicmaps/core/logging.cpp
app/organicmaps/bookmarks/data/BookmarkManager.cpp
app/organicmaps/DownloadResourcesLegacyActivity.cpp
app/organicmaps/editor/Editor.cpp
app/organicmaps/editor/OpeningHours.cpp
app/organicmaps/editor/OsmOAuth.cpp
app/organicmaps/Framework.cpp
app/organicmaps/isolines/IsolinesManager.cpp
app/organicmaps/LocationState.cpp
app/organicmaps/Map.cpp
app/organicmaps/MapManager.cpp
app/organicmaps/settings/UnitLocale.cpp
app/organicmaps/settings/MapLanguageCode.cpp
app/organicmaps/sound/tts.cpp
app/organicmaps/subway/SubwayManager.cpp
app/organicmaps/TrackRecorder.cpp
app/organicmaps/TrafficState.cpp
app/organicmaps/UserMarkHelper.cpp
app/organicmaps/opengl/android_gl_utils.cpp
app/organicmaps/opengl/androidoglcontext.cpp
app/organicmaps/opengl/androidoglcontextfactory.cpp
app/organicmaps/opengl/gl3stub.cpp
app/organicmaps/platform/GuiThread.cpp
app/organicmaps/platform/HttpThread.cpp
app/organicmaps/platform/Language.cpp
app/organicmaps/platform/Localization.cpp
app/organicmaps/platform/AndroidPlatform.cpp
app/organicmaps/platform/PThreadImpl.cpp
app/organicmaps/platform/SecureStorage.cpp
app/organicmaps/platform/SocketImpl.cpp
app/organicmaps/util/Config.cpp
app/organicmaps/util/GeoUtils.cpp
app/organicmaps/util/HttpClient.cpp
app/organicmaps/util/Language.cpp
app/organicmaps/util/LogsManager.cpp
app/organicmaps/util/NetworkPolicy.cpp
app/organicmaps/util/StringUtils.cpp
app/organicmaps/util/UiThread.cpp
app/organicmaps/vulkan/android_vulkan_context_factory.cpp
app/organicmaps/sdk/core/jni_helper.cpp
app/organicmaps/sdk/core/jni_java_methods.cpp
app/organicmaps/sdk/core/logging.cpp
app/organicmaps/sdk/bookmarks/data/BookmarkManager.cpp
app/organicmaps/sdk/DownloadResourcesLegacyActivity.cpp
app/organicmaps/sdk/editor/Editor.cpp
app/organicmaps/sdk/editor/OpeningHours.cpp
app/organicmaps/sdk/editor/OsmOAuth.cpp
app/organicmaps/sdk/Framework.cpp
app/organicmaps/sdk/isolines/IsolinesManager.cpp
app/organicmaps/sdk/LocationState.cpp
app/organicmaps/sdk/Map.cpp
app/organicmaps/sdk/MapManager.cpp
app/organicmaps/sdk/settings/UnitLocale.cpp
app/organicmaps/sdk/settings/MapLanguageCode.cpp
app/organicmaps/sdk/sound/tts.cpp
app/organicmaps/sdk/subway/SubwayManager.cpp
app/organicmaps/sdk/TrackRecorder.cpp
app/organicmaps/sdk/TrafficState.cpp
app/organicmaps/sdk/UserMarkHelper.cpp
app/organicmaps/sdk/opengl/android_gl_utils.cpp
app/organicmaps/sdk/opengl/androidoglcontext.cpp
app/organicmaps/sdk/opengl/androidoglcontextfactory.cpp
app/organicmaps/sdk/opengl/gl3stub.cpp
app/organicmaps/sdk/platform/GuiThread.cpp
app/organicmaps/sdk/platform/HttpThread.cpp
app/organicmaps/sdk/platform/Language.cpp
app/organicmaps/sdk/platform/Localization.cpp
app/organicmaps/sdk/platform/AndroidPlatform.cpp
app/organicmaps/sdk/platform/PThreadImpl.cpp
app/organicmaps/sdk/platform/SecureStorage.cpp
app/organicmaps/sdk/platform/SocketImpl.cpp
app/organicmaps/sdk/util/Config.cpp
app/organicmaps/sdk/util/GeoUtils.cpp
app/organicmaps/sdk/util/HttpClient.cpp
app/organicmaps/sdk/util/Language.cpp
app/organicmaps/sdk/util/LogsManager.cpp
app/organicmaps/sdk/util/NetworkPolicy.cpp
app/organicmaps/sdk/util/StringUtils.cpp
app/organicmaps/sdk/util/UiThread.cpp
app/organicmaps/sdk/vulkan/android_vulkan_context_factory.cpp
)
omim_add_library(${PROJECT_NAME} SHARED ${SRC})

View File

@@ -1,6 +1,6 @@
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "indexer/map_style.hpp"

View File

@@ -16,7 +16,7 @@
#include "base/logging.hpp"
#include "base/string_utils.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include <functional>
#include <iostream>
@@ -70,7 +70,7 @@ extern "C"
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_DownloadResourcesLegacyActivity_nativeGetBytesToDownload(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_DownloadResourcesLegacyActivity_nativeGetBytesToDownload(JNIEnv * env, jclass clazz)
{
// clear all
g_filesToDownload.clear();
@@ -149,7 +149,7 @@ extern "C"
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_DownloadResourcesLegacyActivity_nativeStartNextFileDownload(JNIEnv * env, jclass clazz, jobject listener)
Java_app_organicmaps_sdk_DownloadResourcesLegacyActivity_nativeStartNextFileDownload(JNIEnv * env, jclass clazz, jobject listener)
{
if (g_filesToDownload.empty())
return ERR_NO_MORE_FILES;
@@ -171,14 +171,14 @@ extern "C"
curFile.GetRemoteSize(),
std::bind(&DownloadFileFinished, ptr, _1),
std::bind(&DownloadFileProgress, ptr, _1),
512 * 1024, false));
0, false));
});
return ERR_FILE_IN_PROGRESS;
}
JNIEXPORT void JNICALL
Java_app_organicmaps_DownloadResourcesLegacyActivity_nativeCancelCurrentFile(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_DownloadResourcesLegacyActivity_nativeCancelCurrentFile(JNIEnv * env, jclass clazz)
{
LOG(LDEBUG, ("cancelCurrentFile, currentRequest=", g_currentRequest));
g_currentRequest.reset();

View File

@@ -1,19 +1,19 @@
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/UserMarkHelper.hpp"
#include "app/organicmaps/opengl/androidoglcontextfactory.hpp"
#include "app/organicmaps/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/UserMarkHelper.hpp"
#include "app/organicmaps/sdk/opengl/androidoglcontextfactory.hpp"
#include "app/organicmaps/sdk/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/routing/JunctionInfo.hpp"
#include "app/organicmaps/sdk/routing/RouteMarkData.hpp"
#include "app/organicmaps/sdk/routing/RouteMarkType.hpp"
#include "app/organicmaps/sdk/routing/RouteRecommendationType.hpp"
#include "app/organicmaps/sdk/routing/RoutingInfo.hpp"
#include "app/organicmaps/sdk/routing/TransitRouteInfo.hpp"
#include "app/organicmaps/util/Distance.hpp"
#include "app/organicmaps/util/FeatureIdBuilder.hpp"
#include "app/organicmaps/util/NetworkPolicy.hpp"
#include "app/organicmaps/vulkan/android_vulkan_context_factory.hpp"
#include "app/organicmaps/sdk/util/Distance.hpp"
#include "app/organicmaps/sdk/util/FeatureIdBuilder.hpp"
#include "app/organicmaps/sdk/util/NetworkPolicy.hpp"
#include "app/organicmaps/sdk/vulkan/android_vulkan_context_factory.hpp"
#include "map/bookmark_helpers.hpp"
#include "map/chart_generator.hpp"
@@ -824,35 +824,35 @@ RoutingManager::LoadRouteHandler g_loadRouteHandler;
/// @name JNI EXPORTS
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetAddress(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon)
Java_app_organicmaps_sdk_Framework_nativeGetAddress(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon)
{
auto const info = frm()->GetAddressAtPoint(mercator::FromLatLon(lat, lon));
return jni::ToJavaString(env, info.FormatAddress());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeClearApiPoints(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_Framework_nativeClearApiPoints(JNIEnv * env, jclass clazz)
{
frm()->GetBookmarkManager().GetEditSession().ClearGroup(UserMark::Type::API);
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_Framework_nativeParseAndSetApiUrl(JNIEnv * env, jclass clazz, jstring url)
Java_app_organicmaps_sdk_Framework_nativeParseAndSetApiUrl(JNIEnv * env, jclass clazz, jstring url)
{
return static_cast<jint>(frm()->ParseAndSetApiURL(jni::ToNativeString(env, url)));
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetParsedRoutingData(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_Framework_nativeGetParsedRoutingData(JNIEnv * env, jclass clazz)
{
using namespace url_scheme;
static jclass const pointClazz = jni::GetGlobalClassRef(env, "app/organicmaps/api/RoutePoint");
static jclass const pointClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/api/RoutePoint");
// Java signature : RoutePoint(double lat, double lon, String name)
static jmethodID const pointConstructor = jni::GetConstructorID(env, pointClazz, "(DDLjava/lang/String;)V");
static jclass const routeDataClazz = jni::GetGlobalClassRef(env, "app/organicmaps/api/ParsedRoutingData");
static jclass const routeDataClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/api/ParsedRoutingData");
// Java signature : ParsedRoutingData(RoutePoint[] points, int routerType) {
static jmethodID const routeDataConstructor = jni::GetConstructorID(env, routeDataClazz, "([Lapp/organicmaps/api/RoutePoint;I)V");
static jmethodID const routeDataConstructor = jni::GetConstructorID(env, routeDataClazz, "([Lapp/organicmaps/sdk/api/RoutePoint;I)V");
auto const & routingData = frm()->GetParsedRoutingData();
jobjectArray points = jni::ToJavaArray(env, pointClazz, routingData.m_points,
@@ -868,10 +868,10 @@ Java_app_organicmaps_Framework_nativeGetParsedRoutingData(JNIEnv * env, jclass c
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetParsedSearchRequest(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_Framework_nativeGetParsedSearchRequest(JNIEnv * env, jclass clazz)
{
using namespace url_scheme;
static jclass const cl = jni::GetGlobalClassRef(env, "app/organicmaps/api/ParsedSearchRequest");
static jclass const cl = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/api/ParsedSearchRequest");
// Java signature : ParsedSearchRequest(String query, String locale, double lat, double lon, boolean isSearchOnMap)
static jmethodID const ctor = jni::GetConstructorID(env, cl, "(Ljava/lang/String;Ljava/lang/String;DDZ)V");
auto const & r = frm()->GetParsedSearchRequest();
@@ -880,28 +880,28 @@ Java_app_organicmaps_Framework_nativeGetParsedSearchRequest(JNIEnv * env, jclass
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetParsedAppName(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetParsedAppName(JNIEnv * env, jclass)
{
std::string const & appName = frm()->GetParsedAppName();
return (appName.empty()) ? nullptr : jni::ToJavaString(env, appName);
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetParsedOAuth2Code(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetParsedOAuth2Code(JNIEnv * env, jclass)
{
std::string const & code = frm()->GetParsedOAuth2Code();
return jni::ToJavaString(env, code);
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetParsedBackUrl(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetParsedBackUrl(JNIEnv * env, jclass)
{
std::string const & backUrl = frm()->GetParsedBackUrl();
return (backUrl.empty()) ? nullptr : jni::ToJavaString(env, backUrl);
}
JNIEXPORT jdoubleArray JNICALL
Java_app_organicmaps_Framework_nativeGetParsedCenterLatLon(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetParsedCenterLatLon(JNIEnv * env, jclass)
{
ms::LatLon const center = frm()->GetParsedCenterLatLon();
if (!center.IsValid())
@@ -915,14 +915,14 @@ Java_app_organicmaps_Framework_nativeGetParsedCenterLatLon(JNIEnv * env, jclass)
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativePlacePageActivationListener(JNIEnv *env, jclass, jobject jListener)
Java_app_organicmaps_sdk_Framework_nativePlacePageActivationListener(JNIEnv *env, jclass, jobject jListener)
{
LOG(LINFO, ("Set global map object listener"));
g_placePageActivationListener = env->NewGlobalRef(jListener);
// void onPlacePageActivated(MapObject object);
jmethodID const activatedId = jni::GetMethodID(env, g_placePageActivationListener,
"onPlacePageActivated",
"(Lapp/organicmaps/widget/placepage/PlacePageData;)V");
"(Lapp/organicmaps/sdk/widget/placepage/PlacePageData;)V");
// void onPlacePageDeactivated();
jmethodID const deactivateId = jni::GetMethodID(env, g_placePageActivationListener,
"onPlacePageDeactivated", "()V");
@@ -962,7 +962,7 @@ Java_app_organicmaps_Framework_nativePlacePageActivationListener(JNIEnv *env, jc
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeRemovePlacePageActivationListener(JNIEnv *env, jclass, jobject jListener)
Java_app_organicmaps_sdk_Framework_nativeRemovePlacePageActivationListener(JNIEnv *env, jclass, jobject jListener)
{
if (g_placePageActivationListener == nullptr)
return;
@@ -977,7 +977,7 @@ Java_app_organicmaps_Framework_nativeRemovePlacePageActivationListener(JNIEnv *e
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetGe0Url(JNIEnv * env, jclass, jdouble lat, jdouble lon, jdouble zoomLevel, jstring name)
Java_app_organicmaps_sdk_Framework_nativeGetGe0Url(JNIEnv * env, jclass, jdouble lat, jdouble lon, jdouble zoomLevel, jstring name)
{
::Framework * fr = frm();
double const scale = (zoomLevel > 0 ? zoomLevel : fr->GetDrawScale());
@@ -986,7 +986,7 @@ Java_app_organicmaps_Framework_nativeGetGe0Url(JNIEnv * env, jclass, jdouble lat
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetGeoUri(JNIEnv * env, jclass, jdouble lat, jdouble lon, jdouble zoomLevel, jstring name)
Java_app_organicmaps_sdk_Framework_nativeGetGeoUri(JNIEnv * env, jclass, jdouble lat, jdouble lon, jdouble zoomLevel, jstring name)
{
::Framework * fr = frm();
double const scale = (zoomLevel > 0 ? zoomLevel : fr->GetDrawScale());
@@ -995,16 +995,16 @@ Java_app_organicmaps_Framework_nativeGetGeoUri(JNIEnv * env, jclass, jdouble lat
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetDistanceAndAzimuth(
Java_app_organicmaps_sdk_Framework_nativeGetDistanceAndAzimuth(
JNIEnv * env, jclass, jdouble merX, jdouble merY, jdouble cLat, jdouble cLon, jdouble north)
{
platform::Distance distance;
double azimut = -1.0;
frm()->GetDistanceAndAzimut(m2::PointD(merX, merY), cLat, cLon, north, distance, azimut);
static jclass const daClazz = jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/DistanceAndAzimut");
static jclass const daClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/DistanceAndAzimut");
// Java signature : DistanceAndAzimut(Distance distance, double azimuth)
static jmethodID const methodID = jni::GetConstructorID(env, daClazz, "(Lapp/organicmaps/util/Distance;D)V");
static jmethodID const methodID = jni::GetConstructorID(env, daClazz, "(Lapp/organicmaps/sdk/util/Distance;D)V");
return env->NewObject(daClazz, methodID,
ToJavaDistance(env, distance),
@@ -1012,16 +1012,16 @@ Java_app_organicmaps_Framework_nativeGetDistanceAndAzimuth(
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetDistanceAndAzimuthFromLatLon(
Java_app_organicmaps_sdk_Framework_nativeGetDistanceAndAzimuthFromLatLon(
JNIEnv * env, jclass clazz, jdouble lat, jdouble lon, jdouble cLat, jdouble cLon, jdouble north)
{
double const merY = mercator::LatToY(lat);
double const merX = mercator::LonToX(lon);
return Java_app_organicmaps_Framework_nativeGetDistanceAndAzimuth(env, clazz, merX, merY, cLat, cLon, north);
return Java_app_organicmaps_sdk_Framework_nativeGetDistanceAndAzimuth(env, clazz, merX, merY, cLat, cLon, north);
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeFormatLatLon(JNIEnv * env, jclass, jdouble lat, jdouble lon, int coordsFormat)
Java_app_organicmaps_sdk_Framework_nativeFormatLatLon(JNIEnv * env, jclass, jdouble lat, jdouble lon, int coordsFormat)
{
switch (static_cast<android::CoordinatesFormat>(coordsFormat))
{
@@ -1054,13 +1054,13 @@ Java_app_organicmaps_Framework_nativeFormatLatLon(JNIEnv * env, jclass, jdouble
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeFormatAltitude(JNIEnv * env, jclass, jdouble alt)
Java_app_organicmaps_sdk_Framework_nativeFormatAltitude(JNIEnv * env, jclass, jdouble alt)
{
return jni::ToJavaString(env, platform::Distance::FormatAltitude(alt));
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeFormatSpeed(JNIEnv * env, jclass, jdouble speed)
Java_app_organicmaps_sdk_Framework_nativeFormatSpeed(JNIEnv * env, jclass, jdouble speed)
{
auto const units = measurement_utils::GetMeasurementUnits();
return jni::ToJavaString(env, measurement_utils::FormatSpeedNumeric(speed, units) + " " +
@@ -1069,13 +1069,13 @@ Java_app_organicmaps_Framework_nativeFormatSpeed(JNIEnv * env, jclass, jdouble s
/*
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetOutdatedCountriesString(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetOutdatedCountriesString(JNIEnv * env, jclass)
{
return jni::ToJavaString(env, g_framework->GetOutdatedCountriesString());
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_Framework_nativeGetOutdatedCountries(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetOutdatedCountries(JNIEnv * env, jclass)
{
vector<Country const *> countries;
Storage const & storage = g_framework->GetStorage();
@@ -1089,44 +1089,44 @@ Java_app_organicmaps_Framework_nativeGetOutdatedCountries(JNIEnv * env, jclass)
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_Framework_nativeToDoAfterUpdate(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeToDoAfterUpdate(JNIEnv * env, jclass)
{
return g_framework->ToDoAfterUpdate();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsDataVersionChanged(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsDataVersionChanged(JNIEnv * env, jclass)
{
return frm()->IsDataVersionUpdated() ? JNI_TRUE : JNI_FALSE;
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeUpdateSavedDataVersion(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeUpdateSavedDataVersion(JNIEnv * env, jclass)
{
frm()->UpdateSavedDataVersion();
}
*/
JNIEXPORT jlong JNICALL
Java_app_organicmaps_Framework_nativeGetDataVersion(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetDataVersion(JNIEnv * env, jclass)
{
return frm()->GetCurrentDataVersion();
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_Framework_nativeGetDrawScale(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetDrawScale(JNIEnv * env, jclass)
{
return static_cast<jint>(frm()->GetDrawScale());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativePokeSearchInViewport(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativePokeSearchInViewport(JNIEnv * env, jclass)
{
frm()->GetSearchAPI().PokeSearchInViewport();
}
JNIEXPORT jdoubleArray JNICALL
Java_app_organicmaps_Framework_nativeGetScreenRectCenter(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetScreenRectCenter(JNIEnv * env, jclass)
{
m2::PointD const center = frm()->GetViewportCenter();
@@ -1138,43 +1138,43 @@ Java_app_organicmaps_Framework_nativeGetScreenRectCenter(JNIEnv * env, jclass)
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeShowTrackRect(JNIEnv * env, jclass, jlong track)
Java_app_organicmaps_sdk_Framework_nativeShowTrackRect(JNIEnv * env, jclass, jlong track)
{
frm()->ShowTrack(static_cast<kml::TrackId>(track));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSaveRoute(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeSaveRoute(JNIEnv *, jclass)
{
frm()->SaveRoute();
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetBookmarkDir(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetBookmarkDir(JNIEnv * env, jclass)
{
return jni::ToJavaString(env, GetPlatform().SettingsDir().c_str());
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetWritableDir(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetWritableDir(JNIEnv * env, jclass)
{
return jni::ToJavaString(env, GetPlatform().WritableDir().c_str());
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetSettingsDir(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetSettingsDir(JNIEnv * env, jclass)
{
return jni::ToJavaString(env, GetPlatform().SettingsDir().c_str());
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetDataFileExt(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetDataFileExt(JNIEnv * env, jclass)
{
return jni::ToJavaString(env, DATA_FILE_EXTENSION);
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_Framework_nativeGetMovableFilesExts(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetMovableFilesExts(JNIEnv * env, jclass)
{
vector<string> exts = { DATA_FILE_EXTENSION, FONT_FILE_EXTENSION };
platform::CountryIndexes::GetIndexesExts(exts);
@@ -1182,7 +1182,7 @@ Java_app_organicmaps_Framework_nativeGetMovableFilesExts(JNIEnv * env, jclass)
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_Framework_nativeGetBookmarksFilesExts(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetBookmarksFilesExts(JNIEnv * env, jclass)
{
static std::array<std::string, 4> const kBookmarkExtensions = {
std::string{kKmzExtension},
@@ -1195,7 +1195,7 @@ Java_app_organicmaps_Framework_nativeGetBookmarksFilesExts(JNIEnv * env, jclass)
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeChangeWritableDir(JNIEnv * env, jclass, jstring jNewPath)
Java_app_organicmaps_sdk_Framework_nativeChangeWritableDir(JNIEnv * env, jclass, jstring jNewPath)
{
string newPath = jni::ToNativeString(env, jNewPath);
g_framework->RemoveLocalMaps();
@@ -1204,55 +1204,55 @@ Java_app_organicmaps_Framework_nativeChangeWritableDir(JNIEnv * env, jclass, jst
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsRoutingActive(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsRoutingActive(JNIEnv * env, jclass)
{
return frm()->GetRoutingManager().IsRoutingActive();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsRouteBuilding(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsRouteBuilding(JNIEnv * env, jclass)
{
return frm()->GetRoutingManager().IsRouteBuilding();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsRouteBuilt(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsRouteBuilt(JNIEnv * env, jclass)
{
return frm()->GetRoutingManager().IsRouteBuilt();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeCloseRouting(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeCloseRouting(JNIEnv * env, jclass)
{
frm()->GetRoutingManager().CloseRouting(true /* remove route points */);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeBuildRoute(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeBuildRoute(JNIEnv * env, jclass)
{
frm()->GetRoutingManager().BuildRoute();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeRemoveRoute(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeRemoveRoute(JNIEnv * env, jclass)
{
frm()->GetRoutingManager().RemoveRoute(false /* deactivateFollowing */);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeFollowRoute(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeFollowRoute(JNIEnv * env, jclass)
{
frm()->GetRoutingManager().FollowRoute();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeDisableFollowing(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeDisableFollowing(JNIEnv * env, jclass)
{
frm()->GetRoutingManager().DisableFollowMode();
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_Framework_nativeGenerateNotifications(JNIEnv * env, jclass, jboolean announceStreets)
Java_app_organicmaps_sdk_Framework_nativeGenerateNotifications(JNIEnv * env, jclass, jboolean announceStreets)
{
::Framework * fr = frm();
if (!fr->GetRoutingManager().IsRoutingActive())
@@ -1267,20 +1267,20 @@ Java_app_organicmaps_Framework_nativeGenerateNotifications(JNIEnv * env, jclass,
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetSpeedCamManagerMode(JNIEnv * env, jclass, jint mode)
Java_app_organicmaps_sdk_Framework_nativeSetSpeedCamManagerMode(JNIEnv * env, jclass, jint mode)
{
frm()->GetRoutingManager().GetSpeedCamManager().SetMode(
static_cast<routing::SpeedCameraManagerMode>(mode));
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_Framework_nativeGetSpeedCamManagerMode(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetSpeedCamManagerMode(JNIEnv * env, jclass)
{
return static_cast<jint>(frm()->GetRoutingManager().GetSpeedCamManager().GetMode());
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetRouteFollowingInfo(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetRouteFollowingInfo(JNIEnv * env, jclass)
{
RoutingManager & rm = frm()->GetRoutingManager();
if (!rm.IsRoutingActive())
@@ -1295,9 +1295,9 @@ Java_app_organicmaps_Framework_nativeGetRouteFollowingInfo(JNIEnv * env, jclass)
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_Framework_nativeGetRouteJunctionPoints(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetRouteJunctionPoints(JNIEnv * env, jclass)
{
vector<m2::PointD> junctionPoints;
vector<geometry::PointWithAltitude> junctionPoints;
if (!frm()->GetRoutingManager().RoutingSession().GetRouteJunctionPoints(junctionPoints))
{
LOG(LWARNING, ("Can't get the route junction points"));
@@ -1308,7 +1308,7 @@ Java_app_organicmaps_Framework_nativeGetRouteJunctionPoints(JNIEnv * env, jclass
}
JNIEXPORT jintArray JNICALL
Java_app_organicmaps_Framework_nativeGenerateRouteAltitudeChartBits(JNIEnv * env, jclass, jint width, jint height, jobject routeAltitudeLimits)
Java_app_organicmaps_sdk_Framework_nativeGenerateRouteAltitudeChartBits(JNIEnv * env, jclass, jint width, jint height, jobject routeAltitudeLimits)
{
RoutingManager::DistanceAltitude altitudes;
if (!frm()->GetRoutingManager().GetRouteAltitudesAndDistancesM(altitudes))
@@ -1398,13 +1398,13 @@ Java_app_organicmaps_Framework_nativeGenerateRouteAltitudeChartBits(JNIEnv * env
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeShowCountry(JNIEnv * env, jclass, jstring countryId, jboolean zoomToDownloadButton)
Java_app_organicmaps_sdk_Framework_nativeShowCountry(JNIEnv * env, jclass, jstring countryId, jboolean zoomToDownloadButton)
{
g_framework->ShowNode(jni::ToNativeString(env, countryId), (bool) zoomToDownloadButton);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetRoutingListener(JNIEnv * env, jclass, jobject listener)
Java_app_organicmaps_sdk_Framework_nativeSetRoutingListener(JNIEnv * env, jclass, jobject listener)
{
CHECK(g_framework, ("Framework isn't created yet!"));
frm()->GetRoutingManager().SetRouteBuildingListener(
@@ -1414,7 +1414,7 @@ Java_app_organicmaps_Framework_nativeSetRoutingListener(JNIEnv * env, jclass, jo
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetRouteProgressListener(JNIEnv * env, jclass, jobject listener)
Java_app_organicmaps_sdk_Framework_nativeSetRouteProgressListener(JNIEnv * env, jclass, jobject listener)
{
CHECK(g_framework, ("Framework isn't created yet!"));
frm()->GetRoutingManager().SetRouteProgressListener(
@@ -1422,7 +1422,7 @@ Java_app_organicmaps_Framework_nativeSetRouteProgressListener(JNIEnv * env, jcla
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetRoutingRecommendationListener(JNIEnv * env, jclass,
Java_app_organicmaps_sdk_Framework_nativeSetRoutingRecommendationListener(JNIEnv * env, jclass,
jobject listener)
{
CHECK(g_framework, ("Framework isn't created yet!"));
@@ -1431,7 +1431,7 @@ Java_app_organicmaps_Framework_nativeSetRoutingRecommendationListener(JNIEnv * e
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetRoutingLoadPointsListener(
Java_app_organicmaps_sdk_Framework_nativeSetRoutingLoadPointsListener(
JNIEnv *, jclass, jobject listener)
{
CHECK(g_framework, ("Framework isn't created yet!"));
@@ -1442,19 +1442,19 @@ Java_app_organicmaps_Framework_nativeSetRoutingLoadPointsListener(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeDeactivatePopup(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeDeactivatePopup(JNIEnv * env, jclass)
{
return g_framework->DeactivatePopup();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeDeactivateMapSelectionCircle(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeDeactivateMapSelectionCircle(JNIEnv * env, jclass)
{
return g_framework->DeactivateMapSelectionCircle();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeAddRoutePoint(JNIEnv * env, jclass, jstring title,
Java_app_organicmaps_sdk_Framework_nativeAddRoutePoint(JNIEnv * env, jclass, jstring title,
jstring subtitle, jobject markType,
jint intermediateIndex,
jboolean isMyPosition,
@@ -1473,64 +1473,64 @@ Java_app_organicmaps_Framework_nativeAddRoutePoint(JNIEnv * env, jclass, jstring
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeRemoveRoutePoints(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeRemoveRoutePoints(JNIEnv * env, jclass)
{
frm()->GetRoutingManager().RemoveRoutePoints();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeRemoveRoutePoint(JNIEnv * env, jclass, jobject markType, jint intermediateIndex)
Java_app_organicmaps_sdk_Framework_nativeRemoveRoutePoint(JNIEnv * env, jclass, jobject markType, jint intermediateIndex)
{
frm()->GetRoutingManager().RemoveRoutePoint(GetRouteMarkType(env, markType),
static_cast<size_t>(intermediateIndex));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeRemoveIntermediateRoutePoints(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeRemoveIntermediateRoutePoints(JNIEnv * env, jclass)
{
frm()->GetRoutingManager().RemoveIntermediateRoutePoints();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeCouldAddIntermediatePoint(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeCouldAddIntermediatePoint(JNIEnv * env, jclass)
{
return frm()->GetRoutingManager().CouldAddIntermediatePoint();
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_Framework_nativeGetRoutePoints(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetRoutePoints(JNIEnv * env, jclass)
{
return CreateRouteMarkDataArray(env, frm()->GetRoutingManager().GetRoutePoints());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeMoveRoutePoint(JNIEnv * env, jclass,
Java_app_organicmaps_sdk_Framework_nativeMoveRoutePoint(JNIEnv * env, jclass,
jint currentIndex, jint targetIndex)
{
frm()->GetRoutingManager().MoveRoutePoint(currentIndex, targetIndex);
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetTransitRouteInfo(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetTransitRouteInfo(JNIEnv * env, jclass)
{
return CreateTransitRouteInfo(env, frm()->GetRoutingManager().GetTransitRouteInfo());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeReloadWorldMaps(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeReloadWorldMaps(JNIEnv * env, jclass)
{
g_framework->ReloadWorldMaps();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsDayTime(JNIEnv * env, jclass, jlong utcTimeSeconds, jdouble lat, jdouble lon)
Java_app_organicmaps_sdk_Framework_nativeIsDayTime(JNIEnv * env, jclass, jlong utcTimeSeconds, jdouble lat, jdouble lon)
{
DayTimeType const dt = GetDayTime(static_cast<time_t>(utcTimeSeconds), lat, lon);
return (dt == DayTimeType::Day || dt == DayTimeType::PolarDay);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSet3dMode(JNIEnv * env, jclass, jboolean allow, jboolean allowBuildings)
Java_app_organicmaps_sdk_Framework_nativeSet3dMode(JNIEnv * env, jclass, jboolean allow, jboolean allowBuildings)
{
bool const allow3d = static_cast<bool>(allow);
bool const allow3dBuildings = static_cast<bool>(allowBuildings);
@@ -1540,7 +1540,7 @@ Java_app_organicmaps_Framework_nativeSet3dMode(JNIEnv * env, jclass, jboolean al
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeGet3dMode(JNIEnv * env, jclass, jobject result)
Java_app_organicmaps_sdk_Framework_nativeGet3dMode(JNIEnv * env, jclass, jobject result)
{
bool enabled;
bool buildings;
@@ -1556,7 +1556,7 @@ Java_app_organicmaps_Framework_nativeGet3dMode(JNIEnv * env, jclass, jobject res
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetAutoZoomEnabled(JNIEnv * env, jclass, jboolean enabled)
Java_app_organicmaps_sdk_Framework_nativeSetAutoZoomEnabled(JNIEnv * env, jclass, jboolean enabled)
{
bool const autoZoomEnabled = static_cast<bool>(enabled);
frm()->SaveAutoZoom(autoZoomEnabled);
@@ -1564,19 +1564,19 @@ Java_app_organicmaps_Framework_nativeSetAutoZoomEnabled(JNIEnv * env, jclass, jb
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetTransitSchemeEnabled(JNIEnv * env, jclass, jboolean enabled)
Java_app_organicmaps_sdk_Framework_nativeSetTransitSchemeEnabled(JNIEnv * env, jclass, jboolean enabled)
{
frm()->GetTransitManager().EnableTransitSchemeMode(static_cast<bool>(enabled));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsTransitSchemeEnabled(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsTransitSchemeEnabled(JNIEnv * env, jclass)
{
return static_cast<jboolean>(frm()->LoadTransitSchemeEnabled());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetIsolinesLayerEnabled(JNIEnv * env, jclass, jboolean enabled)
Java_app_organicmaps_sdk_Framework_nativeSetIsolinesLayerEnabled(JNIEnv * env, jclass, jboolean enabled)
{
auto const isolinesEnabled = static_cast<bool>(enabled);
frm()->GetIsolinesManager().SetEnabled(isolinesEnabled);
@@ -1584,44 +1584,44 @@ Java_app_organicmaps_Framework_nativeSetIsolinesLayerEnabled(JNIEnv * env, jclas
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsIsolinesLayerEnabled(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsIsolinesLayerEnabled(JNIEnv * env, jclass)
{
return static_cast<jboolean>(frm()->LoadIsolinesEnabled());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetOutdoorsLayerEnabled(JNIEnv * env, jclass, jboolean enabled)
Java_app_organicmaps_sdk_Framework_nativeSetOutdoorsLayerEnabled(JNIEnv * env, jclass, jboolean enabled)
{
frm()->SaveOutdoorsEnabled(enabled);
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsOutdoorsLayerEnabled(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsOutdoorsLayerEnabled(JNIEnv * env, jclass)
{
return static_cast<jboolean>(frm()->LoadOutdoorsEnabled());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSaveSettingSchemeEnabled(JNIEnv * env, jclass, jboolean enabled)
Java_app_organicmaps_sdk_Framework_nativeSaveSettingSchemeEnabled(JNIEnv * env, jclass, jboolean enabled)
{
frm()->SaveTransitSchemeEnabled(static_cast<bool>(enabled));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeGetAutoZoomEnabled(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetAutoZoomEnabled(JNIEnv *, jclass)
{
return frm()->LoadAutoZoom();
}
// static void nativeZoomToPoint(double lat, double lon, int zoom, boolean animate);
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeZoomToPoint(JNIEnv * env, jclass, jdouble lat, jdouble lon, jint zoom, jboolean animate)
Java_app_organicmaps_sdk_Framework_nativeZoomToPoint(JNIEnv * env, jclass, jdouble lat, jdouble lon, jint zoom, jboolean animate)
{
g_framework->Scale(m2::PointD(mercator::FromLatLon(lat, lon)), zoom, animate);
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeDeleteBookmarkFromMapObject(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeDeleteBookmarkFromMapObject(JNIEnv * env, jclass)
{
if (!frm()->HasPlacePageInfo())
return nullptr;
@@ -1640,7 +1640,7 @@ Java_app_organicmaps_Framework_nativeDeleteBookmarkFromMapObject(JNIEnv * env, j
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetPoiContactUrl(JNIEnv *env, jclass, jint id)
Java_app_organicmaps_sdk_Framework_nativeGetPoiContactUrl(JNIEnv *env, jclass, jint id)
{
auto const metaID = static_cast<osm::MapObject::MetadataID>(id);
string_view const value = g_framework->GetPlacePageInfo().GetMetadata(metaID);
@@ -1650,14 +1650,14 @@ Java_app_organicmaps_Framework_nativeGetPoiContactUrl(JNIEnv *env, jclass, jint
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsDownloadedMapAtScreenCenter(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsDownloadedMapAtScreenCenter(JNIEnv *, jclass)
{
::Framework * fr = frm();
return storage::IsPointCoveredByDownloadedMaps(fr->GetViewportCenter(), fr->GetStorage(), fr->GetCountryInfoGetter());
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_Framework_nativeGetActiveObjectFormattedCuisine(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetActiveObjectFormattedCuisine(JNIEnv * env, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
@@ -1667,75 +1667,75 @@ Java_app_organicmaps_Framework_nativeGetActiveObjectFormattedCuisine(JNIEnv * en
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetVisibleRect(JNIEnv * env, jclass, jint left, jint top, jint right, jint bottom)
Java_app_organicmaps_sdk_Framework_nativeSetVisibleRect(JNIEnv * env, jclass, jint left, jint top, jint right, jint bottom)
{
frm()->SetVisibleViewport(m2::RectD(left, top, right, bottom));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeIsRouteFinished(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeIsRouteFinished(JNIEnv * env, jclass)
{
return frm()->GetRoutingManager().IsRouteFinished();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeRunFirstLaunchAnimation(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeRunFirstLaunchAnimation(JNIEnv * env, jclass)
{
frm()->RunFirstLaunchAnimation();
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_Framework_nativeOpenRoutePointsTransaction(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeOpenRoutePointsTransaction(JNIEnv * env, jclass)
{
return frm()->GetRoutingManager().OpenRoutePointsTransaction();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeApplyRoutePointsTransaction(JNIEnv * env, jclass,
Java_app_organicmaps_sdk_Framework_nativeApplyRoutePointsTransaction(JNIEnv * env, jclass,
jint transactionId)
{
frm()->GetRoutingManager().ApplyRoutePointsTransaction(transactionId);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeCancelRoutePointsTransaction(JNIEnv * env, jclass,
Java_app_organicmaps_sdk_Framework_nativeCancelRoutePointsTransaction(JNIEnv * env, jclass,
jint transactionId)
{
frm()->GetRoutingManager().CancelRoutePointsTransaction(transactionId);
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_Framework_nativeInvalidRoutePointsTransactionId(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Framework_nativeInvalidRoutePointsTransactionId(JNIEnv * env, jclass)
{
return frm()->GetRoutingManager().InvalidRoutePointsTransactionId();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeHasSavedRoutePoints(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeHasSavedRoutePoints(JNIEnv *, jclass)
{
return frm()->GetRoutingManager().HasSavedRoutePoints();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeLoadRoutePoints(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeLoadRoutePoints(JNIEnv *, jclass)
{
frm()->GetRoutingManager().LoadRoutePoints(g_loadRouteHandler);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSaveRoutePoints(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeSaveRoutePoints(JNIEnv *, jclass)
{
frm()->GetRoutingManager().SaveRoutePoints();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeDeleteSavedRoutePoints(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeDeleteSavedRoutePoints(JNIEnv *, jclass)
{
frm()->GetRoutingManager().DeleteSavedRoutePoints();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeShowFeature(JNIEnv * env, jclass, jobject featureId)
Java_app_organicmaps_sdk_Framework_nativeShowFeature(JNIEnv * env, jclass, jobject featureId)
{
auto const f = g_framework->BuildFeatureId(env, featureId);
@@ -1744,13 +1744,13 @@ Java_app_organicmaps_Framework_nativeShowFeature(JNIEnv * env, jclass, jobject f
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeMakeCrash(JNIEnv *env, jclass type)
Java_app_organicmaps_sdk_Framework_nativeMakeCrash(JNIEnv *env, jclass type)
{
CHECK(false, ("Diagnostic native crash!"));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetPowerManagerFacility(JNIEnv *, jclass,
Java_app_organicmaps_sdk_Framework_nativeSetPowerManagerFacility(JNIEnv *, jclass,
jint facilityType, jboolean state)
{
frm()->GetPowerManager().SetFacility(static_cast<power_management::Facility>(facilityType),
@@ -1758,32 +1758,32 @@ Java_app_organicmaps_Framework_nativeSetPowerManagerFacility(JNIEnv *, jclass,
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_Framework_nativeGetPowerManagerScheme(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeGetPowerManagerScheme(JNIEnv *, jclass)
{
return static_cast<jint>(frm()->GetPowerManager().GetScheme());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetPowerManagerScheme(JNIEnv *, jclass, jint schemeType)
Java_app_organicmaps_sdk_Framework_nativeSetPowerManagerScheme(JNIEnv *, jclass, jint schemeType)
{
frm()->GetPowerManager().SetScheme(static_cast<power_management::Scheme>(schemeType));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetViewportCenter(JNIEnv *, jclass, jdouble lat, jdouble lon, jint zoom)
Java_app_organicmaps_sdk_Framework_nativeSetViewportCenter(JNIEnv *, jclass, jdouble lat, jdouble lon, jint zoom)
{
// isAnim = true because of previous nativeSetChoosePositionMode animations.
frm()->SetViewportCenter(mercator::FromLatLon(lat, lon), static_cast<int>(zoom), true /* isAnim */);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeStopLocationFollow(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeStopLocationFollow(JNIEnv *, jclass)
{
frm()->StopLocationFollow();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeSetSearchViewport(JNIEnv *, jclass, jdouble lat,
Java_app_organicmaps_sdk_Framework_nativeSetSearchViewport(JNIEnv *, jclass, jdouble lat,
jdouble lon, jint zoom)
{
auto const center = mercator::FromLatLon(static_cast<double>(lat),
@@ -1793,85 +1793,15 @@ Java_app_organicmaps_Framework_nativeSetSearchViewport(JNIEnv *, jclass, jdouble
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeHasPlacePageInfo(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeHasPlacePageInfo(JNIEnv *, jclass)
{
return static_cast<jboolean>(frm()->HasPlacePageInfo());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeMemoryWarning(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Framework_nativeMemoryWarning(JNIEnv *, jclass)
{
return frm()->MemoryWarning();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Framework_nativeShouldShowProducts(JNIEnv * env, jclass)
{
return frm()->ShouldShowProducts();
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_Framework_nativeGetProductsConfiguration(JNIEnv * env, jclass)
{
auto config = frm()->GetProductsConfiguration();
if (!config) return nullptr;
static jclass const productClass = jni::GetGlobalClassRef(
env,
"app/organicmaps/products/Product"
);
static jmethodID const productConstructor = jni::GetConstructorID(
env,
productClass,
"(Ljava/lang/String;Ljava/lang/String;)V"
);
jobjectArray products = jni::ToJavaArray(
env,
productClass,
config->GetProducts(),
[](JNIEnv * env, products::ProductsConfig::Product const & product)
{
jni::TScopedLocalRef const title(env, jni::ToJavaString(env, product.GetTitle()));
jni::TScopedLocalRef const link(env, jni::ToJavaString(env, product.GetLink()));
return env->NewObject(
productClass,
productConstructor,
title.get(),
link.get()
);
});
static jclass const productsConfigClass = jni::GetGlobalClassRef(
env,
"app/organicmaps/products/ProductsConfig"
);
static jmethodID const productsConfigConstructor = jni::GetConstructorID(
env,
productsConfigClass,
"(Ljava/lang/String;[Lapp/organicmaps/products/Product;)V"
);
jni::TScopedLocalRef const placePagePrompt(env, jni::ToJavaString(env, config->GetPlacePagePrompt()));
return env->NewObject(productsConfigClass, productsConfigConstructor, placePagePrompt.get(), products);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeDidCloseProductsPopup(JNIEnv * env, jclass, jstring reason)
{
frm()->DidCloseProductsPopup(frm()->FromString(jni::ToNativeString(env, reason)));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Framework_nativeDidSelectProduct(JNIEnv * env, jclass, jstring title, jstring link)
{
products::ProductsConfig::Product product(
jni::ToNativeString(env, title),
jni::ToNativeString(env, link)
);
frm()->DidSelectProduct(product);
}
} // extern "C"

View File

@@ -1,9 +1,9 @@
#include "Framework.hpp"
#include "map/gps_tracker.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/platform/AndroidPlatform.hpp"
extern "C"
{
@@ -18,7 +18,7 @@ static void LocationStateModeChanged(location::EMyPositionMode mode,
// public static void nativeSwitchToNextMode();
JNIEXPORT void JNICALL
Java_app_organicmaps_location_LocationState_nativeSwitchToNextMode(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_LocationState_nativeSwitchToNextMode(JNIEnv * env, jclass clazz)
{
ASSERT(g_framework, ());
g_framework->SwitchMyPositionNextMode();
@@ -26,7 +26,7 @@ Java_app_organicmaps_location_LocationState_nativeSwitchToNextMode(JNIEnv * env,
// private static int nativeGetMode();
JNIEXPORT jint JNICALL
Java_app_organicmaps_location_LocationState_nativeGetMode(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_LocationState_nativeGetMode(JNIEnv * env, jclass clazz)
{
// GetMyPositionMode() is initialized only after drape creation.
// https://github.com/organicmaps/organicmaps/issues/1128#issuecomment-1784435190
@@ -36,7 +36,7 @@ Java_app_organicmaps_location_LocationState_nativeGetMode(JNIEnv * env, jclass c
// public static void nativeSetListener(ModeChangeListener listener);
JNIEXPORT void JNICALL
Java_app_organicmaps_location_LocationState_nativeSetListener(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_location_LocationState_nativeSetListener(JNIEnv * env, jclass clazz,
jobject listener)
{
ASSERT(g_framework, ());
@@ -46,21 +46,21 @@ Java_app_organicmaps_location_LocationState_nativeSetListener(JNIEnv * env, jcla
// public static void nativeRemoveListener();
JNIEXPORT void JNICALL
Java_app_organicmaps_location_LocationState_nativeRemoveListener(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_LocationState_nativeRemoveListener(JNIEnv * env, jclass clazz)
{
ASSERT(g_framework, ());
g_framework->SetMyPositionModeListener(location::TMyPositionModeChanged());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_location_LocationState_nativeOnLocationError(JNIEnv * env, jclass clazz, int errorCode)
Java_app_organicmaps_sdk_location_LocationState_nativeOnLocationError(JNIEnv * env, jclass clazz, int errorCode)
{
ASSERT(g_framework, ());
g_framework->OnLocationError(errorCode);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_location_LocationState_nativeLocationUpdated(JNIEnv * env, jclass clazz, jlong time,
Java_app_organicmaps_sdk_location_LocationState_nativeLocationUpdated(JNIEnv * env, jclass clazz, jlong time,
jdouble lat, jdouble lon, jfloat accuracy,
jdouble altitude, jfloat speed, jfloat bearing)
{

View File

@@ -1,8 +1,8 @@
#include "Framework.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/platform/AndroidPlatform.hpp"
#include "storage/storage_defines.hpp"
@@ -23,7 +23,7 @@ void OnRenderingInitializationFinished(std::shared_ptr<jobject> const & listener
extern "C"
{
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Map_nativeCreateEngine(JNIEnv * env, jclass,
Java_app_organicmaps_sdk_Map_nativeCreateEngine(JNIEnv * env, jclass,
jobject surface, jint density,
jboolean firstLaunch,
jboolean isLaunchByDeepLink,
@@ -35,25 +35,25 @@ Java_app_organicmaps_Map_nativeCreateEngine(JNIEnv * env, jclass,
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Map_nativeIsEngineCreated(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeIsEngineCreated(JNIEnv *, jclass)
{
return g_framework->IsDrapeEngineCreated();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeUpdateEngineDpi(JNIEnv *, jclass, jint dpi)
Java_app_organicmaps_sdk_Map_nativeUpdateEngineDpi(JNIEnv *, jclass, jint dpi)
{
return g_framework->UpdateDpi(dpi);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeExecuteMapApiRequest(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_Map_nativeExecuteMapApiRequest(JNIEnv * env, jclass)
{
return g_framework->ExecuteMapApiRequest();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeSetRenderingInitializationFinishedListener(
Java_app_organicmaps_sdk_Map_nativeSetRenderingInitializationFinishedListener(
JNIEnv *, jclass, jobject listener)
{
if (listener)
@@ -68,68 +68,68 @@ Java_app_organicmaps_Map_nativeSetRenderingInitializationFinishedListener(
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Map_nativeAttachSurface(JNIEnv * env, jclass, jobject surface)
Java_app_organicmaps_sdk_Map_nativeAttachSurface(JNIEnv * env, jclass, jobject surface)
{
return g_framework->AttachSurface(env, surface);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeDetachSurface(JNIEnv *, jclass, jboolean destroySurface)
Java_app_organicmaps_sdk_Map_nativeDetachSurface(JNIEnv *, jclass, jboolean destroySurface)
{
g_framework->DetachSurface(destroySurface);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeSurfaceChanged(JNIEnv * env, jclass, jobject surface, jint w, jint h)
Java_app_organicmaps_sdk_Map_nativeSurfaceChanged(JNIEnv * env, jclass, jobject surface, jint w, jint h)
{
g_framework->Resize(env, surface, w, h);
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_Map_nativeDestroySurfaceOnDetach(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeDestroySurfaceOnDetach(JNIEnv *, jclass)
{
return g_framework->DestroySurfaceOnDetach();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativePauseSurfaceRendering(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativePauseSurfaceRendering(JNIEnv *, jclass)
{
g_framework->PauseSurfaceRendering();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeResumeSurfaceRendering(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeResumeSurfaceRendering(JNIEnv *, jclass)
{
g_framework->ResumeSurfaceRendering();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeUpdateMyPositionRoutingOffset(JNIEnv * env, jclass clazz, int offsetY)
Java_app_organicmaps_sdk_Map_nativeUpdateMyPositionRoutingOffset(JNIEnv * env, jclass clazz, int offsetY)
{
g_framework->UpdateMyPositionRoutingOffset(offsetY);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeApplyWidgets(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeApplyWidgets(JNIEnv *, jclass)
{
g_framework->ApplyWidgets();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeCleanWidgets(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeCleanWidgets(JNIEnv *, jclass)
{
g_framework->CleanWidgets();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeSetupWidget(
Java_app_organicmaps_sdk_Map_nativeSetupWidget(
JNIEnv *, jclass, jint widget, jfloat x, jfloat y, jint anchor)
{
g_framework->SetupWidget(static_cast<gui::EWidget>(widget), x, y, static_cast<dp::Anchor>(anchor));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeCompassUpdated(JNIEnv *, jclass, jdouble north, jboolean forceRedraw)
Java_app_organicmaps_sdk_Map_nativeCompassUpdated(JNIEnv *, jclass, jdouble north, jboolean forceRedraw)
{
location::CompassInfo info;
info.m_bearing = north;
@@ -138,33 +138,33 @@ Java_app_organicmaps_Map_nativeCompassUpdated(JNIEnv *, jclass, jdouble north, j
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeScalePlus(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeScalePlus(JNIEnv *, jclass)
{
g_framework->Scale(::Framework::SCALE_MAG);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeScaleMinus(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeScaleMinus(JNIEnv *, jclass)
{
g_framework->Scale(::Framework::SCALE_MIN);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeOnScroll(
Java_app_organicmaps_sdk_Map_nativeOnScroll(
JNIEnv *, jclass, jdouble distanceX, jdouble distanceY)
{
g_framework->Scroll(distanceX, distanceY);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeOnScale(
Java_app_organicmaps_sdk_Map_nativeOnScale(
JNIEnv *, jclass, jdouble factor, jdouble focusX, jdouble focusY, jboolean isAnim)
{
g_framework->Scale(factor, {focusX, focusY}, isAnim);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeOnTouch(JNIEnv *, jclass, jint action,
Java_app_organicmaps_sdk_Map_nativeOnTouch(JNIEnv *, jclass, jint action,
jint id1, jfloat x1, jfloat y1,
jint id2, jfloat x2, jfloat y2,
jint maskedPointer)
@@ -175,14 +175,14 @@ Java_app_organicmaps_Map_nativeOnTouch(JNIEnv *, jclass, jint action,
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeStorageConnected(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeStorageConnected(JNIEnv *, jclass)
{
android::Platform::Instance().OnExternalStorageStatusChanged(true);
g_framework->AddLocalMaps();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_Map_nativeStorageDisconnected(JNIEnv *, jclass)
Java_app_organicmaps_sdk_Map_nativeStorageDisconnected(JNIEnv *, jclass)
{
android::Platform::Instance().OnExternalStorageStatusChanged(false);
g_framework->RemoveLocalMaps();

View File

@@ -1,7 +1,7 @@
#include "Framework.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/core/jni_java_methods.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_java_methods.hpp"
#include "coding/internal/file_data.hpp"
@@ -70,7 +70,7 @@ struct CountryItemBuilder
CountryItemBuilder(JNIEnv *env)
{
m_class = jni::GetGlobalClassRef(env, "app/organicmaps/downloader/CountryItem");
m_class = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/downloader/CountryItem");
m_ctor = jni::GetConstructorID(env, m_class, "(Ljava/lang/String;)V");
m_Id = env->GetFieldID(m_class, "id", "Ljava/lang/String;");
@@ -112,55 +112,55 @@ extern "C"
// static String nativeGetRoot();
JNIEXPORT jstring JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetRoot(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetRoot(JNIEnv * env, jclass clazz)
{
return jni::ToJavaString(env, GetStorage().GetRootId());
}
// static boolean nativeMoveFile(String oldFile, String newFile);
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeMoveFile(JNIEnv * env, jclass clazz, jstring oldFile, jstring newFile)
Java_app_organicmaps_sdk_downloader_MapManager_nativeMoveFile(JNIEnv * env, jclass clazz, jstring oldFile, jstring newFile)
{
return base::MoveFileX(jni::ToNativeString(env, oldFile), jni::ToNativeString(env, newFile));
}
// static boolean nativeHasSpaceToDownloadAmount(long bytes);
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeHasSpaceToDownloadAmount(JNIEnv * env, jclass clazz, jlong bytes)
Java_app_organicmaps_sdk_downloader_MapManager_nativeHasSpaceToDownloadAmount(JNIEnv * env, jclass clazz, jlong bytes)
{
return storage::IsEnoughSpaceForDownload(bytes);
}
// static boolean nativeHasSpaceToDownloadCountry(String root);
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeHasSpaceToDownloadCountry(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeHasSpaceToDownloadCountry(JNIEnv * env, jclass clazz, jstring root)
{
return storage::IsEnoughSpaceForDownload(jni::ToNativeString(env, root), GetStorage());
}
// static boolean nativeHasSpaceToUpdate(String root);
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeHasSpaceToUpdate(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeHasSpaceToUpdate(JNIEnv * env, jclass clazz, jstring root)
{
return IsEnoughSpaceForUpdate(jni::ToNativeString(env, root), GetStorage());
}
// static int nativeGetDownloadedCount();
JNIEXPORT jint JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetDownloadedCount(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetDownloadedCount(JNIEnv * env, jclass clazz)
{
return static_cast<jint>(GetStorage().GetDownloadedFilesCount());
}
// static @Nullable UpdateInfo nativeGetUpdateInfo(@Nullable String root);
JNIEXPORT jobject JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetUpdateInfo(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetUpdateInfo(JNIEnv * env, jclass clazz, jstring root)
{
storage::Storage::UpdateInfo info;
if (!GetStorage().GetUpdateInfo(GetRootId(env, root), info))
return nullptr;
static jclass const infoClass = jni::GetGlobalClassRef(env, "app/organicmaps/downloader/UpdateInfo");
static jclass const infoClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/downloader/UpdateInfo");
ASSERT(infoClass, (jni::DescribeException()));
static jmethodID const ctor = jni::GetConstructorID(env, infoClass, "(IJ)V");
ASSERT(ctor, (jni::DescribeException()));
@@ -269,7 +269,7 @@ static void PutItemsToList(
// static void nativeListItems(@Nullable String root, double lat, double lon, boolean hasLocation, boolean myMapsMode, List<CountryItem> result);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeListItems(JNIEnv * env, jclass clazz, jstring parent, jdouble lat, jdouble lon, jboolean hasLocation, jboolean myMapsMode, jobject result)
Java_app_organicmaps_sdk_downloader_MapManager_nativeListItems(JNIEnv * env, jclass clazz, jstring parent, jdouble lat, jdouble lon, jboolean hasLocation, jboolean myMapsMode, jobject result)
{
if (hasLocation && !myMapsMode)
{
@@ -292,7 +292,7 @@ Java_app_organicmaps_downloader_MapManager_nativeListItems(JNIEnv * env, jclass
// static void nativeUpdateItem(CountryItem item);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetAttributes(JNIEnv * env, jclass, jobject item)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetAttributes(JNIEnv * env, jclass, jobject item)
{
auto const & ciBuilder = CountryItemBuilder::Instance(env);
jstring id = static_cast<jstring>(env->GetObjectField(item, ciBuilder.m_Id));
@@ -305,7 +305,7 @@ Java_app_organicmaps_downloader_MapManager_nativeGetAttributes(JNIEnv * env, jcl
// static void nativeGetStatus(String root);
JNIEXPORT jint JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetStatus(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetStatus(JNIEnv * env, jclass clazz, jstring root)
{
storage::NodeStatuses ns;
GetStorage().GetNodeStatuses(jni::ToNativeString(env, root), ns);
@@ -314,7 +314,7 @@ Java_app_organicmaps_downloader_MapManager_nativeGetStatus(JNIEnv * env, jclass
// static void nativeGetError(String root);
JNIEXPORT jint JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetError(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetError(JNIEnv * env, jclass clazz, jstring root)
{
storage::NodeStatuses ns;
GetStorage().GetNodeStatuses(jni::ToNativeString(env, root), ns);
@@ -323,21 +323,21 @@ Java_app_organicmaps_downloader_MapManager_nativeGetError(JNIEnv * env, jclass c
// static String nativeGetName(String root);
JNIEXPORT jstring JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetName(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetName(JNIEnv * env, jclass clazz, jstring root)
{
return jni::ToJavaString(env, GetStorage().GetNodeLocalName(jni::ToNativeString(env, root)));
}
// static @Nullable String nativeFindCountry(double lat, double lon);
JNIEXPORT jstring JNICALL
Java_app_organicmaps_downloader_MapManager_nativeFindCountry(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon)
Java_app_organicmaps_sdk_downloader_MapManager_nativeFindCountry(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon)
{
return jni::ToJavaString(env, g_framework->NativeFramework()->GetCountryInfoGetter().GetRegionCountryId(mercator::FromLatLon(lat, lon)));
}
// static boolean nativeIsDownloading();
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeIsDownloading(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeIsDownloading(JNIEnv * env, jclass clazz)
{
return static_cast<jboolean>(GetStorage().IsDownloadInProgress());
}
@@ -365,7 +365,7 @@ static void EndBatchingCallbacks(JNIEnv * env)
for (TBatchedData const & dataItem : key.second)
{
// Create StorageCallbackData instance…
static jclass batchDataClass = jni::GetGlobalClassRef(env, "app/organicmaps/downloader/MapManager$StorageCallbackData");
static jclass batchDataClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/downloader/MapManager$StorageCallbackData");
static jmethodID batchDataCtor = jni::GetConstructorID(env, batchDataClass, "(Ljava/lang/String;IIZ)V");
jni::TScopedLocalRef const id(env, jni::ToJavaString(env, dataItem.m_countryId));
@@ -388,7 +388,7 @@ static void EndBatchingCallbacks(JNIEnv * env)
// static void nativeDownload(String root);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeDownload(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeDownload(JNIEnv * env, jclass clazz, jstring root)
{
StartBatchingCallbacks();
GetStorage().DownloadNode(jni::ToNativeString(env, root));
@@ -397,7 +397,7 @@ Java_app_organicmaps_downloader_MapManager_nativeDownload(JNIEnv * env, jclass c
// static boolean nativeRetry(String root);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeRetry(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeRetry(JNIEnv * env, jclass clazz, jstring root)
{
StartBatchingCallbacks();
GetStorage().RetryDownloadNode(jni::ToNativeString(env, root));
@@ -406,7 +406,7 @@ Java_app_organicmaps_downloader_MapManager_nativeRetry(JNIEnv * env, jclass claz
// static void nativeUpdate(String root);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeUpdate(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeUpdate(JNIEnv * env, jclass clazz, jstring root)
{
StartBatchingCallbacks();
GetStorage().UpdateNode(GetRootId(env, root));
@@ -415,7 +415,7 @@ Java_app_organicmaps_downloader_MapManager_nativeUpdate(JNIEnv * env, jclass cla
// static void nativeCancel(String root);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeCancel(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeCancel(JNIEnv * env, jclass clazz, jstring root)
{
StartBatchingCallbacks();
GetStorage().CancelDownloadNode(GetRootId(env, root));
@@ -424,7 +424,7 @@ Java_app_organicmaps_downloader_MapManager_nativeCancel(JNIEnv * env, jclass cla
// static void nativeDelete(String root);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeDelete(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeDelete(JNIEnv * env, jclass clazz, jstring root)
{
StartBatchingCallbacks();
auto const countryId = jni::ToNativeString(env, root);
@@ -457,7 +457,7 @@ static void ProgressChangedCallback(std::shared_ptr<jobject> const & listenerRef
// static int nativeSubscribe(StorageCallback listener);
JNIEXPORT jint JNICALL
Java_app_organicmaps_downloader_MapManager_nativeSubscribe(JNIEnv * env, jclass clazz, jobject listener)
Java_app_organicmaps_sdk_downloader_MapManager_nativeSubscribe(JNIEnv * env, jclass clazz, jobject listener)
{
return GetStorage().Subscribe(std::bind(&StatusChangedCallback, jni::make_global_ref(listener), std::placeholders::_1),
std::bind(&ProgressChangedCallback, jni::make_global_ref(listener), std::placeholders::_1, std::placeholders::_2));
@@ -465,14 +465,14 @@ Java_app_organicmaps_downloader_MapManager_nativeSubscribe(JNIEnv * env, jclass
// static void nativeUnsubscribe(int slot);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeUnsubscribe(JNIEnv * env, jclass clazz, jint slot)
Java_app_organicmaps_sdk_downloader_MapManager_nativeUnsubscribe(JNIEnv * env, jclass clazz, jint slot)
{
GetStorage().Unsubscribe(slot);
}
// static void nativeSubscribeOnCountryChanged(CurrentCountryChangedListener listener);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeSubscribeOnCountryChanged(JNIEnv * env, jclass clazz, jobject listener)
Java_app_organicmaps_sdk_downloader_MapManager_nativeSubscribeOnCountryChanged(JNIEnv * env, jclass clazz, jobject listener)
{
ASSERT(!g_countryChangedListener, ());
g_countryChangedListener = env->NewGlobalRef(listener);
@@ -492,7 +492,7 @@ Java_app_organicmaps_downloader_MapManager_nativeSubscribeOnCountryChanged(JNIEn
// static void nativeUnsubscribeOnCountryChanged();
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeUnsubscribeOnCountryChanged(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeUnsubscribeOnCountryChanged(JNIEnv * env, jclass clazz)
{
g_framework->NativeFramework()->SetCurrentCountryChangedListener(nullptr);
@@ -502,14 +502,14 @@ Java_app_organicmaps_downloader_MapManager_nativeUnsubscribeOnCountryChanged(JNI
// static boolean nativeHasUnsavedEditorChanges(String root);
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeHasUnsavedEditorChanges(JNIEnv * env, jclass clazz, jstring root)
Java_app_organicmaps_sdk_downloader_MapManager_nativeHasUnsavedEditorChanges(JNIEnv * env, jclass clazz, jstring root)
{
return g_framework->NativeFramework()->HasUnsavedEdits(jni::ToNativeString(env, root));
}
// static void nativeGetPathTo(String root, List<String> result);
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetPathTo(JNIEnv * env, jclass clazz, jstring root, jobject result)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetPathTo(JNIEnv * env, jclass clazz, jstring root, jobject result)
{
auto const listAddMethod = jni::ListBuilder::Instance(env).m_add;
@@ -521,7 +521,7 @@ Java_app_organicmaps_downloader_MapManager_nativeGetPathTo(JNIEnv * env, jclass
// static int nativeGetOverallProgress(String[] countries);
JNIEXPORT jint JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetOverallProgress(JNIEnv * env, jclass clazz, jobjectArray jcountries)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetOverallProgress(JNIEnv * env, jclass clazz, jobjectArray jcountries)
{
int const size = env->GetArrayLength(jcountries);
storage::CountriesVec countries;
@@ -544,28 +544,28 @@ Java_app_organicmaps_downloader_MapManager_nativeGetOverallProgress(JNIEnv * env
// static boolean nativeIsAutoretryFailed();
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeIsAutoretryFailed(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeIsAutoretryFailed(JNIEnv * env, jclass clazz)
{
return g_framework->IsAutoRetryDownloadFailed();
}
// static boolean nativeIsDownloadOn3gEnabled();
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_downloader_MapManager_nativeIsDownloadOn3gEnabled(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeIsDownloadOn3gEnabled(JNIEnv * env, jclass clazz)
{
return g_framework->IsDownloadOn3gEnabled();
}
// static void nativeEnableDownloadOn3g();
JNIEXPORT void JNICALL
Java_app_organicmaps_downloader_MapManager_nativeEnableDownloadOn3g(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeEnableDownloadOn3g(JNIEnv * env, jclass clazz)
{
g_framework->EnableDownloadOn3g();
}
// static @Nullable String nativeGetSelectedCountry();
JNIEXPORT jstring JNICALL
Java_app_organicmaps_downloader_MapManager_nativeGetSelectedCountry(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_downloader_MapManager_nativeGetSelectedCountry(JNIEnv * env, jclass clazz)
{
if (!g_framework->NativeFramework()->HasPlacePageInfo())
return nullptr;

View File

@@ -1,6 +1,6 @@
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "indexer/map_style.hpp"

View File

@@ -1,8 +1,8 @@
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "app/organicmaps/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/platform/AndroidPlatform.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
extern "C"
{

View File

@@ -1,6 +1,6 @@
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "indexer/map_style.hpp"
@@ -17,7 +17,7 @@ JNIEXPORT void JNICALL Java_app_organicmaps_sdk_Router_nativeSet(JNIEnv *, jclas
case 2: type = Type::Bicycle; break;
case 3: type = Type::Transit; break;
case 4: type = Type::Ruler; break;
default: assert(false); break;
default: ASSERT(false, (routerType)); return;
}
frm()->GetRoutingManager().SetRouter(type);
}

View File

@@ -2,14 +2,14 @@
#include "map/gps_tracker.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include <chrono>
extern "C"
{
JNIEXPORT void JNICALL
Java_app_organicmaps_location_TrackRecorder_nativeSetEnabled(JNIEnv * env, jclass clazz, jboolean enable)
Java_app_organicmaps_sdk_location_TrackRecorder_nativeSetEnabled(JNIEnv * env, jclass clazz, jboolean enable)
{
GpsTracker::Instance().SetEnabled(enable);
Framework * const f = frm();
@@ -22,37 +22,37 @@ extern "C"
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_location_TrackRecorder_nativeIsEnabled(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_TrackRecorder_nativeIsEnabled(JNIEnv * env, jclass clazz)
{
return GpsTracker::Instance().IsEnabled();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_location_TrackRecorder_nativeStartTrackRecording(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_TrackRecorder_nativeStartTrackRecording(JNIEnv * env, jclass clazz)
{
frm()->StartTrackRecording();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_location_TrackRecorder_nativeStopTrackRecording(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_TrackRecorder_nativeStopTrackRecording(JNIEnv * env, jclass clazz)
{
frm()->StopTrackRecording();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_location_TrackRecorder_nativeSaveTrackRecordingWithName(JNIEnv * env, jclass clazz, jstring name)
Java_app_organicmaps_sdk_location_TrackRecorder_nativeSaveTrackRecordingWithName(JNIEnv * env, jclass clazz, jstring name)
{
frm()->SaveTrackRecordingWithName(jni::ToNativeString(env, name));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_location_TrackRecorder_nativeIsTrackRecordingEmpty(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_TrackRecorder_nativeIsTrackRecordingEmpty(JNIEnv * env, jclass clazz)
{
return frm()->IsTrackRecordingEmpty();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_location_TrackRecorder_nativeIsTrackRecordingEnabled(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_location_TrackRecorder_nativeIsTrackRecordingEnabled(JNIEnv * env, jclass clazz)
{
return frm()->IsTrackRecordingEnabled();
}

View File

@@ -1,8 +1,8 @@
#include "Framework.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/platform/AndroidPlatform.hpp"
extern "C"
{
@@ -13,35 +13,35 @@ static void TrafficStateChanged(TrafficManager::TrafficState state, std::shared_
}
JNIEXPORT void JNICALL
Java_app_organicmaps_maplayer_traffic_TrafficState_nativeSetListener(JNIEnv * env, jclass clazz, jobject listener)
Java_app_organicmaps_sdk_maplayer_traffic_TrafficState_nativeSetListener(JNIEnv * env, jclass clazz, jobject listener)
{
CHECK(g_framework, ("Framework isn't created yet!"));
g_framework->SetTrafficStateListener(std::bind(&TrafficStateChanged, std::placeholders::_1, jni::make_global_ref(listener)));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_maplayer_traffic_TrafficState_nativeRemoveListener(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_maplayer_traffic_TrafficState_nativeRemoveListener(JNIEnv * env, jclass clazz)
{
CHECK(g_framework, ("Framework isn't created yet!"));
g_framework->SetTrafficStateListener(TrafficManager::TrafficStateChangedFn());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_maplayer_traffic_TrafficState_nativeEnable(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_maplayer_traffic_TrafficState_nativeEnable(JNIEnv * env, jclass clazz)
{
CHECK(g_framework, ("Framework isn't created yet!"));
g_framework->EnableTraffic();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_maplayer_traffic_TrafficState_nativeIsEnabled(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_maplayer_traffic_TrafficState_nativeIsEnabled(JNIEnv * env, jclass clazz)
{
CHECK(g_framework, ("Framework isn't created yet!"));
return static_cast<jboolean>(g_framework->IsTrafficEnabled());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_maplayer_traffic_TrafficState_nativeDisable(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_maplayer_traffic_TrafficState_nativeDisable(JNIEnv * env, jclass clazz)
{
CHECK(g_framework, ("Framework isn't created yet!"));
g_framework->DisableTraffic();

View File

@@ -49,7 +49,7 @@ jobject CreateMapObject(JNIEnv * env, place_page::Info const & info, int mapObje
static jmethodID const ctorId = jni::GetConstructorID(
env, g_mapObjectClazz,
"("
"Lapp/organicmaps/bookmarks/data/FeatureId;" // featureId
"Lapp/organicmaps/sdk/bookmarks/data/FeatureId;" // featureId
"I" // mapObjectType
"Ljava/lang/String;" // title
"Ljava/lang/String;" // secondaryTitle
@@ -104,7 +104,7 @@ jobject CreateBookmark(JNIEnv *env, const place_page::Info &info,
// @Nullable String[] rawTypes)
static jmethodID const ctorId =
jni::GetConstructorID(env, g_bookmarkClazz,
"(Lapp/organicmaps/bookmarks/data/FeatureId;JJLjava/lang/String;"
"(Lapp/organicmaps/sdk/bookmarks/data/FeatureId;JJLjava/lang/String;"
"Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;"
"Lapp/organicmaps/sdk/routing/RoutePointInfo;"
"ILapp/organicmaps/sdk/search/Popularity;Ljava/lang/String;"
@@ -137,7 +137,7 @@ jobject CreateBookmark(JNIEnv *env, const place_page::Info &info,
jobject CreateElevationPoint(JNIEnv * env, ElevationInfo::Point const & point)
{
static jclass const pointClass =
jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/ElevationInfo$Point");
jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/ElevationInfo$Point");
// public Point(double distance, int altitude)
static jmethodID const pointCtorId =
jni::GetConstructorID(env, pointClass, "(DI)V");
@@ -149,7 +149,7 @@ jobjectArray ToElevationPointArray(JNIEnv * env, ElevationInfo::Points const & p
{
CHECK(!points.empty(), ("Elevation points must be non empty!"));
static jclass const pointClass =
jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/ElevationInfo$Point");
jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/ElevationInfo$Point");
return jni::ToJavaArray(env, pointClass, points,
[](JNIEnv * env, ElevationInfo::Point const & item)
{
@@ -164,7 +164,7 @@ jobject CreateElevationInfo(JNIEnv * env, ElevationInfo const & info)
// long m_duration)
static jmethodID const ctorId =
jni::GetConstructorID(env, g_elevationInfoClazz, "(JLjava/lang/String;Ljava/lang/String;"
"[Lapp/organicmaps/bookmarks/data/ElevationInfo$Point;"
"[Lapp/organicmaps/sdk/bookmarks/data/ElevationInfo$Point;"
"IIIIIJ)V");
jni::TScopedLocalObjectArrayRef jPoints(env, ToElevationPointArray(env, info.GetPoints()));
// TODO (KK): elevation info should have only the elevation data - see the https://github.com/organicmaps/organicmaps/pull/10063

View File

@@ -2,8 +2,8 @@
#include <jni.h>
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include <vector>

View File

@@ -1,7 +1,7 @@
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/UserMarkHelper.hpp"
#include "app/organicmaps/util/Distance.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "app/organicmaps/sdk/UserMarkHelper.hpp"
#include "app/organicmaps/sdk/util/Distance.hpp"
#include "map/bookmark_helpers.hpp"
#include "map/place_page_info.hpp"
@@ -51,9 +51,9 @@ void PrepareClassRefs(JNIEnv * env)
return;
g_bookmarkManagerClass =
jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/BookmarkManager");
jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/BookmarkManager");
g_bookmarkManagerInstanceField = jni::GetStaticFieldID(env, g_bookmarkManagerClass, "INSTANCE",
"Lapp/organicmaps/bookmarks/data/BookmarkManager;");
"Lapp/organicmaps/sdk/bookmarks/data/BookmarkManager;");
jobject bookmarkManagerInstance = env->GetStaticObjectField(g_bookmarkManagerClass,
g_bookmarkManagerInstanceField);
@@ -68,27 +68,27 @@ void PrepareClassRefs(JNIEnv * env)
"(ZLjava/lang/String;Z)V");
g_onPreparedFileForSharingMethod =
jni::GetMethodID(env, bookmarkManagerInstance, "onPreparedFileForSharing",
"(Lapp/organicmaps/bookmarks/data/BookmarkSharingResult;)V");
"(Lapp/organicmaps/sdk/bookmarks/data/BookmarkSharingResult;)V");
g_longClass = jni::GetGlobalClassRef(env,"java/lang/Long");
g_longConstructor = jni::GetConstructorID(env, g_longClass, "(J)V");
g_sortedBlockClass =
jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/SortedBlock");
jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/SortedBlock");
g_sortedBlockConstructor =
jni::GetConstructorID(env, g_sortedBlockClass,
"(Ljava/lang/String;[Ljava/lang/Long;[Ljava/lang/Long;)V");
g_onBookmarksSortingCompleted = jni::GetMethodID(env, bookmarkManagerInstance,
"onBookmarksSortingCompleted", "([Lapp/organicmaps/bookmarks/data/SortedBlock;J)V");
"onBookmarksSortingCompleted", "([Lapp/organicmaps/sdk/bookmarks/data/SortedBlock;J)V");
g_onBookmarksSortingCancelled = jni::GetMethodID(env, bookmarkManagerInstance,
"onBookmarksSortingCancelled", "(J)V");
g_bookmarkInfoClass =
jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/BookmarkInfo");
jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/BookmarkInfo");
g_bookmarkInfoConstructor =
jni::GetConstructorID(env, g_bookmarkInfoClass, "(JJ)V" );
g_bookmarkCategoryClass =
jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/BookmarkCategory");
jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/BookmarkCategory");
//public BookmarkCategory(long id,
// String name,
@@ -183,7 +183,7 @@ void OnAsyncLoadingFileError(JNIEnv * env, std::string const & fileName, bool is
void OnPreparedFileForSharing(JNIEnv * env, BookmarkManager::SharingResult const & result)
{
static jclass const classBookmarkSharingResult = jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/BookmarkSharingResult");
static jclass const classBookmarkSharingResult = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/BookmarkSharingResult");
// BookmarkSharingResult(long[] categoriesIds, @Code int code, @NonNull String sharingPath, @NonNull String mimeType, @NonNull String errorString)
static jmethodID const ctorBookmarkSharingResult = jni::GetConstructorID(env, classBookmarkSharingResult, "([JILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
@@ -297,21 +297,21 @@ jobjectArray MakeCategories(JNIEnv * env, kml::GroupIdCollection const & ids)
extern "C"
{
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeShowBookmarkOnMap(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeShowBookmarkOnMap(
JNIEnv *, jobject, jlong bmkId)
{
frm()->ShowBookmark(static_cast<kml::MarkId>(bmkId));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeShowBookmarkCategoryOnMap(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeShowBookmarkCategoryOnMap(
JNIEnv *, jobject, jlong catId)
{
frm()->ShowBookmarkCategory(static_cast<kml::MarkGroupId>(catId), true /* animated */);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeLoadBookmarks(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeLoadBookmarks(JNIEnv * env, jclass)
{
PrepareClassRefs(env);
BookmarkManager::AsyncLoadingCallbacks callbacks;
@@ -327,7 +327,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeLoadBookmarks(JNIEnv *
}
JNIEXPORT jlong JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeCreateCategory(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeCreateCategory(
JNIEnv * env, jobject, jstring name)
{
auto const categoryId = frm()->GetBookmarkManager().CreateBookmarkCategory(ToNativeString(env, name));
@@ -336,7 +336,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeCreateCategory(
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeDeleteCategory(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeDeleteCategory(
JNIEnv *, jobject, jlong catId)
{
auto const categoryId = static_cast<kml::MarkGroupId>(catId);
@@ -345,20 +345,20 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeDeleteCategory(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeDeleteBookmark(JNIEnv *, jobject, jlong bmkId)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeDeleteBookmark(JNIEnv *, jobject, jlong bmkId)
{
frm()->GetBookmarkManager().GetEditSession().DeleteBookmark(static_cast<kml::MarkId>(bmkId));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeDeleteTrack(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeDeleteTrack(
JNIEnv *, jobject, jlong trkId)
{
frm()->GetBookmarkManager().GetEditSession().DeleteTrack(static_cast<kml::TrackId>(trkId));
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeAddBookmarkToLastEditedCategory(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeAddBookmarkToLastEditedCategory(
JNIEnv * env, jobject, double lat, double lon)
{
if (!frm()->HasPlacePageInfo())
@@ -389,48 +389,48 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeAddBookmarkToLastEdite
}
JNIEXPORT jlong JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetLastEditedCategory(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetLastEditedCategory(
JNIEnv *, jobject)
{
return static_cast<jlong>(frm()->LastEditedBMCategory());
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetLastEditedColor(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetLastEditedColor(
JNIEnv *, jobject)
{
return static_cast<jint>(frm()->LastEditedBMColor());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeLoadBookmarksFile(JNIEnv * env, jclass,
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeLoadBookmarksFile(JNIEnv * env, jclass,
jstring path, jboolean isTemporaryFile)
{
frm()->AddBookmarksFile(ToNativeString(env, path), isTemporaryFile);
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeIsAsyncBookmarksLoadingInProgress(JNIEnv *, jclass)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeIsAsyncBookmarksLoadingInProgress(JNIEnv *, jclass)
{
return static_cast<jboolean>(frm()->GetBookmarkManager().IsAsyncLoadingInProgress());
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeIsVisible(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeIsVisible(
JNIEnv *, jobject, jlong catId)
{
return static_cast<jboolean>(frm()->GetBookmarkManager().IsVisible(static_cast<kml::MarkGroupId>(catId)));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetVisibility(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetVisibility(
JNIEnv *, jobject, jlong catId, jboolean isVisible)
{
frm()->GetBookmarkManager().GetEditSession().SetIsVisible(static_cast<kml::MarkGroupId>(catId), isVisible);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryName(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetCategoryName(
JNIEnv * env, jobject, jlong catId, jstring name)
{
frm()->GetBookmarkManager().GetEditSession().SetCategoryName(static_cast<kml::MarkGroupId>(catId),
@@ -438,7 +438,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryName(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryDescription(JNIEnv * env,
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetCategoryDescription(JNIEnv * env,
jobject,
jlong catId,
jstring desc)
@@ -448,7 +448,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryDescription
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryTags(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetCategoryTags(
JNIEnv * env, jobject, jlong catId, jobjectArray tagsIds)
{
auto const size = env->GetArrayLength(tagsIds);
@@ -465,7 +465,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryTags(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryAccessRules(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetCategoryAccessRules(
JNIEnv *, jobject, jlong catId, jint accessRules)
{
frm()->GetBookmarkManager().GetEditSession().SetCategoryAccessRules(
@@ -473,7 +473,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryAccessRules
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryCustomProperty(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetCategoryCustomProperty(
JNIEnv * env, jobject, jlong catId, jstring key, jstring value)
{
frm()->GetBookmarkManager().GetEditSession().SetCategoryCustomProperty(
@@ -481,7 +481,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetCategoryCustomPrope
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeUpdateBookmarkPlacePage(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeUpdateBookmarkPlacePage(
JNIEnv * env, jobject, jlong bmkId)
{
if (!frm()->HasPlacePageInfo())
@@ -496,7 +496,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeUpdateBookmarkPlacePag
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkInfo(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkInfo(
JNIEnv * env, jobject, jlong bmkId)
{
auto const bookmark = frm()->GetBookmarkManager().GetBookmark(static_cast<kml::MarkId>(bmkId));
@@ -508,7 +508,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkInfo(
}
JNIEXPORT jlong JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkIdByPosition(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkIdByPosition(
JNIEnv *, jobject, jlong catId, jint positionInCategory)
{
auto const & ids = frm()->GetBookmarkManager().GetUserMarkIds(static_cast<kml::MarkGroupId>(catId));
@@ -522,12 +522,12 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkIdByPositio
static uint32_t shift(uint32_t v, uint8_t bitCount) { return v << bitCount; }
JNIEXPORT jobject JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetTrack(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetTrack(
JNIEnv * env, jobject, jlong trackId, jclass trackClazz)
{
// Track(long trackId, long categoryId, String name, String lengthString, int color)
static jmethodID const cId = jni::GetConstructorID(env, trackClazz,
"(JJLjava/lang/String;Lapp/organicmaps/util/Distance;I)V");
"(JJLjava/lang/String;Lapp/organicmaps/sdk/util/Distance;I)V");
auto const * nTrack = frm()->GetBookmarkManager().GetTrack(static_cast<kml::TrackId>(trackId));
ASSERT(nTrack, ("Track must not be null with id:)", trackId));
@@ -545,7 +545,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetTrack(
}
JNIEXPORT jlong JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetTrackIdByPosition(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetTrackIdByPosition(
JNIEnv *, jobject, jlong catId, jint positionInCategory)
{
auto const & ids = frm()->GetBookmarkManager().GetTrackIds(static_cast<kml::MarkGroupId>(catId));
@@ -557,42 +557,42 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetTrackIdByPosition(
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeIsUsedCategoryName(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeIsUsedCategoryName(
JNIEnv * env, jclass, jstring name)
{
return static_cast<jboolean>(frm()->GetBookmarkManager().IsUsedCategoryName(ToNativeString(env, name)));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativePrepareForSearch(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativePrepareForSearch(
JNIEnv *, jclass, jlong catId)
{
frm()->GetBookmarkManager().PrepareForSearch(static_cast<kml::MarkGroupId>(catId));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeAreAllCategoriesInvisible(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeAreAllCategoriesInvisible(
JNIEnv *, jclass)
{
return static_cast<jboolean>(frm()->GetBookmarkManager().AreAllCategoriesInvisible());
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeAreAllCategoriesVisible(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeAreAllCategoriesVisible(
JNIEnv *, jclass)
{
return static_cast<jboolean>(frm()->GetBookmarkManager().AreAllCategoriesVisible());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetAllCategoriesVisibility(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetAllCategoriesVisibility(
JNIEnv *, jclass, jboolean visible)
{
frm()->GetBookmarkManager().SetAllCategoriesVisibility(static_cast<bool>(visible));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativePrepareTrackFileForSharing(JNIEnv * env, jclass, jlong trackId, jint kmlFileType)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativePrepareTrackFileForSharing(JNIEnv * env, jclass, jlong trackId, jint kmlFileType)
{
frm()->GetBookmarkManager().PrepareTrackFileForSharing(static_cast<kml::TrackId>(trackId), [env](BookmarkManager::SharingResult const & result)
{
@@ -601,7 +601,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativePrepareTrackFileForSha
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativePrepareFileForSharing(JNIEnv * env, jclass, jlongArray catIds, jint kmlFileType)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativePrepareFileForSharing(JNIEnv * env, jclass, jlongArray catIds, jint kmlFileType)
{
auto const size = env->GetArrayLength(catIds);
kml::GroupIdCollection catIdsVector(size);
@@ -614,7 +614,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativePrepareFileForSharing(
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeIsCategoryEmpty(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeIsCategoryEmpty(
JNIEnv *, jclass, jlong catId)
{
return static_cast<jboolean>(frm()->GetBookmarkManager().IsCategoryEmpty(
@@ -622,27 +622,27 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeIsCategoryEmpty(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetNotificationsEnabled(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetNotificationsEnabled(
JNIEnv *, jclass, jboolean enabled)
{
frm()->GetBookmarkManager().SetNotificationsEnabled(static_cast<bool>(enabled));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeAreNotificationsEnabled(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeAreNotificationsEnabled(
JNIEnv *, jclass)
{
return static_cast<jboolean>(frm()->GetBookmarkManager().AreNotificationsEnabled());
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkCategory(JNIEnv *env, jobject, jlong id)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkCategory(JNIEnv *env, jobject, jlong id)
{
return MakeCategory(env, static_cast<kml::MarkGroupId>(id));
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkCategories(JNIEnv *env, jobject)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkCategories(JNIEnv *env, jobject)
{
auto const & bm = frm()->GetBookmarkManager();
auto const & ids = bm.GetSortedBmGroupIdList();
@@ -651,7 +651,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkCategories(
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkCategoriesCount(JNIEnv *env, jobject)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkCategoriesCount(JNIEnv *env, jobject)
{
auto const & bm = frm()->GetBookmarkManager();
auto const count = bm.GetBmGroupsCount();
@@ -660,7 +660,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkCategoriesC
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetChildrenCategories(JNIEnv *env, jobject, jlong parentId)
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetChildrenCategories(JNIEnv *env, jobject, jlong parentId)
{
auto const & bm = frm()->GetBookmarkManager();
auto const ids = bm.GetChildrenCategories(static_cast<kml::MarkGroupId>(parentId));
@@ -669,7 +669,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetChildrenCategories(
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeHasLastSortingType(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeHasLastSortingType(
JNIEnv *, jobject, jlong catId)
{
auto const & bm = frm()->GetBookmarkManager();
@@ -678,7 +678,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeHasLastSortingType(
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetLastSortingType(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetLastSortingType(
JNIEnv *, jobject, jlong catId)
{
auto const & bm = frm()->GetBookmarkManager();
@@ -690,7 +690,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetLastSortingType(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetLastSortingType(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetLastSortingType(
JNIEnv *, jobject, jlong catId, jint type)
{
auto & bm = frm()->GetBookmarkManager();
@@ -699,7 +699,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetLastSortingType(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeResetLastSortingType(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeResetLastSortingType(
JNIEnv *, jobject, jlong catId)
{
auto & bm = frm()->GetBookmarkManager();
@@ -707,7 +707,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeResetLastSortingType(
}
JNIEXPORT jintArray JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetAvailableSortingTypes(JNIEnv *env,
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetAvailableSortingTypes(JNIEnv *env,
jobject, jlong catId, jboolean hasMyPosition)
{
auto const & bm = frm()->GetBookmarkManager();
@@ -724,7 +724,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetAvailableSortingTyp
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetSortedCategory(JNIEnv *env,
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetSortedCategory(JNIEnv *env,
jobject, jlong catId, jint sortingType, jboolean hasMyPosition, jdouble lat, jdouble lon,
jlong timestamp)
{
@@ -741,14 +741,14 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetSortedCategory(JNIE
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkName(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkName(
JNIEnv * env, jclass, jlong bmk)
{
return jni::ToJavaString(env, getBookmark(bmk)->GetPreferredName());
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkFeatureType(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkFeatureType(
JNIEnv * env, jclass, jlong bmk)
{
return jni::ToJavaString(env,
@@ -756,14 +756,14 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkFeatureType
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkDescription(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkDescription(
JNIEnv * env, jclass, jlong bmk)
{
return jni::ToJavaString(env, getBookmark(bmk)->GetDescription());
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkColor(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkColor(
JNIEnv *, jclass, jlong bmk)
{
auto const * mark = getBookmark(bmk);
@@ -772,7 +772,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkColor(
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkIcon(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkIcon(
JNIEnv *, jclass, jlong bmk)
{
auto const * mark = getBookmark(bmk);
@@ -781,7 +781,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkIcon(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetBookmarkParams(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetBookmarkParams(
JNIEnv * env, jclass, jlong bmk,
jstring name, jint color, jstring descr)
{
@@ -802,7 +802,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetBookmarkParams(
constexpr static uint8_t ExtractByte(uint32_t number, uint8_t byteIdx) { return (number >> (8 * byteIdx)) & 0xFF; }
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetTrackParams(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetTrackParams(
JNIEnv * env, jclass, jlong trackId,
jstring name, jint color, jstring descr)
{
@@ -821,14 +821,14 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetTrackParams(
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetTrackDescription(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetTrackDescription(
JNIEnv * env, jclass, jlong trackId)
{
return jni::ToJavaString(env, frm()->GetBookmarkManager().GetTrack(static_cast<kml::TrackId>(trackId))->GetDescription());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeChangeBookmarkCategory(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeChangeBookmarkCategory(
JNIEnv *, jclass, jlong oldCat, jlong newCat, jlong bmk)
{
g_framework->MoveBookmark(static_cast<kml::MarkId>(bmk), static_cast<kml::MarkGroupId>(oldCat),
@@ -836,7 +836,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeChangeBookmarkCategory
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeChangeTrackCategory(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeChangeTrackCategory(
JNIEnv *, jclass, jlong oldCat, jlong newCat, jlong trackId)
{
g_framework->MoveTrack(static_cast<kml::TrackId>(trackId), static_cast<kml::MarkGroupId>(oldCat),
@@ -844,7 +844,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeChangeTrackCategory(
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeChangeTrackColor(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeChangeTrackColor(
JNIEnv *, jclass, jlong trackId, jint color)
{
uint8_t alpha = ExtractByte(color, 3);
@@ -852,28 +852,28 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeChangeTrackColor(
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkXY(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkXY(
JNIEnv * env, jclass, jlong bmk)
{
return jni::GetNewParcelablePointD(env, getBookmark(bmk)->GetPivot());
}
JNIEXPORT jdouble JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkScale(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkScale(
JNIEnv *, jclass, jlong bmk)
{
return getBookmark(bmk)->GetScale();
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeEncode2Ge0Url(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeEncode2Ge0Url(
JNIEnv * env, jclass, jlong bmk, jboolean addName)
{
return jni::ToJavaString(env, frm()->CodeGe0url(getBookmark(bmk), addName));
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkAddress(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetBookmarkAddress(
JNIEnv * env, jclass, jlong bmkId)
{
auto const address = frm()->GetAddressAtPoint(getBookmark(bmkId)->GetPivot()).FormatAddress();
@@ -881,7 +881,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetBookmarkAddress(
}
JNIEXPORT jdouble JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetElevationCurPositionDistance(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetElevationCurPositionDistance(
JNIEnv *, jclass, jlong trackId)
{
auto const & bm = frm()->GetBookmarkManager();
@@ -889,7 +889,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetElevationCurPositio
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetElevationCurrentPositionChangedListener(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetElevationCurrentPositionChangedListener(
JNIEnv * env, jclass)
{
frm()->GetBookmarkManager().SetElevationMyPositionChangedCallback(
@@ -897,14 +897,14 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetElevationCurrentPos
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeRemoveElevationCurrentPositionChangedListener(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeRemoveElevationCurrentPositionChangedListener(
JNIEnv *, jclass)
{
frm()->GetBookmarkManager().SetElevationMyPositionChangedCallback(nullptr);
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetElevationActivePoint(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetElevationActivePoint(
JNIEnv *, jclass, jlong trackId, jdouble distanceInMeters)
{
auto & bm = frm()->GetBookmarkManager();
@@ -914,7 +914,7 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetElevationActivePoin
}
JNIEXPORT jdouble JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetElevationActivePointDistance(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeGetElevationActivePointDistance(
JNIEnv *, jclass, jlong trackId)
{
auto & bm = frm()->GetBookmarkManager();
@@ -922,21 +922,21 @@ Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeGetElevationActivePoin
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeSetElevationActiveChangedListener(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeSetElevationActiveChangedListener(
JNIEnv *env, jclass)
{
frm()->GetBookmarkManager().SetElevationActivePointChangedCallback(std::bind(&OnElevationActivePointChanged, env));
}
JNIEXPORT void JNICALL
Java_app_organicmaps_bookmarks_data_BookmarkManager_nativeRemoveElevationActiveChangedListener(
Java_app_organicmaps_sdk_bookmarks_data_BookmarkManager_nativeRemoveElevationActiveChangedListener(
JNIEnv *, jclass)
{
frm()->GetBookmarkManager().SetElevationActivePointChangedCallback(nullptr);
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_widget_placepage_PlacePageButtonFactory_nativeHasRecentlyDeletedBookmark(JNIEnv *, jclass)
Java_app_organicmaps_sdk_widget_placepage_PlacePageButtonFactory_nativeHasRecentlyDeletedBookmark(JNIEnv *, jclass)
{
return frm()->GetBookmarkManager().HasRecentlyDeletedBookmark();
}

View File

@@ -52,17 +52,17 @@ JNI_OnLoad(JavaVM * jvm, void *)
jni::InitAssertLog();
JNIEnv * env = jni::GetEnv();
g_mapObjectClazz = jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/MapObject");
g_featureIdClazz = jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/FeatureId");
g_bookmarkClazz = jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/Bookmark");
g_httpClientClazz = jni::GetGlobalClassRef(env, "app/organicmaps/util/HttpClient");
g_httpParamsClazz = jni::GetGlobalClassRef(env, "app/organicmaps/util/HttpClient$Params");
g_platformSocketClazz = jni::GetGlobalClassRef(env, "app/organicmaps/location/PlatformSocket");
g_utilsClazz = jni::GetGlobalClassRef(env, "app/organicmaps/util/Utils");
g_loggerClazz = jni::GetGlobalClassRef(env, "app/organicmaps/util/log/Logger");
g_keyValueClazz = jni::GetGlobalClassRef(env, "app/organicmaps/util/KeyValue");
g_networkPolicyClazz = jni::GetGlobalClassRef(env, "app/organicmaps/util/NetworkPolicy");
g_elevationInfoClazz = jni::GetGlobalClassRef(env, "app/organicmaps/bookmarks/data/ElevationInfo");
g_mapObjectClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/MapObject");
g_featureIdClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/FeatureId");
g_bookmarkClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/Bookmark");
g_httpClientClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/util/HttpClient");
g_httpParamsClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/util/HttpClient$Params");
g_platformSocketClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/location/PlatformSocket");
g_utilsClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/util/Utils");
g_loggerClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/util/log/Logger");
g_keyValueClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/util/KeyValue");
g_networkPolicyClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/util/NetworkPolicy");
g_elevationInfoClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/bookmarks/data/ElevationInfo");
return JNI_VERSION_1_6;
}
@@ -269,7 +269,7 @@ std::string DescribeException()
jobject GetNewParcelablePointD(JNIEnv * env, m2::PointD const & point)
{
jclass klass = env->FindClass("app/organicmaps/bookmarks/data/ParcelablePointD");
jclass klass = env->FindClass("app/organicmaps/sdk/bookmarks/data/ParcelablePointD");
ASSERT ( klass, () );
jmethodID methodID = GetConstructorID(env, klass, "(DD)V");

View File

@@ -3,9 +3,9 @@
#include "base/exception.hpp"
#include "base/logging.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/core/logging.hpp"
#include "app/organicmaps/core/ScopedEnv.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/core/logging.hpp"
#include "app/organicmaps/sdk/core/ScopedEnv.hpp"
#include <android/log.h>
#include <cassert>

View File

@@ -1,7 +1,7 @@
#include <jni.h>
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "editor/osm_editor.hpp"
@@ -66,38 +66,38 @@ extern "C"
using osm::Editor;
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeInit(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeInit(JNIEnv * env, jclass)
{
g_localNameClazz = jni::GetGlobalClassRef(env, "app/organicmaps/editor/data/LocalizedName");
g_localNameClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/editor/data/LocalizedName");
// LocalizedName(int code, @NonNull String name, @NonNull String lang, @NonNull String langName)
g_localNameCtor = jni::GetConstructorID(env, g_localNameClazz, "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
g_localNameFieldCode = env->GetFieldID(g_localNameClazz, "code", "I");
g_localNameFieldName = env->GetFieldID(g_localNameClazz, "name", "Ljava/lang/String;");
g_localStreetClazz = jni::GetGlobalClassRef(env, "app/organicmaps/editor/data/LocalizedStreet");
g_localStreetClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/editor/data/LocalizedStreet");
// LocalizedStreet(@NonNull String defaultName, @NonNull String localizedName)
g_localStreetCtor = jni::GetConstructorID(env, g_localStreetClazz, "(Ljava/lang/String;Ljava/lang/String;)V");
g_localStreetFieldDef = env->GetFieldID(g_localStreetClazz, "defaultName", "Ljava/lang/String;");
g_localStreetFieldLoc = env->GetFieldID(g_localStreetClazz, "localizedName", "Ljava/lang/String;");
g_namesDataSourceClassID = jni::GetGlobalClassRef(env, "app/organicmaps/editor/data/NamesDataSource");
g_namesDataSourceConstructorID = jni::GetConstructorID(env, g_namesDataSourceClassID, "([Lapp/organicmaps/editor/data/LocalizedName;I)V");
g_namesDataSourceClassID = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/editor/data/NamesDataSource");
g_namesDataSourceConstructorID = jni::GetConstructorID(env, g_namesDataSourceClassID, "([Lapp/organicmaps/sdk/editor/data/LocalizedName;I)V");
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_Editor_nativeGetOpeningHours(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeGetOpeningHours(JNIEnv * env, jclass)
{
return jni::ToJavaString(env, g_editableMapObject.GetOpeningHours());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeSetOpeningHours(JNIEnv * env, jclass, jstring value)
Java_app_organicmaps_sdk_editor_Editor_nativeSetOpeningHours(JNIEnv * env, jclass, jstring value)
{
g_editableMapObject.SetOpeningHours(jni::ToNativeString(env, value));
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_Editor_nativeGetMetadata(JNIEnv * env, jclass, jint id)
Java_app_organicmaps_sdk_editor_Editor_nativeGetMetadata(JNIEnv * env, jclass, jint id)
{
auto const metaID = static_cast<osm::MapObject::MetadataID>(id);
ASSERT_LESS(metaID, osm::MapObject::MetadataID::FMD_COUNT, ());
@@ -113,7 +113,7 @@ Java_app_organicmaps_editor_Editor_nativeGetMetadata(JNIEnv * env, jclass, jint
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsMetadataValid(JNIEnv * env, jclass, jint id, jstring value)
Java_app_organicmaps_sdk_editor_Editor_nativeIsMetadataValid(JNIEnv * env, jclass, jint id, jstring value)
{
auto const metaID = static_cast<osm::MapObject::MetadataID>(id);
ASSERT_LESS(metaID, osm::MapObject::MetadataID::FMD_COUNT, ());
@@ -121,7 +121,7 @@ Java_app_organicmaps_editor_Editor_nativeIsMetadataValid(JNIEnv * env, jclass, j
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeSetMetadata(JNIEnv * env, jclass, jint id, jstring value)
Java_app_organicmaps_sdk_editor_Editor_nativeSetMetadata(JNIEnv * env, jclass, jint id, jstring value)
{
auto const metaID = static_cast<osm::MapObject::MetadataID>(id);
ASSERT_LESS(metaID, osm::MapObject::MetadataID::FMD_COUNT, ());
@@ -129,32 +129,32 @@ Java_app_organicmaps_editor_Editor_nativeSetMetadata(JNIEnv * env, jclass, jint
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_editor_Editor_nativeGetStars(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeGetStars(JNIEnv * env, jclass)
{
return g_editableMapObject.GetStars();
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_editor_Editor_nativeGetMaxEditableBuildingLevels(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeGetMaxEditableBuildingLevels(JNIEnv *, jclass)
{
return osm::EditableMapObject::kMaximumLevelsEditableByUsers;
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeHasWifi(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeHasWifi(JNIEnv *, jclass)
{
return g_editableMapObject.GetInternet() == feature::Internet::Wlan;
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeSetHasWifi(JNIEnv *, jclass, jboolean hasWifi)
Java_app_organicmaps_sdk_editor_Editor_nativeSetHasWifi(JNIEnv *, jclass, jboolean hasWifi)
{
if (hasWifi != (g_editableMapObject.GetInternet() == feature::Internet::Wlan))
g_editableMapObject.SetInternet(hasWifi ? feature::Internet::Wlan : feature::Internet::Unknown);
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeSaveEditedFeature(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeSaveEditedFeature(JNIEnv *, jclass)
{
switch (g_framework->NativeFramework()->SaveEditedMapObject(g_editableMapObject))
{
@@ -169,7 +169,7 @@ Java_app_organicmaps_editor_Editor_nativeSaveEditedFeature(JNIEnv *, jclass)
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeShouldShowEditPlace(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeShouldShowEditPlace(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
@@ -179,7 +179,7 @@ Java_app_organicmaps_editor_Editor_nativeShouldShowEditPlace(JNIEnv *, jclass)
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeShouldShowAddBusiness(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeShouldShowAddBusiness(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
@@ -189,7 +189,7 @@ Java_app_organicmaps_editor_Editor_nativeShouldShowAddBusiness(JNIEnv *, jclass)
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeShouldShowAddPlace(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeShouldShowAddPlace(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
@@ -199,7 +199,7 @@ Java_app_organicmaps_editor_Editor_nativeShouldShowAddPlace(JNIEnv *, jclass)
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeShouldEnableEditPlace(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeShouldEnableEditPlace(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
@@ -209,7 +209,7 @@ Java_app_organicmaps_editor_Editor_nativeShouldEnableEditPlace(JNIEnv *, jclass)
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeShouldEnableAddPlace(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeShouldEnableAddPlace(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
@@ -219,7 +219,7 @@ Java_app_organicmaps_editor_Editor_nativeShouldEnableAddPlace(JNIEnv *, jclass)
}
JNIEXPORT jintArray JNICALL
Java_app_organicmaps_editor_Editor_nativeGetEditableProperties(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetEditableProperties(JNIEnv * env, jclass clazz)
{
auto const & editable = g_editableMapObject.GetEditableProperties();
size_t const size = editable.size();
@@ -233,31 +233,31 @@ Java_app_organicmaps_editor_Editor_nativeGetEditableProperties(JNIEnv * env, jcl
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsAddressEditable(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeIsAddressEditable(JNIEnv * env, jclass clazz)
{
return g_editableMapObject.IsAddressEditable();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsNameEditable(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeIsNameEditable(JNIEnv * env, jclass clazz)
{
return g_editableMapObject.IsNameEditable();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsPointType(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeIsPointType(JNIEnv * env, jclass clazz)
{
return g_editableMapObject.IsPointType();
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsBuilding(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeIsBuilding(JNIEnv * env, jclass clazz)
{
return g_editableMapObject.IsBuilding();
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_Editor_nativeGetNamesDataSource(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeGetNamesDataSource(JNIEnv * env, jclass)
{
auto const namesDataSource = g_editableMapObject.GetNamesDataSource();
@@ -268,7 +268,7 @@ Java_app_organicmaps_editor_Editor_nativeGetNamesDataSource(JNIEnv * env, jclass
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeSetNames(JNIEnv * env, jclass, jobjectArray names)
Java_app_organicmaps_sdk_editor_Editor_nativeSetNames(JNIEnv * env, jclass, jobjectArray names)
{
int const length = env->GetArrayLength(names);
for (int i = 0; i < length; i++)
@@ -280,29 +280,29 @@ Java_app_organicmaps_editor_Editor_nativeSetNames(JNIEnv * env, jclass, jobjectA
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_Editor_nativeGetStreet(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeGetStreet(JNIEnv * env, jclass)
{
return ToJavaStreet(env, g_editableMapObject.GetStreet());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeSetStreet(JNIEnv * env, jclass, jobject street)
Java_app_organicmaps_sdk_editor_Editor_nativeSetStreet(JNIEnv * env, jclass, jobject street)
{
g_editableMapObject.SetStreet({jni::ToNativeString(env, (jstring) env->GetObjectField(street, g_localStreetFieldDef)),
jni::ToNativeString(env, (jstring) env->GetObjectField(street, g_localStreetFieldLoc))});
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeGetNearbyStreets(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetNearbyStreets(JNIEnv * env, jclass clazz)
{
return jni::ToJavaArray(env, g_localStreetClazz, g_editableMapObject.GetNearbyStreets(), ToJavaStreet);
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeGetSupportedLanguages(JNIEnv * env, jclass clazz, jboolean includeServiceLangs)
Java_app_organicmaps_sdk_editor_Editor_nativeGetSupportedLanguages(JNIEnv * env, jclass clazz, jboolean includeServiceLangs)
{
using TLang = StringUtf8Multilang::Lang;
//public Language(@NonNull String code, @NonNull String name)
static jclass const langClass = jni::GetGlobalClassRef(env, "app/organicmaps/editor/data/Language");
static jclass const langClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/editor/data/Language");
static jmethodID const langCtor = jni::GetConstructorID(env, langClass, "(Ljava/lang/String;Ljava/lang/String;)V");
return jni::ToJavaArray(env, langClass, StringUtf8Multilang::GetSupportedLanguages(includeServiceLangs),
@@ -315,25 +315,25 @@ Java_app_organicmaps_editor_Editor_nativeGetSupportedLanguages(JNIEnv * env, jcl
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_Editor_nativeGetHouseNumber(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeGetHouseNumber(JNIEnv * env, jclass)
{
return jni::ToJavaString(env, g_editableMapObject.GetHouseNumber());
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeSetHouseNumber(JNIEnv * env, jclass, jstring houseNumber)
Java_app_organicmaps_sdk_editor_Editor_nativeSetHouseNumber(JNIEnv * env, jclass, jstring houseNumber)
{
g_editableMapObject.SetHouseNumber(jni::ToNativeString(env, houseNumber));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeHasSomethingToUpload(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeHasSomethingToUpload(JNIEnv * env, jclass clazz)
{
return Editor::Instance().HaveMapEditsOrNotesToUpload();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeUploadChanges(JNIEnv * env, jclass clazz, jstring token, jstring appVersion, jstring appId)
Java_app_organicmaps_sdk_editor_Editor_nativeUploadChanges(JNIEnv * env, jclass clazz, jstring token, jstring appVersion, jstring appId)
{
// TODO: Handle upload status in callback
Editor::Instance().UploadChanges(jni::ToNativeString(env, token),
@@ -342,7 +342,7 @@ Java_app_organicmaps_editor_Editor_nativeUploadChanges(JNIEnv * env, jclass claz
}
JNIEXPORT jlongArray JNICALL
Java_app_organicmaps_editor_Editor_nativeGetStats(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetStats(JNIEnv * env, jclass clazz)
{
auto const stats = Editor::Instance().GetStats();
jlongArray result = env->NewLongArray(3);
@@ -353,13 +353,13 @@ Java_app_organicmaps_editor_Editor_nativeGetStats(JNIEnv * env, jclass clazz)
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeClearLocalEdits(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeClearLocalEdits(JNIEnv * env, jclass clazz)
{
Editor::Instance().ClearAllLocalEdits();
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeStartEdit(JNIEnv *, jclass)
Java_app_organicmaps_sdk_editor_Editor_nativeStartEdit(JNIEnv *, jclass)
{
::Framework * frm = g_framework->NativeFramework();
if (!frm->HasPlacePageInfo())
@@ -374,7 +374,7 @@ Java_app_organicmaps_editor_Editor_nativeStartEdit(JNIEnv *, jclass)
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeCreateMapObject(JNIEnv * env, jclass,
Java_app_organicmaps_sdk_editor_Editor_nativeCreateMapObject(JNIEnv * env, jclass,
jstring featureType)
{
::Framework * frm = g_framework->NativeFramework();
@@ -385,7 +385,7 @@ Java_app_organicmaps_editor_Editor_nativeCreateMapObject(JNIEnv * env, jclass,
// static void nativeCreateNote(String text);
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeCreateNote(JNIEnv * env, jclass clazz, jstring text)
Java_app_organicmaps_sdk_editor_Editor_nativeCreateNote(JNIEnv * env, jclass clazz, jstring text)
{
g_framework->NativeFramework()->CreateNote(
g_editableMapObject, osm::Editor::NoteProblemType::General, jni::ToNativeString(env, text));
@@ -393,7 +393,7 @@ Java_app_organicmaps_editor_Editor_nativeCreateNote(JNIEnv * env, jclass clazz,
// static void nativePlaceDoesNotExist(String comment);
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativePlaceDoesNotExist(JNIEnv * env, jclass clazz, jstring comment)
Java_app_organicmaps_sdk_editor_Editor_nativePlaceDoesNotExist(JNIEnv * env, jclass clazz, jstring comment)
{
g_framework->NativeFramework()->CreateNote(g_editableMapObject,
osm::Editor::NoteProblemType::PlaceDoesNotExist,
@@ -401,13 +401,13 @@ Java_app_organicmaps_editor_Editor_nativePlaceDoesNotExist(JNIEnv * env, jclass
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeRollbackMapObject(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeRollbackMapObject(JNIEnv * env, jclass clazz)
{
g_framework->NativeFramework()->RollBackChanges(g_editableMapObject.GetID());
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeGetAllCreatableFeatureTypes(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_Editor_nativeGetAllCreatableFeatureTypes(JNIEnv * env, jclass clazz,
jstring jLang)
{
std::string const & lang = jni::ToNativeString(env, jLang);
@@ -418,7 +418,7 @@ Java_app_organicmaps_editor_Editor_nativeGetAllCreatableFeatureTypes(JNIEnv * en
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeSearchCreatableFeatureTypes(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_Editor_nativeSearchCreatableFeatureTypes(JNIEnv * env, jclass clazz,
jstring query,
jstring jLang)
{
@@ -430,7 +430,7 @@ Java_app_organicmaps_editor_Editor_nativeSearchCreatableFeatureTypes(JNIEnv * en
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeGetCuisines(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetCuisines(JNIEnv * env, jclass clazz)
{
osm::AllCuisines const & cuisines = osm::Cuisines::Instance().AllSupportedCuisines();
std::vector<std::string> keys;
@@ -441,13 +441,13 @@ Java_app_organicmaps_editor_Editor_nativeGetCuisines(JNIEnv * env, jclass clazz)
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeGetSelectedCuisines(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetSelectedCuisines(JNIEnv * env, jclass clazz)
{
return jni::ToJavaStringArray(env, g_editableMapObject.GetCuisines());
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeFilterCuisinesKeys(JNIEnv * env, jclass thiz, jstring jSubstr)
Java_app_organicmaps_sdk_editor_Editor_nativeFilterCuisinesKeys(JNIEnv * env, jclass thiz, jstring jSubstr)
{
std::string const substr = jni::ToNativeString(env, jSubstr);
bool const noFilter = substr.length() == 0;
@@ -467,7 +467,7 @@ Java_app_organicmaps_editor_Editor_nativeFilterCuisinesKeys(JNIEnv * env, jclass
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_Editor_nativeTranslateCuisines(JNIEnv * env, jclass clazz, jobjectArray jKeys)
Java_app_organicmaps_sdk_editor_Editor_nativeTranslateCuisines(JNIEnv * env, jclass clazz, jobjectArray jKeys)
{
int const length = env->GetArrayLength(jKeys);
auto const & cuisines = osm::Cuisines::Instance();
@@ -482,7 +482,7 @@ Java_app_organicmaps_editor_Editor_nativeTranslateCuisines(JNIEnv * env, jclass
}
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_Editor_nativeSetSelectedCuisines(JNIEnv * env, jclass clazz, jobjectArray jKeys)
Java_app_organicmaps_sdk_editor_Editor_nativeSetSelectedCuisines(JNIEnv * env, jclass clazz, jobjectArray jKeys)
{
int const length = env->GetArrayLength(jKeys);
std::vector<std::string> cuisines;
@@ -493,38 +493,38 @@ Java_app_organicmaps_editor_Editor_nativeSetSelectedCuisines(JNIEnv * env, jclas
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_Editor_nativeGetFormattedCuisine(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetFormattedCuisine(JNIEnv * env, jclass clazz)
{
return jni::ToJavaString(env, g_editableMapObject.FormatCuisines());
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_Editor_nativeGetMwmName(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetMwmName(JNIEnv * env, jclass clazz)
{
return jni::ToJavaString(env, g_editableMapObject.GetID().GetMwmName());
}
JNIEXPORT jlong JNICALL
Java_app_organicmaps_editor_Editor_nativeGetMwmVersion(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetMwmVersion(JNIEnv * env, jclass clazz)
{
return g_editableMapObject.GetID().GetMwmVersion();
}
// static boolean nativeIsHouseValid(String houseNumber);
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsHouseValid(JNIEnv * env, jclass clazz, jstring houseNumber)
Java_app_organicmaps_sdk_editor_Editor_nativeIsHouseValid(JNIEnv * env, jclass clazz, jstring houseNumber)
{
return osm::EditableMapObject::ValidateHouseNumber(jni::ToNativeString(env, houseNumber));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsNameValid(JNIEnv * env, jclass clazz, jstring name)
Java_app_organicmaps_sdk_editor_Editor_nativeIsNameValid(JNIEnv * env, jclass clazz, jstring name)
{
return osm::EditableMapObject::ValidateName(jni::ToNativeString(env, name));
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_Editor_nativeGetCategory(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetCategory(JNIEnv * env, jclass clazz)
{
auto types = g_editableMapObject.GetTypes();
types.SortBySpec();
@@ -534,20 +534,20 @@ Java_app_organicmaps_editor_Editor_nativeGetCategory(JNIEnv * env, jclass clazz)
// @FeatureStatus
// static native int nativeGetMapObjectStatus();
JNIEXPORT jint JNICALL
Java_app_organicmaps_editor_Editor_nativeGetMapObjectStatus(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeGetMapObjectStatus(JNIEnv * env, jclass clazz)
{
return static_cast<jint>(osm::Editor::Instance().GetFeatureStatus(g_editableMapObject.GetID()));
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_Editor_nativeIsMapObjectUploaded(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_Editor_nativeIsMapObjectUploaded(JNIEnv * env, jclass clazz)
{
return osm::Editor::Instance().IsFeatureUploaded(g_editableMapObject.GetID().m_mwmId, g_editableMapObject.GetID().m_index);
}
// static nativeMakeLocalizedName(String langCode, String name);
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_Editor_nativeMakeLocalizedName(JNIEnv * env, jclass clazz, jstring code, jstring name)
Java_app_organicmaps_sdk_editor_Editor_nativeMakeLocalizedName(JNIEnv * env, jclass clazz, jstring code, jstring name)
{
osm::LocalizedName localizedName(jni::ToNativeString(env, code), jni::ToNativeString(env, name));
return ToJavaName(env, localizedName);

View File

@@ -1,7 +1,7 @@
#include <jni.h>
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/platform/AndroidPlatform.hpp"
#include "editor/opening_hours_ui.hpp"
#include "editor/ui2oh.hpp"
@@ -44,7 +44,7 @@ jfieldID g_fidWeekdays;
jobject JavaHoursMinutes(JNIEnv * env, jlong hours, jlong minutes)
{
static const jclass dateUtilsClass = jni::GetGlobalClassRef(env,
"app/organicmaps/util/DateUtils");
"app/organicmaps/sdk/util/DateUtils");
static jmethodID const is24HourFormatMethod =
jni::GetStaticMethodID(env,
dateUtilsClass,
@@ -182,9 +182,9 @@ TimeTableSet NativeTimetableSet(JNIEnv * env, jobjectArray jTimetables)
extern "C"
{
JNIEXPORT void JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeInit(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_OpeningHours_nativeInit(JNIEnv * env, jclass clazz)
{
g_clazzHoursMinutes = jni::GetGlobalClassRef(env, "app/organicmaps/editor/data/HoursMinutes");
g_clazzHoursMinutes = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/editor/data/HoursMinutes");
// Java signature : HoursMinutes(@IntRange(from = 0, to = 24) long hours, @IntRange(from = 0, to = 60) long minutes)
g_ctorHoursMinutes = env->GetMethodID(g_clazzHoursMinutes, "<init>", "(JJZ)V");
ASSERT(g_ctorHoursMinutes, (jni::DescribeException()));
@@ -193,24 +193,24 @@ Java_app_organicmaps_editor_OpeningHours_nativeInit(JNIEnv * env, jclass clazz)
g_fidMinutes = env->GetFieldID(g_clazzHoursMinutes, "minutes", "J");
ASSERT(g_fidMinutes, (jni::DescribeException()));
g_clazzTimespan = jni::GetGlobalClassRef(env, "app/organicmaps/editor/data/Timespan");
g_clazzTimespan = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/editor/data/Timespan");
// Java signature : Timespan(HoursMinutes start, HoursMinutes end)
g_ctorTimespan =
env->GetMethodID(g_clazzTimespan, "<init>","(Lapp/organicmaps/editor/data/HoursMinutes;Lapp/organicmaps/editor/data/HoursMinutes;)V");
env->GetMethodID(g_clazzTimespan, "<init>","(Lapp/organicmaps/sdk/editor/data/HoursMinutes;Lapp/organicmaps/sdk/editor/data/HoursMinutes;)V");
ASSERT(g_ctorTimespan, (jni::DescribeException()));
g_fidStart = env->GetFieldID(g_clazzTimespan, "start", "Lapp/organicmaps/editor/data/HoursMinutes;");
g_fidStart = env->GetFieldID(g_clazzTimespan, "start", "Lapp/organicmaps/sdk/editor/data/HoursMinutes;");
ASSERT(g_fidStart, (jni::DescribeException()));
g_fidEnd = env->GetFieldID(g_clazzTimespan, "end", "Lapp/organicmaps/editor/data/HoursMinutes;");
g_fidEnd = env->GetFieldID(g_clazzTimespan, "end", "Lapp/organicmaps/sdk/editor/data/HoursMinutes;");
ASSERT(g_fidEnd, (jni::DescribeException()));
g_clazzTimetable = jni::GetGlobalClassRef(env, "app/organicmaps/editor/data/Timetable");
g_clazzTimetable = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/editor/data/Timetable");
// Java signature : Timetable(Timespan workingTime, Timespan[] closedHours, boolean isFullday, int weekdays[])
g_ctorTimetable =
env->GetMethodID(g_clazzTimetable, "<init>","(Lapp/organicmaps/editor/data/Timespan;[Lapp/organicmaps/editor/data/Timespan;Z[I)V");
env->GetMethodID(g_clazzTimetable, "<init>","(Lapp/organicmaps/sdk/editor/data/Timespan;[Lapp/organicmaps/sdk/editor/data/Timespan;Z[I)V");
ASSERT(g_ctorTimetable, (jni::DescribeException()));
g_fidWorkingTimespan = env->GetFieldID(g_clazzTimetable, "workingTimespan", "Lapp/organicmaps/editor/data/Timespan;");
g_fidWorkingTimespan = env->GetFieldID(g_clazzTimetable, "workingTimespan", "Lapp/organicmaps/sdk/editor/data/Timespan;");
ASSERT(g_fidWorkingTimespan, (jni::DescribeException()));
g_fidClosedTimespans = env->GetFieldID(g_clazzTimetable, "closedTimespans", "[Lapp/organicmaps/editor/data/Timespan;");
g_fidClosedTimespans = env->GetFieldID(g_clazzTimetable, "closedTimespans", "[Lapp/organicmaps/sdk/editor/data/Timespan;");
ASSERT(g_fidClosedTimespans, (jni::DescribeException()));
g_fidIsFullday = env->GetFieldID(g_clazzTimetable, "isFullday", "Z");
ASSERT(g_fidIsFullday, (jni::DescribeException()));
@@ -219,21 +219,21 @@ Java_app_organicmaps_editor_OpeningHours_nativeInit(JNIEnv * env, jclass clazz)
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeGetDefaultTimetables(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_editor_OpeningHours_nativeGetDefaultTimetables(JNIEnv * env, jclass clazz)
{
TimeTableSet tts;
return JavaTimetables(env, tts);
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeGetComplementTimetable(JNIEnv * env, jclass clazz, jobjectArray timetables)
Java_app_organicmaps_sdk_editor_OpeningHours_nativeGetComplementTimetable(JNIEnv * env, jclass clazz, jobjectArray timetables)
{
TimeTableSet const tts = NativeTimetableSet(env, timetables);
return JavaTimetable(env, tts.GetComplementTimeTable());
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeRemoveWorkingDay(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_OpeningHours_nativeRemoveWorkingDay(JNIEnv * env, jclass clazz,
jobjectArray timetables, jint ttIndex, jint dayIndex)
{
TimeTableSet tts = NativeTimetableSet(env, timetables);
@@ -244,7 +244,7 @@ Java_app_organicmaps_editor_OpeningHours_nativeRemoveWorkingDay(JNIEnv * env, jc
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeAddWorkingDay(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_OpeningHours_nativeAddWorkingDay(JNIEnv * env, jclass clazz,
jobjectArray timetables, jint ttIndex, jint dayIndex)
{
TimeTableSet tts = NativeTimetableSet(env, timetables);
@@ -255,7 +255,7 @@ Java_app_organicmaps_editor_OpeningHours_nativeAddWorkingDay(JNIEnv * env, jclas
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeSetIsFullday(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_OpeningHours_nativeSetIsFullday(JNIEnv * env, jclass clazz,
jobject jTimetable, jboolean jIsFullday)
{
TimeTable tt = NativeTimetable(env, jTimetable);
@@ -270,7 +270,7 @@ Java_app_organicmaps_editor_OpeningHours_nativeSetIsFullday(JNIEnv * env, jclass
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeSetOpeningTime(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_OpeningHours_nativeSetOpeningTime(JNIEnv * env, jclass clazz,
jobject jTimetable, jobject jOpeningTime)
{
TimeTable tt = NativeTimetable(env, jTimetable);
@@ -279,7 +279,7 @@ Java_app_organicmaps_editor_OpeningHours_nativeSetOpeningTime(JNIEnv * env, jcla
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeAddClosedSpan(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_OpeningHours_nativeAddClosedSpan(JNIEnv * env, jclass clazz,
jobject jTimetable, jobject jClosedSpan)
{
TimeTable tt = NativeTimetable(env, jTimetable);
@@ -288,7 +288,7 @@ Java_app_organicmaps_editor_OpeningHours_nativeAddClosedSpan(JNIEnv * env, jclas
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeRemoveClosedSpan(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_OpeningHours_nativeRemoveClosedSpan(JNIEnv * env, jclass clazz,
jobject jTimetable, jint jClosedSpanIndex)
{
TimeTable tt = NativeTimetable(env, jTimetable);
@@ -297,7 +297,7 @@ Java_app_organicmaps_editor_OpeningHours_nativeRemoveClosedSpan(JNIEnv * env, jc
}
JNIEXPORT jobjectArray JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeTimetablesFromString(JNIEnv * env, jclass clazz, jstring jSource)
Java_app_organicmaps_sdk_editor_OpeningHours_nativeTimetablesFromString(JNIEnv * env, jclass clazz, jstring jSource)
{
TimeTableSet tts;
std::string const source = jni::ToNativeString(env, jSource);
@@ -308,7 +308,7 @@ Java_app_organicmaps_editor_OpeningHours_nativeTimetablesFromString(JNIEnv * env
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeTimetablesToString(JNIEnv * env, jclass clazz, jobjectArray jTts)
Java_app_organicmaps_sdk_editor_OpeningHours_nativeTimetablesToString(JNIEnv * env, jclass clazz, jobjectArray jTts)
{
TimeTableSet tts = NativeTimetableSet(env, jTts);
std::stringstream sstr;
@@ -317,8 +317,34 @@ Java_app_organicmaps_editor_OpeningHours_nativeTimetablesToString(JNIEnv * env,
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_editor_OpeningHours_nativeIsTimetableStringValid(JNIEnv * env, jclass clazz, jstring jSource)
Java_app_organicmaps_sdk_editor_OpeningHours_nativeIsTimetableStringValid(JNIEnv * env, jclass clazz, jstring jSource)
{
return OpeningHours(jni::ToNativeString(env, jSource)).IsValid();
}
JNIEXPORT jobject JNICALL
Java_app_organicmaps_sdk_editor_OpeningHours_nativeCurrentState(JNIEnv * env, jclass clazz, jobjectArray jTts)
{
TimeTableSet tts = NativeTimetableSet(env, jTts);
time_t const now = time(nullptr);
/// @todo We should check closed/open time for specific feature's timezone.
OpeningHours::InfoT ohInfo = MakeOpeningHours(tts).GetInfo(now);
jclass ohStateClass = jni::GetGlobalClassRef(env, "app/organicmaps/editor/OhState");
jclass ruleStateClass = jni::GetGlobalClassRef(env, "app/organicmaps/editor/OhState$State");
static const std::unordered_map<RuleState, const char*> ruleState = {
{RuleState::Open, "Open"},
{RuleState::Closed, "Closed"},
{RuleState::Unknown, "Unknown"}
};
jfieldID stateField = env->GetStaticFieldID(ruleStateClass, ruleState.at(ohInfo.state), "Lapp/organicmaps/editor/OhState$State;");
jobject stateObj = env->GetStaticObjectField(ruleStateClass, stateField);
jmethodID constructor = env->GetMethodID(ohStateClass, "<init>", "(Lapp/organicmaps/editor/OhState$State;JJ)V");
jobject javaOhState = env->NewObject(ohStateClass, constructor, stateObj, (jlong) ohInfo.nextTimeOpen, (jlong) ohInfo.nextTimeClosed);
return javaOhState;
}
} // extern "C"

View File

@@ -1,7 +1,7 @@
#include <jni.h>
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "base/logging.hpp"
#include "base/string_utils.hpp"
@@ -17,17 +17,9 @@ using namespace jni;
bool LoadOsmUserPreferences(std::string const & oauthToken, UserPreferences & outPrefs)
{
try
{
ServerApi06 const api(OsmOAuth::ServerAuth(oauthToken));
outPrefs = api.GetUserPreferences();
return true;
}
catch (std::exception const & ex)
{
LOG(LWARNING, ("Can't load user preferences from server: ", ex.what()));
}
return false;
ServerApi06 const api(OsmOAuth::ServerAuth(oauthToken));
outPrefs = api.GetUserPreferences();
return (outPrefs.m_id != 0);
}
} // namespace
@@ -35,14 +27,14 @@ extern "C"
{
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeGetOAuth2Url(JNIEnv * env, jclass)
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeGetOAuth2Url(JNIEnv * env, jclass)
{
auto const auth = OsmOAuth::ServerAuth();
return ToJavaString(env, auth.BuildOAuth2Url());
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeAuthWithPassword(JNIEnv * env, jclass clazz,
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeAuthWithPassword(JNIEnv * env, jclass clazz,
jstring login, jstring password)
{
OsmOAuth auth = OsmOAuth::ServerAuth();
@@ -60,7 +52,7 @@ Java_app_organicmaps_editor_OsmOAuth_nativeAuthWithPassword(JNIEnv * env, jclass
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeAuthWithOAuth2Code(JNIEnv * env, jclass, jstring oauth2code)
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeAuthWithOAuth2Code(JNIEnv * env, jclass, jstring oauth2code)
{
OsmOAuth auth = OsmOAuth::ServerAuth();
try
@@ -81,7 +73,7 @@ Java_app_organicmaps_editor_OsmOAuth_nativeAuthWithOAuth2Code(JNIEnv * env, jcla
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeGetOsmUsername(JNIEnv * env, jclass, jstring oauthToken)
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeGetOsmUsername(JNIEnv * env, jclass, jstring oauthToken)
{
UserPreferences prefs;
if (LoadOsmUserPreferences(jni::ToNativeString(env, oauthToken), prefs))
@@ -90,7 +82,7 @@ Java_app_organicmaps_editor_OsmOAuth_nativeGetOsmUsername(JNIEnv * env, jclass,
}
JNIEXPORT jint JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeGetOsmChangesetsCount(JNIEnv * env, jclass, jstring oauthToken)
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeGetOsmChangesetsCount(JNIEnv * env, jclass, jstring oauthToken)
{
UserPreferences prefs;
if (LoadOsmUserPreferences(jni::ToNativeString(env, oauthToken), prefs))
@@ -99,7 +91,7 @@ Java_app_organicmaps_editor_OsmOAuth_nativeGetOsmChangesetsCount(JNIEnv * env, j
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeGetOsmProfilePictureUrl(JNIEnv * env, jclass, jstring oauthToken)
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeGetOsmProfilePictureUrl(JNIEnv * env, jclass, jstring oauthToken)
{
UserPreferences prefs;
if (LoadOsmUserPreferences(jni::ToNativeString(env, oauthToken), prefs))
@@ -108,13 +100,13 @@ Java_app_organicmaps_editor_OsmOAuth_nativeGetOsmProfilePictureUrl(JNIEnv * env,
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeGetHistoryUrl(JNIEnv * env, jclass, jstring user)
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeGetHistoryUrl(JNIEnv * env, jclass, jstring user)
{
return jni::ToJavaString(env, OsmOAuth::ServerAuth().GetHistoryURL(jni::ToNativeString(env, user)));
}
JNIEXPORT jstring JNICALL
Java_app_organicmaps_editor_OsmOAuth_nativeGetNotesUrl(JNIEnv * env, jclass, jstring user)
Java_app_organicmaps_sdk_editor_OsmOAuth_nativeGetNotesUrl(JNIEnv * env, jclass, jstring user)
{
return jni::ToJavaString(env, OsmOAuth::ServerAuth().GetNotesURL(jni::ToNativeString(env, user)));
}

View File

@@ -1,7 +1,7 @@
#include <jni.h>
#include "app/organicmaps/Framework.hpp"
#include "app/organicmaps/core/jni_helper.hpp"
#include "app/organicmaps/platform/AndroidPlatform.hpp"
#include "app/organicmaps/sdk/Framework.hpp"
#include "app/organicmaps/sdk/core/jni_helper.hpp"
#include "app/organicmaps/sdk/platform/AndroidPlatform.hpp"
using namespace std::placeholders;
@@ -19,7 +19,7 @@ static void IsolinesStateChanged(IsolinesManager::IsolinesState state,
JNIEXPORT void JNICALL
Java_app_organicmaps_maplayer_isolines_IsolinesManager_nativeAddListener(JNIEnv *env, jclass clazz, jobject listener)
Java_app_organicmaps_sdk_maplayer_isolines_IsolinesManager_nativeAddListener(JNIEnv *env, jclass clazz, jobject listener)
{
CHECK(g_framework, ("Framework isn't created yet!"));
g_framework->SetIsolinesListener(std::bind(&IsolinesStateChanged,
@@ -28,14 +28,14 @@ Java_app_organicmaps_maplayer_isolines_IsolinesManager_nativeAddListener(JNIEnv
}
JNIEXPORT void JNICALL
Java_app_organicmaps_maplayer_isolines_IsolinesManager_nativeRemoveListener(JNIEnv * env, jclass clazz)
Java_app_organicmaps_sdk_maplayer_isolines_IsolinesManager_nativeRemoveListener(JNIEnv * env, jclass clazz)
{
CHECK(g_framework, ("Framework isn't created yet!"));
g_framework->SetIsolinesListener(nullptr);
}
JNIEXPORT jboolean JNICALL
Java_app_organicmaps_maplayer_isolines_IsolinesManager_nativeShouldShowNotification(JNIEnv *env,
Java_app_organicmaps_sdk_maplayer_isolines_IsolinesManager_nativeShouldShowNotification(JNIEnv *env,
jclass clazz)
{
CHECK(g_framework, ("Framework isn't created yet!"));

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