Compare commits

...

2025 commits

Author SHA1 Message Date
f4366688b7 [docs] Fix logo in readme
Some checks failed
Android Check / Android Lint (push) Has been cancelled
Android Check / Build Android Debug (push) Has been cancelled
iOS Check / Build iOS (push) Has been cancelled
Linux Check / Linux no unity build (push) Has been cancelled
Linux Check / Linux builds and tests (push) Has been cancelled
macOS Check / macOS builds and tests (push) Has been cancelled
Signed-off-by: RedAuburn <me@hbond.xyz>
2025-03-20 12:17:14 +00:00
90772d66d2 [android] Fix tiny transparent PP edges after it fills the screen
Resolves #9335

Signed-off-by: savsch <119003089+savsch@users.noreply.github.com>
2025-03-13 12:45:42 +03:00
cf00843b0a Hide specific preferences in settings for improved user experience
Signed-off-by: DevarshVasani <vasanidevarsh@gmail.com>
2025-03-13 12:29:22 +03:00
renderexpert
58546f3115 Fixed gamma correction
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2025-03-13 07:14:16 +03:00
renderexpert
cddfc2e891 Add developer sandbox desktop app
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2025-03-13 07:14:16 +03:00
renderexpert
2bdf6763ce Add glfw, imgui and cmake metal dependencies
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2025-03-13 07:14:16 +03:00
renderexpert
a54f5268cd Add imGui shaders
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2025-03-13 07:14:16 +03:00
Ferenc Géczi
466b9365f6 Add 2025.03.02 release entry to metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2025-03-09 11:27:49 +03:00
6bf8338cdd [github] Add edits.xml to .gitignore
it's generated when making edits on desktop
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-03-08 17:47:49 +00:00
Kuzey Bilgin
95a2cf3bc5 [github] Add stale bot to close very old PRs
Signed-off-by: Kuzey Bilgin <kuzeybilgin@proton.me>
2025-03-08 17:47:37 +00:00
cf7cce69fa [android][sdk] Search SDK
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-03-08 17:39:52 +00:00
d95bfeb0fd [strings] Update translations
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Am Heu <amanuel.amalio@thefluent.org>
Co-authored-by: Christos Sidiropoulos <dev@csidirop.de>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
Co-authored-by: ERYpTION <eryption.ar9q2@slmail.me>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Gonzalo Pesquero <gpesquero@yahoo.es>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lens0021 <lorentz0021@gmail.com>
Co-authored-by: Maschga <delphi@freenet.de>
Co-authored-by: Matheus Gomes Correia <matheus.gomes03@hotmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rihards Olups <richlv@nakts.net>
Co-authored-by: Rimas Kudelis <rimas@kudelis.lt>
Co-authored-by: Roman Tsisyk <roman@organicmaps.app>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: soshial <soshial@gmail.com>
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Signed-off-by: Am Heu <amanuel.amalio@thefluent.org>
Signed-off-by: Christos Sidiropoulos <dev@csidirop.de>
Signed-off-by: Dan <jonweblin2205@protonmail.com>
Signed-off-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
Signed-off-by: Eryk Michalak <gnu.ewm@protonmail.com>
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
Signed-off-by: Lens0021 <lorentz0021@gmail.com>
Signed-off-by: Maschga <delphi@freenet.de>
Signed-off-by: Matheus Gomes Correia <matheus.gomes03@hotmail.com>
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
Signed-off-by: Rihards Olups <richlv@nakts.net>
Signed-off-by: Rimas Kudelis <rimas@kudelis.lt>
Signed-off-by: Roman Tsisyk <roman@organicmaps.app>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
Signed-off-by: Software In Interlingua <softinterlingua@gmail.com>
Signed-off-by: Weblate <hosted@weblate.org>
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Signed-off-by: nautilusx <translate@disroot.org>
Signed-off-by: soshial <soshial@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ia/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/pl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/be/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ia/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ko/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ru/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/ia/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/lt/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/af/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ar/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/fr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/hi/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/it/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ja/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/pt/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ro/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/ru/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/sv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/tr/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/pl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/el/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ko/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ru/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/cs/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/et/
Translation: OrganicMaps/Country names for downloader
2025-03-08 09:06:45 +00:00
575e17d63c [strings] Update translations
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
Co-authored-by: ERYpTION <eryption.ar9q2@slmail.me>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lens0021 <lorentz0021@gmail.com>
Co-authored-by: Maschga <delphi@freenet.de>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rihards Olups <richlv@nakts.net>
Co-authored-by: Rimas Kudelis <rimas@kudelis.lt>
Co-authored-by: Roman Tsisyk <roman@organicmaps.app>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: soshial <soshial@gmail.com>
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Signed-off-by: Dan <jonweblin2205@protonmail.com>
Signed-off-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
Signed-off-by: Eryk Michalak <gnu.ewm@protonmail.com>
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Signed-off-by: Lens0021 <lorentz0021@gmail.com>
Signed-off-by: Maschga <delphi@freenet.de>
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
Signed-off-by: Rihards Olups <richlv@nakts.net>
Signed-off-by: Rimas Kudelis <rimas@kudelis.lt>
Signed-off-by: Roman Tsisyk <roman@organicmaps.app>
Signed-off-by: Software In Interlingua <softinterlingua@gmail.com>
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Signed-off-by: nautilusx <translate@disroot.org>
Signed-off-by: soshial <soshial@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ia/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/pl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/be/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ia/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ko/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/ru/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/uk/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/ast/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/lt/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/pl/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ca/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/da/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/de/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/et/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ko/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/lv/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/ru/
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/uk/
2025-03-06 19:14:28 +00:00
Gideon Wentink
bac9073bcb [strings] Generate Afrikaans (af) from strings.txt
The language was present in strings.txt but was never generated.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-06 18:24:01 +00:00
Aiden
e2f0b8b258 [strings] Generate Maltese (mt) from strings.txt
The language was present in strings.txt but was never generated.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-06 18:21:36 +00:00
Ernest King
840fa7d7f7 [strings] Generate Lithuanian (lt) from strings.txt
The language was present in strings.txt but was never generated.

See https://github.com/organicmaps/organicmaps/pull/5163

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-06 18:19:43 +00:00
d7db7df723 [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2025-03-06 04:31:01 +00:00
e8cbb31005 [strings] Update iOS translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2025-03-06 04:31:01 +00:00
aaa40a9b77 [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2025-03-06 04:31:01 +00:00
cd2f801fe6 [strings] Update iOS translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2025-03-06 04:31:01 +00:00
ERYpTION
dcaca3ecb5 [strings] Update iOS translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/da/
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
2025-03-06 04:31:01 +00:00
4421a7b6e8 [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/es/
Signed-off-by: Anton <developing.anton@gmail.com>
2025-03-06 04:31:01 +00:00
5a1e518c3c [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/es/
Signed-off-by: Anton <developing.anton@gmail.com>
2025-03-06 04:31:01 +00:00
4a2f4a9f03 [strings] Update Android translations for Spanish (Mexico)
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es_MX/
Signed-off-by: Anton <developing.anton@gmail.com>
2025-03-06 04:31:01 +00:00
ERYpTION
028720a452 [strings] Update Android translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/da/
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
2025-03-06 04:31:01 +00:00
ERYpTION
1f043478df [strings] Update iOS translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/da/
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
2025-03-06 04:31:01 +00:00
ERYpTION
bef5ed25ca [strings] Update Android translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/da/
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
2025-03-06 04:31:01 +00:00
Weblate Translation Memory
6bcc35d982 [strings] Update iOS plurals translations for German
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/de/
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
2025-03-06 04:31:01 +00:00
MaggusK
de536b96e9 [strings] Update iOS plurals translations for German
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/de/
Signed-off-by: MaggusK <aspams@magg4u.de>
2025-03-06 04:31:01 +00:00
ERYpTION
62cb82c09f [strings] Update Android translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/da/
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
2025-03-06 04:31:01 +00:00
Fjuro
a773bf7cc6 [strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-06 04:31:01 +00:00
Weblate Translation Memory
8c371fb509 [strings] Update Android translations for Belarusian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/be/
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
2025-03-06 04:31:01 +00:00
Dmitry Gribenchuk
a887d930f7 [strings] Update Android translations for Belarusian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/be/
Signed-off-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
2025-03-06 04:31:01 +00:00
ERYpTION
e0a8a1f1f8
[strings] Update iOS translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/da/
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
2025-03-05 22:24:15 +01:00
Fjuro
1d69dfe8ce
[strings] Update iOS translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 22:24:15 +01:00
Fjuro
8b93625010
[strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 21:27:14 +01:00
Fjuro
4fe769be75
[strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 21:27:14 +01:00
Weblate Translation Memory
f3c472c23a
[strings] Update Android translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/da/
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
2025-03-05 21:27:13 +01:00
ERYpTION
fcb2a3af29
[strings] Update Android translations for Danish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/da/
Signed-off-by: ERYpTION <eryption.ar9q2@slmail.me>
2025-03-05 21:27:13 +01:00
Fjuro
0143ac3538
[strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 21:27:13 +01:00
Fjuro
b6e9181c98
[strings] Update iOS translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 21:27:12 +01:00
Fjuro
20d608f850 [strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 20:05:49 +00:00
Fjuro
dccf7b97fe [strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 20:05:49 +00:00
55a903903b [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: muralito <muralito@montevideo.com.uy>
2025-03-05 20:05:49 +00:00
c29584acbe [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: muralito <muralito@montevideo.com.uy>
2025-03-05 20:05:49 +00:00
Jaime Marquínez Ferrándiz
7ae108ed6e [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
2025-03-05 20:05:49 +00:00
Jaime Marquínez Ferrándiz
d3713cd8ca [strings] Update iOS translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Signed-off-by: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
2025-03-05 20:05:49 +00:00
2b29b484a5 [strings] Update iOS translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Signed-off-by: muralito <muralito@montevideo.com.uy>
2025-03-05 20:05:49 +00:00
7e79f90e7f [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: muralito <muralito@montevideo.com.uy>
2025-03-05 20:05:49 +00:00
Andi Chandler
e7c16d75ae [strings] Update Android translations for English (United Kingdom)
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/en_GB/
Signed-off-by: Andi Chandler <andi@gowling.com>
2025-03-05 20:05:49 +00:00
Jaime Marquínez Ferrándiz
51e47b12d2 [strings] Update iOS plurals translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/es/
Signed-off-by: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
2025-03-05 20:05:49 +00:00
Andi Chandler
033cc84649 [strings] Update iOS plurals translations for English (United Kingdom)
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/en_GB/
Signed-off-by: Andi Chandler <andi@gowling.com>
2025-03-05 20:05:49 +00:00
Matheus Gomes Correia
f4862bbeff [strings] Update Android translations for Portuguese (Brazil)
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/pt_BR/
Signed-off-by: Matheus Gomes Correia <matheus.gomes03@hotmail.com>
2025-03-05 20:05:49 +00:00
Weblate Translation Memory
22577a0a57 [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
2025-03-05 20:05:49 +00:00
73fd45af68 [strings] Update Android translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/es/
Signed-off-by: muralito <muralito@montevideo.com.uy>
2025-03-05 20:05:49 +00:00
Matheus Gomes Correia
d9e6ebf809 [strings] Update iOS translations for Portuguese (Brazil)
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/pt_BR/
Signed-off-by: Matheus Gomes Correia <matheus.gomes03@hotmail.com>
2025-03-05 20:05:49 +00:00
028c4b28a3 [strings] Update iOS translations for Spanish
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/es/
Signed-off-by: muralito <muralito@montevideo.com.uy>
2025-03-05 20:05:49 +00:00
cf06b21e53 [store] Update iOS translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:11:07 +00:00
ce97f195d7 [store] Update iOS translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:11:07 +00:00
d3a4e8e7b2 [store] Update iOS translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:11:07 +00:00
91b607276f [store] Update iOS translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:11:07 +00:00
Fjuro
7f49ad21fe [strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 18:11:07 +00:00
Fjuro
bd1b2f5c93 [strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 18:11:07 +00:00
Fjuro
538dd1bf1e [strings] Update Android translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 18:11:07 +00:00
Fjuro
c6efc5dba1 [strings] Update iOS translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 18:11:07 +00:00
58c5d87455 [store] Update iOS translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
f3acc898cd [strings] Update Android translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
53a39be6f6 [strings] Update Android translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
15a4a80583 [strings] Update Android translations for Russian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/ru/
Signed-off-by: Konstantin <konstantin.pastbin@gmail.com>
2025-03-05 18:07:33 +00:00
d18843f344 [strings] Update Android translations for Russian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ru/
Signed-off-by: Konstantin <konstantin.pastbin@gmail.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
e7d97f467b [strings] Update Android translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
2759fed166 [strings] Update Android translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
423c54d21c [strings] Update Android translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
51e565feed [strings] Update Sounds translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
510980c2f2 Translated using Weblate (Estonian)
Currently translated at 100.0% (2552 of 2552 strings)

Translation: OrganicMaps/WIP: Country names for downloader
Translate-URL: https://hosted.weblate.org/projects/organicmaps/countries/et/
2025-03-05 18:07:33 +00:00
d16cceb9c2 [strings] Update iOS plurals translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
2f1917dc04 [strings] Update iOS translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
8d05a39efe [strings] Update Android translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
6b2f8db1d7 [store] Update Android translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
0c0af7b029 [strings] Update Android translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
e9f32a77ea [strings] Update Android translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
334752facf [strings] Update Android translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
4d9514b510 [strings] Update iOS plurals translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
e739a2f5c3 [strings] Update Sounds translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
8db2a0136e [strings] Update iOS plurals translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
baed033cf0 [strings] Update Sounds translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
7d58b65a11 [store] Update Sounds translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
ceba407373 [strings] Update Sounds translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
Priit Jõerüüt
2c766f64ba [strings] Add Sounds translations for Estonian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/tts/et/
Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
2025-03-05 18:07:33 +00:00
8e885b38e3 [store] Update Android translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
7a149d3d22 [strings] Update Android translations for Russian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/ru/
Signed-off-by: Konstantin <konstantin.pastbin@gmail.com>
2025-03-05 18:07:33 +00:00
fa3b4cb661 [strings] Update Android translations for Russian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/ru/
Signed-off-by: Konstantin <konstantin.pastbin@gmail.com>
2025-03-05 18:07:33 +00:00
27bd379ac3 [store] Update Android translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
d93eba8cc7 [strings] Update Android translations for English
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/en/
Signed-off-by: Konstantin <konstantin.pastbin@gmail.com>
2025-03-05 18:07:33 +00:00
10ffea348d [store] Update Android translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
6ef933de5b [strings] Update Android translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
f4be439d29 [strings] Update Android translations for Serbian
Translate-URL: https://hosted.weblate.org/projects/organicmaps/android-typestrings/sr/
Signed-off-by: ZeljkoBG <zeljko.velickovic@gmail.com>
2025-03-05 18:07:33 +00:00
Fjuro
90b8ed428f [strings] Update iOS plurals translations for Czech
Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/cs/
Signed-off-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
2025-03-05 18:07:33 +00:00
178bdf9f27 [store] Update Android translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-typestrings/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
150b83b677 [store] Update Android translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plist/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
6022a07532 [store] Update iOS translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
eb5a4916ae [store] Update iOS translation files
Updated by "Remove blank strings" hook in Weblate.

Translate-URL: https://hosted.weblate.org/projects/organicmaps/ios-plurals/
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:33 +00:00
00548ab8cb [strings] Remove old strings.txt
No longer used.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:24 +00:00
6e37398cf1 [strings] Switch to Weblate
https://github.com/orgs/organicmaps/discussions/4515

Weblate works fine. There is no longer a need to maintain a
homegrown, non-standard translation toolchain.

Categories are not in Weblate yet, but they weren't supported by
the previous toolkit too. This issue can be addressed later.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 18:07:24 +00:00
058644ecef [strings] Regenerated after extracting types strings
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 09:07:52 +00:00
173b7e4515 [strings] [ios] move types from Localizable to LocalizableTypes
1. add separate `LocalizableTypes.strings` file for the types
2. patch the `GetLocalizedTypeName` cpp function to fetch the value from the proper table

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-03-05 09:07:14 +00:00
ac1cbbfa2a [strings] Extract types strings into individual files
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-05 09:07:14 +00:00
3b3e063ef9 [ios] fix search header radius small for iphone
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-03-05 08:17:53 +00:00
6eab4f9537 [drape] Fix initialization of struct
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2025-03-04 19:09:29 -03:00
1753a8bc87 [drape] Remove Vulkan warnings
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2025-03-03 17:42:46 -03:00
d21800ec25 [github] Add leading slash (root) to all dirs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-03-02 16:07:26 +00:00
62778dbfbe [android] Fix crash upon deleting a POI via the Editor
Resolves #10211

Signed-off-by: savsch <119003089+savsch@users.noreply.github.com>
2025-03-02 18:47:15 +03:00
540bd70d96 Implements track recording widget on screen
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2025-03-02 13:26:40 +00:00
c23d782d6f [android] Add manage route functionality
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2025-03-01 13:06:25 +00:00
c7b2b7d136 [strings] Add manage route strings to Android
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2025-03-01 13:06:25 +00:00
d2f8a03468 [android] Add route point icons
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2025-03-01 13:06:25 +00:00
5344ed5940 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-03-01 09:14:48 +00:00
zyphlar
97fc3606f9 [strings] Regenerated
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2025-03-01 09:01:15 +00:00
zyphlar
13071a609c Add recalculating TTS announcement
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2025-03-01 09:01:15 +00:00
b14939e770 [android] Don't set subway routing mode when layer active
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-03-01 05:58:19 +03:00
32bf3a3e9a [editor] Make new POIs editable
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-03-01 05:29:12 +03:00
147e12360c [github] Do not require POI PR reviews from design and data teams
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-28 20:02:16 +00:00
7bfbb517cf [Android] hide UI in big direction mode
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-02-28 18:48:25 +00:00
FinixFighter
33ca7570ad [categories] Update categories.txt
Added italian search term for car repair shop.
"Meccanico" is the most commonly used term for this kind of shops.

Signed-off-by: FinixFighter <19877271+FinixFighter@users.noreply.github.com>
2025-02-28 18:52:17 +03:00
644b9da2b1 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-28 13:59:33 +00:00
c52a3e3c09 [strings] Update plurals from ChatGPT
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-28 13:59:09 +00:00
44f3475b90 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-28 13:56:49 +00:00
c5019f0252 [strings] Remove brands_strings.txt
This file isn't referenced anywhere. It's just an artifact.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-28 13:56:03 +00:00
Parneet Singh
018dfb0cbc [android] Remove unused ProgressDialogFragment file (#10354)
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2025-02-28 13:56:03 +00:00
Alexey Krasilnikov
a11c266584 Start DownloaderService when map update is requested also
Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-02-28 13:56:03 +00:00
Alexey Krasilnikov
08b9e407cb Decrease download notifications importance to avoid disturbing sounds
Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-02-28 13:56:03 +00:00
2c002eb08b [android] Fix SpeedLimitView
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-02-28 13:56:03 +00:00
c96d873fa8 [map] return the ElevationInfo for the current track recording
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-28 13:56:03 +00:00
Boris Verkhovskiy
40e1e63315 Proofread English strings 2025-02-28 13:56:03 +00:00
a9d85463ab [drape] Fix disappearing building POIs when in perspective
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-28 13:56:02 +00:00
55951a28be [ios] fix search result selection index after filtering the suggestions
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-28 13:56:02 +00:00
52bbb9c28a [strings] Removes unused strings
- Ran clean_strings_txt.py
Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-26 12:54:54 +03:00
a4067bc128 [android] Alerts users when precise permission not given
- Added strings to strings.txt
- overloaded OpenUri to support system Action
- Translated strings with DeepL api

Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-26 12:54:54 +03:00
806ef7e749 Status Icon Fix
Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-26 10:30:20 +03:00
parneet-guraya
57e72f93bc Use new result apis
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2025-02-26 10:28:28 +03:00
d6d7a33bdf [styles] Regenerate for power towers and lines
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 21:48:40 +03:00
6b458d4f65 [strings] Regenerate for power towers and line
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 21:48:40 +03:00
e49e836f42 [classif] Add man_made=utility_pole
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 21:48:40 +03:00
d281139fd6 [styles] Add minor power lines and poles
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 21:48:40 +03:00
80413f97e1 [styles][outdoor] Increase visibility of power lines and towers
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 21:48:40 +03:00
4f6ee70bf8 [symbols] Regenerate for amenity-motorcycle_rental
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 18:29:22 +03:00
3925b423a1 [styles] Regenerate for amenity-motorcycle_rental
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 18:29:22 +03:00
e767b0f454 [strings] Regenerate for amenity-motorcycle_rental
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 18:29:22 +03:00
cc216c4895 [classif] Add amenity-motorcycle_rental
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 18:29:22 +03:00
4b15a12893 Revert "[ios] Use today's commits count and two numbers from commit hash in the build number"
This reverts commit ee36eb8d12.
2025-02-25 12:18:28 +00:00
8dfd9a789c [map] show Track PP after TrackRecording saving
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:18:06 +00:00
377d10de8c [ios] remove outdated code related to the search
the old MWMSearch... screen is not used anymore

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
f9fb0e8d7f [ios] replace MWMSearchManager with new SearchOnMapManager
- fix layout of the place page container (configure it programatiacally)
- use the new modal seearch VC everywhere
-

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
fbc1ebd84d [ios] remove setSearchOnMap from the MWMSearch
because the new search should always works as iPad

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
5db61f0498 [ios] implement modal search screen SearchOnMap
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
4eb7bf3f73 [ios] add searchHeader style
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
fcaad4d98e [ios] get the current Side buttons available size
This size is used to update the side buttons during the modally search screen dragging

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
f42083b8c9 [ios] prevent search marks hiding when the search result is selected
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
c666a68b37 [ios] rename IPAD func to isIPad and make internal visibility
it may be used in different situations

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
e53dcf7716 [ios] show current searching results on the map
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
ca2d888744 [ios] add getResults to the MWMSearch to fetch the full results list
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 12:17:33 +00:00
Alexey Krasilnikov
cd832b94b6 Add foreground service to indicate about ongoing downloads
Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-02-25 11:14:56 +00:00
1cbe25e5bc [ios] fix route planning reloading ui bug
The bottom route status view sometimes jumps from the top to the bottom during the 1st rendering. It happens because the view's frame is not calculated on the isVisible because the view is not init/deinit multiple times during the route building state changing. The bottom view now only changes its visibility and constraints, not the init/deinit on every update.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 10:58:14 +00:00
db4371e2c3 [ios] refactor search screen cells and tab bar
- remove xibs where possible
- update cells style (fonts, colors, icons)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 10:53:35 +00:00
varad64
9e47a49ec0 Use SharedPreferences to restore the last selected search tab on app restart.
Code refactor to change LastSelectedTab to LastSearchedTab.
Signed-off-by: varad64 <varad23711@users.noreply.github.com>

Code refactor to change LastSelectedTab to LastSearchedTab
2025-02-25 13:43:18 +03:00
83994a247e [ios] rename finishShareCategory to finishSharing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 10:18:51 +00:00
98ef2d61fb [ios] export single track from the place page as kml/gpx
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 10:18:51 +00:00
524f3fe358 [ios] show add stop button to the selected track point during the nav mode
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 09:42:48 +00:00
34510b8f1c [map] clear the gps tracker on save
The prev solution was to clean up the tracker points before the new track recording starting.
It was not fully correct solution because:
1. it causes the bug, when if we starts a recording, the `TrackRecordingUpdateHandler` is called by subscribers but receives the old `track info` from the previous track. It happens because the starting is an async call and it cleans up the gps collection a little bit later.
2. when the user finishes the track recording the collection is not properly cleared. The data will stay in the memory `forewer` until the next recording is started. And this data will be recovered on the next app launch too. There are no reason to store all the recorded data in memory until the new recording begins. This approach was Ok for the `previous path` feature (removed) but not for the TR. The data lifecycle for the both feature should be handled separately.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 09:39:35 +00:00
0687642095 [ios] fix memory leak in the PlacePageInfoViewController
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-25 09:38:42 +00:00
b9d0138cd1 [styles] Regenerate for pathtexts
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 07:08:55 +03:00
cf7a71b590 [styles] Add pathtexts to power lines
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 07:08:55 +03:00
1ea96c4069 [styles] Add captions to linear cliffs, city walls, embankments
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-25 07:08:55 +03:00
5ffd95a491 [ios] replace usage of cpp search::Result with objc SearchResult in UI
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-24 11:25:14 +04:00
69953c2b12 [ios] remove unused search::ProductInfo from the search
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-24 11:25:14 +04:00
KOIZUMI Satoru
868b538435 [strings] Regenerated
Signed-off-by: KOIZUMI Satoru <koizumistr@minos.ocn.ne.jp>
2025-02-24 08:10:15 +03:00
KOIZUMI Satoru
ca29e0b563 [strings] fix 'sort' in Japanese
Signed-off-by: KOIZUMI Satoru <koizumistr@minos.ocn.ne.jp>
2025-02-24 08:10:15 +03:00
25a6c1a5b1 [tools] Remove outdated scripts
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-02-23 20:09:53 +00:00
fced7be257 [indexer] Remove android tests
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-02-23 20:07:14 +00:00
Dmitry Gribenchuk
eacb3bbfa2 [strings] Regenerate
Signed-off-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
2025-02-23 19:45:50 +03:00
Dmitry Gribenchuk
b2464b2d31 [strings] Regenerate
Signed-off-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
2025-02-23 19:45:50 +03:00
462b73ef5a [styles] Regenerate drules
Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-23 17:33:00 +03:00
1e0065ab4d [styles] Updates zoom of all priority 500 shops to z18
- Made all z18 shops consistent z18

Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-23 17:33:00 +03:00
4a82b560bd [styles] Regenerate symbols
Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-23 17:31:56 +03:00
8df6183ba7 [android] Fixes icon colors
- Reverts opening hours tint that was wrongly set to white which is not visible in light mode in the commit 5841d0f .

- Sets color of hearing_aids icon same as  other shop icons

Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-23 17:31:56 +03:00
9c7438cb69 [android] RoutingErrorDialogFragment dialog fix
Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-23 17:31:56 +03:00
645f17c441 [android] Reorders stop track recording dialog box buttons
Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-23 17:31:56 +03:00
234dfb6d57 [android] Fixes downloader message UI
- Fixes #8520

Signed-off-by: hemanggs <hemangmanhas@gmail.com>
2025-02-23 17:31:56 +03:00
f5e61c7f35 [github] Don't require Design team to review each map icon change
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-23 16:27:07 +03:00
b0f96bf094 [strings] Fix plurals for pl, ru, uk
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-23 12:41:09 +00:00
Dwayne Bailey
09127e75c8 [strings] Remove double spaces
These are not used in the target formats XML swallows spaces,
translators should use unicode nbsp and such if they truly want two
spaces.

Primarily this prevents roundtrip noise when we extract the string to
Twine and drop double spaces.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-23 12:05:50 +00:00
Dwayne Bailey
e9326e99e4 [strings] Fix wrapped localisations
These lines got merged mistakenly in commit 66dba98d01 and 72c63f88a9

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-23 12:05:44 +00:00
Dwayne Bailey
ce09fe33d4 [strings] Reorder twine metadata
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-23 12:05:36 +00:00
fa52e1b3d4 [strings] Decrease discrepancies with Weblate
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-23 11:40:52 +00:00
Alexander Borsuk
1a3a527af3 [strings] Regenerated PP notes (html or text)
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-02-23 12:18:31 +03:00
Alexander Borsuk
af8af7a8a5 [android] Removed unused resources XML
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-02-23 12:18:31 +03:00
Alexander Borsuk
313664dc1c [strings] Use the same text hint mentioning HTML in all relevant places
Users do not know that HTML can be used in bookmarks descriptions.
Previously this hint was visible on iOS.
There's also no need to duplicate the text in several places.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-02-23 12:18:31 +03:00
75e5cd9168 [gpx] Use cdata for name field in gpx export
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2025-02-23 08:57:17 +03:00
9240602fa5 [android] Retain bookmark color/category edits across screen rotations
Resolves #2419

Signed-off-by: savsch <119003089+savsch@users.noreply.github.com>
2025-02-22 15:18:04 +03:00
04eb9642bb [bookmarks] Share single track
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2025-02-22 14:10:51 +03:00
83df1e5004 [map] review fixes
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-21 14:38:11 -03:00
8905269239 [android] fix compile warnings
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-21 14:38:11 -03:00
1783c90714 [map] move the track stats calc logic from ElevationInfo to the TrackStatistics
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-21 14:38:11 -03:00
Dmitry Gribenchuk
bc6a9e4804 [strings] Regenerate
Signed-off-by: Dmitry Gribenchuk <dmitrygribenchuk@gmail.com>
2025-02-21 09:05:17 +03:00
KOIZUMI Satoru
2331171850 [strings] fix Login TEXT in Japanese
Signed-off-by: KOIZUMI Satoru <koizumistr@minos.ocn.ne.jp>
2025-02-20 13:59:43 +03:00
cb6af94e12 [bookmarks] Remove unused code from BookmarkManager
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2025-02-20 12:41:28 +04:00
Ferenc Géczi
9678e0c491 Add 2025.02.17 release entry to metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2025-02-18 13:27:42 +03:00
Viktor Govako
4c9ac07829 Updated Russia (Caucasus), Algeria, Egypt, India, Iceland, Morocco.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-02-18 06:59:42 +03:00
Viktor Govako
d6f1d1174c [generator] Do not generate traffic keys
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-02-18 06:59:42 +03:00
Viktor Govako
1e31f4c8c0 [generator] Do not copy local planet.o5m dump, but make a symlink instead
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-18 06:59:42 +03:00
vng
76584aaa52 [generator] Updated doc and removed obsolete
Signed-off-by: vng <viktor.govako@gmail.com>
2025-02-18 06:59:42 +03:00
5b5a27900a [strings] Regenerated
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2025-02-18 06:43:13 +03:00
e44d8a19a3 [strings] Serbian translations, minor corrections
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2025-02-18 06:43:13 +03:00
2290fc88c0 [android] Allow several lines in the PP subtitle
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-18 06:05:00 +03:00
David Martinez
abdb58ba62 [debug] Add ?all-types debug command to show all internal types
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-02-18 06:05:00 +03:00
8cc91e7372 [styles] Regenerated symbols
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-02-17 18:20:26 +03:00
soshial
b831eba92d [android][l18n] fix localization of percentages in text
Signed-off-by: soshial <soshial@gmail.com>
2025-02-16 04:54:02 +03:00
29cf6abd7d [styles] Regenerate for new POIs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
8b02809b5d [strings] Regenerate for new POIs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
9a02f4e3fd [indexer] Add comms tower, cross and emergency=* to IsPoiChecker
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
d688c855a1 [classif] Add man_made=obelisk to historic=monument
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
38ed6221c2 [classif] Add man_made=flare
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
16cae17c50 [classif] Add emergency-mountain_rescue
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
944a61a52c [classif] Add emergency=lifeguard
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
8a3ff104a8 [styles] Fix hunting tower dark icon transparency
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
5e144a189a [classif] Add man_made=petroleum_well
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
8f8a4449a7 [classif] Add man_made=communications_tower
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
042e8ce025 [styles] Add a grey man_made=cross icon
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
72536b7c98 [classif] Add man_made=cross
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-15 16:08:46 +03:00
4d40e3dfac [styles] Regenerates drules only
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-14 17:04:15 +03:00
bb240c1aaf [strings] Regenerated
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-14 17:04:15 +03:00
82dd6bb98a [styles] Adds shop=hearing_aids POI/map feature
- also added DeepL translations to types_strings.txt  & categories.txt
- Used audiologist icon with purple bg
- Changed priority to 500
- Changed zoom z17 to z18

Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-14 17:04:15 +03:00
Aditya Jagrani
1bc3490ca7 [ios] fixed manage route button in dark mode on iPad
Signed-off-by: Aditya Jagrani <adityajagrani8@gmail.com>
2025-02-14 17:08:42 +04:00
e1128b51fc [bookmarks] Make bookmark's title depend on map language
Resolves #10117

Signed-off-by: savsch <119003089+savsch@users.noreply.github.com>
2025-02-14 04:39:52 +03:00
1790a4dfca [ios] refactor ElevationProfileViewController
1. remove a stroryboard and implement VC and ElevationProfileDescriptionCell programmatically
2. move the description collection view over the chart
3. remove some unused code
4. add isChartViewInfoHidden to show/hide the info view and enable/disable user interation (will be used for the track recording)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-13 20:14:43 +04:00
5841d0f96e [icons] Fixes Opening hours Tint
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-13 09:34:57 +03:00
2b746f0bf7 [Editor] Adds icons to editor (Fixes #6933)
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-13 09:34:57 +03:00
0597afd475 [android] Remove dead scripts
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
2025-02-13 09:28:18 +03:00
291daa91c0 [strings] Regenerated
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-12 12:14:02 +03:00
bfa15962df [strings] Renames the string "world map" for clarity (Fixes:#9334)
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-12 12:14:02 +03:00
1f0a6760e0 [gpx] Add xml schema to color in gpx export
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2025-02-11 23:16:32 +01:00
6b6b7d145e [ios] fix icloud initial sync bug when some files are not downloaded at start
https://github.com/organicmaps/organicmaps/issues/10221
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-11 09:27:15 +00:00
9c8b6d934c [ios] start downloading icloud item with coordination
Attempt to fix the https://github.com/organicmaps/organicmaps/issues/10042

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-11 09:25:51 +00:00
19701d83e6 [ios] fix Live activity widget issue when it recreates on every app opening
Description: https://github.com/organicmaps/organicmaps/issues/10222
Also this commit fixes the issue when the Live Activity is Disabled in the settings then the start recording fails

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-11 08:37:59 +00:00
d8a594855a [ios] fix UIDatePicker style in the Editor
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-02-11 08:36:42 +00:00
Osyotr
0a063dce44 [drape] Link OpenGL on windows
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2025-02-09 22:21:10 +01:00
Viktor Govako
d9de3eee6e [generator] Fixed possible bug in MaxspeedsMwmCollector.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-02-09 15:11:56 +03:00
Viktor Govako
87949cdb8e [tesselator] Temporary fix of possible error.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-02-09 15:11:56 +03:00
vng
3106cbd66d [generator] Fixed nodes in memory.
Signed-off-by: vng <viktor.govako@gmail.com>
2025-02-09 15:11:56 +03:00
vng
f3b5f72d93 [generator] Added RoadGeometry points stats.
Signed-off-by: vng <viktor.govako@gmail.com>
2025-02-09 15:11:56 +03:00
3c52bf59fd [styles] Regenerated for outdoors visibility changes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 19:15:30 +03:00
c349f39fe8 [styles][outdoor] Raise visibility of huts, hunting_stands, towers..
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 19:15:30 +03:00
0f4b3eadd4 [tests][routing] Add a comment to the controversial UK_Canterbury_AvoidDismount bicycle test
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 17:14:12 +03:00
a07a6d2d57 [tests][routing] Replace bicycle Madrid test
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 17:14:12 +03:00
0edc581acf [routing] Update comments in bicycle weights and tests
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 17:14:12 +03:00
199dd10c51 [tests][routing] Update bicycle speed tests
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 17:14:12 +03:00
55aba70d2b [tests][routing] New cycling integration tests
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 17:14:12 +03:00
23521ca309 [tests][routing] Update bicycle integration tests
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 17:14:12 +03:00
d9a8fb1934 [routing] Tune cycling weights and ETAs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-07 17:14:12 +03:00
2d2a27dec7 [docs] install.md: omim_test to omim-test
omim_test is wrong, it's omim-test

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-02-06 08:36:26 +03:00
8057e8c632 [styles] Fix unused color vars warnings
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-06 06:48:55 +03:00
e89f80644f [android] Fixes Hyphenation word wrapping
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-06 06:38:59 +03:00
6703faaae2 [android] Update NDK to r27c
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-04 19:35:00 +03:00
49fce04798 [android] Update dependencies
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-04 19:35:00 +03:00
7f45e7ffd7 [android] Update Gradle to 8.12.1
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-04 19:35:00 +03:00
6c1b069de7 [android] Update AGP to 8.7.3
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-02-04 19:35:00 +03:00
45dd46799e [ios] Use FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS
The new Fastlane feature enables incremental synchronization
of screenshots without fully removing them during each upload.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-02-04 09:15:00 +00:00
98ba6f66a9
[Android] Allow reverse portrait orientation (#10176)
Signed-off-by: VoxelPrismatic <voxelprismatic@pm.me>
2025-02-04 05:14:48 +03:00
65f556e175 [android] Displays whole GPS error message in notification (Fixes:#9288)
Signed-off-by: Hemang Manhas <hemangmanhas@gmail.com>
2025-02-03 20:02:54 +00:00
945ae37209 [strings] Regenerated
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2025-02-03 18:53:46 +03:00
c851828162 [strings] Serbian translations, minor corrections
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2025-02-03 18:53:46 +03:00
84a49920cc [docs] improve translation instructions a bit
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-02-01 19:01:32 +03:00
David Martinez
fb3f6e539c [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-02-01 18:51:19 +03:00
David Martinez
b3a56d8b6c Treat "only" as "yes" instead of "unknown" in YesNoUnknownFromString
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-02-01 18:51:19 +03:00
David Martinez
431cf357a3 [editor][ios] Add outdoor_seating to editor
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-02-01 18:51:19 +03:00
David Martinez
3493538c56 [editor][ios] Add self_service to editor
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-02-01 18:51:19 +03:00
David Martinez
1664c549b4 [strings] Add self_service string to iOS
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-02-01 18:51:19 +03:00
Colin Takushi
882cfd1a89
[core] Allow for rotation when scale is max. (#10137)
Signed-off-by: Colin Takushi <takushicolin@gmail.com>
2025-02-01 07:36:12 -03:00
457dac6f15 [android] Support using mouse wheel to zoom
Resolves #9841

Signed-off-by: savsch <119003089+savsch@users.noreply.github.com>
2025-02-01 11:13:32 +03:00
efcadd6f25 Refactor Editor storage to use diff based approach
Signed-off-by: map-per <map-per@gmx.de>
2025-01-31 17:46:04 -03:00
3ce6a9a29d [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-31 14:14:49 +03:00
598bb5f176 [strings] Bicycle charging translations updates
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-31 14:14:49 +03:00
zell-mbc
4d7572e07c [categories] Added German translation for bike charging.
Signed-off-by: zell-mbc <thomas@zell-mbc.com>
2025-01-31 14:14:49 +03:00
519a851a66 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2025-01-30 22:12:16 +03:00
5c3a0c28cf [styles] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2025-01-30 22:12:16 +03:00
659af4bf1d Separate quarter and neighbourhood
Signed-off-by: map-per <map-per@gmx.de>
2025-01-30 22:12:16 +03:00
9b93d66f3d [ios] refactor the BottomMenuLayerButton
The runtime attributes were removed from the xib. Because it is really hard to debug them and there is no reason to set the bunch of the same attrs to the multiple items. Such configurations should be done pogrammatically.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-01-30 15:02:57 -03:00
6ed297c62e [ios] fix bug when the layers menu doesn't layouted properly on appear
On some ios versions the `tableView.layoutIfNeeded()` is called but the view doesnt set as it should be relayouted. This bug is founded on the iPhone Xs Max 18.2.
https://github.com/organicmaps/organicmaps/issues/10143#issuecomment-2620913027

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-01-30 15:02:57 -03:00
db1b38b40f [ios] fix track recording bug first appearnce bug
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-01-30 15:01:51 -03:00
f815ec1a17 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2025-01-30 19:57:01 +03:00
6dd2ea68d6 Improve place selection explanation
Signed-off-by: map-per <map-per@gmx.de>
2025-01-30 19:57:01 +03:00
DeshDeepakKant
d5635fd27b [bookmarks] Updated import bookmarks and tracks icon for consistency
Signed-off-by: Desh Deepak Kant <deshdeepakkant@gmail.com>
Signed-off-by: DeshDeepakKant <deshdeepakkant@gmail.com>
2025-01-30 19:53:02 +03:00
2f004d2d05 [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-30 19:46:59 +03:00
622e5d3a83 [strings] Remove unused AA string
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-30 19:46:59 +03:00
73511395b0 [strings] Fix Dutch translation
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-30 19:46:59 +03:00
Matheus Gomes
2ff9c4c690 Pt br translation (#4)
* Update Localizable.strings

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

* Update types_strings.txt

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

* Update strings.xml (#3)

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

---------

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2025-01-30 19:46:51 +03:00
2b271761c1 [github] Remove explicit CODEOWNERS from translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-30 19:35:03 +03:00
bd07332971 Merge branch 'release/2025.01.24' 2025-01-30 18:29:12 +03:00
KOIZUMI Satoru
9ff69ede4f [strings] fix typo in Japanese
Signed-off-by: KOIZUMI Satoru <koizumistr@minos.ocn.ne.jp>
2025-01-30 08:02:59 +03:00
7777a78448 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2025-01-29 16:41:26 +03:00
e02ae76196 Reorderd editor page fields
Signed-off-by: map-per <map-per@gmx.de>
2025-01-29 16:41:26 +03:00
2b82c234e0 Reordered place page details
Signed-off-by: map-per <map-per@gmx.de>
2025-01-29 13:55:25 +03:00
Andrew Shkrob
4b889f5b72 [android-auto] Make AA background service
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-28 09:15:54 +03:00
Ferenc Géczi
0c9399e28c Add 2025.01.26 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2025-01-27 13:38:54 +03:00
Andrew Shkrob
b8848eb39b [android-auto] Make AA background service
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-26 22:06:37 +03:00
7865ecb18b Don't hide login for offline users
Signed-off-by: map-per <map-per@gmx.de>
2025-01-26 21:54:01 +03:00
rtsisyk
0e38f132cd Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2025-01-26 18:43:05 +00:00
25a875483e [build] Fix Android versioning
Caused by ee36eb8d1 "Use today's commits count and two numbers"

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-01-26 21:41:54 +03:00
2687112499 Release notes: update data to January 21
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-26 12:48:09 +03:00
5960d69945 Release notes translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-26 12:48:09 +03:00
Viktor Govako
12ad44e513 [routing][tests] Updated routing integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-01-26 12:48:09 +03:00
Viktor Govako
9fd25a3311 [search][tests] Fixed search integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2025-01-26 12:48:09 +03:00
1d3323952e [planet] New data from 250121.
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-26 12:48:08 +03:00
Alexey Krasilnikov
1c9d16a141 [android] Add donation option to Place Page
This implementation follows iOS version as much as possible and uses the same core logic.

Resolves #10081

Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-01-26 12:38:15 +03:00
Alexey Krasilnikov
b092262c74 [android] Define manageSpaceActivity
This is a nice feature to reduce amount of uninstalls and full cleans.

Consider the case:
1. You don't have enough free space on your phone.
2. You go to the Settings -> Storage -> Apps to see which apps eats the space.
3. You see Organic Maps, click on it and click on Clean storage.
4. But instead of performing a full clean you see a screen to manage maps you have on the device.

Third-party storage managment apps could support this as well.

Resolves #1079

Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-01-26 11:35:25 +03:00
fb5f8fb902 [ios] Fix font color not updating with theme change on Wiki page
Signed-off-by: narwalayush4 <narwalayush4@gmail.com>
2025-01-25 21:09:54 +04:00
1516ea742c [ios] Add padding on Wikipedia description page
Signed-off-by: narwalayush4 <narwalayush4@gmail.com>
2025-01-25 21:09:54 +04:00
e03ae18a0d [docs] Update CONTRIBUTORS list
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-24 09:24:43 +03:00
4f088ce006 [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-22 17:32:07 +03:00
Colin Takushi
d8d95674ca
[search] Add handling for negative case when using comma separators (#10105)
* Add handling for negative case when using comma separators
* keeping it simple

Signed-off-by: Colin Takushi <takushicolin@gmail.com>
2025-01-21 23:55:37 -03:00
082b36b541 Use htmlmin2 to work on newer python versions
Signed-off-by: map-per <map-per@gmx.de>
2025-01-21 19:33:02 +03:00
TobiPeterG
a100a8ac50 Check for null before animation
Signed-off-by: TobiPeterG <github.threefold020@passmail.net>
2025-01-21 13:18:54 -03:00
David Martinez
7e41a4ccb4 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-01-21 13:11:04 -03:00
David Martinez
a6a35b16e9 [styles] Add search result icons for tourism POIs
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-01-21 13:11:04 -03:00
David Martinez
5ce1a89b05 [styles] Add search result icons for water POIs
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2025-01-21 13:11:04 -03:00
Osyotr
49fe86b529 [qt] Add windows resources to build
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
fixup
res fixup
2025-01-21 13:05:39 -03:00
Alexey Krasilnikov
edc19ac605 Replace Listeners usages with ObservableList from Chromium
Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-01-21 13:00:44 -03:00
bc3e637ab6 [strings] Regenerated
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2025-01-21 18:59:53 +03:00
cf43c6ba2a [strings] Serbian translations, minor corrections
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2025-01-21 18:59:53 +03:00
7d48d1fdaf Add scrollbar to category list
Signed-off-by: map-per <map-per@gmx.de>
2025-01-21 12:59:19 -03:00
renderexpert
c6661f145b Add support for injection external rendering code to the Drape
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2025-01-21 12:47:09 -03:00
renderexpert
d70611fbfe Refactor Vulkan context factory
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2025-01-21 12:47:09 -03:00
renderexpert
49310dbe10 Extend vulkan wrapper
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2025-01-21 12:47:09 -03:00
f644198302 Release notes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-18 16:57:40 +03:00
FinixFighter
340ed4468b Update sound.txt
Improved it translation. "su" is better than "sulla" when indicating on which road to turn. 
Example:
"Svolta su Via Bastioni" instead of "Svolta sulla via Bastioni".

Signed-off-by: FinixFighter <19877271+FinixFighter@users.noreply.github.com>
2025-01-17 16:35:07 +03:00
79b4826859 [ios] [icloud] skip file recreaion during the update event from the icloud
When the user deletes the file locally with the enabled icloud happens this:
1. the file is moved to the local .Trash dir
2. the LocalDirectoryMonitor send event to delete the file from the iCloud
3. the SynchronizationFileWriter trash the remote file using the system API `try fileManager.trashItem`
4. the file is moved to the devices trash
5. the icloud sends the update to the metadataQery's `queryDidUpdate` with the updated state. This update is tricky - it calls the method twice: on the first call the deleted file appears in the updated list (`userInfo[NSMetadataQueryUpdateChangedItemsKey]`) and on the second call the deleted file appears in the deleted list (`userInfo[NSMetadataQueryUpdateRemovedItemsKey]`). There is no way to disable this behaviour.
At that point the bug can happens: the 1st `update` (that contains the file in the deleted list) call can triggers the file recreation because the synchroisztion starts to process the event and make an attempt to recreate the file but it is already deleted.

The fix is: skip missed file during the `Update` event. The case when the missed file is in the updated in undefined and should be skipped by checking the file existence.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-01-16 22:58:28 +04:00
Alexey Krasilnikov
eef41a9964 Remove standard Android Studio template leftovers
Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-01-16 11:46:42 -03:00
Andrew Shkrob
3ec607313b [android] Refactor cpp-java ui thread forwarding
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-16 11:44:53 -03:00
Alexey Krasilnikov
aaad6ecb44 Allow to modify list of listeners in LocationHelper from callbacks
It's a legit case when a listener is removed from the list as a result of call to that listener. That causes the list of listeners to be modified during an iteration, which is not supported by standart collections.

The most efficient option to support that is to use ObserverList from Chromium project and this is done here.

Another options are a) to use CopyOnWriteArrayList b) to use Listeners class from the codebase. Both of them are less efficient and do more allocations.

Resolves #546

Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-01-16 11:44:36 -03:00
a1c6d532b5 [ios] refactor styles to make them type-safe using enums instead of string lit
1. for now the structure is SheetStyle.Global/PlacePage/Font/TestColor...
2. the styles are used by assessing the property
before:
lineView.setStyleAndApply("Divider")
headerTitleLabel.setStyleAndApply("semibold18:blackPrimaryText")

after:
lineView.setStyleAndApply(.global(.divider))
headerTitleLabel.setFontStyle(.semibold18, color: .blackPrimary)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2025-01-16 16:02:29 +04:00
06bd35d931 [Packaging] add environment info to desktop screenshots, fix typo
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-01-16 12:45:30 +03:00
Alexey Krasilnikov
8d6b3a3d2f [android] Fix crash if coordinates are copied after bottom bar is closed.
Resolves #9979

Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-01-11 14:33:49 -03:00
Alexey Krasilnikov
b27c06a9d0 [android] Fix the title after editing the name of a boomark.
Resolves #10005

Signed-off-by: Alexey Krasilnikov <alexey@krasilnikov.me>
2025-01-11 14:33:34 -03:00
Dzmitry Strekha
e08001a769 [Android] Add insets handling in ProfileFragment
Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2025-01-11 13:49:29 -03:00
Andrew Shkrob
ce2720826e [strings] regenerated
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-11 09:07:28 +00:00
Andrew Shkrob
59c68f7b41 [android-auto] Better permissions request
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-11 09:07:28 +00:00
de3acf645c Add 44+ Technologies to list of sponsors 🎉
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-01-09 09:31:56 +00:00
Metehan Özyürek
d1356001a1
[stirngs] Fix Turkish translation
Signed-off-by: Metehan Özyürek <80093621+MetehanOzyurek@users.noreply.github.com>
2025-01-09 09:17:11 +00:00
Andrei Shkrob
56f2552578 Revert "[android-auto] Put back location type for AA service"
This reverts commit 8174ca7e6e.

Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-09 09:15:26 +00:00
Ferenc Géczi
bf53d33025 [docs] Fix broken links in TEAMS.md
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2025-01-08 19:36:40 +03:00
c03c727006 [Styles] Regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-01-08 19:35:25 +03:00
ccf5f1c1f9 [Styles] render natural stuff earlier in vehicle style
now matches rendering levels in default style
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-01-08 19:35:25 +03:00
Kai
4e62232fdf Update strings.txt
Added missing 'e' in one place

Signed-off-by: Kai <K232@users.noreply.github.com>
2025-01-08 14:23:28 +00:00
c738109066 Add mwm_diff_tool to generator instructions
Signed-off-by: map-per <map-per@gmx.de>
2025-01-08 14:23:17 +00:00
77ef2ac0b4 [docs] Add TEAMS and update CODEOWNERS
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2025-01-08 09:24:49 +00:00
973a5250dd [strings] Serbian descriptions and release notes
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2025-01-06 15:46:59 +03:00
e2f5005ce8 Allow more than one number for level
Signed-off-by: map-per <map-per@gmx.de>
2025-01-05 14:41:37 +03:00
199094a466 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2025-01-05 11:09:55 +03:00
fecfa6f604 Updated DE category translations
Signed-off-by: map-per <map-per@gmx.de>
2025-01-05 11:09:55 +03:00
3e6eb90be6 Remove unused mwm_names_en.txt
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-01-04 13:53:07 +03:00
444bc2e4e6 [Strings] Regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-01-03 21:41:11 +03:00
b0c7e9609f [Strings] "Scotland - North/South" to "North/Southern Scotland"
Signed-off-by: Harry Bond <me@hbond.xyz>
2025-01-03 21:41:11 +03:00
Interactiondesigner
f314521039 Update strings.txt
Corrected a typo in German translation (line 18805)

Signed-off-by: Interactiondesigner <mr.funky@gmx.de>
2025-01-03 21:36:29 +03:00
Andrew Shkrob
4a1897caca [android-auto] Add bookmarks sorting
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-03 11:05:55 +00:00
Andrew Shkrob
8174ca7e6e [android-auto] Put back location type for AA service
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-03 11:05:03 +00:00
Andrew Shkrob
7de8fdd3bb [android-auto] Fix maps downloading in planning mode
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-03 10:47:52 +00:00
Andrew Shkrob
0c28dcbabd [android-auto] Check for world maps after init
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2025-01-03 10:40:46 +00:00
74aed8995e [strings] Regenerate for Unknown Place to Map Point change
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-03 11:30:34 +03:00
d46e9aa647 [classif] Map tower:type=communication masts into comm towers
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-02 15:42:31 +03:00
3c8ef18ba8 [search] Make peaks, saddles and towers more searchable
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-01-02 15:42:31 +03:00
5868350356 [strings] Serbian translations for cuisines added (by ZeljkoBG)
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2024-12-30 16:10:56 +03:00
bdf51e704e [strings] Serbian description added
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2024-12-30 13:50:31 +03:00
Mynkara08
ff55783162 Fix the layout height
Signed-off-by: Mynkara08 <mayunksingh2000@gmail.com>

Signed-off-by: Mynkara08 <mayunksingh2000@gmail.com>
2024-12-30 13:42:20 +03:00
meenbeese
ea71a7b522 Rename "Unknown Place" title to "Map Point"
Signed-off-by: meenbeese <meenbeese@tutanota.com>
2024-12-30 13:20:59 +03:00
e66b8a9881 [ios] ios fix widget renaming
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-29 16:07:19 +04:00
Andrew Shkrob
5da5e95eb8 [java] Update codestyle
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-12-29 11:37:08 +00:00
ec072a188c [tests] Adjust external settings tests
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-29 14:06:55 +03:00
5ffd2a8303 [core] Limit server-set set settings to DonateUrl and NY
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-29 14:06:55 +03:00
b940009b0e [ios] replace UIWebView with the WKWebView on OpeningHoursEditorViewController
To silent compile time warning (the UIWebView is not supported since iOS 13.0)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-29 13:40:18 +04:00
a8eb0b535f [map] remove unused value to fix compile warning
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-29 13:40:18 +04:00
d07d9d79fa [ios] remove the old code related to the Booking Search Filters
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-29 13:40:18 +04:00
31d940dceb [ios] fix some complie warnings
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-29 13:40:18 +04:00
a9ea75d20c [ios] Automatically manage signing for AppStore
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-12-28 23:11:04 +00:00
05ae910403 [ios] remove swift bridging headers from the widget target
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-28 11:16:04 +00:00
e00f33a076 [github] Manage private secrets with GitHub Secrets to enhance security
1. Restore the original simple version of `configure.sh`
   Restores 08e37f4 "Refactor configure.sh"
   Reverts b87ee95b "Fixed configure.sh script and gh actions"

2. Use GitHub Secrets instead of a private git repository to enhance
   security standards and ensure credentials are encrypted and safely
   managed.

3. Document credentials used by GitHub Actions in docs/CREDENTIALS.md

4. Include `network_security_config.xml` directly into the repo
   as it has nothing sensitive.

5. Include Apple WWDR intermediate certificates directly into the repo
   as they are not sensitive and publicly available.
   https://developer.apple.com/help/account/reference/wwdr-intermediate-certificates

6. Add `private.h` in the repository since it does not differ from
   `private_defaults.h`.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-12-27 20:16:52 +00:00
92850e8c2c
[docs] Add the app icon to README.md
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-12-27 20:01:37 +00:00
bcba71e24f [legal] Add LEGAL notice
The document reaffirms the current status without introducing new policies.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-12-27 19:57:36 +00:00
Andrew Shkrob
7be367cec5 [android-auto] Update CarApp lib to 1.7.0-beta03
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-12-27 19:54:36 +00:00
Ferenc Géczi
543b783d56 [generator] Suppress false positive may be used uninitialized
The following gcc warning is only emitted when `cmake` has been
invoked with `-DCMAKE_CXX_FLAGS='-Og'` for debug purposes.

````
generator/maxspeeds_builder.cpp: In lambda function:
generator/maxspeeds_builder.cpp:249:9: warning: ‘status’ may be used uninitialized [-Wmaybe-uninitialized]
  249 |         if (status == 0)
      |         ^~
generator/maxspeeds_builder.cpp:181:13: note: ‘status’ was declared here
  181 |         int status;
      |             ^~~~~~
````

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-26 13:39:41 +03:00
780e67ebd7 [ios] Fix signing for the new live widget
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-12-24 15:03:04 +00:00
342863a8b1 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
464c2454ba [strings] add/fix strings related to the Track PP
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
37d906e7f1 [ios] pass state enum+trackRecordingInfo instead of Bool to the TR callback
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
d747702611 [ios] rename TrackRecordingInfo to the TrackInfo and remove unused dir
This entity will be used both for the tracks and _track recordings_ to store the current info.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
3da20576e1 [ios] rename PlacePageBookmarkViewController to the ...BookmarkOrTrack...
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
3a5c9aee89 [map] enable track selection for ios
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
4082a783dc [ios] add track deletion confirmation alert
Also the issue for the PP VC in `traitCollectionDidChange` was fixed. It is needed to prevent PP reloading when the alert is presented over the screen. It happens because the new trait updates can be passed to the `traitCollectionDidChange` method on the every layout update and it cause the steps and layout recalculations. The PP should be reloaded only when the vertical size class is changed.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
41979b1104 [ios] implement Track PlacePage UI
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
d2310433d6 [ios] refactor PP dependencies to support UDF
View -> Interactor -> Presenter -> View

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
8efd7d30ac [ios] refactor CoreApi to support the Track selection and ElevationProfile
1. setElevationActivePoint is changed to work withe the CLLocationCoordinate2D that allows to pass the selected point to the core and show the blue mark on the track in the correct place
2. initWithElevationInfo is removed from the PlacePagePreviewData because the elevation profile is a part of track now and the PP header is configured in the core
3. ElevationHeightPoint stores the coordinates for easily track marks creation
4. add PlacePageTrackData to the PlacePageDate

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
d881cb952b [ios] refactor Chart framework
1. Fixed big issue when the track point's array indexes are used for the xAxis values instead of the actual distances. Old approach cause wrong elevation profile shape and wrong slope ratio.
2. Track start/end clipper (chartPreviewView) set to hidden because it overload the screen
3. Fix code formatting, naming and style
4. Added TapGesture to handle single taps on the chart

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
58dd11c971 [ios] add PlacePageTrackData to pass the track to the place page
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
a862a9ff10 [ios] refactor TrackRecordingInfo to only wrap the data from the core
This refactoring allows to split the data for the PP on 2 parts:
1. TrackRecordingInfo (dist, dur, acend, descend etc)
2. ElecationProfileData (only the points to draw)
Because the PP should be created only with the 1st one for the TrackRecordings (will be implemented later) and the PP shoul display all the info without the chart.
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 12:12:53 +00:00
438e923de5 [ios] fix live activity background color
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-24 16:07:01 +04:00
f79b21892a [strings] Regenerated
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2024-12-24 01:26:01 +03:00
ddeb261675 [strings] Serbian translations, minor corrections
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2024-12-24 01:26:01 +03:00
27db960cfc [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
f2298aaff8 [strings] fix max main elevations strings
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
2ed11e18e8 [ios] [android] rename altitude to the elevation
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
5e79069a84 [ios] implement ActivityWidget support to the TrackRecordingManager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
e5395e6f16 [ios] add emptyInfo to the TrackRecordingInfo
`emptyInfo` is used as an initial (zero) state during the recoding process starting to notify the info observers
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
66020b0db9 [ios] implement TrackRecordingActivityManager
This manager handles pass the current track recording info to the LiveActivity Widget
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
29d5576d83 [ios] fix extension availability compile errors
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
b452b608b8 [ios] add OMapsWidgetExtension target to the project
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
5831885806 [ios] add support for the NSSupportsLiveActivities to the plist
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 18:43:35 +00:00
Alexander Borsuk
ee36eb8d12 [ios] Use today's commits count and two numbers from commit hash in the build number
Now it looks like this:

  ios_version    2024.03.27
  ios_build      1.44211.31960

And allows deploying different versions from branches into the TestFlight without clashing

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-23 16:47:12 +00:00
Alexander Borsuk
a4781d12f2 [tools] version.sh initializes printed variables when displaying help
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-23 16:47:12 +00:00
9347453d66 [ios] fix encoding for the empty category selection text view
NSUTF8StringEncoding works incorrectly with html data type in the UITextView

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-23 14:35:09 +04:00
0873f97754 [ios] show the disable full screen on long tap toast every time
instead of the only the firs hiding

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-22 21:44:15 +04:00
Ferenc Géczi
2b78ba1749 [drape_frontend] Fix memcpy of non-trivial GLM type
Fixes the following GCC warning:

````
drape_frontend/arrow3d.cpp:503:11: warning: ‘void* memcpy(void*, const void*, size_t)’
copying an object of non-trivial type ‘glm::mat4’ {aka ‘struct glm::mat<4, 4, float, glm::packed_highp>’}
from an array of ‘const struct math::Matrix<float, 4, 4>’ [-Wclass-memaccess]
  503 |     memcpy(&pTo3dView, &m, sizeof(pTo3dView));
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
````

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-22 12:04:47 -03:00
Ferenc Géczi
1d8bfb75cd [indexer] Fix the suppression of deprecated-declarations
Fixes the ~40, GCC 14 warnings in the CI job:

````
generated_message_table_driven.h:159:20: warning: 'is_pod<google::protobuf::internal::AuxillaryParseTableField>'
is deprecated: use 'is_standard_layout && is_trivial' instead [-Wdeprecated-declarations]
  159 | static_assert(std::is_pod<AuxillaryParseTableField>::value, "");
````

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-22 12:00:23 -03:00
Ferenc Géczi
958589b29a [drape_frontend] Fix memset of non-trivial CirclesPackDynamicVertex type
Fixes the following GCC warning:

````
drape_frontend/circles_pack_shape.cpp:133:9: warning: ‘void* memset(void*, int, size_t)’
clearing an object of non-trivial type ‘struct df::CirclesPackDynamicVertex’;
use assignment or value-initialization instead [-Wclass-memaccess]
  133 |   memset(m_buffer.data(), 0, m_buffer.size() * sizeof(CirclesPackDynamicVertex));
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
````

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-22 11:58:40 -03:00
6465fa8686 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-12-22 01:34:56 +03:00
ceb321db73 Link to Notes in OSM profile
Signed-off-by: map-per <map-per@gmx.de>
2024-12-22 01:34:56 +03:00
693e1aa5d0 Category in editor not clickable
Signed-off-by: map-per <map-per@gmx.de>
2024-12-21 22:36:00 +03:00
Mynkara08
7762c66901 Fix uneven gaping around title
Signed-off-by: Mynkara08 <mayunksingh2000@gmail.com>
2024-12-21 13:32:46 +03:00
b6cc1d57fa [android] Show a toast every time FS mode is entered
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-19 20:11:55 +03:00
Ferenc Géczi
4c41eb5816 [map] Refactor fix for unused variable warning
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-19 13:38:16 +03:00
Ferenc Géczi
58df08f390 [map] Fix unused variable warning
Fixes the following warning:
````
map/framework.cpp:2252:12: warning: variable ‘rect’ set but not used [-Wunused-but-set-variable]
````

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-19 13:38:16 +03:00
Jenny Em
aa3e07c33f [styles] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-18 23:59:53 +03:00
Jenny Em
8e2377ae8c [styles] added small icon for funicular
and added [railway=halt][station=funicular] to mapping as it’s nearly the same as [railway=station][station=funicular]

Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-18 23:59:53 +03:00
b79d56ad8d Add margin below Wikipedia
Signed-off-by: map-per <map-per@gmx.de>
2024-12-18 21:46:50 +03:00
f0dc8017b6 Place edit button below description
Signed-off-by: map-per <map-per@gmx.de>
2024-12-18 21:30:13 +03:00
Ferenc Géczi
1360ca3db6 Use CHECK instead of ASSERT for unexpectedly reached case
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-18 21:23:27 +03:00
Ferenc Géczi
2c65f4ca90 [qt] Add Night Mode to preferences dialog
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-18 21:23:27 +03:00
e3155c5825 [strings] Make mast & flagpole searchable in the Editor
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-18 21:10:32 +03:00
zyphlar
8e4d8fdaab [strings] Regenerated strings
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2024-12-18 20:10:23 +03:00
zyphlar
aa37f26419 [strings] Serbian translations for types_strings per @ZeljkoBG discussions/9858
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2024-12-18 20:10:23 +03:00
c7f11a16ec [search] Update list of features skipped from search
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-18 19:53:49 +03:00
c551da5ea9 [styles] Regenerate for tunnels priorities
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-18 19:52:32 +03:00
51c71374b8 [styles] Fix foot tunnels drawing priorities
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-18 19:52:32 +03:00
Viktor Govako
61088ada27 [categories] Blank lines are not allowed within one category translations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-12-18 16:17:00 +03:00
ea01aeb994 [tests] Fix for man_made=tower
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-17 20:35:17 +03:00
38b44ce040 [styles] Regenerate for man_made=tower
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-17 20:35:17 +03:00
5e5aa9d10c [styles] Add man_made=tower
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-17 20:35:17 +03:00
01890abc83 [map] [platform] review fixes
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-17 14:11:52 -03:00
bfdae6bc79 [ios] add API to get updates of the track recording state
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-17 14:11:52 -03:00
a2eaccc564 [map] [framework] implement track info updates observing to the framework
The updates can be retrieved using the `SetTrackRecordingInfoUpdateHandler`

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-17 14:11:52 -03:00
de0650f3b2 [map] calculate the track recording info stats
To retrieve as a `GpsTrackInfo` struct that will be used to notify the UI about the track recording process.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-17 14:11:52 -03:00
2d410d127b [map] remove unused code from the GpsTrackCollection
GpsTrackCollection has two methods to add: point and points.
The first one is used only once time in the unit test and removed to simplify the adding logic.
RemoveUntil is not used.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-17 14:11:52 -03:00
a8077eb6a0 [platform] get PointD from the GpsInfo to calc length between 2 gpsInfo pts
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-17 14:11:52 -03:00
0a8e6ddcfe [strings] Regenerate for Kayak setting and other PRs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-17 19:51:26 +03:00
09c8dcc566 [strings] Translations updates for the Kayak setting #9820
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-17 19:51:26 +03:00
Alexander Borsuk
d7f375a7d0 [3party] Update expat to 2.6.4
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-17 12:58:19 -03:00
Jenny Em
a51cf60914 [styles] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-17 12:40:53 -03:00
Jenny Em
1d428455c5 [styles] Fixed subway icon darkmode and size s
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-17 12:40:53 -03:00
Dmitry Strekha
655cf0f174
[Android] Fix for wrong ime insets on some devices (#9786)
* [Android] Possible fix for wrong ime insets on some devices
* [Android] Allow changing default insets type mask with a Builder
* [Android] Change insets type to exclude ime insets

Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-12-17 15:02:40 +03:00
b03108318c [ios] add TrackRecording widget to the top-right
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-16 22:28:23 +00:00
4a33a609d8 [ios] add TrackRecording state observation
To bind state with the button on the main screen

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-16 22:28:23 +00:00
592b5bf595 [ios] add new icon for the track recoding main tab button
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-16 22:28:23 +00:00
2e1368ffc0 [docs] Update CONTRIBUTING, add TOC
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-16 22:45:09 +01:00
Ferenc Géczi
df2541e1bf [qt] Remove defunct Traffic layer button
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-16 22:44:12 +03:00
Kiryl Razhdzestvenski
87526aad54 Issue 9696. Recalculate route automatically when routing options are changed
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-12-15 21:15:45 +03:00
Jenny Em
6b594420c0 [styles] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-15 20:45:35 +03:00
Jenny Em
32e2bf7eef [strings] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-15 20:45:35 +03:00
Jenny Em
a0590b3b1f [styles] Added generic icon for monorail stations
added [railway=halt][station=monorail] to the existing [railway=station][station=monorail] in the mapping as it’s quite often used, but the difference between station and halt doesn’t matter for maps

Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-15 20:45:35 +03:00
Kiryl Razhdzestvenski
a634c76ac5 Issue 9822. Change search language on change map language
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-12-15 14:26:01 -03:00
Markku Huotari
95d6918f8e Update types_strings.txt
Corrected some miscellaneous Finnish words that I've bumped into through the UI lately and found incorrect.

Signed-off-by: Markku Huotari <markku.huotari@hsl.fi>
2024-12-15 20:24:09 +03:00
Alexander Borsuk
cdc9b8beee [ios] Enable Serbian (Cyrillic)
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-15 18:17:53 +01:00
Alexander Borsuk
29adf61163 [strings] Regenerate Serbian for iOS
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-15 18:17:53 +01:00
Ferenc Géczi
8d2d8d3c80 Fix review comments
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-15 20:11:29 +03:00
Ferenc Géczi
1a5def70b5 [qt] Add Outdoors layer
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-12-15 20:11:29 +03:00
Alexander Borsuk
b1cf66e5c1 [strings][ios] Enabled Latvian on iOS
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-15 00:17:44 +01:00
Alexander Borsuk
8f53bd5cf4 [strings] Regenerated Latvian
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-15 00:17:44 +01:00
Alexander Borsuk
a68ddd5124 [search] Enabled Latvian in categories.txt
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-15 00:17:44 +01:00
Alexander Borsuk
6a7e1a9393 [search] Latvian search synonyms for categories.txt
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-12-15 00:17:44 +01:00
7a9f5b4883 [tools] Update kothic (#30 and #29)
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-14 14:10:34 +03:00
3505356195 [strings] Regenerate
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2024-12-14 11:50:49 +01:00
07ac13431c [strings] Serbian translations (strings and categories)
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic+om@gmail.com>
2024-12-14 11:50:49 +01:00
28c6f4f2fc [strings] Regenerate for Kayak setting
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-13 00:50:06 +03:00
2f1b6ce0e0 [android] Add a setting to display Kayak links
Disabled by default in F-Droid build, enabled in other builds.

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-13 00:50:06 +03:00
e10afa843e Revert "[android] Remove a referral code from “Photos, reviews, booking”"
This reverts commit ee7e87fa1e.

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-13 00:50:06 +03:00
16c8355c3a Fixed multiline button style for DialogStackedButton
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-12-12 19:01:30 +03:00
86a684029f [styles] Regenerate for shop-pasta
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-12 18:47:31 +03:00
4da069f5ae [styles] Add default icon to shop-pasta z16-
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-12 18:47:31 +03:00
b3d800ab4a [ios] Remove a separator from LayersVC
Separator should be visible only for the Layers + Menu and hidden for the Layers only.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 18:54:01 +04:00
165692657c [ios] add separators to the PlacePage views programmaticalay
The separators that was created in the storyboards and xibs is very hard to find/select/edit/change width and color. This is why they should be configured and added programmatically.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 18:54:01 +04:00
916d787e4d [ios] fix UIView+AddSeparator to support the top and bottom positions
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 18:54:01 +04:00
2ad85fbcf7 [map] review fixes
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 13:20:10 +04:00
9f804cc615 [android] fix track selection refactoring warnings
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 13:20:10 +04:00
6d2465bc9c [ios] fix track selection refactoring warnings
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 13:20:10 +04:00
7f54b9306d [map] fill PP header info with track info
The GetAddress is changed to the GetSecondarySubtitle because the 4th line in the header contains address for bookmarks or distance+duration for tracks
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 13:20:10 +04:00
f36fb2f72b [map] set track selection mark hidden when the track is deselected
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 13:20:10 +04:00
6bb3dd5af5 [map] fix track selection
1. pass point with coodinates explicitly instead of calc the point by distance on every selection update
2. removed default track selection because the tracks should not have default marks
3. remove isInteractive property because all tracks are interactive now
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 13:20:10 +04:00
ab128bbaeb [map] refactor ElevationInfo and implement it as a Track property
1. filling ElevationInfo with data properties is removed because there is no such data for tracks in the data
2. elevation profile is initialized only with the MultiGeometry because it shouldn't know about any other info exept the lengths, altitudes and timestamps
3. data is calculated as concatenation of all geometry segments (not the 1st one as in old implementation)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-11 13:20:10 +04:00
alnzrv
cf091ba3fd [Strings] Fixed Estonian description of San Marino
Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>
2024-12-06 23:23:10 -03:00
c49fe92362 [tools] Validate and auto-format more strings files
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-06 23:18:13 -03:00
0ee9079e67 [strings] Fix langs order
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-06 23:18:13 -03:00
62732e82ce [styles] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-06 17:17:10 +03:00
6cefac8545 [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-06 17:17:10 +03:00
RJGhugo
95a0b437eb Update countries_names.txt
a) Every capital of a canton (Kantonshauptstadt) should be mentioned on the map description.
b) Some cities should be mentioned just for better understanding.

Signed-off-by: RJGhugo <41795683+RJGhugo@users.noreply.github.com>
2024-12-06 13:59:53 +03:00
Loïc
9dcd120066
Color of yellow road shields in dark mode #9676 (#9804)
Signed-off-by: LoicHernaut <loic.hernaut@student.uclouvain.be>
2024-12-06 13:58:52 +03:00
fparri
24c25b17ce Fix: Improved Italian navigation prompts for street types
Refined the Italian translation for navigation directions. The previous version incorrectly used "sulla" when directing users to turn onto streets or boulevards, leading to grammatically incorrect phrases such as “sulla viale.”

The phrase has been updated to use "in" instead, resulting in more natural and grammatically correct instructions.

This enhancement not only improves the overall fluency of the translation but also addresses grammatical inconsistencies that previously caused errors in the navigation guidance.

Signed-off-by: fparri <parrif_ibb@yahoo.com>
2024-12-05 23:34:20 -03:00
Jenny Em
5c56d87d80 [strings] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-05 23:25:11 -03:00
Jenny Em
7f7b769c05 [styles] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-05 23:25:11 -03:00
Jenny Em
33e7aa2b33 [styles] add icon for shenzhen metro
- added icon files
- adjusted bbox to fit the network

Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-05 23:25:11 -03:00
b79bc732b5 Add alternative Argentinian post code format
Signed-off-by: map-per <map-per@gmx.de>
2024-12-05 23:23:59 -03:00
alnzrv
9d90d7e209 Update countries_names.txt
Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>
2024-12-05 23:23:12 -03:00
Markku Huotari
d573f558f6
[strings] Corrected some miscellaneous Finnish words
* Update types_strings.txt
Corrected some miscellaneous Finnish words that I've bumped into through the UI lately and found incorrect.

* [search] Updated categories.txt

Signed-off-by: Markku Huotari <markku.huotari@hsl.fi>
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Co-authored-by: Viktor Govako <viktor.govako@gmail.com>
2024-12-05 13:03:07 +03:00
Jenny Em
5923ea4fd5 [strings] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-05 10:45:13 +03:00
Jenny Em
63f3fa251c [styles] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-05 10:45:13 +03:00
Jenny Em
660f427cc2 [styles] add Berlin light rail station icons
- adjusted berlin bbox to include all stations
- used exiting icon

Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-05 10:45:13 +03:00
20aa24a74b EN as additional search language in the editor
Signed-off-by: map-per <map-per@gmx.de>
2024-12-04 08:47:22 -03:00
6a2e58168d Removed m_vbo->release() call
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-12-04 09:07:45 +01:00
b10af621ba Reverted color change
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-12-04 09:07:45 +01:00
362138160d Added comments to new lines.
Added reference to the PR

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-12-04 09:07:45 +01:00
1caf64e315 Fix attribute a_position assignment for OpenGL vertex shader
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-12-04 09:07:45 +01:00
Jenny Em
4d0aad72bd [styles] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>

[styles] Regenerated

Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-03 10:20:29 -03:00
Jenny Em
8b6258243f [strings] Regenerated
Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-03 10:20:29 -03:00
Jenny Em
2a84957d7f Add Hong Kong metro type/icon
also adjusted Hong Kong bbox so it covers nearly all stations without conflicting shenzhen (only one border station in the north is not covered by the bbox)

Signed-off-by: Jenny Em <ubahnverleih@gmail.com>
2024-12-03 10:20:29 -03:00
Mateusz Konieczny
0351898147 clarify meaning of route parameters
see https://github.com/organicmaps/organicmaps/pull/9692#pullrequestreview-2447577894

as a newbie in this code I was unsure what is the meaning of these parameters

Signed-off-by: Mateusz Konieczny <matkoniecz@gmail.com>

Signed-off-by: Mateusz Konieczny <matkoniecz@gmail.com>
2024-12-02 20:32:45 +03:00
map-per
72ca71d956 Update POI category section in TRANSLATIONS.md
Add more guidance for the POI category translation files (see: https://github.com/organicmaps/organicmaps/issues/8290#issuecomment-2459408903)

Signed-off-by: map-per <79519062+map-per@users.noreply.github.com>
2024-12-02 20:31:37 +03:00
fb278f2c74 [styles] regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-12-02 20:04:48 +03:00
f9be6f2953 [styles] Fade out gardens properly, slightly adjust colour
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-12-02 20:04:48 +03:00
6e09319e09 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-02 11:51:24 -03:00
066e80e872 [strings] add editor_category_unsuitable_title and ..._text to ios
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-02 11:51:24 -03:00
fe235e46b6 [ios] [editor] Add empty search result disclaimer to category selection screen
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-12-02 11:51:24 -03:00
Viktor Govako
0f2db025c4 [ios][editor] Do not show all categories list when the search gives nothing.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-12-02 11:51:24 -03:00
dfa2dd24d9 [docs] Mention ?no-debug-info
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-02 01:04:06 +03:00
b7ad7fdf54 fix X link validation
Signed-off-by: map-per <map-per@gmx.de>
2024-12-01 12:12:28 -03:00
e181a7823d [docs] Move AS alternatives to a separate section
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-01 13:18:58 +03:00
3e31d88aa0 [docs] Add a reminder about C++ build env
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-01 13:18:58 +03:00
68ca9be801 [docs] Update no-Android-Studio option
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-01 13:18:58 +03:00
abb6aa9336 [docs] Shallow clone submodules by default
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-01 13:18:58 +03:00
2eec15a4d7 [docs] Remove explicit mentioning of versions
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-01 13:18:58 +03:00
1a9d5e32eb [android] Require cmake 3.22.1+
Reverts forced version upgrade in #9377.
(a higher version is not necessary)

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-12-01 13:18:58 +03:00
Viktor Govako
1b2c2404ad Fixed unit tests. Follow up df258d545f .
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-30 19:37:28 -03:00
TobiPeterG
df258d545f Always show rounded current speed
Signed-off-by: TobiPeterG <tobi.goergens@gmail.com>
2024-11-30 18:11:55 -03:00
80add2247f [strings] Regenerate for Turkish fixes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-11-30 11:47:59 -03:00
Metehan Özyürek
02e5a6e1f1
[strings] Fixed Turkish translations (#9769)
* Fixed Turkish translations

---------

Signed-off-by: Metehan Özyürek <metehanc8s9@hotmail.com>
2024-11-30 16:02:35 +03:00
Lukas Hamm
3d805cfe58 [styles] Regenerated
Signed-off-by: Lukas Hamm <lukas@ideallygrey.uk>
2024-11-30 14:57:15 +03:00
Lukas Hamm
b99f0802ca [styles] Differentiate between grass and grassland/meadow on high zoom
Signed-off-by: Lukas Hamm <lukas@ideallygrey.uk>
2024-11-30 14:57:15 +03:00
Meenbeese
3c0fbeaa9c [tools] Remove some unused scripts
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-11-30 00:06:30 -03:00
TobiPeterG
9faa8ac193 [android] SpeedLimitView
Rebase + improvements, original by AndrewShkrob

Signed-off-by: TobiPeterG <tobi.goergens@gmail.com>
2024-11-29 22:14:00 -03:00
8e5a8ecb60 [ios] add the context menu to the coordinates accessory button
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-29 22:07:17 -03:00
Ferenc Géczi
6229d670bd Add 2024.11.27 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-29 19:07:41 -03:00
vng
d6a9b24720 Bump versions
Signed-off-by: vng <vng@users.noreply.github.com>
2024-11-29 19:07:41 -03:00
Viktor Govako
0d9f94710a Release notes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-29 19:07:41 -03:00
Viktor Govako
050c81809b [planet] New data from 241122.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-29 19:07:41 -03:00
d60388c025 [platform] fix <1min duration formatting to get 0min string
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-29 12:44:44 -03:00
Viktor Govako
d3c24430b0 Release notes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-27 09:42:10 -03:00
Viktor Govako
a0f0b69e48 [gradle] Push release into the "production" track.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-27 09:42:10 -03:00
Atemu
6eb641f4c7 [android] config: disable Google services in F-droid flavour
Signed-off-by: Atemu <git@atemu.net>
2024-11-27 15:22:10 +03:00
Atemu
32e100331a [android] config: extract isFdroid() into method
Signed-off-by: Atemu <git@atemu.net>
2024-11-27 15:22:10 +03:00
Atemu
7d7631cece [android] use µG play-services-location in fdroid flavour
This is a FOSS re-implementation of google's play-services-location client
library by the µG project. Because it's Apache-2.0 licensed, this ought to be
permitted on F-droid but I'm not sure whether it'd be marked with the non-free
net anti-feature.

Theoretically it should work just as well on devices with Google's GMS but I'd
suggest testing this in the fdroid flavour first where there is no alternative
and switch all flavors over if that works on actual user devices. Doing so would
remove one major blocker towards achieving
https://github.com/organicmaps/organicmaps/issues/6906.

I have tested this on LineageOS with µG and on GrapheneOS with Google GMS. (You
need to explicitly allow fused location from GMS and give it location
permissions with the latter but it did work.)

For anyone else wanting to test this:

1. Ensure that you cannot get a GPS fix by checking GPSTest or GNSSLogger
2. Ensure that you are able to get a fused location using GNSSLogger
3. Install and open the f-droid build built from this branch
4. Wipe app data and open
5. Give it accurate location permission
6. If it asks you to download not just the world map but also your current area
   via a checkbox above the download button, it works.

Signed-off-by: Atemu <git@atemu.net>
2024-11-27 15:22:10 +03:00
Viktor Govako
d946945d84 [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-27 08:30:46 -03:00
Viktor Govako
a13ff625c4 Minor code fixes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-27 08:30:46 -03:00
Viktor Govako
dde355e3de Fix to parse "used" strings in Core.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-27 08:30:46 -03:00
Viktor Govako
30e375031c [search] Updated fi categories according to the type_strings.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-27 08:30:46 -03:00
7980603b61 [Docs] document outdoor style commands
Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>
2024-11-26 21:11:53 +03:00
Markku Huotari
1d224d7f76
Finnish translations (#9734)
* Update types_strings.txt

@houtari Markku Huotari
2024-11-26 14:08:41 -03:00
Ognjen Blagojevic
cddb16f1a0 [strings] Serbian TTS fixed regenerated
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic@gmail.com>
2024-11-26 14:03:28 -03:00
Ognjen Blagojevic
e80264e0f7 [strings] Serbian TTS fixes
Signed-off-by: Ognjen Blagojevic <ognjen.d.blagojevic@gmail.com>
2024-11-26 14:03:28 -03:00
Matheus Gomes
31e8b56317 Update strings.txt
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-11-26 14:00:10 -03:00
82905b10a4 [ios] fix the bookmark description jumping bug during editing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-26 13:58:27 -03:00
3a84ba2ada [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-26 13:38:44 +00:00
338fa75da7 [strings] add strings related to the PP products section
already_donated
remind_me_later
support_organic_maps
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-26 13:38:44 +00:00
f1bc4b1248 [ios] add a products section UI to the PlacePage screen
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-26 13:38:44 +00:00
Kiryl Kaveryn
9abc8e5a79
[core] Implement products configuration (#9695)
* [platform] add ProductsConfig

1. fetch and parse ProductsConfig json
2. save it to the separate file "products_settings.json"
3. small servers_list.cpp refactoring
4. add unit tests for servers config and products config
5. add products fetching to the framework

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-25 12:32:01 -03:00
Viktor Govako
2b62ca9cb9 [drape] Minor code prettify.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-24 21:52:34 -03:00
Viktor Govako
26864888a3 [drape] Fixed arrow drawing for dense polyline.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-24 21:52:34 -03:00
Aquatica
88a9ea7f4f
Add aliases for Police (#9674) (#9693)
* Add aliases for Police in Italy

* Remove useless "Posto di Polizia"

Signed-off-by: Aquatica <81624781+Aquathing@users.noreply.github.com>
Co-authored-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-11-24 13:35:58 +03:00
Andrew Shkrob
545caccbec [xcode] Revert swift version setting for CoreApi
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-11-24 07:19:53 -03:00
Viktor Govako
8580501867 Better check in Storage::IsNodeDownloaded.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-23 15:37:59 -03:00
Viktor Govako
326d1d5e5f [android] Avoid intermediate List<String, String>.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-23 15:37:59 -03:00
Viktor Govako
8e885b8437 [android] Fixed bug with search history order.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-23 15:37:59 -03:00
Viktor Govako
457288fab6 Minor code style fixes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-23 15:37:59 -03:00
Viktor Govako
7568b882b4 Print settings.ini to the log.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-23 15:37:59 -03:00
Alexander Borsuk
d730ce9466 Minor warning fixes
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-22 23:44:54 +01:00
Viktor Govako
5eef1ef00d Removed outdated functions.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-20 12:30:37 -03:00
Viktor Govako
fc84110b5d Use string_view for Settings key to avoid useless std::string key instances.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-20 12:30:37 -03:00
Viktor Govako
58c990d499 Added EmplaceOrAssign for map.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-20 12:30:37 -03:00
a5bb9e1cd5 nits
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-11-20 12:17:26 -03:00
kavi khalique
803c029db4 [android] implement add highlight to address in cpp and android.
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
Signed-off-by: Kavi Khalique <kavikhalique@Kavis-MacBook-Air.local>
2024-11-20 12:17:26 -03:00
32a3be4cf8 [ios] enable map scrolling on the macOS using the mouse and trackpad
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-20 08:31:41 -03:00
Ferenc Géczi
0e5501feef
[qt][linux]: Add touchpad pinch zoom gesture (#9679)
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-20 08:28:37 -03:00
bbb32ef24f [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-20 14:17:39 +04:00
fa4c69388b [string] add day
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-20 14:17:39 +04:00
8ab6dab51f [ios] add DurationFormatter to wrap the core formatter
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-20 14:17:39 +04:00
96f5012224 [platform] implement basic Duration formatting
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-20 14:17:39 +04:00
Alexander Borsuk
f2dcb90b21 [tests] Visual test for two missing Latin Extended-A characters
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-19 21:17:59 +01:00
Alexander Borsuk
5847e397c3 [android] Update gradle to 8.11
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-19 20:06:34 +01:00
Alexander Borsuk
d3986d2229 [strings] Serbian TTS regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-19 19:48:19 +01:00
Alexander Borsuk
f3c2e421c6 [strings] Serbian TTS fixes from our user
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-19 19:48:19 +01:00
Viktor Govako
b2d3a5b1e0 [android] Removed Java 17 entry - doesn't work on MacOS with Java 21.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-19 00:25:26 -03:00
Alexander Borsuk
a6cfa23380 [strings] Regenerated French
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-18 21:30:23 +01:00
Alexander Borsuk
f40ef7db67 [strings] Fixed spaces before French punctuation marks
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-18 21:29:28 +01:00
Ferenc Géczi
1e8a52c6ca [qt] Exclude service languages from map language menu
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-18 12:21:05 -03:00
Meenbeese
4227cbe3b8 [tools] Delete redundant macdeployqtfix submodule
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-11-17 14:34:10 +01:00
Jaime Marquínez Ferrándiz
771e07ff99 Add call to UNREACHABLE() to fix building with -Werror=return-type
Signed-off-by: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
2024-11-17 13:20:29 +01:00
Viktor Govako
7ddea756cd [android] Fixed emulateBadExternalStorage to throw an error once.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-17 09:32:50 +00:00
Viktor Govako
13655d2440 [drape] Removed dummy fields in StaticTexture.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-16 15:47:58 -03:00
Viktor Govako
f14aca0edc [android] Initialize Vulkan with "isCustomROM" flag.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-16 15:47:36 -03:00
Viktor Govako
06f912d97c [android] Added ROMUtils.isCustomROM
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-16 15:47:36 -03:00
Ferenc Géczi
10e7749f2f [qt] Make touch handling Linux only for now
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-13 14:03:24 -03:00
Alexander Borsuk
29f2f0fd86 Simpler Floorlog and removed methods available in C++20
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-13 10:11:34 +01:00
Alexander Borsuk
ce97c6aec9 Minor formatting and constexpr instead of inline
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-13 10:11:34 +01:00
Alexander Borsuk
63f4a4fc6a Use faster std::popcount
Also removed buggy PopCount for arrays

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-13 10:11:34 +01:00
Alexander Borsuk
83d42a0f7e [android] Updated dependencies
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-13 10:11:19 +01:00
Alexander Borsuk
6b2bc7d7d3 [android] Update AGP to 8.7.2 and gradle to 8.9
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-13 10:11:19 +01:00
Viktor Govako
f3e11592df [routing] Log maneuvers for DEBUG only.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-12 22:40:32 -03:00
Viktor Govako
7b2f0519f4 [routing] Better log when failed to load graph.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-12 22:40:32 -03:00
Ferenc Géczi
bf1c35d134 Add 2024.11.12 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-12 14:25:00 -03:00
Viktor Govako
29f898a34d [search][tests] Updated quality tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-11 21:07:08 -03:00
Viktor Govako
4a2937edbe [routing][tests] Updated integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-11 21:07:08 -03:00
Viktor Govako
bd91f1e01c [planet] New data from 241107.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-11 21:07:08 -03:00
4fdcd380c7 [ios] improve icloud sync logging
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-11 21:06:39 -03:00
David Martinez
1960fdfa0a [styles][ios] Update UI bookmark icons to match map icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-11-10 14:47:20 -03:00
Viktor Govako
d1a0d70490 Fixed language code setting.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-10 14:46:48 -03:00
Viktor Govako
ea73063e07 [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-09 15:17:38 -03:00
a2f21bc4ad translation added
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-11-09 15:17:38 -03:00
165a5c8fa8 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-11-09 08:37:33 -03:00
799aa6c2b2 Translations
Signed-off-by: map-per <map-per@gmx.de>
2024-11-09 08:37:33 -03:00
417fdec870 Better OSM explanation and new layout of login screen
Signed-off-by: map-per <map-per@gmx.de>
2024-11-09 08:37:33 -03:00
Alexander Borsuk
4f73aa22d7 [strings] Reverted back correct es-MX translation
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-11-09 11:25:55 +01:00
Ferenc Géczi
e1c5380949 [qt] refactor: Fix review comments
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-08 15:16:04 -03:00
Ferenc Géczi
85597a92b1 [qt] refactor: Drop isQtTouchEvent function
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-08 15:16:04 -03:00
Ferenc Géczi
58b94995b7 [qt] feat: Implement correct touch handling
* This adds the features for https://github.com/organicmaps/organicmaps/issues/5306
  - two finger pinch rotate gesture
  - pan
  - swipe

* Makes the previous two finger pinch zoom gesture feautre smoother and
  the zooming is now proportional to the gesture motion.

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-08 15:16:04 -03:00
Viktor Govako
c7b4ded54b [drape] Minor warning fixes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-08 13:10:04 -03:00
Ferenc Géczi
9032f5f9d5 [qt] Add map language preference menu
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-08 11:24:03 -03:00
Kiryl Razhdzestvenski
77fb908488 [strings] Regenerated. Issue 391. Add translations for Map Language fragment
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-11-06 16:14:24 -03:00
Kiryl Razhdzestvenski
99075d76ef Issue 391. Add setting for change map language.
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-11-06 16:14:24 -03:00
Viktor Govako
81d26ff29b [categories] Removed artwork from the "tourism" category.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-06 12:11:00 -03:00
Viktor Govako
d9c1b3c7e1 [categories] Removed wayside_cross/shrine from the "tourism" category.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-06 12:11:00 -03:00
Viktor Govako
3c6697ffa5 [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-06 11:58:54 -03:00
Viktor Govako
34431a5ecf [styles] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-06 11:58:54 -03:00
Viktor Govako
1765f586f4 [classifier] Add attractions.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-06 11:58:54 -03:00
432ec309f6 [ios] refactor icloud synchronization
1. remove the iCLoud's .Trash dir scanning because on ios this feature is blocked. This is why the `isRemoved` property was removed from the `MitadataItem`
2. runtime monitors sends only the added/updated/deleted items lists on didUpdate and the whole content on didFinishGathering
3. because of 1, when icloud is running - it is source of truth.
During the initial phase (1st enabling of enabling after disabling) all the data from the cloud and local dir will be preserved.
4. simplified the state manager's logic
5. improved logs
6. fixed test

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-06 11:54:17 -03:00
Viktor Govako
862d9c8688 [categories] Fixed catalan.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-05 23:10:36 -03:00
Viktor Govako
9660729dc5 [kml] Fixed bug with invalid (empty) tracks.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-05 18:52:29 -03:00
renderexpert
26b4e507d1 Review fixes
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-11-05 06:59:56 -03:00
renderexpert
ff9b4e0285 Make Trace a singleton
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-11-05 06:59:56 -03:00
renderexpert
3b6dbfcff4 Review fixes
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-11-05 06:59:56 -03:00
renderexpert
21f6025ab3 Add tracing to the docs
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-11-05 06:59:56 -03:00
renderexpert
304bf775a7 Add vulkan objects tracing
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-11-05 06:59:56 -03:00
renderexpert
2532ba04f7 Add basic tracing to drape rendering
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-11-05 06:59:56 -03:00
renderexpert
a7ae66fece Add tracing for Android
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-11-05 06:59:56 -03:00
Ferenc Géczi
4453c4d44a Add 2024.10.23 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-11-04 22:12:49 -03:00
a788a1b1a4 [ios] remove unused code
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-04 22:12:22 -03:00
5b7cbb5753 [platform] [ios] call static localizedStringFromDate instead of creating formatter every time
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-04 22:12:22 -03:00
de6fb06412 [ios] replace all the date formatters instances with the one static
The date formatter initialization is resource-intensive and all unnecessary instantiation are replaced with the call to one default static formatter.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-04 22:12:22 -03:00
8088882a16 [ios] add DateTimeFormatter
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-04 22:12:22 -03:00
566a325f0f [ios] replace custom distance formatters with shared instance
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-04 22:12:22 -03:00
6530aba02e [ios] add AltitudeFormatter
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-04 22:12:22 -03:00
e612ac08b2 [ios] add DistanceFormatter
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-04 22:12:22 -03:00
Viktor Govako
6c304d641e [symbols] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-04 18:45:08 -03:00
Viktor Govako
c2a6d00aec [symbols] Renamed according to the code.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-04 18:45:08 -03:00
Viktor Govako
787c6b6c00 [gpx] Skip incomplete segments.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-03 23:06:29 -03:00
edc408dec1 [strings] Regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-11-03 20:48:23 -03:00
7f600e1844 [strings] use "station building" instead of "train station" for building
and fix 'train station" in Romanian
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-11-03 20:48:23 -03:00
ca3b5cbe81 editor.config fine tuning
Signed-off-by: map-per <map-per@gmx.de>
2024-11-03 07:48:52 -03:00
2fa8d77c6f [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-11-03 07:48:23 -03:00
4329060d02 operator instead of owner
Signed-off-by: map-per <map-per@gmx.de>
2024-11-03 07:48:23 -03:00
Viktor Govako
5acf2443cd [search] Fixed GetNameScore() for POIs.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-02 23:47:13 -03:00
Viktor Govako
1445c1e02b [search] Added sra/ntra synonyms.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-11-02 23:47:13 -03:00
Rudo Kemper
62acf49cd5 Support fetching cid data
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
9e670d7752 Code cleanup
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
38b5c9188c Fix possible edge cases and clarify that we can't do CID
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
5d94959498 Script doesn't exit if unable to retrieve coords
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
87e7230570 For 0,0 coordinates, request from google API using query param value
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
130a531bcd Only parse coords from q= param if it's in coord format
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
696e28bc74 Handle null GeoJSON coords with q param
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
8b5eafc4ec Make it possible to run script from cli or programmatically
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
ceee774b1a Clarify instructions
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
456321e24f Remove mimetype comment
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
021c18760b Move print command to end of convert method
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
19f98c06f5 Use datetime instead of dateutil
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
b032cfaac1 Import specific os functions only
Signed-off-by: Rudo Kemper <31662219+rudokemper@users.noreply.github.com>
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
Rudo Kemper
8589c5766e Add option to download GeoJSON and export as GPX to google maps script
Signed-off-by: Rudo Kemper <31662219+rudokemper@users.noreply.github.com>
Signed-off-by: Rudo Kemper <rtakemper@gmail.com>
2024-11-02 22:18:43 -03:00
88db17c2c1 [strings] Regenerated
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-11-02 00:43:00 +03:00
8cc0f1036c [strings] Update 'stop' strings in eu (Euskara)
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-11-02 00:43:00 +03:00
Kiryl Kaveryn
ec77ba3efe
[ios] remove hardcoded CoreApi-swift.h to allow xcode generate a swift bridge (#9594)
- The `CoreApi-Swift.h` is a file that should be generated by the xcode to opens the swift classes
to the objc
- Custom hardcoded `CoreApi-swift.h` blocks this feature and contains objc headers. It blocks the autogeneration and don't allow to use the swift and objc classes in the same framework. This is why the file is removed and all the file's content is moved to the 'CoreApi.h'.
- The `Framework.h` can be used only but the objc so it is removed from the 'CoreApi.h' and is imported only when it's necessary
- `Defines Module` is set to NO because it should be set to YES only after the first swift file is added to the framework. In other case the bridging file will not be generated

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-11-01 14:22:34 +04:00
47d88b49c6 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-10-31 22:31:01 -03:00
1bb100ad05 synced EN types_strings and search categories
Signed-off-by: map-per <map-per@gmx.de>
2024-10-31 22:31:01 -03:00
Viktor Govako
6edc1dacca [styles] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-30 18:45:56 -03:00
Viktor Govako
9594789543 [symbols] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-30 18:45:56 -03:00
Viktor Govako
e270fb4935 [styles] Draw traffic signals for z15- (vehicle) and z19- (default).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-30 18:45:56 -03:00
adddc7cac9 [strings] Regenerated
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-10-30 17:45:52 +03:00
81905a47b3 [strings] Add 'stop' to 'remove stop'
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-10-30 17:45:52 +03:00
Manuel Tassi
8d0b56cab1 Updated Italian translation.
Signed-off-by: Manuel Tassi <42747216+Mannivu@users.noreply.github.com>
2024-10-29 11:07:36 -03:00
Matheus Gomes
2c54908fba
[strings] Update Countries Names in PT and PT-BR (#9587)
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-10-29 10:19:13 -03:00
Viktor Govako
88e4560613 [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-29 09:56:31 -03:00
Viktor Govako
959dfbf851 [strings] waterway-stream
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-29 09:56:31 -03:00
Viktor Govako
358666b6ac [iOS] Revert Platform::Version.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-29 09:56:02 -03:00
FalconFist
bbdf9a5047 fix for strings.txt and types_strings.txt
Signed-off-by: FalconFist <76624594+d4f5409d@users.noreply.github.com>
2024-10-29 09:49:30 -03:00
5d75bcf7f9 [gpx] Switch GetDefaultLanguage to use pointer instead of optional
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-10-28 18:18:03 -03:00
f94918a230 [gpx] Use desc tag to export description for points/tracks
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-10-28 18:18:03 -03:00
e60161fc27 [gpx] Use CDATA for name/cmt, export cmt for tracks
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-10-28 18:18:03 -03:00
ProgramminCat
377265827b Added search terms for Arts and Crafts shops
Signed-off-by: ProgramminCat <72707293+ProgramminCat@users.noreply.github.com>
2024-10-26 15:45:51 -03:00
AlessandroPosenato
eaa2ad6f31 [strings] Change misleading italian translation
Signed-off-by: AlessandroPosenato <alessandro.posenato@studenti.unitn.it>
2024-10-26 15:05:12 -03:00
fc0e8904d1 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-10-26 15:03:15 -03:00
0a713506c7 Improved DE type translations and added missing search categories
Signed-off-by: map-per <map-per@gmx.de>
2024-10-26 15:03:15 -03:00
Matheus Gomes
e657fc9da3
[strings] Fix PT strings (#9571)
Updated pt/pt-BR :one.

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-10-26 09:55:15 -03:00
André
32550b974f [ios] Allow saving empty bookmark list descriptions
Signed-off-by: André <135858315+andre1110@users.noreply.github.com>
2024-10-26 09:36:22 -03:00
David Martinez
9b39fc3277 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-24 22:36:43 -03:00
David Martinez
9ef4298127 [styles] Rename "search-result-beer" to "search-result-pub"
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-24 22:36:43 -03:00
Viktor Govako
7a267c83eb [styles] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-24 22:32:35 -03:00
Viktor Govako
8dee71a4a3 [styles] Added water_point-drinking_water_no in vehicle style.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-24 22:32:35 -03:00
Viktor Govako
9337dfb765 [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-24 11:04:18 -03:00
Viktor Govako
e839676e74 [styles] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-24 11:04:18 -03:00
Viktor Govako
d0aeb434d5 [classifier] Added amenity-water_point-drinking_water_no
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-24 11:04:18 -03:00
23f3f22afa [Strings] Regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-10-24 10:56:37 -03:00
44b1dca08a [Android] Use auto theme everywhere, add option for auto in nav only
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-10-24 10:56:37 -03:00
David Martinez
9a2a63c6c3 [search] Don't repeat brand if name == brand
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-23 21:39:25 -03:00
David Martinez
1330e60b82 [search] Only use address as name when feature is address
[core] Add IsAddressChecker

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-23 21:39:25 -03:00
David Martinez
8017f28d52 [search] Use brand as name if name is empty
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-23 21:39:25 -03:00
Mikhail Mitrofanov
384807e776 After deleting the last track in a category, the category itself is now deleted
The issue was caused by calling RecyclerView.AdapterDataObserver.onChanged() at an unexpected time.

I decided not to modify the onChanged() method because it works with a cached version of the native object. To prevent the developer from having to think about when to invalidate the DataSource, I integrated it into the already existing onDelete.

This PR is an alternative to: https://github.com/organicmaps/organicmaps/pull/9189.

Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-10-23 21:33:29 -03:00
vng
165b81e263 [generator][script] Fixed diffs building.
Signed-off-by: vng <viktor.govako@gmail.com>
2024-10-23 13:14:38 -03:00
Ferenc Géczi
01d43b049f [linux][qt] Fix intialization of clientIsActive #9513
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-10-23 12:30:37 -03:00
b2e859ae02 [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-10-23 12:29:31 -03:00
067a0815f0 [strings] Update the long tap behavior app tip
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-10-23 12:29:31 -03:00
cdb1a3a197 [strings] Sync amenity-prison translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-10-23 12:29:31 -03:00
cd39e9091e [android] Cleanup unused annotation
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-10-21 22:01:19 +03:00
Viktor Govako
acc198b748 [search] Conform kCategoriesHasName with kViewportDiffThreshold.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-20 20:59:21 -03:00
Viktor Govako
eb53e65cda [search] Treat "taxi" as Transport.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-20 20:59:21 -03:00
865fefe57d [Core] link to the Commons media viewer for single files
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-10-18 23:08:48 -03:00
cayenne17
4838d57a63 add keyword FR "École de conduite" to amenity=driving_school
Signed-off-by: cayenne17 <47927025+cayenne17@users.noreply.github.com>
2024-10-17 22:45:48 +03:00
Viktor Govako
a8b8832e7c [android] Removed unused icons.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-17 12:32:15 -03:00
Viktor Govako
ef1d118607 [android] Fixed UI Bookmark icons.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-17 12:32:15 -03:00
Viktor Govako
600d55ca68 [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-17 12:32:15 -03:00
Alexander Borsuk
9e3c49308c Updated embedded FAQ with track recorder battery saving info
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-16 00:34:54 +03:00
3e50f646fc [map] remove Duration and File Rotation from the track recording
Because of the `RecentPath` feature was replaced with the `TrackRecording`
the the file's tail shouldn't be truncated by the system. User can record
track for more than 24h. This is why the `Duration`, `TruncFile` and `m_maxItemCount`-rleated code
was removed.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-15 12:32:12 -03:00
ProgramminCat
9e92c65702
Added prison to categories.txt (#9475)
* added prison to categories.txt

---------

Signed-off-by: ProgramminCat <72707293+ProgramminCat@users.noreply.github.com>
Co-authored-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-10-14 19:13:12 +03:00
TobiPeterG
3ff6be9522 Only use inserts when available
Fixes #9509

Signed-off-by: TobiPeterG <tobi.goergens@gmail.com>
2024-10-14 08:10:35 -03:00
c7094b1054 fixed login screen not displayed after edit
Signed-off-by: map-per <map-per@gmx.de>
2024-10-13 12:36:38 -03:00
André
349f8fc08d
[ios] Fix image padding for buttons in right-to-left layout (#9442)
* [ios] fix button image padding for right-to-left layout

* Fix formatting in BaseRoutePreviewStatus.swift

* Address review comments

Signed-off-by: André <135858315+andre1110@users.noreply.github.com>
2024-10-13 12:35:45 -03:00
David Martinez
18b04f72cc [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-13 12:09:59 -03:00
David Martinez
533eaba1db [styles] Improve information icons and add search and bookmark icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-13 12:09:59 -03:00
David Martinez
cef63ac4ce [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-12 17:23:15 -03:00
David Martinez
e8e26f51e2 [styles] Add water tower
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-12 17:23:15 -03:00
alexgabi
6feb6e321c Adds and corrects basque language (eu).txt
Signed-off-by: alexgabi <alexgabi@disroot.org>
2024-10-12 17:02:45 -03:00
alexgabi
696dc4a158 Update strings.txt
Correction in basque language (eu) in line 31419

Signed-off-by: alexgabi <alexgabi@disroot.org>
2024-10-12 16:56:07 -03:00
Alexander Borsuk
b7557fc9e5 [strings] Latvian translations from @ttrasuns
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-12 16:33:48 -03:00
a00994418f [drape] calculate spline length during the iteration
during the `CalculatePointColor` the `GetLength` is called on the every iteration
and it should returns the value as fast as possible. The previous solution with
`accumulate` slows down the track rendering performance a lot.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-11 10:02:30 -03:00
e5710e6923 [drape] skip the track rendering iteration it nothing changes
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-11 10:02:30 -03:00
a42b6bfac5 [ios] log app name and bundle id on the app start
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-10 12:50:27 +02:00
David Martinez
71f7a88a2d [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-09 22:12:52 -03:00
David Martinez
26d80c4a3e [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-09 22:12:52 -03:00
David Martinez
850f9884c9 [styles] Simplify svg code of drinking_water
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-09 22:12:52 -03:00
David Martinez
db73f6bae0 [styles] Add non-drinking-water icon
[classificator] Add drinking_water=no subtypes for man_made=water_tap,
man_made=water_well and natural=spring

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-09 22:12:52 -03:00
Alexander Borsuk
0694b7b0c1 Removed Enhancement label for new issues in favor of existing "unlabeled issues" filter
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-09 22:18:40 +02:00
9c07d29b84 [routing] Allow to pass cycle-barrier
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-10-08 21:15:48 -03:00
Ferenc Géczi
e392117cb8 Add 2024.10.04 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-10-08 12:23:01 -07:00
949cdd4dc2 [store] 2024.10.04 Release Notes (#9440)
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
Co-authored-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-10-08 12:22:54 -07:00
c7d19acdcc [Styles] Regenerated icons
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-10-08 10:36:18 -03:00
a4f22ac7e7 [Style] Added missing bookmark icons
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-10-08 10:36:18 -03:00
David Martinez
4e3924531e [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-07 20:11:32 -03:00
David Martinez
09b39d969e [styles] Remove remaining route PNG icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-07 20:11:32 -03:00
Alexander Borsuk
b2b7b039c8 [qt] Print Qt version on startup
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-07 16:30:01 -03:00
Alexander Borsuk
107e29e947 [xcode] Silenced project upgrade checks
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-07 16:30:01 -03:00
Andrew Shkrob
3d469999be [xcode] Remove qt/Info.plist
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-10-07 13:14:03 -03:00
Andrew Shkrob
6e7a5e2368 [tools] Fix locale-config generation for android
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-10-07 13:12:22 -03:00
Alexander Borsuk
2af91bb48f [ios] constexpr TTS languages
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-06 22:30:45 -03:00
Alexander Borsuk
33d12f1b35 [strings] Regenerated Bulgarian TTS
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-06 22:30:45 -03:00
Alexander Borsuk
e0cd4b94ce Add and enable Bulgarian TTS translations
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-06 22:30:45 -03:00
Dzmitry Strekha
536fcef692 [Android] Handle insets on WebView based screens
Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-10-06 21:21:25 -03:00
Dzmitry Strekha
ff61cebaf7 [Android] Rewring insets handling logic for Downloader screen
Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-10-06 21:21:25 -03:00
Andrew Shkrob
558e0a05bd [xcode] Remove qt project from
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-10-06 21:20:04 -03:00
Andrew Shkrob
1a2b176a4d [data] Move test data into a separate folder
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-10-06 15:49:08 -03:00
David Martinez
6e90c2e840 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-06 14:37:13 -03:00
David Martinez
3ef6b6555a [styles] Add bookmark icons for more features
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-06 14:37:13 -03:00
David Martinez
d0a1b673e1 [styles] Add search result icons for more features
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-06 14:37:13 -03:00
David Martinez
81b73693f5 [skin_generator] Allow 4096px size skins
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-06 14:37:13 -03:00
David Martinez
dd6cdb0b09 [styles] Remove route PNG icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-06 14:37:13 -03:00
David Martinez
e962214781 [styles] Add route SVG icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-06 14:37:13 -03:00
Alexander Borsuk
7d7e32098c [github] Use Xcode 16 for checks and release builds
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-05 21:28:57 -03:00
Alexander Borsuk
d8bd1dfc58 [docs] Minor follow-up fix
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-05 12:48:42 -03:00
c2eb1adfbf [ios] open Menu and Settings screens with highlighting the features
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-04 10:34:08 +03:00
b8587fccee [ios] implement UIView+Highlight category to highlight the views
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-04 10:34:08 +03:00
d3d72a9ac2 [ios] add objc wrapper for the InAppFeatureType
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-04 10:34:08 +03:00
f6f20caf96 [map] add InAppFeatureHighlightRequest and parse feature key
to get features to highlight from the deeplinks

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-10-04 10:34:08 +03:00
Viktor Govako
fa759e9e68 [planet] New data from 241001.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-10-04 10:15:11 +03:00
Dmitry Strekha
854f608e6f
[Android] Fix insets handling (#9430)
[Android] Fix insets handling for the case, when the action button is hidden

Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-10-03 09:58:01 -03:00
Ferenc Géczi
7566dc400f platform: Track Active property of geoclue2
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-10-02 21:44:55 -03:00
Alexander Borsuk
33a0df6e4e [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-10-02 19:33:31 +02:00
Dzmitry Strekha
c7a61e922b [Android] Handle insets inside DownloaderFragment
Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-10-02 14:17:46 -03:00
David Martinez
b2906cb858 [core] Add more types to IsOperatorOthersPoiChecker
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-02 13:44:26 -03:00
David Martinez
1724687edc [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-02 13:43:37 -03:00
David Martinez
bf77ae705c [skin_generator] Set 6plus skins resolution to 2.4x
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-10-02 13:43:37 -03:00
1c222c22af
Ruler router fix (#9421)
* Fix index pointing out of array bound.
* Simplified ruler router
---------

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-10-02 13:40:00 -03:00
David Martinez
aa436f3cf7 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-30 20:53:29 -03:00
David Martinez
913e722041 [styles] Reduce border of bookmark-default-s to 0.8px
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-30 20:53:29 -03:00
David Martinez
f7903461b1 [styles] Reduce border of bookmark-default-xs to 0.5px
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-30 20:53:29 -03:00
David Martinez
a3ff5651de [categories] Add missing amenity-arts_centre
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-30 20:52:13 -03:00
Matheus Gomes
52dc373ed8 Update strings.txt
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-09-30 13:31:43 -03:00
ed38ab11c7 [android] add missed menu/setting cases without any action
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-30 19:29:27 +03:00
2ceb10c297 [ios] handle settings/menu universal links types and open related screens
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-30 19:29:27 +03:00
d3ac3bab94 [map] add settings and menu cases to parse deeplink url types
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-30 19:29:27 +03:00
Viktor Govako
82650c29d1 [android] Try to fix GetEnv() == nullptr.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-30 13:25:05 -03:00
Viktor Govako
1db700e592 [android] Removed duplicating var.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-30 13:25:05 -03:00
Viktor Govako
2d5becd3c0 [android] Print current thread into logcat.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-30 13:25:05 -03:00
4c4a8a9784 return to map after edit->login
Signed-off-by: map-per <map-per@gmx.de>
2024-09-28 15:15:12 -03:00
34cc018629 update place page after edit
Signed-off-by: map-per <map-per@gmx.de>
2024-09-28 15:14:59 -03:00
Andrew Shkrob
a28349e8c2 [android] Add LanesView
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-09-28 11:37:23 -03:00
Viktor Govako
01fab48fd1 [gpx] Fixed missing timestamps.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-28 11:37:08 -03:00
Viktor Govako
7e0ce11b7c [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-28 11:52:36 +03:00
Viktor Govako
0c54729448 [android] New NDK, Gradle, CMake.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-28 11:52:36 +03:00
Viktor Govako
f13e5a3a22 [drape] Added logs and comments for Mali-T880 (Vulkan).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-28 11:52:36 +03:00
efi99
5f19164052 Update strings.txt
update hungarian translations

Signed-off-by: efi99 <62113872+efi99@users.noreply.github.com>
2024-09-27 22:29:22 -03:00
MbTy1
50c8a8845c Update sound.txt
100% Hebrew Translate

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-09-27 22:27:51 -03:00
2270fc34ae [Android] Allow browser intent explicitly for Android 10+
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-09-27 22:07:28 -03:00
Andrew Shkrob
55be963066 [android] Remove om.Option
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-09-27 14:12:18 -03:00
narwalayush4
5433ca59cc [ios] Fix: New bookmark list placement
Signed-off-by: narwalayush4 <96654849+narwalayush4@users.noreply.github.com>
2024-09-26 23:50:30 -03:00
17ef49e280 [ios] dark and tinted appicons
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-26 23:49:12 -03:00
a40ed508ec [Strings] Regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-24 19:53:19 -03:00
86bd491004 [Android] refactor URI opening handling
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-24 19:53:19 -03:00
015f63cf48 [ios] fix recently deleted screen opening bug
The VCs should be pushed from the Main Map nav controller

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-24 15:24:01 -03:00
David Martinez
a570d855f7 [ios][placepage] Add Go Map!! to Open in Another App
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-24 08:13:34 -03:00
836ce51db8 [Android] fix phone number in RTL placepage
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-24 08:13:19 -03:00
4eff88ff0a [Android] fix colour of disable-able buttons
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-24 08:12:59 -03:00
Viktor Govako
5a4e97b818 [iOS] Fix build on Xcode 16
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-22 13:40:47 +03:00
53e9d3172c removed redundant code
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-09-21 23:21:30 -03:00
cf2e49b984 [strings] Regenerated
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-09-21 23:21:30 -03:00
958d1b41af strings added in strings.txt
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-09-21 23:21:30 -03:00
c1d7287a18 Track editing fix
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-09-21 23:21:30 -03:00
f6a59f4e66 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-19 21:07:38 +01:00
Alexander Borsuk
de0eb7d388 [strings] Added missing difficult trails translations
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-19 21:06:19 +01:00
Meenbeese
8bcb729f38 Remove unused loadersim utility
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-09-19 23:01:12 +03:00
Dzmitry Strekha
09bfedabd4 [Android] Fix toolbar in DrivingOptions screen
Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-09-19 23:00:52 +03:00
Dzmitry Strekha
59ae10a810 [Android] Fix fullscreen mode after edge-to-edge changes
Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-09-19 23:00:52 +03:00
Kuzey Bilgin
026015eeef
[tools] Remove legacy download statistics tools
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-09-19 20:59:39 +01:00
1f3ab88107 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-19 20:58:07 +01:00
Matheus Gomes
f579a99bf5 [strings] Improve PT translations
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-09-19 20:56:32 +01:00
Johan
adbb2caee7
[strings] Update Swedish translations
Signed-off-by: Johan <dettmar@gmail.com>
2024-09-19 20:52:55 +01:00
cb7932fd12 [Android] fix RTL in placepage
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-19 22:41:04 +03:00
61a1bdb24a [Android] fix RTL in about page
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-19 22:40:49 +03:00
4f743cc743 [Android] fix RTL in search results
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-19 22:40:49 +03:00
55038e1cd6 [android] Implements Track Editing
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-09-19 22:39:10 +03:00
Alexander Borsuk
957b379e18
[android] Updated Android to 15 (API 35)
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-19 15:01:13 +01:00
Dmitry Strekha
866811d211
[android] Add support for edge-to-edge
Closes #9162 by adding [edge-to-edge](https://developer.android.com/develop/ui/views/layout/edge-to-edge) support.  

- Enable edge-to-edge support for all versions, not just Android 15.
- In "gesture" mode navigation and status bars are completely transparent now. In "3 buttons" mode the navigation bar has a system-defined scrim.
- `BottomSheetDialogFragment` correctly draws under the navigation bar, ensuring that the map won't be visible under the navbar when a menu is opened.
- All `Toolbar`s now handle insets correctly by adding top padding (note that height must be changed to `wrap_content` instead of `?actionBarSize`)
- Screens with scrollable content, such as `RecyclerView`, now draw under the navbar. 
- Some screens required refactoring to support this: no more `wrap_content` for `RecyclerView` inside `NestedScrollView` (this improves performance); changed colors of list items to maintain the same appearance as before
- Fixed issue with display cutouts (such as camera hole) overlap content

Signed-off-by: Dzmitry Strekha <mr.choo96@gmail.com>
2024-09-19 14:52:35 +01:00
Viktor Govako
bd43466665 [kml] Fixed OpenTracks import.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-19 16:24:28 +03:00
ee07bcd044 Merge remote-tracking branch 'release/2024.09.08'
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-19 14:04:49 +01:00
Viktor Govako
a556168fff Don't use Vulkan for "Mali-T880".
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-18 23:30:45 +03:00
Viktor Govako
30bf56b4d9 Fixed possible assert.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-18 23:30:45 +03:00
Viktor Govako
9bd7e39148 Don't use optional<char>.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-18 23:30:45 +03:00
Dwayne Bailey
3633aaf05e [strings] Convert Android newlines to Weblate style
This adds an actual newline before `\n`. This comes from the Translate
Toolkit where the original reason was readability.
2024-09-17 22:33:24 +01:00
Dwayne Bailey
da886004ec [strings] Regenerate iPhone indentation
Convert 2*sp => \t

Signed-off-by: Dwayne Bailey <dwayne@translate.org.za>
2024-09-17 20:56:55 +01:00
Dwayne Bailey
cbb6826845 [strings] Regenerate Android indentation
Indent with 4 spaces and fix the broken plural \t\s*2 indentation

Signed-off-by: Dwayne Bailey <dwayne@translate.org.za>
2024-09-17 20:56:55 +01:00
Dwayne Bailey
3263ebb00d [strings] Update Twine use consistent indenting
Signed-off-by: Dwayne Bailey <dwayne@translate.org.za>
2024-09-17 20:56:45 +01:00
02c297fcab [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-09-16 22:17:33 -03:00
2856f0066c Fixed not working % URL encoding
Signed-off-by: map-per <map-per@gmx.de>
2024-09-16 22:17:33 -03:00
David Martinez
225dca5c6b [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-16 12:54:00 -03:00
David Martinez
4fc24a542b [styles] Remove PNG bookmark icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-16 12:54:00 -03:00
David Martinez
ee8eb1980d [styles] Add SVG bookmark icons using current POI icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-16 12:54:00 -03:00
3a19ff87c8 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-15 12:18:42 +03:00
f9c1899130 [android] Add "Open in another app" button
Closes #8574

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-15 12:18:42 +03:00
d6e19d522d
UTM coordinates format fix (#9286)
Changed generated UTM format to include zone letter instead of hemisphere letter.

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-09-14 14:53:06 -03:00
kavi khalique
986bef24eb
[android] Fix the STOP button in the track recording notification
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-09-14 20:38:11 +03:00
56505bd2a9
[android] Better logout icon
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-09-14 20:25:51 +03:00
dd28f865d3 [editor] Cleanup online config loader
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-09-14 10:58:19 -03:00
9e42a9a28b
[android] Added android.intent.action.OPEN_DOCUMENT_TREE to the list of allowed queries
Regressed by 8041c64 "fixed app crash when importing tracks"

https://stackoverflow.com/questions/62535856/intent-resolveactivity-returns-null-in-api-30

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-09-11 10:22:08 +01:00
Viktor Govako
0d624e3ea0 Fixed "Sonny's LiDAR" copyright.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-11 12:10:13 +03:00
David Martinez
599c6922ca [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-10 19:10:34 -03:00
David Martinez
707f5415db [styles] Add SVG search result icons using current POI icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-10 19:10:34 -03:00
David Martinez
e3644e357c [styles] Remove PNG search result icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-10 19:10:34 -03:00
David Martinez
8f1b96f348 [styles] Rename some icons for consistency
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-10 19:10:34 -03:00
David Martinez
a4778a8762 [skin_generator] Allow large icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-10 19:10:34 -03:00
59f2bbbcfb [store] Import data from AppStore
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-09 13:40:32 +01:00
rtsisyk
eea4290ffe Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2024-09-08 21:42:53 +00:00
0310da8599 [store] 2024.09.07 Release Notes
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-09 00:31:21 +03:00
Michał Brzozowski
e1ca1204a9 [strings] Regenerated
Signed-off-by: Michał Brzozowski <www.haxor@gmail.com>
2024-09-09 00:30:27 +03:00
Michał Brzozowski
4ffc11c18a [strings] Improve Polish translation
Signed-off-by: Michał Brzozowski <www.haxor@gmail.com>
2024-09-09 00:30:27 +03:00
rtsisyk
00649067c4 Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2024-09-08 20:18:04 +00:00
Viktor Govako
fd92fe3d72 [routing][tests] Fixed integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-08 23:15:35 +03:00
Viktor Govako
9cc04f42f9 [planet] New data from 240904.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-08 23:15:35 +03:00
3bf65fe80f [android] Review fixes for the track recorder
1. Save the track if user revoked location permissions.

2. Make the power-saving dialog non-blocking and show it
only if location can't be accured in 30 seconds.

3. Call stopTrackRecording() after saving the track.

Closes #9146

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-07 12:59:20 +01:00
38c49d9cbd [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-07 12:26:04 +01:00
ad450865c5 [android] Implement the track recorder
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
Co-authored-by: Roman Tsisyk <roman@tsisyk.com>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-07 14:25:39 +03:00
e557b17f15 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-09-07 14:25:39 +03:00
Alexander Borsuk
bdc254e02d [ios] Clear track on the screen after stopping recording it
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-07 13:49:23 +03:00
67bb7a2a94 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-09-06 15:16:50 +02:00
c2144cc86e [android] Reworked osm and note descritions in the editor
Signed-off-by: map-per <map-per@gmx.de>
2024-09-06 15:16:50 +02:00
Alexander Borsuk
9830631b97 [ios] Red dots on menu and help button now properly pass taps to the underlying buttons
- Without this fix, tapping on a red dot does nothing instead of opening the menu

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-05 15:31:11 +02:00
Alexander Borsuk
3c85495576 Print original path to the saved file instead of a path to the temporary kml
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-05 15:30:50 +02:00
Alexander Borsuk
e778850aff [android] Improved logs and report permissions in bug reports
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-05 10:17:14 +02:00
Alexander Borsuk
9d61747404 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-04 22:47:32 +02:00
Alexander Borsuk
88d537921a [strings] Removed recent track string from iOS
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-04 22:46:56 +02:00
MbTy1
9537f58dc5 Update types_strings.txt
Hebrew translate
up to 22360

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-09-04 22:46:03 +02:00
Mikhail Mitrofanov
d4f39b728c [strings] Regenerated
Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-09-04 18:41:39 +02:00
Mikhail Mitrofanov
8041c641f2 Fixed app crash when importing tracks
Now, before opening the file selection dialog using Android's tools, the existence of a suitable app is checked. If no such app is found, an appropriate message is displayed.

Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>

Added additional translations for the phrase `error_no_file_manager_app`

Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-09-04 18:41:39 +02:00
2d2377fab7 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-09-04 16:23:19 +02:00
70773e97b7 Fixed two German translations
Signed-off-by: map-per <map-per@gmx.de>
2024-09-04 16:23:19 +02:00
Alexander Borsuk
4a2a032320 Updated German FAQ
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-04 15:15:52 +02:00
59c37bd696 [serdes] [kml] fix CHECK_EQUAL
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-04 11:12:48 +02:00
e0a1da6abb [serdes] [gpx] fix tests for tracks with timestamps
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-04 11:12:48 +02:00
db1317b1f9 [serdes] [gpx] fix GPX serializing to export tracks preserving the timestamps
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-04 11:12:48 +02:00
David Martinez
07e6a81b37 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-03 16:45:37 -03:00
David Martinez
64d9395808 [styles] Add area color to sports_centre and remove from sport
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-03 16:45:37 -03:00
Alexander Borsuk
2f2370f494 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-03 20:11:11 +02:00
MbTy1
7ffa2b3901 Update types_strings.txt
Hebrew translate
up to 19657

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-09-03 20:10:42 +02:00
Alexander Borsuk
50a809dcfc [strings] Regenerated he
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-03 19:08:39 +02:00
5384b77b0b update hebrew translations for track recording
Signed-off-by: Nitai Sasson <github.com.nr568@sl.neatnit.net>
2024-09-03 19:07:45 +02:00
4162ce7bbf [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
26725b294b [strings] remove strings related to the Recent Path feature
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
8d6b7e2d58 [ios] remove recent track feature
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
fab3621cda [stings] add strings related to the track recording feature
- track_recording_alert_title
- track_recording_alert_message
- stop_without_saving
- track_recording_toast_nothing_to_save

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
6be7eaebbc [ios] implement track recording to the Menu
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
432edfee53 [ios] add TrackRecorder to handle recording state and start/stop actions
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
40ed4a3181 [ios] implement track recording feature support to the FrameworkHelper
to ineterop with the cpp code
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
f48ed054e4 [ios] add checkLocationStatus to the LocationManager
To check location availability on start track recording
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
747b3553fb [ios] fix topViewController to show the alerts and mail composer correclty
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:26:15 +02:00
c23a535dba [gps] add timestams and altitudes to the recorded track points
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 18:21:06 +02:00
Alexander Borsuk
b2a231ea5b [strings] Regenerated he
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-03 17:55:20 +02:00
MbTy1
4674071c2f Update types_strings.txt
Hebrew translate
Up to17866

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-09-03 17:54:52 +02:00
fbdfca56e9 [serdes] [gpx] add unit tests for the tracks with timestamps import
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 17:50:20 +02:00
9b490968e1 [map] fix map_tests
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 17:50:20 +02:00
04648c2a15 [serdes] [gpx] fix GPX file serialization to support timestamps parsing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 17:50:20 +02:00
cadb13436b [serdes] [kml] Add unit tests for tracks with timestamps
Added unit tests to validate the serialization and deserialization of tracks that include timestamps in KML file format (this files should use the `<gx:Track>` elements and associated `<when>` timestamps).

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 17:50:20 +02:00
7075452d26 [serdes] [kml] save KML track in the gxt:Track format if it has timestamps
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>

# Conflicts:
#	kml/types.hpp
2024-09-03 17:50:20 +02:00
bcc2beaeab [serdes] [kml] merge the points during the validation instead of serialization
It will fix the issue when we cannot get the marged points indexes to skip the same timestamps during the serialization process because timestamps count should be equal to the points in line count (or 0).

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 17:50:20 +02:00
4a2135042d [kml] add timestamps vector to the MultiGeometry
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-03 17:50:20 +02:00
David Martinez
ff770ac099 [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-03 11:11:24 -03:00
David Martinez
9704ac6378 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-03 11:11:24 -03:00
David Martinez
41869b3289 [strings] Fix spanish strings
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-03 11:11:24 -03:00
David Martinez
d18191dbea [styles] Add leisure=sports_hall
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-03 11:11:24 -03:00
David Martinez
ec3c367a33 [styles] Add amenity=dojo
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-09-03 11:11:24 -03:00
Arthur-GYT
f14d869644 [android] Remove outdoor_seating support
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-09-03 10:25:13 -03:00
Alexander Borsuk
c56e4a5242 Fixed parsing fractional seconds from ISO 8601 string timestamps
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-03 14:53:14 +02:00
5a0ba02276 [ios] disable location updates pausing in BG during the nav/track recording
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-09-02 16:35:31 +02:00
Enrique Garcia
50b35086c9 Add missing getopts option
Signed-off-by: Enrique Garcia <cquike@arcor.de>
2024-09-02 12:54:57 +02:00
Xevi
d07e78898e
Fix sarch and add some catalan translations (#9194)
* Fix sarch and add some catalan translations

* Order ca strings

* Apply suggestions from code review

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

---------

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-09-02 12:48:09 +02:00
Enrique Garcia
7fbf3f204b Support navigation with the keyboard arrows
Signed-off-by: Enrique Garcia <cquike@arcor.de>
2024-09-01 21:19:56 +02:00
Viktor Govako
dc4be12e06 [search] Process area highways for address matching.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-09-01 13:59:40 -03:00
Alexander Borsuk
f215bb67e3 Fixed crash when tapping on a text to select an intermediate stop (or any other non-bookmark UserMark)
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-01 18:37:12 +02:00
Alexander Borsuk
7c151ec289 [ios] Minor fixes
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-01 18:37:12 +02:00
Alexander Borsuk
9546637ab7 [strings] Regenerated he
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-09-01 18:23:58 +02:00
MbTy1
b3dc1e22bc Update types_strings.txt
Hebrew translate
up to 16177

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-09-01 18:23:15 +02:00
Alexander Borsuk
d1eb46fcf7 [api] Fixed wrong geo url parsing with &z= in the host name instead of ?z=
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-31 21:35:18 -03:00
Alexander Borsuk
14ba961f51 Fix the use of infinity
-ffast-math does not support infinity values

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-31 21:30:49 -03:00
Ferenc Géczi
d42768e817 Fix removed release tag in metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-08-31 22:32:56 +02:00
Ferenc Géczi
8c5b7681a3 Add 2024.08.15 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-08-31 22:32:56 +02:00
Alexander Borsuk
a910fcbcbd [android] Update dependencies
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-31 16:40:50 +02:00
Alexander Borsuk
6f18c0ea9f [android] Update gradle plugin to 8.5.2
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-31 16:40:50 +02:00
Alexander Borsuk
cbfc30a334 [android] Update NDK to the latest LTS version 27.0.12077973
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-31 16:40:50 +02:00
57099d1978 Removed support of "helicopter" route type. Backward compatibility is not needed anymore.
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-08-31 16:33:14 +02:00
Alexander Borsuk
0255af8a8a Add link to get OM using Obtainium
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-30 23:06:13 +02:00
Mikhail Mitrofanov
32da9eda66 The absence of a category description no longer results in a blank description page
My fix ensures that the category's metadata (including the title) is always displayed, regardless of the presence of a description. Additionally, if the description is empty, the view is not shown at all to avoid taking up space.

Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-08-29 15:49:42 +02:00
Mikhail Mitrofanov
12d7965ddf Fixed overlapping text when opening the category editing page
To fix this, I simply disabled the animation, which lags on low-end devices. I felt this was the best solution because such animation in the bottom sheet looks "messy", with noticeable jumps even on flagship phones.

Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-08-29 15:41:54 +02:00
Andrew Shkrob
dba928b67f [android-auto] Remove android:foregroundServiceType="location" from CarAppService
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-08-29 11:00:59 +02:00
Alexander Borsuk
5c7f162de7 [github][ios] Increase Xcode version to 15.4 on Github runners
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-29 10:35:38 +02:00
Mikhail Mitrofanov
c56e3a1ccc Apply new category description immediately after editing
The problem was due to excessive optimization when calculating the value for description, even though the entire page display logic relies on a complete, unconditional redraw.

https://github.com/organicmaps/organicmaps/issues/4826
Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-08-29 09:31:09 +02:00
ad159eeb23 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-08-28 17:22:42 +02:00
e6068cdab9 [android] Improved OSM log out text
Signed-off-by: map-per <map-per@gmx.de>
2024-08-28 17:22:42 +02:00
Mikhail Mitrofanov
f4ea76b036 The "More" button no longer appears when the category description is short.
Now, whenever the UI state changes, the number of lines in the description is checked, and the visibility of the "More" button is determined based on that.

https://github.com/organicmaps/organicmaps/issues/5502

Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-08-28 15:42:15 +02:00
Alexander Borsuk
6ccbccd9a1 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-27 21:43:45 +02:00
MbTy1
f33797a306 Update types_strings.txt
Hebrew translate
up to 15855

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-08-27 21:43:07 +02:00
Alexander Borsuk
f8e4cd4b43 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-27 16:51:53 +02:00
MbTy1
02e92ffd76
Update types_strings.txt (#9118)
* Update types_strings.txt

Hebrew translate string update
(up to 12759)

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>

* Update types_strings.txt

Hebrew translate

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>

---------

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-08-27 16:51:03 +02:00
Mihail Mitrofanov
b35391c35c fix: Exclude parent logs/ directory from exported zip archive
Problem: Currently, the exported file has the following structure:
* logs.zip/logs/app.log
* logs.zip/logs/logcat.log

The logs/ folder is unnecessary. This issue is tracked here:
https://github.com/organicmaps/organicmaps/issues/6219

Solution: Now, the zip archive will contain only the files and folders inside the /logs/ directory, but not the directory itself.

Signed-off-by: Mikhail Mitrofanov <mk.mitrofanov@outlook.com>
2024-08-27 14:41:09 +02:00
Alexander Borsuk
326945cba5 Declare kml 2.2 gx extension support to serialize recorded tracks
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-27 13:44:59 +02:00
Alexander Borsuk
a2d059da91 Replaced GpsTrackInfo with GpsInfo
TODO: There is an inefficient copying in void GpsTrackFilter::Process
that can be refactored

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-27 11:50:16 +02:00
Alexander Borsuk
4d0ae85720 Renamed m_speedMpS to m_speed because MpS can be read as Miles per second or Meters per second
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-27 11:50:16 +02:00
Alexander Borsuk
56f5ed6a88 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-26 16:22:39 +02:00
Alexander Borsuk
cd89ab9391 [strings] Removed unused strings on Android
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-26 16:22:39 +02:00
Arthur-GYT
4032befe9f [android] Fix "If you select a node that has outdoor seating and then select something else it will incorrectly say it also has outdoor seating"
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-26 09:33:43 +02:00
574f197c07 [core] Use snprintf in ToStringPrecisionLocale()
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-08-26 01:30:03 +02:00
df4d96b068 [ios] fix Recent Path cell localized title
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 16:28:49 +02:00
Federica Di Lauro
5792dca068 [strings] Add IT translation for difficult and expert hiking paths
Signed-off-by: Federica Di Lauro <federicadilauro1998@gmail.com>
2024-08-25 16:17:10 +02:00
1025e6c4d6 [kml] Refactored enums for cleaner style using C++20 features
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 15:56:32 +02:00
fe4b844c11 [map] [bookmarks] implement recorded track saving
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 15:56:32 +02:00
aee904044e [drape] remove the recorded track (dotted line) from the screen on Clean call
When the user stops the Track Recording with/without saving the track the dotted line still be visible on the screen even when the `FrontendRenderer::AcceptMessage(ref_ptr<Message> message)` get the `Message::Type::ClearGpsTrackPoints`.
It happens because the `void GpsTrackRenderer::Clear()` doesn't clean the rendered data and cache. This issue was fixed by clearing the rendered date in the `Clear` method.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 15:56:32 +02:00
d540b579c7 [map] [gps] fetch recorded recent track
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 15:56:32 +02:00
0a27dd0ef0 [kml] add GetRandomPredefinedColor to get a color for the recorded track
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 15:56:32 +02:00
69dcf787da [kml] [ios] add method to convert Predefined color to the RGB
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 15:56:32 +02:00
Alexander Borsuk
dbb3ff6ce0 [strings] Regenerated zh
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-25 12:51:15 +02:00
Alexander Borsuk
07469006ed [strings] Updated zh-Hant from Edison Lu
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-25 12:51:15 +02:00
714136e249 [ios] fix the icloud trashing bug
When the file doesn't exist in the icloud dir and the manager attemps to move this file into the trash the exception is thrown and the sync is stopped. This issue was fixed by the additional file existence check.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-25 12:10:45 +02:00
Alexander Borsuk
fcb68d0e81 [strings] Regenerated he and zh
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-25 07:04:52 +02:00
Alexander Borsuk
8c5991db10 [strings] Chinese types translations from Felix
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-25 07:04:52 +02:00
MbTy1
3eda66919a
Update types_strings.txt (#9084)
Greetings!
I would like to confirm the request for a Hebrew translation (a lot of work and investment), it was done 1:1 with my ID translation so that it came out accurate.
Registration for me: I reached line 5941

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-08-25 06:40:34 +02:00
MbTy1
0f3c18527c Update types_strings.txt
Add & update Hebrew from my translate in ID Editor for more adjustment.
moshe 

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-08-25 06:38:02 +02:00
Alexander Borsuk
ab24b6eb48 [ios] Distinguish bug reports from iCloud by their email subject
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-24 18:23:51 +02:00
Meenbeese
6b242fcb00
[docs] Simplify README using Markdown syntax
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-08-24 13:07:32 +01:00
b64264476d [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-24 12:59:44 +03:00
33b0adc05d [strings] rename continue_download to continue_button
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-24 12:59:44 +03:00
1830de7753 [ios] [android] rename continue_download to continue_button
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-24 12:59:44 +03:00
90ee2af3f6 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-08-24 10:36:19 +03:00
bc2955dcff [android] Re-implement recent track recroding
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
Co-authored-by: Roman Tsisyk <roman@tsisyk.com>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-08-24 10:36:19 +03:00
Alexander Borsuk
6991fe017a [strings] Regenerated ZH sound strings
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-23 12:33:47 -03:00
Alexander Borsuk
46423efb54 [strings] Updated zh sound strings from Felix
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-23 12:33:47 -03:00
Alexander Borsuk
24126adb2b
Update CONTRIBUTING.md 2024-08-22 09:26:57 +02:00
8bbe3dc9c1
[Android] OAuth2 flow with browser V2 (#9044)
* [Android] Implemented OAuth2 flow with browser

Signed-off-by: S. Kozyr <s.trump@gmail.com>

* [Android] Small improvements

Signed-off-by: S. Kozyr <s.trump@gmail.com>

* Small changes according to PR comments.

Signed-off-by: S. Kozyr <s.trump@gmail.com>

---------

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-08-21 16:58:02 +02:00
Alexander Borsuk
4cbf914333 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-21 15:23:04 +02:00
Alexander Borsuk
524399268b [strings] Hebrew translations by MbTy1
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-21 15:23:04 +02:00
Alexander Borsuk
4904b75ad6 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-21 11:39:14 +02:00
alexgabi
ce41ce8de7 Update strings.txt
Update basque (eu) translation

Signed-off-by: alexgabi <alexgabi@disroot.org>
2024-08-21 11:38:46 +02:00
0c0191ebad [styles] regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-08-20 20:23:00 +02:00
46d3a4861a [styles] show pub in vehicle style
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-08-20 20:23:00 +02:00
Dwayne Bailey
6578a2f672 [strings] Drop Twine headers
Signed-off-by: Dwayne Bailey <dwayne@translate.org.za>
2024-08-20 13:08:22 +02:00
Fabian Wüthrich
01fa5cad4f [ios] Configure audio session once with AVAudioSessionModeVoicePrompt
The audio session is once configured during initialisation and then each time a
audio session is set active. This commit configures the audio session only once
when the app is started. In addition, it sets AVAudioSessionModeVoicePrompt,
which is recommended for apps that use text-to-speech.

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-08-20 13:07:06 +02:00
Alexander Borsuk
afe8090982 Refactored optional position parameter passing
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-20 13:05:14 +02:00
Fabian Wüthrich
53787dd05e [bookmarks] Script to convert Google Maps Places to KML
This script converts a CSV file exported from Google Takeout to a KML file. A
user can import this KML file to Organic Maps to transfer saved places in Google
Maps to Organic Maps bookmarks. The script requires an API key because it needs
to look up the coordinates from the Google Places API.

See https://github.com/orgs/organicmaps/discussions/928

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-08-20 09:59:46 +02:00
Viktor Govako
1909a739c6 [routing] Follow-up integration tests fix.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-19 18:47:42 +02:00
Viktor Govako
b46a5053d9 [planet] New data from 240810.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-19 18:47:42 +02:00
Viktor Govako
bd0bc41598 [search][tests] Updated quality tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-19 18:47:42 +02:00
Viktor Govako
422c3ad902 [routing][tests] Update integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-19 18:47:42 +02:00
David Martinez
8435209a77 [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 17:34:47 +02:00
David Martinez
842db988e0 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 17:34:47 +02:00
David Martinez
3bbca23005 [styles] Add emergency=emergency_ward_entrance
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 17:34:47 +02:00
David Martinez
36285eb5e9 [styles] Cleanup entrance icons to fit pixel grid
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 17:34:47 +02:00
David Martinez
6115508d48 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 12:14:28 -03:00
David Martinez
4919194f11 [styles] Add generic craft=* type to mapcss-mapping.csv
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 12:14:28 -03:00
David Martinez
ce7f5fae3d [styles] Rotate hand in generic craft icon
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 12:14:28 -03:00
David Martinez
4e8280f923 [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 11:00:49 -03:00
David Martinez
c8139086d7 [android] Add "Operator: %@"
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 11:00:49 -03:00
David Martinez
de97b28f81 [ios] Add "Operator: %@"
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 11:00:49 -03:00
David Martinez
5f896689bd [strings] Add "operator"
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 11:00:49 -03:00
David Martinez
50e0650799 [android][placepage] Add network to place page
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 11:00:49 -03:00
David Martinez
dc29c0101d [ios][placepage] Add network to place page
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-19 11:00:49 -03:00
David Martinez
91b2542fe0 [core] Add FMD_NETWORK metadata
[strings] Add "network"

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>

network
2024-08-19 11:00:49 -03:00
Alexander Borsuk
70e06eeeea [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-18 22:48:06 +02:00
ca279fb4bc [android] Hide preferences in voice settings when disabled
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-08-18 22:38:20 +02:00
1177390c85 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-18 22:02:16 +02:00
9e3f8531cd [strings] placepage_add_business_hours
This reverts commit a285b87a73.
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-18 22:02:16 +02:00
40f86e9fe8 [bookmarks] [android] bring back AddBusiness to the PP
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-18 22:02:16 +02:00
MbTy1
0fa5669b0f Update types_strings.txt
add Hebrew @ Update no 6

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-08-18 20:22:05 +02:00
David Martinez
f709aab7a9 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-17 20:11:03 -03:00
David Martinez
f2ca7ba17c [styles] Make ford-m.svg more visible
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-17 20:11:03 -03:00
Nic Pottier
04eb2d4cf4 formatting
Signed-off-by: Nic Pottier <nicpottier@gmail.com>
2024-08-17 19:18:07 +02:00
Nic Pottier
2d20501569 add additional url encoded test cases
Signed-off-by: Nic Pottier <nicpottier@gmail.com>
2024-08-17 19:18:07 +02:00
Nic Pottier
b39c0e0529 Try decoding geo URL coordinates before giving up on parsing
Signed-off-by: Nic Pottier <nicpottier@gmail.com>
2024-08-17 19:18:07 +02:00
Alexander Borsuk
4d07de2b85 Fixed wrongly selected bookmarks instead of search results
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-17 19:15:38 +02:00
David Martinez
ffd68c6956 [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-17 12:51:49 -03:00
David Martinez
f656da9294 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-17 12:51:49 -03:00
David Martinez
174aead102 [styles] Add amenity=social_facility
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-17 12:51:49 -03:00
David Martinez
5a86a5543d [styles] Cleanup community-m.svg
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-08-17 12:51:49 -03:00
fe3d937231 [android] Fix "FORWARD_RESULT_FLAG used while also requesting a result"
Fixes #8984
See c90c6bb "Fix SecurityException ..." (#7287)
See b2a6dd2 "Fix the crosshair (PICK_POINT) API" (#8910)

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-08-16 17:17:49 +02:00
Nic Pottier
d41181d043
[android] size vertically based on children (#8978)
* size vertically based on children, fixes #8600

Signed-off-by: Nic Pottier <nicpottier@gmail.com>

* align to top instead of center

Signed-off-by: Nic Pottier <nicpottier@gmail.com>

* center all items in bookmark list

Signed-off-by: Nic Pottier <nicpottier@gmail.com>

---------

Signed-off-by: Nic Pottier <nicpottier@gmail.com>
2024-08-16 17:17:04 +02:00
Alexander Borsuk
d24eb11dad [github] Fixed Obtainium typo
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-15 22:46:14 +02:00
fa18f73d9d [Android] Fixed always red speedometer in navigation mode
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-08-15 20:45:49 +02:00
2fe5ca32a2 [android] add permanently = true to the DeleteBmCategory
To delete files without moving them to the ./trash on android
(on iOS they will be moved to the ./trash dir)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-15 12:59:33 +02:00
74035ab3c2 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-15 12:59:33 +02:00
ad8c322477 [strings] add strings related to the recently deleted feature
- clear
- recover
- recover all
- delete all
- recently deleted lists

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-15 12:59:33 +02:00
5881612fe4 [ios] implement recently deleted feature UI (screen and view model tests)
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-15 12:59:33 +02:00
f3d1cc63c2 [ios] add support for the recently deleted feature to the bookmark manager
- add and implement @protocol RecentlyDeletedCategoriesManager
- move the bmmanager observing method to the @protocol BookmarksObservable to make manager mokable
- add RecentlyDeletedCategory class as a lightweight version of the `CategoryData` to pass to it the swift
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-15 12:59:33 +02:00
a639a94753 [bookmarks] [tests] unit tests for the recently deleted feature
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-15 12:59:33 +02:00
ea7a17ba68 [bookmarks] delete category files by moving to the .Trash dir
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-15 12:59:33 +02:00
dd8dd8ed96
[Android] Speed limit in navigation mode (#8897)
* Changed navigation UI to show speed and speed limit with '/' separator.

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Fixed speed limit display

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Removed red background for speedometer

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Renamed `isSpeedLimitExceeded` to `isSpeedCamLimitExceeded`.
Fixed speed value color when background is red.

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Update android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

* Update android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

---------

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-08-15 12:23:09 +02:00
Dwayne Bailey
9c4400eab1 [strings] Sort plural forms in CLDR order
Signed-off-by: Dwayne Bailey <dwayne@translate.org.za>
2024-08-15 12:12:49 +02:00
a6ffd22028
Add support for KMB files generated with latest MapsMe (#8935)
* Add support for KMB files generated with latest MapsMe app

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Update kml/serdes_binary.hpp

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

* Added KMB v9MM test case

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Introduced V9MM version. It has the same format as V8MM but with extra flag in tracks data.

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Inherit TrackDataV9MM from TrackDataV8MM

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Apply suggestions from code review

Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Reduced log level to warning

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Changed V9MM format to read multiple geometries

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Added KMB V9MM multi-geometry test case.

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Update comment

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Code cleanup.

Signed-off-by: Viktor Govako <viktor.govako@gmail.com>

---------

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-15 09:54:28 +02:00
Fabian Wüthrich
ab6d10bf79 [ios] Remove updateFrameworkInfo from LocationManager
The LocationManager updates the framework location quite complicated. On every
location update the LocationManager sets the frameworkUpdateMode property. The
setter of this property calls updateFrameworkInfo and passes the update to the
framework. A quick test revealed that calling the framework directly without
going over the property also works. Removing the frameworkUpdateMode property
and the updateFrmeworkInfo makes the code clearer and easier to read.

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-08-14 22:41:28 +02:00
Alexander Borsuk
e2ca702816 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-14 16:59:14 +02:00
Alexander Borsuk
eb3fda97c6 [strings] Traditional and Simple Chinese updates from Felix
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-14 16:59:14 +02:00
Alexander Borsuk
156cc9558e Enabled logs for free disk space checks when downloading/updating countries
There are several bug reports that iOS wrongly says that there is no free space available.
As we can get iOS logs now, we can try to debug such cases.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-14 16:58:58 +02:00
Alexander Borsuk
a86c911b45 [fonts] Use NotoSans instead of Serif for Hebrew
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-14 14:20:33 +02:00
Alexander Borsuk
b000ec07c0 [drape] Use explicit font height in pixels for line metrics calculation
The simplest approach works in the best way with different fonts, including Hebrew Noto

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-14 14:20:33 +02:00
026778acb7 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-14 11:47:22 +02:00
9e39f32dc0 [strings] recover unknown_current_position and share_my_location in ios
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-14 11:47:22 +02:00
16b69f9a57 [ios] bring back share my location button
partly revert 43c46beb0f (for the menu)

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-14 11:47:22 +02:00
Alexander Borsuk
ed45ee0ee5 Update indexer/brands_holder.hpp
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-08-13 20:49:16 -03:00
Alexander Borsuk
365cd16877 Updated comment
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-13 20:49:16 -03:00
Alexander Borsuk
20b0954aaf Avoid temporary std::string for brands searching
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-13 20:49:16 -03:00
e321914ecd [android] fix enabling and visibility of the Edit and App buttons on the PP
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-13 16:49:16 -03:00
9228c52ed6 [core] [map] [ios] fix the CanEditMap logic to add places only to the downloaded and updated maps
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-13 16:49:16 -03:00
11bd259731 [ios] prevent from selecting disabled menu cells
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-13 16:49:16 -03:00
Fabian Wüthrich
ced00b9df9 [ios] Allow location update when app is in background
The app is configured to update the GPS location in the background but this
information is not passed to the framework. With this commit the GPS location
is passed to the framework even when the app is in background. This results in
a higher battery usage if there is an active route but the battery usage will
remain the same if no route is active because the GPS location is not updated.

Close #6940

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-08-13 16:44:27 -03:00
Fabian Wüthrich
1db5a0a1ca Revert "[cherry] [MAPSME-5105] [ios] Fixed high cpu load in background."
This reverts commit b88a36a48c.

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-08-13 16:44:27 -03:00
532893c695 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-13 16:39:46 -03:00
e5a8dc4b90 [strings] add self_service and outdoor_seating to ios
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-13 16:39:46 -03:00
9557eb8ed0 [ios] add self_service and outdoor_seating tags to the pp
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-13 16:39:46 -03:00
zyphlar
61251a01ef
Increase logging for direction calculation and TTS (#8911)
* Increase logging for direction calculation and TTS

* Update routing/turns_notification_manager.cpp

Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>

* Update routing/turns_notification_manager.cpp

Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>

---------

Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-08-13 21:07:35 +02:00
Sireesh Kodali
e0e5830381 [indexer] Add Indian route shield parser
The Indian route shield parser handles National Expressways (NE),
Nataional Highways (NH), and State Highways (SH).

Signed-off-by: Sireesh Kodali <sireesh@siruknown.net>
2024-08-13 09:52:11 -03:00
Alexander Borsuk
1026e796ef
Avoid unnecessary Locale copying in ToStringPrecisionLocale (#8896)
* Avoid unnecessary copy in ToStringPrecisionLocale

And a bit faster code in two other places

Signed-off-by: Alexander Borsuk <me@alex.bio>

* fix

Signed-off-by: Alexander Borsuk <me@alex.bio>

* Minor formatting

Signed-off-by: Alexander Borsuk <me@alex.bio>

* Better formatting for distance tests

Signed-off-by: Alexander Borsuk <me@alex.bio>

* Workaround for failing distance tests

Signed-off-by: Alexander Borsuk <me@alex.bio>

* Fixed failing tests and improved formatting

Signed-off-by: Alexander Borsuk <me@alex.bio>

* Review fixes

Signed-off-by: Alexander Borsuk <me@alex.bio>

---------

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-13 09:48:09 +02:00
Arushi Garg
eb7c7ccc79 Update brands_strings added hindi translations.txt
Signed-off-by: Arushi Garg <123496275+ArushiGarg09@users.noreply.github.com>
2024-08-13 01:26:11 +02:00
Alexander Borsuk
3482016bb0 Properly recreate the recent track storage file if it is corrupted/empty
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-11 19:35:21 +02:00
Alexander Borsuk
d555e629b1 [gpx] Correctly export modified bookmark name
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-11 19:04:07 +02:00
b2a6dd2717 [android] Fix the crosshair (PICK_POINT) API
It appears that the new streamlined logic introduced in c90c6bb
"Fix SecurityException when importing bookmarks" is not consistently
reliable across all scenarios, as reported in #8350.

Steps to reproduce:

1. Remove all versions of Organic Maps from the device except one.
   The #8350 issue doesn't reproduce without this step.
2. Run PickPoint example from organicmaps/api-android repository.
3. The API call will always return RESULT_CANCELED.

Installing one more version of Organic Maps (Debug, Beta, Web, etc.)
alongside the existing version fixes the API to return RESULT_OK.
Debugging shows that FLAG_ACTIVITY_FORWARD_RESULT is not getting
set in this scenario.

Revert partially c90c6bb "Fix SecurityException ..." to restore
ActivityResultLauncher chain and re-add EXTRA_PICK_POINT, but
keep the idea of forwarding of the original intent.

Fixes #8350

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-08-11 15:07:04 +03:00
Viktor Govako
a7363d0556 [routing][tests] Updated integration tests with new factors.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-09 09:34:28 -03:00
Viktor Govako
1c09f8dce4 [routing] Limit bad surface factor if maxspeed tag is set.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-09 09:34:28 -03:00
Viktor Govako
021e2e021c [routing] Updated "primary" and "trunk" city factors.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-08-09 09:34:28 -03:00
Alexander Borsuk
bb167c8c88 [strings] Regenerated Chinese
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-09 13:53:01 +02:00
Alexander Borsuk
8bc24fffe3 [strings] Removed unused strings from iOS
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-09 13:53:01 +02:00
Alexander Borsuk
7b2b895c3e [strings] Chinese fixes from Felix
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-09 13:53:01 +02:00
Alexander Borsuk
d195ba7bc2 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-09 12:53:21 +02:00
Alexander Borsuk
0720a2025f [strings] Updated the text when nothing was found in the search
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-09 12:53:21 +02:00
46f6588cce
Updated embedded FAQ using organicmaps.app content (#8878)
* Updated embedded FAQ using organicmaps.app content

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Updated faq.html using local Zola build

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* Added tools/unix/refresh-embedded-faq.sh

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

---------

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-08-09 12:32:26 +02:00
Alexander Borsuk
d8ff238648 [tools] Use formal translations instead of informal for DeepL languages
Except for pt-BR, where informal looks better.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-09 12:20:52 +02:00
Alexander Borsuk
8bc775aafd [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-09 07:36:24 +02:00
1dcc6ed9ad
Hebrew translations of type_strings.txt (not by me) (#8893)
* Update types_strings.txt (#3)

add in Hebrew

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
Co-authored-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>

* Update types_strings.txt (#4)

add in Hebrew

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
Co-authored-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>

* Update types_strings.txt (#5)

add Hebrew

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
Co-authored-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>

* fix language order

Signed-off-by: Nitai Sasson <github.com.nr568@sl.neatnit.net>

---------

Signed-off-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
Signed-off-by: Nitai Sasson <github.com.nr568@sl.neatnit.net>
Co-authored-by: MbTy1 <141584968+MbTy1@users.noreply.github.com>
2024-08-09 07:33:45 +02:00
zyphlar
5a8ccd9115 Pass NextStreet to TTS for pedestrians as well as "cars" (everyone else)
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2024-08-08 14:03:06 +02:00
Dwayne Bailey
330eb2ea7b [strings] Regenerated
Signed-off-by: Dwayne Bailey <dwayne@translate.org.za>
2024-08-08 14:08:22 +03:00
Dwayne Bailey
7c2e1183a9 [strings] Remove vi, id plural 'one' form
vi, id have no plurals, just the 'other' form in CLDR

https://www.unicode.org/cldr/charts/45/supplemental/language_plural_rules.html#vi
https://www.unicode.org/cldr/charts/45/supplemental/language_plural_rules.html#id

Signed-off-by: Dwayne Bailey <dwayne@translate.org.za>
2024-08-08 14:08:22 +03:00
krozhdestvenski
b600aafa24
[android] Fix saving to Google Drive (#8817)
* Issue 8806. Fix saving to Google Drive

Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>

* Issue 8806. Fix file name

Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>

---------

Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-08-07 13:18:33 +02:00
Fabian Wüthrich
6ba1a9000a [strings] Regenerated
Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-08-07 00:58:09 +02:00
Fabian Wüthrich
2d406b4d2d [ios] Show warning if CarPlay can't display all bookmarks
Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-08-07 00:58:09 +02:00
bafee9fa0b [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-08-06 23:26:17 +03:00
0f131d06d3 [android] Prompt the user to disable power-saving mode for navigation
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
Co-authored-by: Roman Tsisyk <roman@tsisyk.com>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-08-06 23:26:17 +03:00
Ferenc Géczi
458b4895bf [cmake] Ensure the minimum required version of Qt
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-08-06 19:18:31 +02:00
848c9e0ad3 [tools] Fix CMake warning regarding BUILD_STANDALONE
Declared the variable in them main CMakeLists.txt, which makes it not
"manually-specified". It also documents it, which is a plus.

Signed-off-by: tmpod <tom@tmpod.dev>
2024-08-06 19:10:06 +02:00
Andrew Shkrob
83cd882798 [android-auto] Fix turn directions
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-08-06 11:18:46 -03:00
6803e659b1 [ios] add logs to the LocationManager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-06 14:24:40 +02:00
aaed68ea80 [ios] fix xcode warnings about unhandled enum cases
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-06 14:24:40 +02:00
d1405d7d5a [ios] write the Error and Critical messages to the log file synchronously
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-06 11:18:20 +02:00
FalconFist
bcab73d681 Update search strings
Source: https://matrix.to/#/!kzBidywONsbbZNRSrP:matrix.org/$iUnAL7bAh3GtvIjOJ9_bY3CSQkSvqwp9dWLbd1jTiHA?via=matrix.org&via=grin.hu&via=beeper.com
Signed-off-by: FalconFist <76624594+d4f5409d@users.noreply.github.com>
2024-08-06 00:20:14 +02:00
Andrew Shkrob
9e16fa3189 [android-auto] Add 3d buildings option in settings
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-08-06 00:19:18 +02:00
Alexander Borsuk
e9616ed0c8 [strings] Regenerated ja
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-04 16:39:06 +02:00
j9d3it
8c74e2d05a Update Japanese translation for scree
Signed-off-by: j9d3it <26203575+j9d3it@users.noreply.github.com>
2024-08-04 16:38:25 +02:00
Arthur-GYT
ff259537e4 [editor] Add support for outdoor_seating key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-04 11:01:00 -03:00
Arthur-GYT
8378a02cf3 [android] Add ui for outdoor_seating key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-04 11:01:00 -03:00
Arthur-GYT
bf60b12f15 [strings] Regenerated
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-04 11:01:00 -03:00
Arthur-GYT
66dba98d01 [strings] Add outdoor_seating key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-04 11:01:00 -03:00
Arthur-GYT
bb8d36cff3 [generator] Add support for outdoor_seating key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-04 11:01:00 -03:00
20c953ae40 [Core] Remove snap rotation
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-08-04 14:13:01 +02:00
Ferenc Géczi
9dc35ee99a [github] Execute drape_tests in CI
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-08-04 14:11:41 +02:00
a43d430166 [Android] Highlight layers button when it is activated
Signed-off-by: Harry Bond <me@hbond.xyz>
Co-authored-by: Alexander Borsuk <me@alex.bio>
2024-08-04 12:30:45 +02:00
Alexander Borsuk
151e82be40 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-04 10:56:43 +02:00
Alexander Borsuk
95484190a9 [strings] Fixed typo in en translation
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-04 10:55:56 +02:00
Arthur-GYT
1c21d0c0be [editor] Add support for self_service key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-03 19:29:29 -03:00
Arthur-GYT
58b74432ce [android] Add layout for self_service key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-03 19:29:29 -03:00
Arthur-GYT
4e380c7687 [strings] Regenerated
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-03 19:29:29 -03:00
Arthur-GYT
72c63f88a9 [strings] Add self_service key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-03 19:29:29 -03:00
Arthur-GYT
a4cc5db809 [generator] Add self_service tag support
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-08-03 19:29:29 -03:00
a90e62436e [android] better colour for inactive lane icons
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-08-03 22:24:07 +02:00
Alexander Borsuk
ca3d273729 [tools] generate_localizations.sh can be run from any directory
Before this fix, it worked only if run from the repo root

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-03 22:23:40 +02:00
Alexander Borsuk
d8df79fc73 [strings] Regenerated hu
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-03 12:59:57 +02:00
FalconFist
4e099c2d12 Community feedback
Signed-off-by: FalconFist <76624594+d4f5409d@users.noreply.github.com>

No. 1 https://matrix.to/#/!kzBidywONsbbZNRSrP:matrix.org/$sm2Jxq2C3xQQILdf_pGovFW5TBHlS8whg0rIWRjCwiI?via=matrix.org&via=grin.hu&via=beeper.com
No. 2 https://matrix.to/#/!kzBidywONsbbZNRSrP:matrix.org/$UZtI2M0-Exv0DsPWYnSjeBW3ZDh0dWdQkM5nzWthxs0?via=matrix.org&via=grin.hu&via=beeper.com
No. 3 https://matrix.to/#/!kzBidywONsbbZNRSrP:matrix.org/$afurYF52XwVynyO0cWaoGsEaum3DLGrLhyFOYmZoJgU?via=matrix.org&via=grin.hu&via=beeper.com
No. 4 https://matrix.to/#/!kzBidywONsbbZNRSrP:matrix.org/$GLz2K4YHKMQ9oq0JC1x417W7cA6qRgT88NtSkvQOXzQ?via=matrix.org&via=grin.hu&via=beeper.com
No. 5 https://matrix.to/#/!kzBidywONsbbZNRSrP:matrix.org/$leLIAV_PWGiMxRVkPvDaOnNDWUTnHvHiN38Vyfk3OHY?via=matrix.org&via=grin.hu&via=beeper.com
2024-08-03 12:53:57 +02:00
18bed8dde9 [ios] add more logs to the icloud sync
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-08-02 19:33:17 +02:00
0e8fb07037 [ios] update the file content using the safereplace
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>

# Conflicts:
#	iphone/Maps/Core/iCloud/SynchronizationFileWriter.swift
2024-08-02 19:26:11 +02:00
916db0e4a1 [strings] Regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-08-01 19:46:49 +02:00
30df074512 [Android] show username on profile button in settings
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-08-01 19:46:49 +02:00
Pavel Petrenko
d504321445 Removed dialog label storyboard runtime attribute and set it programmatically
Signed-off-by: Pavel Petrenko <remedy7789@gmail.com>
2024-08-01 19:10:05 +02:00
Pavel Petrenko
3df07d1628 Created an extension for monospaced font
Signed-off-by: Pavel Petrenko <remedy7789@gmail.com>
2024-08-01 19:10:05 +02:00
Alexander Borsuk
94eb73f913 [strings] Regenerated ca es eu fr hu
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-01 19:08:20 +02:00
b6c841d82f Update Catalan and Spanish translations
Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-08-01 19:06:23 +02:00
Andrew Shkrob
c656bad518 [android-auto] Use new api to deselect circle on the map
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-08-01 19:00:46 +02:00
9c9e4c5e21 Implemented app.organicmaps.Framework.nativeDeactivateMapSelectionCircle
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-08-01 19:00:46 +02:00
Alexander Borsuk
8460d45a1d Revert "[3party] Update GLM to the latest master"
Drape doesn't work with the latest GLM sources:
- Crosshair when adding an object on the map is not displayed
- Debug texts at the top are not displayed
- OSM copyright is not displayed
- The length above the ruler at the bottom left of the map is not displayed

It would be great to investigate which glm commit breaks it,
and then understand if it's a bug in the Drape code that should be fixed.

This reverts commit 5598f45e4f.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-01 08:47:37 +02:00
Alexander Borsuk
fb011eac33 [android] Fixed invalid mime types for gpx and kmz
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-08-01 07:39:06 +02:00
Ferenc Géczi
70aa2378f1 [docs] Document new minimum Qt version 6.4
As a consequence of https://github.com/organicmaps/organicmaps/pull/8177#issuecomment-2116304430

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-07-31 22:04:08 +02:00
dc60a39ffe [Android] make sendbugreport use mShareLauncher
utils.sendBugReport refactoring added mShareLauncher as a parameter. Because the two PRs were created at the same time, my code didn't have it. now fixed :)
also fixed indentation
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-07-31 14:52:05 -03:00
bf5825733e Fixed selection POI with bookmark when bookmark is not selected.
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-07-31 12:33:39 -03:00
2e1e0ba605 [ios] remove unexpectedly failing tests
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-31 16:26:15 +02:00
Andrew Shkrob
26e5cd67f9 [android-auto] Fix route building
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-07-31 13:04:40 +02:00
3eae1ff9f1 [Android] button for bug report on fatal error
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-07-31 13:02:40 +02:00
29c91f244a [Android] fix bars on world download page
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-07-31 12:03:46 +02:00
David Martinez
6f7c038c3f [ios][placepage] Change cuisine icon to fork and knife
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-30 21:51:28 -03:00
David Martinez
59c5e76b18 [ios][placepage] Cleanup and rename svg files for consistency
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-30 21:51:28 -03:00
David Martinez
95af9324a2 [ios][placepage] Fix Capacity icon size
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-30 21:51:28 -03:00
David Martinez
c12a3ba534 [ios][placepage] Fix ATM icon size
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-30 21:51:28 -03:00
David Martinez
b668503c0f [ios][placepage] Remove duplicated icons
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-30 21:51:28 -03:00
krozhdestvenski
bf3ae3ee42
[android] Add possibility to save bug reports to the local storage
Fixes #8287

Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-07-30 12:00:17 +01:00
96608e08ac [ios] refactor the 4th button in the PP action bar
When there are only the one additional button it will set as 4th instead of More in PP action bar

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-30 13:27:17 +03:00
6879db4472 [ios] refactor the ActivityViewController: set creational methods to nonnull
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-30 13:27:17 +03:00
43c46beb0f [ios] refactor the PP's header and add the share button
- increase grabber size
- move the share button to the PP's and Layers header trailing-top corner
- add a new color for the close/share icons on the pp
- crate a new button class with rounded image
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-30 13:27:17 +03:00
7b1365af4b [ios] add new icons to share and close buttons
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-30 13:27:17 +03:00
Alexander Borsuk
b478f12371 [qt] Add transliteration enable/disable setting
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-30 09:20:21 +02:00
Alexander Borsuk
0869b15dcd [search] Store 50 recent searches instead of 10
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-30 09:16:08 +02:00
dfad0881f7 [categories] alt names for "recycling centre"
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-07-30 00:19:03 +02:00
Alexander Borsuk
dea0664ee8 [android] Updated versions for dependencies
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 20:24:24 +02:00
Alexander Borsuk
f7a74de20e [android] Update Gradle to 8.5.0
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 20:24:24 +02:00
0c7f9040e9 Update tools/python/stylesheet/drules_merge.py
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-07-29 15:14:48 -03:00
c6de7c1d09 Regenerated drules
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-07-29 15:14:48 -03:00
66f04c6090 Fixed styles merging
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-07-29 15:14:48 -03:00
Harry Bond
ecb7665ea5 [styles] regenerated
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-07-29 15:14:48 -03:00
Harry Bond
f0b00a498b [styles] add traffic_light symbol for vehicle style
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-07-29 15:14:48 -03:00
Alexander Borsuk
daea56371d [qt] Fixed deprecation warnings
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:51:08 +02:00
Alexander Borsuk
5598f45e4f [3party] Update GLM to the latest master
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
3aa9ea6a25 [3party] Update fast_double_parser to the latest master
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
f75f96ce86 [3party] Update pugixml to the latest master
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
7a80dc2da0 [3party] Update fast_obj to v1.3
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
23f4952e50 [3party] Update Vulkan headers to v1.3.292
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
f3dbc1376a [3party] Update to the latest expat master
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
67cbee77a6 [3party] Update ICU to 75-1
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
d084008214 [3party] Updated boost to 1.85
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
a0a5e2e9b7 [3party] Update to the latest Harfbuzz master
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
Alexander Borsuk
d733cf223a [3party] Update to the latest freetype master
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-29 18:48:41 +02:00
48044507b6 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-29 18:38:57 +02:00
477607106b [strings] icloud failure and bugreport alert strings
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-29 18:38:57 +02:00
ab538bb551 [ios] refactor icloud sync to prevent syncing when some errors occur
- throws an exeption when the metadata cannot be initialized from the url or nsmetadataitem
- add 2 new sync errors cases to clarify errors reasons
- stop sync on the all errors except ubiquity errors (uploading/downloading)
- subscribe the settings screen on the sync state notification to update the relates cell properly from the cloud manager
- show the alert with an error if cloud sync fails with proposal to the user to send a bugreport

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-29 18:38:57 +02:00
03d41edb29 [ios] remove unused code from the MetadataItem
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-29 18:38:57 +02:00
497153d161 [ios] implement bug report alert
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-29 18:38:57 +02:00
Jaime Marquínez Ferrándiz
603fa2dbf9 Add call to UNREACHABLE() to fix building with -Werror=return-type
Signed-off-by: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
2024-07-29 08:29:50 -03:00
Ferenc Géczi
e56a343772 [packaging] Add 2024.07.27 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-07-28 22:16:06 +02:00
Jaime Marquínez Ferrándiz
a8664c4b98 Move address_parser_tests to a subdirectory to fix building with SKIP_TESTS=ON
target_link_libraries was executed even if the project was not created

Signed-off-by: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
2024-07-28 22:03:03 +02:00
Alexander Borsuk
ad9ed4a14a [drape] Disabled splitting of RTL text into two lines
The existing SplitText implementation doesn't work with RTL (and it didn't work before text shaping integration)

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-27 14:25:36 +02:00
Alexander Borsuk
e7d373531b [drape] Restored accidentally dropped forceNoWrap
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-27 14:25:36 +02:00
a3b6d5315b [strings] Regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-26 20:09:54 +02:00
efdc77c93b [strings] add open_in string
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-26 20:09:54 +02:00
39dde905e6 [ios] implement open_in_app feature
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-26 20:09:54 +02:00
8d996522f1 [ios] add open_in_app icon and fix ic_placepage_wheelchair
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-26 20:09:54 +02:00
5937672593 [ios] register app schemes in LSApplicationQueriesSchemes
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-26 20:09:54 +02:00
5c0892cacb
Fix the use of cached command-line variables in build_omim.sh (#8710)
* Extend .gitignore with more autogenerated files

Mostly stuff produced by CMake, but also the .settings folder in
android.

Signed-off-by: tmpod <tom@tmpod.dev>

* Fix the build shell script's use of cached command-line variables

Variables declared only through the command-line, such as
`BUILD_STANDALONE`, assume their cached values (visible in
CMakeCache.txt files) whenever they are not defined.
This caused the build script to run in standalone mode even when you
didn't want it to, as long as you passed the flag once before.
`BUILD_DESIGNER` didn't have the same problem because it is declared in
the root `CMakeList.txt` and defaults to OFF. Should we also define the
standalone variable there?

Signed-off-by: tmpod <tom@tmpod.dev>

---------

Signed-off-by: tmpod <tom@tmpod.dev>
2024-07-26 16:25:39 +02:00
0102927d21 [ios] move the mail composing logic to the MailComposer class
Mail composer can:
- build the regular email
- build the bugreport email with the log file attachment

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-26 15:37:30 +02:00
Alexander Borsuk
0363d87cc3 [ios] log the local time with timezone on the app launch
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-25 20:08:38 +02:00
David Martinez
5249ac9830
[placepage] Use WiFi emoji symbol 🛜 in PP preview (#8631)
* [placepage] Use localized WiFi string

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>

* [placepage] Use WiFi emoji symbol 🛜

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>

---------

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-25 18:14:58 +02:00
kavi khalique
bdf9616a87
[android] Reimplements Track Deletion
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-07-25 09:20:15 +01:00
Alexander Borsuk
2f8f9ded88 [android] Fixed non-working download on Android 7 and below
The issue is caused by missing root certificates on older Android devices with the following error:

javax.net.ssl.SSLHandshakeException:
java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

ISRG Root X1 and GTS/Global Sign Root certificates are embedded and used for Android 7 or older devices:

- https://letsencrypt.org/certs/isrgrootx1.pem
- https://pki.goog/repository/

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-23 22:44:34 +02:00
Alexander Borsuk
6366970b5c [docs] Link to frequently reported issues
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-20 23:37:29 +03:00
Alexander Borsuk
82333a7d63 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-20 17:11:44 +02:00
Alexander Borsuk
cb2ef79ff1 [strings] Stopp => Beenden to stop navigation in German
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-20 17:11:44 +02:00
Alexander Borsuk
4c65501628 [android] Use proper translation to stop navigation from the notification
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-20 17:11:44 +02:00
Alexander Borsuk
d051e02f92 [drape] Fixed wrong line height for NotoSansCJK on Android
This font reports too big line height (normal bbox.yMax, and too big negative bbox.yMin).

Previous implementation could wrongly mix vertical advance with bbox.yMin calculation.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-20 13:04:19 +02:00
c8580eb24f [android] Increase size of OSM links on OSM profile
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-07-20 12:53:57 +02:00
7d0085f9da [android] use new filetype icons by Euf
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-07-19 22:44:53 -03:00
2692581907 Add ability to scroll in edit text
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-07-19 23:56:37 +02:00
Alexander Borsuk
af7418e8c1 [strings] Regenerated countries
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-19 16:34:38 +03:00
alnzrv
3b87526165
[strings] Fix Cyprus description (#8726)
* [strings] Fix Cyprus description

Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>

* [strings] Fix Cyprus description

Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>

---------

Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>
2024-07-19 15:33:16 +02:00
Colonel-Dixie
da69503846 Update promotional_text.txt
Signed-off-by: Colonel-Dixie <35276833+Colonel-Dixie@users.noreply.github.com>
2024-07-18 15:10:45 +02:00
Colonel-Dixie
fcc2288dfc Translate the AppStore Arabic description in Update description.txt
Translate the AppStore Arabic description in Update description.txt

Signed-off-by: Colonel-Dixie <35276833+Colonel-Dixie@users.noreply.github.com>
2024-07-16 23:04:13 +02:00
Colonel-Dixie
222fb1ac61
Added more translations to the country Iraq in Update countries_names.txt (#8712)
* Update countries_names.txt

Added more translations to the country Iraq and improve the map parts  naming in each languages.

Signed-off-by: Colonel-Dixie <35276833+Colonel-Dixie@users.noreply.github.com>

* Update countries_names.txt

Signed-off-by: Colonel-Dixie <35276833+Colonel-Dixie@users.noreply.github.com>

---------

Signed-off-by: Colonel-Dixie <35276833+Colonel-Dixie@users.noreply.github.com>
2024-07-16 23:03:34 +02:00
Meenbeese
249bada67f [strings] Regenerated
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-07-16 23:02:08 +02:00
=
a285b87a73 [editor] Replace PP business string with place string
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-07-16 23:02:08 +02:00
cf5d384ae3 [android] align main screen buttons in landscape
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-07-15 07:51:38 +02:00
810acfa824 Add new tablet screenshots
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-07-14 21:29:27 +02:00
David Martinez
21050b7473 [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-13 14:02:07 +02:00
David Martinez
f04bc28e3d [strings] Improve translations of maps of Spain
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-13 14:02:07 +02:00
34c837384c Update documentations
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-07-13 12:54:16 +02:00
=
7d25091dc1 Remove deprecated OSRM files from CentOS tools
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-07-13 07:31:22 +02:00
Ferenc Géczi
c9584837e3 [packaging] Add screenshot captions to appstream metadata
Fixes the following warning:
````
"warnings": [
    "appstream-screenshot-missing-caption"
],
"info": [
    "appstream-screenshot-missing-caption: One or more screenshots are missing captions in the Metainfo file"
],
````
emitted by the validation command (on the already compiled and built repo).

See the occurence in:
https://buildbot.flathub.org/#/builders/26/builds/16574/steps/11/logs/stdio

Also the `Run appstreamcli in pedantic mode` step of the `validate-appstream` GH Action job
reports the detailed line numbers:
````
P: app.organicmaps.desktop:99: screenshot-no-caption
P: app.organicmaps.desktop:102: screenshot-no-caption
P: app.organicmaps.desktop:105: screenshot-no-caption
P: app.organicmaps.desktop:108: screenshot-no-caption
````

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-07-13 00:29:04 +02:00
Alexander Borsuk
ea41c20864 [strings] Regenerated Iraq countries
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-13 00:40:43 +03:00
Colonel-Dixie
8de0a2d36e Update countries_names.txt
Updated the country description for Iraq.

Signed-off-by: Colonel-Dixie <35276833+Colonel-Dixie@users.noreply.github.com>
2024-07-12 23:15:55 +02:00
Ferenc Géczi
d5a5ad96f5 [packaging] Fix metainfo-launchable-tag-wrong-value
Error emitted by the validation command (on the already compiled and built repo):
````
flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions repo repo'
````
in the `Validate build` step of the `flathub` builds.

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-07-11 23:06:16 +02:00
Ferenc Géczi
80ad96fd20 [packaging] Add 2024.07 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-07-11 23:05:45 +02:00
Alexander Borsuk
fecccafba4 [tools] Fixed clean_strings_txt.py to include iOS app tips
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-10 21:00:42 +02:00
cef759c3a4 [Strings] Regenerated strings
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-07-10 14:21:13 +02:00
0780c998c7 [Strings] Changed old Ukrainian toponymics according to the latest renamings
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
2024-07-10 14:21:13 +02:00
e845ad65d3 [platform] make RemoteFile handle redirects when told to
needed for profile picture in OSM account page
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-07-10 11:04:12 +02:00
Alexander Borsuk
6d2d6850b4 [android] Add mt language
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-09 23:48:06 +03:00
Alexander Borsuk
fec84ceb07 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-09 23:47:53 +03:00
Alexander Borsuk
8e603693b2 [strings] Roll back the typo
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-09 23:47:08 +03:00
Metehan Özyürek
04e6abbb69
[strings] Improved and Fixed Turkish Translation (#8668)
* Update short-description.txt

Signed-off-by: Metehan Özyürek <metehanc8s9@hotmail.com>

* Update strings.txt

Signed-off-by: Metehan Özyürek <metehanc8s9@hotmail.com>

---------

Signed-off-by: Metehan Özyürek <metehanc8s9@hotmail.com>
2024-07-09 22:45:22 +02:00
Ferenc Géczi
ab040b6727 [github] Run appstreamcli in pedantic mode
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-07-09 14:45:00 +02:00
Metehan Özyürek
687412cab1 Fixed Full Description
Signed-off-by: Metehan Özyürek <metehanc8s9@hotmail.com>

Signed-off-by: Metehan Özyürek <80093621+MetehanOzyurek@users.noreply.github.com>
2024-07-09 14:37:06 +02:00
Alexander Borsuk
fa2e52d9cf Add link to Obtanium to GitHub web releases
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-09 15:30:07 +03:00
a58ee13168
[store] 2024.07.07 Release Notes (#8650)
Co-authored-by: Alexander Borsuk <me@alex.bio>
Signed-off-by: Alexander Borsuk <me@alex.bio>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-07-08 21:09:33 +01:00
0f5e87a5be [store] Re-store promotional text in AppStore
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-07-08 21:07:53 +01:00
b522549c79
[Android] Placepage doesn't exit fullscreen mode (#8551)
* [Android] In fullscreen mode opening a placepage doesn't exit fullscreen mode.

Signed-off-by: S. Kozyr <s.trump@gmail.com>

* [Android] Exit fullscreen mode in navigation

Signed-off-by: S. Kozyr <s.trump@gmail.com>

* Using old style fullscreen for Android version < 11

Signed-off-by: S. Kozyr <s.trump@gmail.com>

* [Android] Added comment

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* [Android] Exit fullscreen when user plans a route

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

* [Android] Close page page when entering fullscreen mode

Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>

---------

Signed-off-by: S. Kozyr <s.trump@gmail.com>
Signed-off-by: Sergiy Kozyr <s.trump@gmail.com>
Co-authored-by: Sergiy Kozyr <skozyr@apple.com>
2024-07-07 16:29:39 +02:00
d8515e9f49 [store] Import data from AppStore
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-07-07 08:34:24 +03:00
Viktor Govako
d03ce58974 [search][tests] Updated quality tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-07 08:29:27 +03:00
Viktor Govako
de9d6b94dc [routing][tests] Updated tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-07 08:29:27 +03:00
Viktor Govako
75d81937b9 [planet] New data from 240702.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-07 08:29:27 +03:00
Viktor Govako
9766f6ffa2 Minor fixes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-06 22:48:41 -03:00
Viktor Govako
bfdf975171 [meta] Use IsPoiChecker for 'operator' tag.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-06 22:48:41 -03:00
Viktor Govako
87bf6ad8f1 Unify IsPoiChecker.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-06 22:48:41 -03:00
Viktor Govako
1274fd45e0 Minor comments.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-06 22:48:41 -03:00
Aiden
a254e88172
[strings] MT (Maltese) translations part 1 (#8645)
* part 1 of mt translations

Signed-off-by: Vikingnope <aidsch0605@outlook.com>

* Updated errors

Signed-off-by: Vikingnope <aidsch0605@outlook.com>

---------

Signed-off-by: Vikingnope <aidsch0605@outlook.com>
2024-07-06 23:35:38 +02:00
Alexander Borsuk
444a1e705d [strings] Regenerated en-GB
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-06 20:41:19 +02:00
Alexander Borsuk
e08ec32e9a [strings] Replaced archaic en-GB Ironmongers with Hardware Store
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-06 20:41:19 +02:00
Alexander Borsuk
a39eed5805 [xcode] Fixed warnings for Xcode 16
- Use C17 instead of C11
- Clean up some settings

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-05 13:06:51 +02:00
Ferenc Géczi
29d650a0e1 [search] Fix warning about deprecated implicit capture of ‘this’
Fixes the following warning:

````
search_request_runner.cpp:141:24: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
  141 |   params.m_onResults = [=](search::Results const & results)
      |                        ^
search_request_runner.cpp:141:24: note: add explicit ‘this’ or ‘*this’ capture
````

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-07-04 12:58:13 -03:00
David Martinez
c519acac74 [placepage] FormatSubtitle: Restore withTypes parameter
GetLocalizedAllTypes's assert was crashing when selecting a bookmark
that had no POI associated and therefore it had no types.

Now it will not invoke GetLocalizedAllTypes if withTypes is false.

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-03 21:37:25 -03:00
Alexander Borsuk
638aa1e6e0 [strings] Regenerated ar
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-04 00:34:08 +03:00
Colonel-Dixie
366169ff39 Added Arabic translations in Update types_strings.txt
Title.

Signed-off-by: Colonel-Dixie <35276833+Colonel-Dixie@users.noreply.github.com>
2024-07-03 23:33:21 +02:00
05b745094b Use same editor styles in bookmarks
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-07-03 09:57:54 +02:00
Alexander Borsuk
52b616e18c [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-02 17:54:49 +03:00
Alexander Borsuk
ba210325c0 [strings] Updated Simplified and Traditional Chinese TTS
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-02 17:54:49 +03:00
Fabian Wüthrich
d87fc6a49e [strings] Regenerated
Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-07-02 16:48:13 +02:00
Fabian Wüthrich
a4c89930f9 [ios] Add test voice button in TTS settings
Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-07-02 16:48:13 +02:00
Nicolas Cornu
905bce9a40 addAction(text, receiver, member, shortcut) is deprecated
Since Qt6 this specialization in QMenu is deprecated.
We should use the function from QWidget.
Parameters are in a different orders (text, shortcut, receiver, member).

https://doc.qt.io/qt-6/qmenu-obsolete.html

Signed-off-by: Nicolas Cornu <me@alkino.fr>
2024-07-02 16:35:59 +02:00
d36557a07c [ios] remove unnecessary icloud test case
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-02 14:37:17 +02:00
Alexander Borsuk
20129f38d4 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-01 23:08:14 +02:00
Alexander Borsuk
d25a527d40 Ignore strings.txt line endings fix commit in git blame
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-07-01 23:08:14 +02:00
20f7d7c267 [android] [ios] Replace objects via bookmarks and tracks in ui string
- Remove “objects” from strings.txt
- Add condition flow for Android
- Add condition flow for iOS
- Fixed missing en-GB plural translations on iOS

Fixes: #8217

Signed-off-by: Dzmitry Padabed <itfarrier@icloud.com>
2024-07-01 23:08:14 +02:00
Nicolas Cornu
c8284b4e51 Update path to NotoSansMalayalam-Regular
We can see that the file is name 00_ and not 08_
https://github.com/organicmaps/organicmaps/blob/master/data/00_NotoSansMalayalam-Regular.ttf

Signed-off-by: Nicolas Cornu <me+github@alkino.fr>
2024-07-01 21:17:28 +02:00
Viktor Govako
b77b8c4e45 [search][generator] Updated distance threshold and added tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
Viktor Govako
180bb8cf29 [generator][tiger] New GetNormalizedStreetName matching function.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
Viktor Govako
402e5b26a4 [generator] Updated generator_tool and added test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
Viktor Govako
1f07473232 [search][generator] Added AddressEnricher.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
Viktor Govako
296bc5da52 [search][generator] Added address_parser_tool (Tiger).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
Viktor Govako
19df9af3a1 [search] GetStreetNameAsKey now processes directions (North, East, ...).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
Viktor Govako
e0997d5559 [coding] Updated rw::Read/Write for integrals.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
Viktor Govako
3b479fa18f [base] Added UniformRandom helper class.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-07-01 13:58:24 -03:00
250bf24c71 [strings] Regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-01 18:06:19 +02:00
d7629b6663 [strings] add strings related to logging
- `enable_logging`
- `enable_logging_warning_message`
- `log_file_size`
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-01 18:06:19 +02:00
0197b881db [ios] implement logging to the file
- get logs from core
- log them in the default os_log to see in the Console app
- write to file

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-01 18:06:19 +02:00
de0a8beece [base] add WriteLog to the LogHelper to compose log message
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-07-01 18:06:19 +02:00
David Martinez
35b3233007 [tests] Add tests for GetLocalizedAllTypes
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-01 12:10:12 -03:00
David Martinez
f16bf61607 [placepage] Show secondary types when name is empty
[placepage] Only discard level=1 amenity, but show others like shop...

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-07-01 12:10:12 -03:00
Evgeny Fayvuzhinsky
795b4da51f [ios] Add dark mode to LaunchScreen.storyboard, remove LaunchImage
Apple HIG suggest empty launch screen or with UI (no splash screens).
Following discussion #3215, UI elements are no good on LaunchScreen.
Just adding support of a system dark mode as a follow up to #7292.
Also removed LaunchImage assets (they were for iOS 7 and lower).

Closes: #3049
Signed-off-by: Evgeny Fayvuzhinsky <e.u.f@icloud.com>
2024-07-01 11:38:29 +02:00
Alexander Borsuk
da469879da [strings] Regenerated Chinese
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-30 21:08:42 +02:00
Alexander Borsuk
e212e30451 [strings] Fixed Chinese avoid... translations
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-30 21:08:42 +02:00
Alexander Borsuk
0970581ea3 [generator] Strip the last slash from URLs to beautify them
Also slightly reduces the size of map files

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-30 11:29:20 +02:00
eisams
7833c439b8
Update INSTALL.md for macOS (#8450)
* Update INSTALL.md for macOS

Signed-off-by: eisams <62468530+eisams@users.noreply.github.com>
Signed-off-by: Eivind Samseth <eisa01@gmail.com>
2024-06-29 20:25:14 +02:00
Alexander Borsuk
41b73ed97b [drape] Harfbuzz integration
Rendered text is now properly shaped. Should fix text rendered in these languages:
- Indic
- Arabic
- Thai and Lao
- Khmer
- Myanmar
- Tibetan
- Hangul
- Hebrew

If text still looks wrong, then the font file for this text should be updated.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-29 11:32:38 +02:00
Alexander Borsuk
ab5eaced77 [qt] Properly call base class QOpenGLWidget::event
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-28 18:47:42 -03:00
Alexander Borsuk
8d21236f1e [drape] Fixed vulkan warnings
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-28 18:47:42 -03:00
Alexander Borsuk
007620e28a [3party] Fixed Harfbuzz clang warning
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-28 18:47:42 -03:00
Alexander Borsuk
7507139f68 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-28 14:18:55 -03:00
Alexander Borsuk
105b948d35 [strings] Fixed missing Polish translation on Android
`other` is used for cases like 1.5, or to fall back to anything except `one`.
Without `other`, the current twine implementation does not work properly on
Android (all plurals are removed), and on iOS (an English version of `other`
is added into plurals).

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-28 14:18:55 -03:00
David Martinez
80ff58e67b [placepage] Show all types
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-06-27 22:47:47 +02:00
Alexander Borsuk
1dcccd3ffa [strings] Regenerated en
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-27 22:38:56 +02:00
Boris Verkhovskiy
f9a758ae09 Correct grammar
Signed-off-by: Boris Verkhovskiy <boris.verk@gmail.com>
2024-06-27 22:38:21 +02:00
Antonin Delpeuch
e21477d462 [strings] Regenerate
Signed-off-by: Antonin Delpeuch <antonin@delpeuch.eu>
2024-06-27 21:50:30 +03:00
Antonin Delpeuch
9edf452d27 Localize building levels in place view.
To make it clearer what this field is about
and what the numerical value means.
For #4452.

Signed-off-by: Antonin Delpeuch <antonin@delpeuch.eu>
2024-06-27 21:50:30 +03:00
Alexander Borsuk
6940375538 [strings] Regenerated zh and be
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-27 07:36:59 -03:00
Alexander Borsuk
596d8dd9f2 [string] Fix zh translations, update be
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-27 07:36:59 -03:00
Alexander Borsuk
23c34f188c [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-26 13:47:09 -03:00
Alexander Borsuk
d04d1bb77d [strings] Improved route building hints
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-26 13:47:09 -03:00
Oleg Montak
b75adf52f7 [ios] Remove unused code in UIColor+MapsMeColor
Usage of local `day` and `night` dictionaries were replaced with
`StyleManager.shared.theme.colors` in
e85ac9d4da.

I don't see any other code that can use them, after removing them, project builds
and works just fine.

Signed-off-by: Oleg Montak <oleg.montak@gmail.com>
2024-06-26 18:36:37 +02:00
Alexander Borsuk
dc40121d7b [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-26 13:33:37 -03:00
Alexander Borsuk
66b95e1043 [search][strings] Fixed viewpoint zh and be translations
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-26 13:33:37 -03:00
c36e10c112 [ios] replace circle checkbox image (radioBtnOff/On) with rounded rect
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-26 18:22:40 +02:00
40cb15f8fd [ios] fix the fullscreen mode behaviour
- Long tap activates the Fullscreen mode and hide both the PP and the controls.
- Second long tap deactivates the fullscreen mode and put back the controls.
- Controls always visible on navigation, planning the route, searching.
- If the fullscreen is enabled and the user opens the PP, the controls will be hidden.
- If the fullscreen is enabled and the PP is opened, the longtap will exit the fullscreen without hiding the PP

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-26 16:44:37 +02:00
Viktor Govako
7c7e0910fb [generator] Combine post office, post box, parcel locker into IsPostPoiChecker selector.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-26 06:38:36 -03:00
Viktor Govako
55111d009e [search] Fixed 'name is a number' POI search.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-25 23:43:21 -03:00
a1ae97e49a [generator] Treat fine_gravel as a formed/paved footway surface by default
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-06-25 13:56:34 -03:00
10825bb6d4 [generator] Add surface = brick(s), stone, grass_paver, soil
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-06-25 13:56:34 -03:00
Viktor Govako
018982597b [search] Do not stop MWMs search too early.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-24 19:18:16 -03:00
Viktor Govako
6c7d906ba4 [categories] Search a volcano as a mountain.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-24 19:18:16 -03:00
Alexander Borsuk
eec90f1805 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-24 22:11:04 +02:00
sndrtn
97c1d04bca
[strings] Improve Dutch (NL) translations (#8536)
* Improve NL (Dutch) translation

Signed-off-by: sndrtn <sander_ton@hotmail.com>
2024-06-24 22:09:43 +02:00
Alexander Borsuk
b95dc95e3b [android] Fix GPX import from WhatsApp
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-24 00:41:36 +02:00
Alexander Borsuk
4b44b2ab6a [docs] Update TRANSLATIONS.md
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-23 19:08:24 +02:00
Alexander Borsuk
0c3eb4f900 [strings] Regenerated pl
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-23 19:08:03 +02:00
soshial
ba51fa9d1b
Fix Polish plurals (#8526)
* Fix Polish plurals

Signed-off-by: soshial <soshial@gmail.com>
2024-06-23 19:07:20 +02:00
Fabian Wüthrich
b23937301f [strings] Regenerated
Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-06-22 23:35:27 +02:00
Fabian Wüthrich
537e476c2b [ios] Remove traffic button from CarPlay
The traffic button is not working in CarPlay, so this commit removes it to not
confuse users.

Close #868

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-06-22 23:35:27 +02:00
Alexander Borsuk
70616113e8 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-22 23:21:26 +02:00
Alexander Borsuk
5d4276993a [strings] Replaced Chinese translation of OM with English letters
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-22 23:21:26 +02:00
Viktor Govako
a342a8398e [android] Minor fixes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-21 18:18:20 -03:00
Viktor Govako
b892e56fe0 [android] Removed obsolete VideoTimer.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-21 18:18:20 -03:00
Alexander Borsuk
594ecb9834 [strings] Regenerated hu
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-21 22:41:06 +02:00
FalconFist
d8e7159b79 Fix 2 small translational errors in the hungarian translation
Signed-off-by: FalconFist <76624594+d4f5409d@users.noreply.github.com>
2024-06-21 22:40:25 +02:00
Alexander Borsuk
a2e9e38466 [strings] Regenerated Basque
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-20 22:29:59 +02:00
alexgabi
b52a4541fa Update sound.txt
Corrections in basque language (eu)

Signed-off-by: alexgabi <alexgabi@disroot.org>
2024-06-20 22:29:28 +02:00
Alexander Borsuk
a5514a5c4a [android] Fixed missing fonts in assets
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-19 17:06:15 -03:00
75c22cacd3 Introduced method PlacePageActivationListener.onSwitchFullScreenMode()
Added onSwitchFullScreenMode listener call from JNI

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-18 23:18:59 +02:00
6d4e5eb7d6 [ios] split logic for the closing the PP and show/hide side buttons
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-18 23:18:59 +02:00
553d936a13 [core] split onClose and onSwitchFullScreen
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-18 23:18:59 +02:00
2908f56333 Merge remote-tracking branch 'origin/release/2024.06.02' 2024-06-18 11:26:32 +03:00
61553926dc [styles] Regenerate for z6 roads
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-06-17 22:02:29 -03:00
30af3fb47a [styles] Display trunk roads at z6
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-06-17 22:02:29 -03:00
Alexander Borsuk
6d4769f2ec [drape] Add Bengali font
Pre-requisite to fix #1723

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-17 22:50:25 +02:00
930233c687 [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-17 20:56:33 +02:00
efad8cf3a0 [strings] Small fix for transliterated КМЗ -> KMZ in Ukrainian string
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-17 20:56:33 +02:00
Alexander Borsuk
e231894754 [drape] Add Malayalam font
Pre-requisite to fix shaping in #516

The old font does not embed proper shaping info and doesn't work even with Harfbuzz

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-17 19:52:39 +02:00
Alexander Borsuk
29f2f82e7c [drape] Minor fixes
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-17 19:17:00 +02:00
Ferenc Géczi
b3cba32dca [qt]: Clean-up Qt 5 code paths
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-06-17 13:24:15 -03:00
32fa582316 [ios] fix file import using the uidocumentpicker
file should be imported as a copy because the files app will block the access after the dismiss

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-17 14:40:28 +02:00
9a8a515eef [ios] reload the PP content instead on close and open on every click
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-17 09:52:13 +02:00
f51b36aa15 [strings] regenerated
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-17 09:49:09 +02:00
cb17e8e4dd [strings] add bookmarks_import string to ios
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-17 09:49:09 +02:00
787fe7a3f9 [ios] implement the DocumentPicker to import files into the app
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-17 09:49:09 +02:00
577c6cc37f [ios] add DocumentPicker and FileType
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-17 09:49:09 +02:00
ba7d55aa97 [ios] add methods to load the file by url to the BMManager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-17 09:49:09 +02:00
db0aeb4194 [ios] open social media links in installed applications from the PlacePage
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-11 17:09:10 +02:00
11c174f254 [ios] refactor PlacePageInfoViewController
- move all initial setup out from viewDidLoad

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-11 17:06:29 +02:00
97a0544a55 [ios] fix screen freezing when the PP relaods on viewWillAppear
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-11 17:06:29 +02:00
35be2a37d7 [ios] add assert on second LoadBookmarks call
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-11 11:40:57 +03:00
fbb27efe12 [strings] regenerated
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-10 21:44:55 +02:00
d1e7fdd9ed [strings] remove unused strings
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-10 21:44:55 +02:00
10b2ed9b05 [ios] remove unused alerts
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-10 21:44:55 +02:00
Viktor Govako
2a30df24a0 [categories] "Стоматология".
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-10 21:36:49 +02:00
36b0265477 Refactoring of Framework::BuildPlacePageInfo function.
Now it always returns place_page::Info struct. Changed return type and all places affected.

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-09 23:27:50 +02:00
19b366224a [ios] Added a toast when user hides the UI with a long tap
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-09 23:27:50 +02:00
7471b5e35f [Android] Added a toast when user hides the UI with a long tap
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-09 23:27:50 +02:00
c6966f5286 [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-09 23:27:50 +02:00
fe57070651 [Strings] Added 'long_tap_toast' string
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-09 23:27:50 +02:00
6d260fe008 [drape] Single tap how selects any feature (POI, bookmark, line, or area)
Long tap shows/hides the UI. Special case for buildings: on a tap building is selected in PP but selection circle is on tap position.

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-06-09 23:27:50 +02:00
Alexander Borsuk
179b2f46d4 [drape] Remove redundant Freetype calls
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-09 22:54:48 +02:00
Alexander Borsuk
04a6e891da [drape] Fixed text segmentation and added a test
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-09 22:54:26 +02:00
Alexander Borsuk
3c7884a141 [C++20] Fixed warning
warning: arithmetic between enumeration type 'feature::Layer' and floating-point type 'const double' is deprecated [-Wdeprecated-enum-float-conversion]

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-09 14:45:39 +02:00
Matheus Gomes
5c2964ac64
[iOS] Fixed titles capitalization (#8424)
* Update MWMOpeningHoursEditorViewController.mm

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

* Update MWMStreetEditorViewController.mm

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

* Update MWMEditorViewController.mm

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

---------

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-06-09 08:39:32 +02:00
Alexander Borsuk
bed3b12146 [strings] Regenerated link to TTS FAQ
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-08 11:35:25 +02:00
Alexander Borsuk
33b6269147 [android] Fix TTS FAQ link by pointing at OM website
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-08 11:35:25 +02:00
Alexander Borsuk
21776e1987 [github] Check arm32 Android builds too
Do not build many archs on one runner for faster feedback from Github

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-08 07:49:32 +02:00
Alexander Borsuk
6ab9880370 [xcode] Silence upgrade check
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-07 19:10:21 +02:00
Alexander Borsuk
296ce69fe0 [C++20] Use starts_with and ends_with
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-07 13:11:00 -03:00
Alexander Borsuk
4eba1f74ff [android] Fix Vulkan build error
omim/drape/vulkan/vulkan_layers.hpp:43:47: error: cannot initialize a member subobject of type 'VkDebugReportCallbackEXT' (aka 'unsigned long long') with an rvalue of type 'std::nullptr_t'
  VkDebugReportCallbackEXT m_reportCallback = nullptr;
                                              ^~~~~~~

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-07 13:05:07 -03:00
391e910f5a [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-07 15:25:27 +02:00
Alexander Borsuk
4066275602 [android] Restore accidentally deleted bookmark from the Place Page
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-07 15:25:27 +02:00
4a867257d0 [ios] implement Recovery button to the ActionBar
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-07 15:25:27 +02:00
8a5c52dcdb [ios] add hasRecentlyDeletedBookmarks to the BM manager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-07 15:25:27 +02:00
450db38aec [bookmarks] implement recently deleted bookmarks and recovery support
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-07 15:25:27 +02:00
renderexpert
01896ff638
[drape][Vulkan] Improve descriptor sets allocation (#8276)
* [drape][Vulkan] Improve descriptor sets allocation

Signed-off-by: renderexpert <expert@renderconsulting.co.uk>

* Minor formatting fixes

Signed-off-by: Alexander Borsuk <me@alex.bio>

---------

Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
Signed-off-by: Alexander Borsuk <me@alex.bio>
Co-authored-by: Alexander Borsuk <me@alex.bio>
2024-06-06 22:10:01 +02:00
Alexander Borsuk
b0ea01863c [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-06 22:04:27 +02:00
Matheus Gomes
00651f70b9 [strings] Fixed pt, pt-BR, ru, uk translations
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-06-06 22:04:27 +02:00
Alexander Borsuk
7cb03774f8 [ios] Enable C++20
A follow up to #7299 22fb1fe33b

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-06-06 19:13:42 +02:00
84ccda00ad [ios] fix the issue with the file importing from the Files app
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-06 15:26:57 +02:00
Ferenc-
26b78a30d0
[store] Add 2024.06 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-06-05 13:36:42 +03:00
04b643c61d [ios] fix location info in sharing activity vc
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-05 11:56:16 +03:00
b9cc76cf24 [tools] Add update_gplay_relnotes.sh script
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-06-05 11:25:12 +03:00
cebc7657d3 Update release notes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-06-05 11:24:11 +03:00
Ferenc Géczi
75b36a661f [qt] Correctly report .desktop file to the compositor
This change is needed for KDE on Wayland and fixes #8351.

1. Renames the `.desktop` to ensure that it corresponds to
   the "reverse DNS" convention (same as the base of the .metadata.xml)
   as mandated by the specification
   https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s02.html

2. Reports the name with `setDesktopFileName`.
   https://doc.qt.io/qt-6/qguiapplication.html#desktopFileName-prop

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-06-03 23:19:02 +02:00
22fb1fe33b
[core] update to c++20 (#7299)
* Update to C++20

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

* Update CMakeLists.txt

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

---------

Signed-off-by: Harry Bond <me@hbond.xyz>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-06-03 23:13:09 +02:00
3ca578e5c3 Fix Android Studio Warnings
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-06-03 16:38:52 +03:00
Kiryl Razhdzestvenski
d42503cdb3 Issue 8307. Add possibility to save gpx files to local storage
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-06-03 16:26:21 +03:00
rtsisyk
0e60a7cf90 Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2024-06-02 17:47:02 +00:00
Viktor Govako
07e0943a0e [routing][tests] Updated routing tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-02 20:45:52 +03:00
Viktor Govako
9b61e78ad6 [search][tests] Updated quality tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-02 20:45:52 +03:00
Viktor Govako
900df47148 [search][tests] Added UK postcodes real test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-02 20:45:52 +03:00
Viktor Govako
3cfb5f871c [planet] New data from 240528.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-06-02 20:45:52 +03:00
e882e017db [store] 2024.06.02 Release Notes
Co-authored-by: Roman Tsisyk <roman@tsisyk.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
Co-authored-by: Bart Louwers <bart.louwers@gmail.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-06-02 20:45:37 +03:00
Natalia Yakavenka
00683c9f33 [store] Update AppStore metadata
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-06-02 20:42:45 +03:00
64eadda4f8 [ios] fix opening hours simple mode bug when the string is empty
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-02 15:39:14 +02:00
079a757c02 [editor] Fix parsing of 'off' opening hours (#7652)
* [editor] Fix parsing of some 'off' opening hours rules

Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>

* Update editor/editor_tests/ui2oh_test.cpp

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

---------

Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-06-02 15:39:14 +02:00
3b9689a3f3 Revert "[editor] Fix parsing of 'off' opening hours (#7652)"
This reverts commit ff703e83d6.

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-06-02 13:30:14 +02:00
51d17588df [android] Fix mimetype when exporting GPX as a document
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-06-02 12:03:40 +03:00
e77bdfe4b2 [ios] fix API timestamp reason - C617.1
This restore commit 7bade2eed0.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-06-02 10:21:08 +03:00
4ed22bd8d1 Revert "[placepage] Show all types"
This reverts commit 10b01c93d8.

Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-31 23:12:19 +02:00
Alexander Borsuk
e783badd2a [strings] Regenerated countries
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-31 22:48:57 +02:00
alnzrv
3c894e6d9f [strings] Update regions translations
Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>
2024-05-31 22:48:05 +02:00
Tristan Vigar
bdf2c2ed06 Add 2024.05.11 release notes to .metainfo.xml
Signed-off-by: Tristan Vigar <tristanvigar@protonmail.com>
2024-05-31 10:22:07 +02:00
zyphlar
54d759968b Update docs/INSTALL.md
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2024-05-31 09:04:23 +02:00
zyphlar
e3047f3f01 Elaborate on shallow submodule options
I often clone things first and read docs second rather than use Github's interface. This causes problems with submodules, especially shallow submodules. I finally found a workflow that's pretty ok and figured I'd share it here for other contributors.

Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2024-05-31 09:04:23 +02:00
75b63cf886 [strings] regenerate
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
9b9d4b7179 [strings] add strings related to the iCloud sync feature
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
e21f0d794a [ios] add icloud unit tests (partly)
- LocalDirectoryMonitor tests
- iCloudDirectoryMonitor tests
- SynchronizationStateManager tests
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
094f97d716 [ios] close the the Edit and PlacePage screens when the bookmark/track id becomes invalid
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
8c4535f7bf [ios] reload the bookmarks list during the update from the cloud
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
bc9191521d [ios] reload the categories list during the update from the cloud
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
50bf9c6290 [ios] rename MapsAppDelegate's isDrapeDisabled into the isTestEnvironment
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
9a4fdfc1a6 [ios] default implementation of the iCloud sync feature
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
d0ec7bf149 [ios] implement support for the icloud sync and bookmarks reloading for CoreApi
Add methods:
- hasBookmark
- hasTrack
- hasCategory
- reloadCategoryAtFilePath
- deleteCategoryAtFilePath
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
7b2ca3a65d [bookmarks] implement support for the icloud sync and bookmarks reloading
Add methods:
- HasBookmark
- HasTrack
- ReloadBookmark
- ReloadBookmarkRoutine
Refactor methods:
- LoadBookmark
- NotifyAboutFinishAsyncLoading
- DeleteBmCategory
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
e1cca1b131 [ios] feat: add iCloud entitlements
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-30 10:15:34 +03:00
krozhdestvenski
b876c5d927
[android] Save bookmarks to local device
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
2024-05-30 10:14:31 +03:00
9af27a3ed4 [strings] Regenerated
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-05-30 08:08:02 +02:00
6e2fb9d5f8 [gpx] Add export buttons in Android and iOS
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-05-30 08:08:02 +02:00
MontakOleg
93fb4a5067
[ios] Fix CarPlay placeholder text on dark theme
Signed-off-by: Oleg Montak <oleg.montak@gmail.com>
2024-05-30 09:06:11 +03:00
d4a7936298 [Android] better user profile (initial layout)
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-30 07:55:11 +02:00
Petr Kadlec
455824bb14 [strings] Regenerated
Signed-off-by: Petr Kadlec <mormegil@centrum.cz>
2024-05-30 07:51:14 +02:00
Petr Kadlec
7937cc25d1 [strings] Czech country name strings
- Fix inconsistencies, use largest cities/towns.
- Add the missing East part of Central Bohemia.
- “Sběrný dvůr” means “waste recycling center” (oops!).

Signed-off-by: Petr Kadlec <mormegil@centrum.cz>
2024-05-30 07:51:14 +02:00
Alexander Borsuk
31f82f32cf Fixed non-working Wikipedia links with ? character in a title
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-30 07:49:03 +02:00
Viktor Govako
19f9a3fa0e [search] Categories.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-28 16:31:56 -03:00
Viktor Govako
ba6c277751 [routing][tests] Added HighwayType values test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-28 09:12:51 -03:00
e834b49052 [styles] Regenerate for highway=road ID change
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-28 09:12:51 -03:00
227656cd48 [routing] Fix wrong hardcoded ID for highway=busway
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-28 09:12:51 -03:00
73f106cb1a [classif] Move low use highway=road to a higher ID
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-28 09:12:51 -03:00
7ddc3224ad [ios] update the PLacePage screen when the bookmark/track was edited in Edit
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-27 23:39:28 -03:00
8a39e3102c [ios] add hasBookmark to the BM manager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-27 23:39:28 -03:00
ad09f67da0 [bookmark] add HasBookmark to the bookmarks manager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-27 23:39:28 -03:00
Viktor Govako
0cc2343b6a [base] Renamed XXXThreadPool for better understanding.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-27 23:17:15 -03:00
Ferenc Géczi
2862afbc76 [github] Use sparse checkout & shallow clone everywhere
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-05-27 23:33:24 +02:00
bff4f01af6 fix coverage check
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-27 23:11:15 +02:00
zyphlar
eacef1f66d Python3 dependency
Compiling on Nixos (Linux) and got

```
CMake Error at CMakeLists.txt:309 (message):
  Could not find python3 to use in qt/, shaders/ and 3party/.
```

Worth specifying all dependencies -- if this isn't required for Windows or something we can say so of course.

Signed-off-by: zyphlar <zyphlar@users.noreply.github.com>
2024-05-27 22:34:41 +02:00
45bc5e599b [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-05-27 22:29:13 +02:00
16c58b20fb [strings] German translation for hiking and cycle paths
Signed-off-by: map-per <map-per@gmx.de>
2024-05-27 22:29:13 +02:00
Alexander Borsuk
6210144039 [drape] Fix harfbuzz build error on Mac
All system libraries found via cmake's find_library should be included using aliases

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-27 09:44:54 +02:00
f589797956 [ios] add default OSLog Logger for ios>14.0
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-26 19:02:33 -03:00
renderexpert
088bef549e Fix Vulkan validation in vkQueueSubmit()
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-05-26 00:02:04 -03:00
renderexpert
82f4325189 Fix Vulkan validation error in vkCmdCopyBuffer()
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-05-26 00:02:04 -03:00
renderexpert
9b39d077a3 Fix Vulkan validation error in vkCmdBeginRenderPass()
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-05-26 00:02:04 -03:00
renderexpert
a08de62795 Fix vkCmdBindDescriptorSets() validation error
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-05-26 00:02:04 -03:00
renderexpert
13a793ef55 Add extended Vulkan validation
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-05-26 00:02:04 -03:00
kavi khalique
b3cccaf689
[android] Implements exit button in navigation notification
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-05-25 21:30:21 +03:00
Alexander Borsuk
229c501bc9 [android] Update gradle plugun and androidx deps
Signed-off-by: Alexander Borsuk <me@alex.bio>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-05-25 19:19:52 +03:00
Meenbeese
3f8daf7dd9
[android] Trim whitespaces from OSM login field
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-05-25 18:34:06 +03:00
874143820c Update app screenshots
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-05-25 17:31:40 +02:00
Osyotr
04c81ac86b
Some fixes for tests on Windows (#8256)
* Some fixes for tests on Windows

Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>

* Fix code style

Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-05-25 17:25:56 +02:00
Alexander Borsuk
2973ec364b [drape] Split text into segments needed for proper text shaping with Harfbuzz
- Added a font_tool to experiment and test runs algorithm
- Updated existing test to show/compare different lang strings rendered in different ways

Harfbuzz shaping requires splitting each string into segments (runs). Each run should have the same:
- font
- direction
- script
- language

The base idea of getting runs is based on the Chromium source code, with some changes and improvements.

There are many TODOs that can be handled later.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-25 16:56:38 +02:00
Alexander Borsuk
911c7247d6 Updated harfbuzz to the latest master (8.5.0+)
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-25 16:56:38 +02:00
Alexander Borsuk
214b0a21f8 [drape][gui] Removed unused size
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-25 11:41:53 +02:00
cea8f6a2a8 [ios] fix: do not hide the side buttons during the new place adding
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-24 23:09:36 +02:00
c1fbbd0b71 [ios] fix compile error
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-24 23:07:38 +02:00
36924897f8 [ios] Enable automatic signing in xcode for debug
Automatic signing works out of the box without any manual intervention.
iCloud entitlement works in this mode. CarPlay wasn't tested.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-05-24 11:55:56 +03:00
Ferenc Géczi
666703e3b2 [github] Validate desktop file
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-05-24 00:11:35 +02:00
Alexander Borsuk
29ccbc06ef [strings] Regenerated pt-BR
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-23 23:04:19 +02:00
Matheus Gomes
07a426aa0b Update strings.txt
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-05-23 23:03:37 +02:00
Diogo Rodrigues
a7d29b52b6
Improve page dialog (user) (#8224)
* Improve page dialog user

Signed-off-by: Diogo Rodrigues <dmfrodrigues2000@gmail.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-05-23 10:23:02 +02:00
Alexander Borsuk
7d5f484236 stb_image initialization warning fix
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-23 09:20:56 +02:00
David Martinez
f69f5b67ec [styles] Move all icons to renamed styles folders
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-05-23 00:16:43 -03:00
David Martinez
1276dc76f2 [styles] Rename styles to default/vehicle/outdoors + light/dark
clear/style-clear    -> default/style-light
clear/style-night    -> default/style-dark
vehicle/style-clear  -> vehicle/style-light
vehicle/style-night  -> vehicle/style-dark
outdoors/style-clear -> outdoors/style-light
outdoors/style-night -> outdoors/style-dark

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-05-23 00:16:43 -03:00
64c87030f3 [ios] hide the export all button when there are no bookmarks
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-22 22:24:19 +02:00
Viktor Govako
2f1f05af8b [search] Show "postal_code" string in search result UI.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-22 17:06:20 -03:00
Viktor Govako
734d23969a [search] Update postcode search.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-22 17:06:20 -03:00
Viktor Govako
6a5d934b40 [generator][search] Restore external postcodes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-22 17:06:20 -03:00
Viktor Govako
4ba9c8e54d [generator][search] Fixed rewriting sections.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-22 17:06:20 -03:00
Viktor Govako
1d5013e892 Removed regex dependency.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-22 17:06:20 -03:00
f22068c052 [ios] add support for the website_menu to the Edit/Add place screen
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-22 15:51:32 -03:00
1a3c209d81 [strings] regenerated
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-22 15:51:32 -03:00
3f5ad40239 [strings] add website_menu string for ios
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-22 15:51:32 -03:00
031356be63 [ios] implement the website:menu to the PlacePage
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-22 15:51:32 -03:00
a800fb6b5a [ios] add ic_placepage_website_menu.svg icon
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-22 15:51:32 -03:00
Fabian Wüthrich
d898cf16ac [ios] Improve TTS voice selection
This commit allows a user to select more voices (e.g. English (United States),
English (India)). Currently, it's only possible to select a subset of the
available voices on iOS. For example, if a user selects English as TTS
language, an Australian voice is selected because en_AU comes before en_US in
the voice list of iOS.

Fixes #6840
Fixes #3222
Fixes #2178

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-05-22 11:29:19 -03:00
David Martinez
10b01c93d8 [placepage] Show all types
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-05-22 08:01:29 +02:00
Beatriz Mira Mendes
3c45518d1f [android] Fix: Display list of stop points in ruler and transit mode properly in RTL
Changes made:
	- In MultilineLayoutManager.java: if called with LAYOUT_DIRECTION_RTL tag,
	the layout is now properly written.
	- In RoutinBottomMenuController.java: MultilineLayoutManager class is now called with the
	new parameter, the mTransitFrame's layout direction.
	- In DotDividerItemDecoration.java: to properly place the dots between the elements in the
	list, these elements are iterated from right to left when the layout direction is RTL.

Signed-off-by: Beatriz Mira Mendes <beatriz.mira.mendes@tecnico.ulisboa.pt>
2024-05-21 23:47:32 -03:00
Arthur-GYT
115782d817 [editor] Limit website menu field for some types of amenity
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-05-21 23:32:20 -03:00
Kiryl
4ce2c6ae78
[bookmarks] Reuse the MarkGroupId during the category reloading (#8234)
[bookmarks] reuse category id for files with the same name

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-21 23:28:22 -03:00
Fabian Wüthrich
45f6239b50 [ios] Interrupt podcasts instead of duck them during TTS
Use AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers
to interrupt spoken content during TTS.

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-05-21 21:31:26 -03:00
Jerry
4ecf03a008
Always show next turn option (#7196)
* Add option to always show the next turn during navigation

Signed-off-by: Jeremiah Miller <jmil@tuta.io>

* Fix build errors

Signed-off-by: Jeremiah Miller <jmil@tuta.io>

* Revert adding a setting to always show the next turn, set up the routing session to know when the device is in landscape position, and if it is, don't show the next turn (unless the old logic applies), but show it by default.

Signed-off-by: Jeremiah Miller <jmil@tuta.io>

* Move landscape check to map framework

Signed-off-by: Jeremiah Miller <jmil@tuta.io>

* Address review comments

Signed-off-by: Jeremiah Miller <jmil@tuta.io>

* Always show next turn string, make the top bar take up less space in landscape mode

Signed-off-by: Jeremiah Miller <jmil@tuta.io>

* Remove unecessary landscape check

Signed-off-by: Jeremiah Miller <jmil@tuta.io>

* Update routing_manager.hpp

Signed-off-by: Jerry <4341884+jm355@users.noreply.github.com>

---------

Signed-off-by: Jeremiah Miller <jmil@tuta.io>
Signed-off-by: Jerry <4341884+jm355@users.noreply.github.com>
Co-authored-by: Jeremiah <jpmil@pm.me>
2024-05-20 21:34:04 +02:00
Osyotr
621eaaf67a Remove liboauthcpp
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-05-20 08:59:19 -03:00
Alexander Borsuk
2098646f8c [ios] Set correct location service activity type for cycling
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-20 11:36:33 +02:00
Alexander Borsuk
6b6b9c229f Reorganized contributors sections for clarity
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-20 11:16:36 +02:00
3e6d7df08b Add some comment translations to .desktop file
Signed-off-by: Adolfo Jayme-Barrientos <fitojb@ubuntu.com>
2024-05-20 10:40:32 +02:00
ff703e83d6
[editor] Fix parsing of 'off' opening hours (#7652)
* [editor] Fix parsing of some 'off' opening hours rules

Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>

* Update editor/editor_tests/ui2oh_test.cpp

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

---------

Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-05-19 23:32:15 +02:00
Alexander Borsuk
5a11f41e4d Removed unnecessary system font logs
All fonts are printed anyway at the end

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-19 18:26:57 -03:00
Alexander Borsuk
8926620d1d [strings] Regenerated pt
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-19 23:10:08 +02:00
Matheus Gomes
2d421bd95a
[strings] Fixed Portuguese exit strings (#8150)
* Fixed PT exit strings

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

* Remove duplicate

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

---------

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-05-19 23:09:30 +02:00
a9d1a15192 [platform] remove redundant = from osm.org/go link
tiny fix, looks a bit strange to have an empty query string

Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-19 22:24:00 +02:00
Viktor Govako
16ad61f4c8 [desktop] Disable traffic switch and TrafficManager initialization.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-18 21:23:28 +02:00
Viktor Govako
2cdc3ef945 [search] Fixed cities ranking Country/State query.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-18 14:22:14 -03:00
eb20b22a7f [ios] Replace matrix icon
Use official matrix icon from https://matrix.org/images/matrix-favicon.svg.

Fix: #8069

Signed-off-by: Dzmitry Padabed <itfarrier@icloud.com>
2024-05-18 08:52:27 +02:00
7a6cb772e1 [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-05-17 19:48:37 +02:00
8c592f903c [strings] Fixed extra space in Russian translation
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-05-17 19:48:37 +02:00
Arthur-GYT
8d27c3250c [editor] Add website:menu key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-05-17 08:37:38 -03:00
Arthur-GYT
2216456e93 [strings] Regenerated
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-05-17 08:37:38 -03:00
Arthur-GYT
15c1e6eb00 [strings] Add website_menu key
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-05-17 08:37:38 -03:00
Arthur-GYT
2e720d046e [android] Add website:menu tag
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-05-17 08:37:38 -03:00
Arthur-GYT
c90446d8af [generator] Add website:menu tag
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-05-17 08:37:38 -03:00
Ferenc Géczi
601a3d07d0 [github] Use Ubuntu 24.04 images
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-05-17 09:57:44 +02:00
Alexander Borsuk
ffe0ce2d29 [drape] Remove unused bitmap pitch and rows in GlyphImage
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-17 00:28:17 +02:00
Alexander Borsuk
72347e1519 [drape] Use global kBaseFontSizePixels constant
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-17 00:28:17 +02:00
Ferenc Géczi
b4c4c2beba [docs] Re-org Ubuntu & Mint install workarounds listing FreeType
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-05-17 00:09:45 +02:00
60333f8327 [editor] flag changeset when features are merged
Signed-off-by: map-per <map-per@gmx.de>
2024-05-16 23:40:41 +02:00
Oleg Montak
93f4f40e4c [strings] Regenerate strings
Signed-off-by: Oleg Montak <oleg.montak@gmail.com>
2024-05-16 23:00:38 +02:00
Oleg Montak
ebb20b739d [ios] CarPlay/phone switch prototype
Signed-off-by: Oleg Montak <oleg.montak@gmail.com>
2024-05-16 23:00:38 +02:00
7e453e4503 [strings] regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-16 22:17:28 +02:00
9a39e5908d [strings] use 'Postcode' instead of 'Postal Code' for en-GB
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-16 22:17:28 +02:00
Andrew Shkrob
2fdf424ee6 [android-auto] Use compass and location data from car
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-05-16 19:38:10 +03:00
Andrew Shkrob
93db820860 [android-auto] New UI
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-05-16 19:38:00 +03:00
a7127ccde8 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-05-16 09:32:27 +03:00
alnzrv
2e3af2fc20 [strings] Rename Macedonia to North Macedonia
Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>
2024-05-16 09:31:43 +03:00
b4509ecee4 [android] Minor cleanup of BookmarkManager
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-05-16 09:22:19 +03:00
Andrew Shkrob
14495ab274 [android-auto] Update to 1.7.0-alpha02
RoutePreview, PlaceListNavigation, Map templates are now deprecated.
Use MapWithContent template.

Remove PopToRootHack class as it is not needed.

Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-05-16 09:17:21 +03:00
Alexander Borsuk
a29bbda978 Fixed missing address for fitness centers
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-14 20:26:16 -03:00
Alexander Borsuk
6b5f800e04 [android] Updated NDK to 26.3.11579264
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-14 20:25:43 -03:00
4dfffe7541 [strings] Regenerate for deprecated types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-14 20:25:13 -03:00
9944b67def [styles] Regenerate for deprecated and moved types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-14 20:25:13 -03:00
ded9cff0da [classif] Deprecate waterway=riverbank
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-14 20:25:13 -03:00
88801485cf [classif] Move low usage types to higher IDs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-14 20:25:13 -03:00
871053e130 [classif] Deprecate landuse=farm
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-14 20:25:13 -03:00
f4f4b3d648 [classif] Add TODO comments
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-14 20:25:13 -03:00
Alexander Borsuk
279925e8dd Minor refactoring and warning fix for gcc
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-14 22:50:23 +02:00
Will Bradley
159c5261d1 [strings] Regenerated TTS language files
Signed-off-by: Will Bradley <bradley.will@gmail.com>
2024-05-14 22:34:21 +02:00
David Martinez
6d59c27f09 [iOS] Add Street Names setting to iOS
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-05-14 22:34:21 +02:00
Will Bradley
ff8d6480e0 [strings][routing] Add TTS announcement of street names as an option
Signed-off-by: Will Bradley <bradley.will@gmail.com>
2024-05-14 22:34:21 +02:00
80720f74a3 [android] Remove the "-rc" tag suffix from the release candidates
Tag Android with `YYYY.MM.DD-x-android` instead of `YYYY.MM.DD-x-android`
to trigger F-Droid pipeline when the release candidate is published.
It typically takes 4-5 days for F-Droid to process submissions. Any
defective release candidates can be withdrawn from the queue by submitting
a merge request to fdroid/data.

Note: Published GitHub releases are still tagged as "pre-release".

See 9520fd8c "Update the Google Play release procedure"

See https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15000

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-05-13 15:11:09 +03:00
Rita Pessoa
b4aecc4eb9 [iOS] fix #3036: Non-Business Hours button works after midnight
Changed verifications to allow the non-business hours button to work after midnight.

Signed-off-by: Rita Pessoa <rita.pessoa@tecnico.ulisboa.pt>
2024-05-12 22:45:36 +02:00
Alexander Borsuk
15c761d400 [strings] Regenerated uk
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-12 18:23:39 +02:00
MortalEngineXXII
e0f951d189 Update strings.txt
spelling correction

Signed-off-by: MortalEngineXXII <117447305+MortalEngineXXII@users.noreply.github.com>
2024-05-12 18:22:19 +02:00
b561ee4e54 [ios] Remove OSM login titles capitalization
- Remove capitalizedString for “OSM account” title;
- Remove capitalizedString for “OpenStreetMap Profile” title.

Fixes: #8136
Signed-off-by: Dzmitry Padabed <itfarrier@icloud.com>
2024-05-11 22:02:07 +02:00
rtsisyk
d8a071a023 Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2024-05-11 17:44:57 +00:00
ac646386d8 Update release notes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-11 16:26:17 +02:00
Alexander Borsuk
9b71f91185 [ios] Update store descriptions
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-11 10:03:37 +02:00
Viktor Govako
2f0eb98e4b [drape] Fixed MutableLabelHandle mutation buffer's size.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-10 22:02:24 +02:00
Alexander Borsuk
36136bde5c Fixed memory access past the end of the vector data
Log printing uses charPtr as char const *, assuming that it's a null-terminated string. But it's a vector.
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-09 23:46:32 +02:00
Alexander Borsuk
6e93e5b7a5 Revert "[editor] Fixed bug overwriting existing features"
This doesn't work well in several cases:
https://github.com/organicmaps/organicmaps/issues/8125

This reverts commit 3c9c54eda6.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-09 16:32:14 +02:00
Kiryl
c3c00f1784
[Bookmarks] Add areAllCategoriesEmpty method to the bookmarks manager (#8100)
* [ios] [bookmarks] add the `areAllCategoriesEmpty` method to the bookmarks manager

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>

* [ios] [bookmarks] refactor the isCategoryNotEmpty method

`self.bm.IsCategoryEmpty` is used instead of `size()`

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>

---------

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-08 23:54:54 +02:00
Enrique Garcia
704a9b64ee Add "Exit" menu option and shortcuts for all menu entries
Signed-off-by: Enrique Garcia <cquike@arcor.de>
2024-05-08 23:52:39 +02:00
Andrew Shkrob
aacbe403fb [data] Remove drules_proto-bw
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-05-08 23:29:24 +02:00
3eb011ebbc Update GP permissions screenshots
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-05-08 00:13:10 +02:00
Umesh Joshi
efa3cc739b Update STRUCTURE.md
Signed-off-by: Umesh Joshi <slackuj@gmail.com>
2024-05-07 23:18:14 +03:00
5934e3a772 [ios] fix: bug when the same new language can be added multiple times
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-07 00:02:42 +02:00
kavi khalique
d70ad8b894
[android] solves issue of status change of "search history" button on… (#8087)
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-05-07 00:00:02 +02:00
dce3dd35cd [strings] regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-06 22:01:43 +02:00
6db377e39c [strings] capitalise Stop button
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-06 22:01:43 +02:00
fde252347f [tools] fail with warning when OMIM_PATH doesn't exist
otherwise it fails later when trying to access `{OMIM_PATH}/data`, with the unhelpful message "AssertError: USER_RESOURCE_PATH is not None"
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-05-06 14:17:55 +02:00
ada5327b4a [gpx] Add gpx export to core
Signed-off-by: cyber-toad <the.cyber.toad@proton.me>
2024-05-06 00:32:15 +02:00
039960196b Apply code suggestions
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-05-05 18:54:25 +02:00
10dc18f8b6
Minor release notes update (#8083)
* Update release notes

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>

* Update iphone/metadata/uk/release_notes.txt

Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>

---------

Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-05-05 16:09:31 +02:00
b15ab89a14 Revert "[ios] fix API timestamp reason - C617.1"
This reverts commit 7bade2eed0.
2024-05-04 21:11:25 +03:00
rtsisyk
e622ff1d92 Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2024-05-04 17:51:48 +00:00
aaeffdb1a3 Update release notes
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-05-04 20:47:57 +03:00
Viktor Govako
0b8a888de2 [search] Updated "kAllTokensUsed" ranking factor.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-04 10:12:25 -03:00
Viktor Govako
832994d367 [search] Added RankingInfo.m_nearbyMatch
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-04 10:12:25 -03:00
Viktor Govako
8b3c1d377a [search] Clean-up "shop-ticket" category.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-04 10:12:25 -03:00
Viktor Govako
64cb032afc [search][tests] Follow up c0dd56201e
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-04 10:12:25 -03:00
Viktor Govako
0b31081fe4 [routing][tests] Added failing bicycle test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-04 15:40:09 +03:00
Viktor Govako
b5cecdef5c [routing][tests] Updated integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-04 15:40:09 +03:00
Viktor Govako
9043d3cc4c [planet] New data from 240429.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-04 15:40:09 +03:00
Alexander Borsuk
f2f161cd6f [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-04 00:09:08 +02:00
Matheus Gomes
b1eb38e989
[strings] Fixed PT translations (#8067)
* Update types_strings.txt

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

* Update strings.txt

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>

---------

Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-05-03 23:45:48 +02:00
60f6db585d [editor] Removed superfluous name=* restrictions
Signed-off-by: map-per <map-per@gmx.de>
2024-05-03 22:02:55 +02:00
d5e47792f8 [android] Remove somes warnings
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-05-03 21:54:16 +02:00
1defafb2fa [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-05-02 22:59:20 +02:00
e725838863 [android][editor] 'No suitable category' info
Signed-off-by: map-per <map-per@gmx.de>
2024-05-02 22:59:20 +02:00
487e4c116d [ios] fix: MWMEditorAdditionalNameTableViewCell tappable area to activate editing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-02 21:32:31 +02:00
Alexander Borsuk
bfb041c992 [drape] Minor cleanup
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-02 18:06:54 +02:00
Alexander Borsuk
4aa81fa86d [drape] Cache only ascii glyphs that are present in fonts
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-02 18:06:54 +02:00
Alexander Borsuk
663511866d [drape] Use built-in Freetype SDF rendering
* Set the same SDF spread/border (4) as it was before
* Removed the threaded glyph generator, SDF glyphs are created now on a single thread.
  Before, the bitmap was rendered and then copied on the same single thread. By removing unnecessary overhead and by using
  bsdf renderer which is faster than sdf, visually glyphs appear on the screen at comparable or even faster time.
* Removed GetGlyphSdfScale, it will be hardcoded or set in a different way if necessary
* Fixed some minor tidy warnings

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-05-02 18:06:54 +02:00
Viktor Govako
3200522dba [generator] Replace macro with array.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-02 09:45:51 -03:00
Viktor Govako
b8882362ba [generator] Use string_view.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-02 09:45:51 -03:00
Viktor Govako
6ea0422b77 [generator] Apply foot/bicycle tag from Relation if it does not exist yet.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-05-02 09:45:51 -03:00
00a6c39a4e [styles] Regenerate for cycleways tuning
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-02 15:44:54 +03:00
9f148684e8 [styles] Tune cycleways
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-02 15:44:54 +03:00
7033170fa7 [vulkan] Regenerate shaders for transparent areas
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-02 15:43:05 +03:00
af37c0652c [drape] Render line joins after transparent areas
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-02 15:43:05 +03:00
cbd61879c1 [drape] Render semi-transparent areas after opaque areas and lines
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-05-02 15:43:05 +03:00
Ferenc Géczi
1e9ba79f42 [3party] Use latest libexpat master
In general it is not a good idea to use unreleased versions of 3rd parties,
but this change only pulls in build infrastructure changes,
so there is no chance of building on some potentially reverted feature.
This change fixes the `SYS_getrandom` detection on newer Linux distros,
like the 2nd tracked issue on Fedora 40:
https://github.com/organicmaps/organicmaps/issues/7998#issuecomment-2080893259

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-05-02 09:46:00 +02:00
7bade2eed0 [ios] fix API timestamp reason - C617.1
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-05-02 08:44:53 +03:00
Osyotr
3042851861 Explicitly link to zlib in vendored copy of minizip
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-05-01 10:44:52 +02:00
Viktor Govako
5382716ed2 [search] Fixed Place-HN match when another name-building presents.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-30 21:50:10 -03:00
Viktor Govako
c0dd56201e [search][tests] Updated "San Francisco" test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-30 21:50:10 -03:00
Viktor Govako
a4c8d97089 [search][ranking] Removed "small plus diff" in name match over category match.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-30 21:50:10 -03:00
David Martinez
4f96ee22e7 [placepage] Add missing local language name
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-30 21:44:48 -03:00
Osyotr
429badff34 [coding] Add SHA1 test
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-30 21:42:17 -03:00
Osyotr
e669de8d8b Don't use custom error handling when searching for python
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-05-01 01:29:02 +02:00
967ffc1384 [classif] Don't treat bicycle=yes as a shared path
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-28 19:38:25 -03:00
b82d4764f8 [strings] Regenerate for bbq
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-28 19:21:19 -03:00
802c839229 [strings] Fix amenity-bbq translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-28 19:21:19 -03:00
Alexander Borsuk
45b1100c93 Save produced json in a more compact UTF-8 format
This change will reduce the size of generated countries.txt from 405K to 355K
and speed up loading/decoding of the countries list.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-28 23:37:10 +02:00
Alexander Borsuk
d29c95a8e4 Enable important static asserts on Linux
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-28 16:20:28 +02:00
Alexander Borsuk
22ace0ebe2
[core] Simplified logs output (#7972)
* [core] Simplified logs output

Example:

I(1) 0.72366 search/processor.cpp:210 SetPreferredLocale(): New preferred locale: en
D(1) 0.72374 search/processor.cpp:229 SetInputLocale(): New input locale: en locale code:
W(2) 0.72979 search/geocoder.cpp:736 CacheWorldLocalities(): Can't find World map file.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-28 14:03:29 +02:00
Alexander Borsuk
a5d1d39f19 Print char32_t unicode characters as UTF-8 for debugging
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-28 10:06:45 +02:00
David Martinez
909385c6b2 [docs] Add Röntgen - CC BY 4.0 Sergey Vartanov to copyright
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-28 01:42:14 +02:00
David Martinez
3b7c37fc13 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-28 01:42:14 +02:00
David Martinez
04ebfaf2b6 [styles] Add icon for [amenity=shelter][shelter_type=public_transport]
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-28 01:42:14 +02:00
Andrew Shkrob
49b943bd06 [qt] Move shaders to resources
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-04-27 21:08:36 +02:00
David Martinez
c53c0e8e6c [android][placepage] Level icon: Replace stairs icon with elevator icon
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-27 12:47:08 +02:00
David Martinez
cab8ec82a3 [ios][placepage] Level icon: Replace stairs icon with elevator icon
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-27 12:47:08 +02:00
David Martinez
d670584324 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-27 12:47:08 +02:00
David Martinez
042e699576 [styles] Fit elevator icon to pixel grid and rename to elevator-s.svg
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-27 12:47:08 +02:00
Alexander Borsuk
271e712aa6 [linux] Run GlyphLoadingTest on Linux with GUI
Allows to test how fonts are rendered on Linux.

Setting QT_QPA_PLATFORM=offscreen environment var is required on non-GUI servers.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-27 00:37:03 +02:00
c986908c40 [android] fix the overlapping of bottom sheet and map buttons
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-04-26 14:07:05 +03:00
Alexander Borsuk
f4b7f08b5c [drape] Minor constexpr warning fix
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-26 08:49:04 +02:00
Ferenc-
fd30606adc
[packaging] Add new url types, linking FAQ, Q&A, source & CONTRIBUTING (#7986)
* [packaging] Add new url types, linking FAQ, Q&A, source & CONTRIBUTING

See type descriptions in
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-url

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>

* Update packaging/app.organicmaps.desktop.metainfo.xml

Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: Ferenc- <Ferenc-@users.noreply.github.com>

---------

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
Signed-off-by: Ferenc- <Ferenc-@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-04-25 22:16:43 +02:00
Fábio Gomes
386e99b8c9 [routing] Update m_replaceWithMyPosition variable name
Change name to m_replaceWithMyPositionAfterRestart in accordance to
what was suggested in my previous PR

Signed-off-by: Fábio Gomes <gabriel.gomes@tecnico.ulisboa.pt>
2024-04-25 22:08:19 +02:00
Alexander Borsuk
06598a2ce2 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-25 22:04:22 +02:00
garaolaza
a8372067ad Update strings.txt EU
Some translation corrections in the "eu" version

Signed-off-by: garaolaza <garaolaza@codesyntax.com>
2024-04-25 22:04:22 +02:00
Gerion Entrup
67e056a74c transit/world_feed/test: allow git repo configuraion
The world_feed_integration_tests clone a repo during the test phase.
Downloading data is forbidden in some distributions (like Gentoo) during
building and testing phase. With this patch, TEST_DATA_REPO_URL can be
set externally, thus preventing a network connection by providing a
locally vendored repo.

Signed-off-by: Gerion Entrup <gerion.entrup@flump.de>
2024-04-25 10:36:55 +02:00
9e15663ead [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-04-25 08:20:02 +02:00
312d4eea3a [strings] Added translations
Signed-off-by: map-per <map-per@gmx.de>
2024-04-25 08:20:02 +02:00
e0c4fd2f83 [editor] Use name in local language
Signed-off-by: map-per <map-per@gmx.de>
2024-04-25 08:20:02 +02:00
Alexander Borsuk
8495377560 [android] Disable Vulkan for another reported Adreno 506 device
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-25 08:18:55 +02:00
v-lozko
8d8964c542
[ios] Add default email client support to about menu (#7862)
* [ios] Add default email client support to about menu

Signed-off-by: Valery Lozko <valerylozko@gmail.com>
2024-04-25 01:12:57 +02:00
8fd2a10a15 [ios] add a loading overlay screen with an activity indicator for the bookmarks sharing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-25 00:18:25 +02:00
aa1709d3d9 [strings] Regenerate for path grades
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 18:45:07 -03:00
440fc96b19 [strings] Add -difficult and -expert paths translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 18:45:07 -03:00
1e78c3b8d7 [styles] Regenerate for path grades
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 18:45:07 -03:00
7a271f77c8 [tests] Adjust for path grades
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 18:45:07 -03:00
568d58ccb7 [styles] Add -difficult and -expert path patterns
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 18:45:07 -03:00
3580f9d9fc [generator] Add -difficult and -expert path grades
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 18:45:07 -03:00
13cca80b2c [classif] Remove unused path sac_scale types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 18:45:07 -03:00
Alexander Borsuk
e739e15bed [android] Regenerated removed shaders for Vulkan
Use this script: tools/unix/generate_vulkan_shaders.sh

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-24 23:41:26 +02:00
5fc3f9aa07 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-04-24 23:12:30 +02:00
25cd1c46fc [strings] Fixed Holiday Apartment translations
Signed-off-by: map-per <map-per@gmx.de>
2024-04-24 23:12:30 +02:00
a5573cc498 [styles] Regenerate for shared paths
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:54:13 -03:00
b7a2b9be92 [strings] Regenerate for shared paths
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:54:13 -03:00
ea15d9850e [styles] Color cycleways in blue and tune widths
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:54:13 -03:00
2a1f80d3bd [styles] Draw cycle underlines for shared paths
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:54:13 -03:00
94e52227e1 [tests][routing] Add relative speed tests
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
b3a65d4205 [tests] Test footway, path, cycleway conversions
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
b8c1a2637b [generator] Convert between highway=path, footway and cycleway
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
b02089780e [classif] Add a highway=ford deprecation TODO
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
2e817dd12e [generator] Add a simplified UpdateTag() signature
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
e389152404 [generator] Add comments to DetermineSurface()
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
8ca92f5cfe [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
a41ed0ae68 [styles] Regenerate for footways and tracks
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
33ec4bec91 [classif] Remove unused [highway=track][tracktype] types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
c7dc2eabeb [classif] Delete [highway=footway][sac_scale] types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 17:12:17 -03:00
Alexander Borsuk
56615b3a78 Warning fixes
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-24 15:58:41 -03:00
0432abc300 [styles] Regenerate for reserves
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 15:20:20 -03:00
c4376e7adc [styles] Remove hatching fill & icon/caption for aboriginal and nature reserves high zooms
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 15:20:20 -03:00
b4762e5491 [styles] Reduce aboriginal_lands opacity
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 15:20:20 -03:00
Alexander Borsuk
6e8e596e1c [drape] Removed fixed text size in favor of always using SDF fonts
Fixed size was a case only for some older mdpi devices (likely to look a bit better).
SDF fonts allow dynamic resizing to any desired size without loss of quality.
And each glyph should be rendered only once on the texture.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-24 20:19:26 +02:00
827bf20778 [android] Fix PT router overriding previous mode if subway layer active
The public transportation router was forcibly overriding the previously
selected mode whenever the planning activity was resumed, with the
subway layer active. For instance, if you started a route planning
(which automatically uses PT when that layer is on), switched to car
mode and then changed some driving options, when you got back to the
planning screen, the router would have changed back to PT, instead of
keeping it on car.

This occurred because of `RoutingController#rebuildLastRoute`, called
whenever an activity (such as the driving options) concluded, which
would, indirectly, call `RoutingController#initLastRouteType`. This
method is responsible for defaulting the router to the most
adequate type for the start+finish point combo, or, if the subway layer
is selected, to set it to public transportaton.

So, the fix was rather simple -- instead of only checking if the the
subway layer is active (and if we're not comming from a link, but that
isn't relevant here), we also check if we were already planning
something, or if we're starting a new route plan. We only want to reset
the mode to PT on the latter case.

Fixes: #7701
Signed-off-by: tmpod <tom@tmpod.dev>
2024-04-24 19:53:38 +02:00
8421449c51 [android] Actualize the list of devices for Monkey
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-04-24 19:52:09 +02:00
Fábio Gomes
3cdb79fccb Fix #2833: Routing mode resets origin point to current location when re-opening the app
The application replaced the origin point solely based on if it had found the user's location. Added a parameter to the RouteMarkData struct which is saved alongside the start point. This is used on start up to determine if the origin point of the route should be kept or replaced with the user's location (if one is found).

Signed-off-by: Fábio Gomes <gabriel.gomes@tecnico.ulisboa.pt>
2024-04-24 19:34:49 +03:00
f22cfe0c36 [styles] Regenerate for cities
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 12:05:35 -03:00
35b7cc68aa [styles] Fix font size for small cities; cities visible until z13
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-24 12:05:35 -03:00
Arthur-GYT
c91add3a2f Use keys in layouts
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-04-22 22:49:12 +02:00
Arthur-GYT
283342e523 [strings] Regenerated
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-04-22 22:49:12 +02:00
Arthur-GYT
b85a29433d [strings] Add translations in strings.txt
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-04-22 22:49:12 +02:00
David Martinez
751e876818 [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-20 23:14:49 -03:00
David Martinez
e37c4db2d4 [styles] Add dry_cleaning icon
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-20 23:14:49 -03:00
David Martinez
d52108b6a2 [styles] Improve laundry icon
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-20 23:14:49 -03:00
Sebastiao Sousa
fd2a1ee616 [android] apply night mode correctly even if device is in light mode
When the user has their device in light mode, but the app is in night
mode, some attributes in the
Theme.MaterialComponents.DayNight.NoActionBar.Bridge style are still
inheriting from the light theme. This happens because the application's
ui mode is not being properly switched to night mode.

To fix this, added the UiModeManager in the ThemeSwitcher, in order to
properly change the ui mode.

closes #6481

Signed-off-by: Sebastiao Sousa <sebastiao.sousa@tecnico.ulisboa.pt>
2024-04-20 23:21:01 +02:00
David Martinez
a7f0292927 [ios][editor] Fix unintended fallthrough in switch-case
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-20 13:33:16 +02:00
Ferenc Géczi
5dc753eef4 [qt] Make Close the default button on PPD and actived ond ESC
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-20 11:30:00 +02:00
v-lozko
3b041b4b58 Update iphone/Maps/Bookmarks/BookmarksList/BookmarksListViewController.swift
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Signed-off-by: v-lozko <156805389+v-lozko@users.noreply.github.com>
2024-04-20 10:27:05 +02:00
Valery Lozko
79db90bb0b [ios] Correct location of more menu in bookmark lists
Signed-off-by: Valery Lozko <valerylozko@gmail.com>
2024-04-20 10:27:05 +02:00
Valery Lozko
22d8ce8917 [ios] fix alignment of ltr languages in bottom menu
Signed-off-by: Valery Lozko <valerylozko@gmail.com>
2024-04-19 22:48:22 +02:00
David Martinez
93f80f419a [strings] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-18 23:39:48 -03:00
David Martinez
7e4b3e5be1 [ios][editor] Add drive_through to editor
[ios][editor] Add MWMEditorSegmentedTableViewCell
[core] Add YesNoUnknown enum

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-18 23:39:48 -03:00
David Martinez
306e7c4069 [android][placepage] Add drive_through to place page
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-18 23:39:48 -03:00
David Martinez
9234c0ce23 [ios][placepage] Add drive_through to place page
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-18 23:39:48 -03:00
David Martinez
44831ba807 [core] Add FMD_DRIVE_THROUGH metadata
[strings] Add "drive_through"

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-18 23:39:48 -03:00
Anton Makouski
f23baacc69 Better search for horse riding and skateboard.
Signed-off-by: Anton Makouski <anton.makouski@gmail.com>
2024-04-18 22:09:41 +02:00
69f297ea6e [strings] regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-04-18 11:34:24 -03:00
32b230e63e [styles] regenerated
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-04-18 11:34:24 -03:00
Harry Bond
dc0a84f586 [styles][generator] display miniature golf
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-04-18 11:34:24 -03:00
Arthur-GYT
ac3eb67c1f Add logo to android idea project
Signed-off-by: Arthur-GYT <a.gayot@posteo.com>
2024-04-17 20:05:55 +02:00
Andrew Shkrob
2bbe4f9c93 [base] Code cleanup
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-04-17 16:40:19 +02:00
Ferenc Géczi
60c8b641f3 qt: Add route marking buttons to place pages
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-17 16:39:28 +02:00
8637965a3a [github] implement test running for the ios-check debug job
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-17 16:27:48 +02:00
Ferenc Géczi
be36262085 [qt] Add container for PPD buttons and center them
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-17 11:46:10 +02:00
Alexander Borsuk
1be2e1bc11 [string] Regenerated tr
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-16 21:51:55 -03:00
Alexander Borsuk
707815446d [strings] Changed ambiguous km/s to km/sa in Turkish
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-16 21:51:55 -03:00
325d34390e [editor] allow editing some values for railway-station
fixes #6793
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-04-16 21:50:16 -03:00
Alexander Borsuk
d16417dcbf [strings] Regenerated $
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-16 21:07:50 +02:00
Alexander Borsuk
82b144f44e Use $ sign for fee=yes that is visible in dark theme
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-16 21:07:50 +02:00
Kiryl
4566643f46
[ios] [bookmarks] Remove observer pattern during the category files exporting (#7933) 2024-04-16 20:41:41 +02:00
d62aad957c [ios] fix: user interface auto theme changing issue
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-16 20:09:49 +02:00
Alexander Borsuk
538719955b [ios][mac] Fix assert/check on shutdown of iOS app on Mac
- Removed thread checker for delayed thread pool. It does not really matter which thread destroys the pool.
On Mac, thread pools are created on the main thread, but static destructors are called from another system thread.
And checker failed for the statically created DrapeRoutine's thread pool.

- Avoid unnecessary MWMThemeManager invalidate on destruction when nothing has changed
- Add missing include

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-16 17:01:31 +02:00
7595fc8f28 [strings] Capitalized translations
Signed-off-by: map-per <map-per@gmx.de>
2024-04-16 11:59:20 -03:00
a6255f9c2f [strings] Used shelter strings for untranslated lean_to shelters
Signed-off-by: map-per <map-per@gmx.de>
2024-04-16 11:59:20 -03:00
6856fe5855 [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-04-16 11:59:20 -03:00
89d383ce4a [styles] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-04-16 11:59:20 -03:00
0c2930e32c [styles] Added basic_hut and lean_to categories
Signed-off-by: map-per <map-per@gmx.de>
2024-04-16 11:59:20 -03:00
Ferenc Géczi
b0c4d9c199 [docs] Add Alpine install instructions
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-15 22:42:11 +02:00
Alexander Borsuk
c16c6cc8c3 [mac] Fixes warning ld: warning: ignoring duplicate libraries for CMake 3.29+
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-15 22:27:42 +02:00
da0babe32e [xcode] disable tests parallelizing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-15 09:05:29 +02:00
Alexander Borsuk
6d2fd06a8b [github] Use Xcode 15.3 for iOS and MacOX builds
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-14 22:47:15 +02:00
3c9c54eda6 [editor] Fixed bug overwriting existing features
Signed-off-by: map-per <map-per@gmx.de>
2024-04-14 08:43:28 +02:00
Alexander Borsuk
14fe959636 Experimental ?wiki and ?description search
The idea is to test it in the release mode on real devices

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-14 08:40:17 +02:00
Alexander Borsuk
998c248dbc [android] Updated libs
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-14 08:39:18 +02:00
Alexander Borsuk
ea640f756f [android] Update AGP to 8.3.2
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-14 08:39:18 +02:00
Osyotr
419faf647b Fix preprocessor warning in base64.cpp
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-13 16:30:55 -03:00
Osyotr
a8f631a4fd Remove accidental anonymous namespace in header file
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-13 16:29:54 -03:00
Ferenc Géczi
8115cb7878 Fix missing cstdint on GCC 13
Without this change the code can not be compiled with the latest GCC 13
because an error reported on `openlocationcode.cc:139:3`.

```
error: 'int64_t' was not declared in this scope
note: 'int64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
```

The porting guide of GCC 13 explains,
that `cstdint` might need to be explicitly included:
https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-13 17:38:57 +02:00
Alexander Borsuk
7a273a9539 [drape] Avoid unnecessary shaders rebuild when no modifications
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-12 22:12:03 +02:00
Osyotr
7f9d781da0 Use CMake to copy opening-count.lst
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-12 21:50:58 +02:00
Matheus Gomes
1b8ca0c814 [strings] Regenerated pt
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-04-12 20:58:13 +02:00
Matheus Gomes
3015fdc235 Update strings.txt
Signed-off-by: Matheus Gomes <86851490+matheusgomesms@users.noreply.github.com>
2024-04-12 20:58:13 +02:00
Kiryl
adb5c6fc81
[ios] add unit test target (#7740)
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-12 13:21:56 +02:00
Alexander Borsuk
4d967e24f5 [android] Import .gpx and .gpx.xml files from Google Files app
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-12 11:54:52 +02:00
f531ae6b2e [styles] Regenerate for PT shelter
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-11 23:23:24 -03:00
4949d0071c [strings] Regenerate for PT shelter
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-11 23:23:24 -03:00
ce3d045036 [classif] Add amenity-shelter-public_transport
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-11 23:23:24 -03:00
Valery Lozko
514423a829 [ios] fix: Text trimming on the Menu screen on small screen #7605
Signed-off-by: Valery Lozko <valerylozko@gmail.com>
2024-04-11 22:18:42 +02:00
Alexander Borsuk
9c7fc19a4a [tools] Updated translate.py script
- Correct/filter out pt-PT and zh translations
- Use ar in DeepL
- Remove es-MX as it is not supported by Google

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-11 21:26:23 +02:00
Alexander Borsuk
5fc48d73f0 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-10 18:33:33 +02:00
Boris Verkhovskiy
79801a1f7f Shorten English recent_track_help_text
Signed-off-by: Boris Verkhovskiy <boris.verk@gmail.com>
2024-04-10 18:32:50 +02:00
Alexander Borsuk
aad1e5894e [strings] Rёgёnёratёd
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-10 18:17:08 +02:00
Boris Verkhovskiy
95c4c1e517 Yotify
Signed-off-by: Boris Verkhovskiy <boris.verk@gmail.com>
2024-04-10 18:15:54 +02:00
4541194c84 [generator] Cleanup surrogate attraction=specified following #7716
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-09 22:03:52 -03:00
Alexander Borsuk
187c386288
[drape] Moved Glyph out of GlyphManager (#7860)
* [drape] Moved Glyph out of GlyphManager

Also did small refactoring in a GlyphManager

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-09 23:21:09 +02:00
59672f52e6 [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-09 21:58:10 +02:00
Anton
e8dd17c37e [strings] Amend German translations
Signed-off-by: Anton <antonwenemoser@gmail.com>
2024-04-09 21:58:10 +02:00
Viktor Govako
d2f16d58d8 [search] Do not emit private swimming pools.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-09 09:03:24 -03:00
Viktor Govako
29061a90c9 [drape] Minor fixes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-09 09:03:24 -03:00
13a7ef47a6 [classif] Support drinking_water:refill=yes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-09 14:50:40 +03:00
Alexander Borsuk
4eb98b85c3 [drape] A separate header for font constants
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-09 07:13:12 +02:00
Alexander Borsuk
856b75ae99 Faster DebugPrint in some cases and a few minor fixes
Removed hex conversion in DebugPrint for Windows, it should be done differently.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-09 07:13:12 +02:00
Alexander Borsuk
eba927d131 [qt] Fixed build generation of Info.plist for desktop target
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-09 07:13:12 +02:00
eae8ebd449 [tools] properly warn if translate-shell isn't installed
Signed-off-by: Harry Bond <me@hbond.xyz>
2024-04-08 23:03:25 +02:00
5fa5a0a532 [categories] Minor fixes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-08 13:25:12 -03:00
Alexander Borsuk
2434c9e80b Deleted mapshot and software_renderer
This code was outdated and required a lot of fixes to work.
Even after fixes, it will generate map image that is inconsistent with GL/Metal/Vulkan version.
Restoring it later if necessary is always an option.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-08 17:04:25 +02:00
959fd7ee50 [ios] add PrivacyInfo with missing API declarations
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-08 08:39:02 +02:00
Ferenc Géczi
053496ff6c Add 2024.03.31 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-08 00:36:33 +02:00
Ferenc Géczi
e4618eb9c4 [packaging] Fix deprecated developer_name & missing developer
Fixes the following two flathub linter warnings:

I: app.organicmaps.desktop:6: developer-name-tag-deprecated
   The toplevel `developer_name` element is deprecated. Please use the `name` element in a
   `developer` block instead.

I: app.organicmaps.desktop:~: developer-info-missing
   This component contains no `developer` element with information about its author.
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-08 00:08:46 +02:00
8438dba958 Add link to french telegram channel
Signed-off-by: Jean-BaptisteC <jeanbaptiste.charron@outlook.fr>
2024-04-07 18:34:21 +02:00
Osyotr
76dd632ec5
Devendor some thridparty deps (#7836)
* Link with Qt6::Network on windows
* Make find_program(BASH) REQUIRED to prevent build-time errors
* Link more targets explicitly to pickup transitive dependencies
* Don't add unsupported flags on MSVC
  Drive-by: use add_compile_options instead of add_definitions to set -fno-omit-frame-pointer
* Move find_package(gflags) out of 3party
  GLOBAL flag for find_package has been added in CMake 3.24
* Don't hardcode paths to 3party/utfcpp
* Use system expat explicitly if needed
* Use system jansson explicitly if needed
* Use find_package(ZLIB) to find zlib
* Don't use vendored Freetype, ICU and HarfBuzz when WITH_SYSTEM_PROVIDED_3PARTY is set
* Find pugixml explicitly
* Fix typo in target name
* Update utfcpp include path
* Let CMake handle /DEBUG flag for MSVC

Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-07 00:50:34 +02:00
Alexander Borsuk
edb7fc265c [ios][mac] Do not use main thread for HTTP synchronous callbacks in osm_auth_tests
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-07 00:46:12 +02:00
Viktor Govako
00cd4a57da [strings] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-06 15:48:04 -03:00
Viktor Govako
7e0a8c70ee [styles] Regenerated.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-06 15:48:04 -03:00
Viktor Govako
46241b0531 Update IsHotelChecker.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-04-06 15:48:04 -03:00
4ad3980dbf [classif] Migrate deprecated tourism-resort to leisure-resort
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 15:48:04 -03:00
2b085b027d [strings] Regenerate for tourism=alpine_hut, =chalet and related translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 15:26:36 -03:00
ec4d9957ec [strings] Update tourism=alpine_hut, =chalet and related translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 15:26:36 -03:00
Alexander Borsuk
87292469d4 Review fixes
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-06 17:41:37 +02:00
Alexander Borsuk
53aa9088ae [drape] Minor fixes
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-06 17:41:37 +02:00
Alexander Borsuk
d5d1eabed4 [xcode] Fixed running test binaries on Mac
- Increased MACOSX_DEPLOYMENT_TARGET to 10.15 (Catalina)
- Automatically generate info.plist file for test binaries
- Fixed paths to Qt6

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-06 14:31:08 +02:00
David Martinez
a3d95d7c30 [editor] Don't mistakenly update wheelchair values in OSM database
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-04-06 14:23:23 +02:00
170222844e [editor] Add historic-* types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
cbf0fe87d7 [editor] Disable addition of controversial features
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
a6cc29aad0 [editor] Disable man_made-water_tower as not drawable
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
657b0f1a84 [tests] Amend editor addable types test
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
18408567c4 [strings] Regenerate for craft-painter
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
adfb086b10 [editor] Allow adding types previously considered ambigous
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
90df5d0844 [editor] Enable adding types commonly mapped as nodes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
3345dd8d1f [editor] Add areal types commonly mapped as nodes
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:07:24 +03:00
bc561df963 [docs] Remove Outdoor style from GSOC projects
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 12:05:59 +03:00
0a920b63d0 [qt] Explain how to add a bookmark
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-06 08:08:46 +02:00
22c540951e [drape] Remove compilation warnings
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-04-06 01:32:08 +02:00
Alexander Borsuk
42bf6181fb [android] Use GL on Samsung A50 to fix subway layer hanging
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-06 00:27:19 +02:00
v-lozko
706f0fa27b
[ios] Fix isolines reminder being displayed on top of other dialogs (#7694)
* [ios] Fix isolines reminder being displayed on top of other dialogs, Issue #7555

Signed-off-by: Valery Lozko <valerylozko@gmail.com>
2024-04-06 00:16:20 +02:00
a30ff17ef5 [strings] Regenerate for boundaries
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-05 15:08:43 -03:00
5f5961e339 [strings] Cleanup and update boundaries
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-05 15:08:43 -03:00
25e6bef664 [styles] Regenerate for removed boundaries
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-05 15:08:43 -03:00
a41a528a68 [classif] Remove unused boundary-administrative-*
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-05 15:08:43 -03:00
aa4777cacd [categories] Make sport-padel searchable
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-05 14:35:52 -03:00
Alexander Borsuk
57402cfe56 [3party] Update jansson, freetype, expat
Fixes CMake warning about the symbol visibility policy CMP0063
caused by 3party libs that claim to support older CMake versions.

Updated expat build settings. We don't use DTD and general entities.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-05 11:52:02 -03:00
Alexander Borsuk
a99eb33634 [xcode] Fixed paths to Qt6 for desktop targets
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-05 11:52:02 -03:00
2c14af2f6e [classif] Merge natural=stone into natural=rock
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-05 14:47:05 +03:00
Alexander Borsuk
f2fa99eca9 [strings] Regenerated Greek
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-05 13:11:38 +02:00
Vassilis Panagiotopoulos
f050bd68b2
[strings] Greek Translations (#7800)
* [strings] Fix Greek translations and add missing ones

Signed-off-by: billpcs <bpanagio@protonmail.com>
2024-04-05 13:10:29 +02:00
9d29851fc7 [ios] fix: circular downloading progress bar laout on the PP
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-05 11:57:31 +02:00
8f376115c3 [ios] fix: radiOn/Off buttons icons
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-05 09:09:31 +02:00
Alexander Borsuk
fff96447ff [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-05 00:32:51 +02:00
Osyotr
2760dedc52 Replace platform-dependent timer code with std::chrono
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
1f21dcbbb3 Add windows implementation of MmapData
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
66c508a6d2 Fix usage of deprecated std::shared_ptr::unique
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
84f4cd9035 Prevent generation of copy constructor in poly_borders::Polygon
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
2e7a4d8703 Use MAX_PATH instead of PATH_MAX on windows
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
85d1a06b10 Add missing include
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
01e44b4fab Fix uninitialized variable
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
7658dacca0 Add missing members to platform_win.cpp
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
492b82deff Add missing std namespace
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
0cffe2fe07 Workaround MSVC bug in std::packaged_task
https://developercommunity.visualstudio.com/t/108672
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
10a7fab011 Prevent generation of copy constructor in SearchTrieRequest
Fixes usage of move-only types with this class

Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
cea9801b3d [opening_hours] Replace std::enable_if with if constexpr
error C2672: 'PrintPaddedNumber': no matching overloaded function found

Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
a188c4a85a Fix invalid friend class declaration
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
718990ec8f Don't use std::string_view's iterators as pointers to chars
Note: constructing std::string_view from iterators is OK in C++20, but we are not there yet.
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
fd535d00a2 Rename gui_thread_linux.cpp -> gui_thread_qt.cpp and use it in Windows builds
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
f44d24ab30 Rename locale_linux.cpp -> locale_std.cpp and use in Windows builds
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
0983476c93 Fix MSVC warning C4804: unsafe use of type 'bool' in operation
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
Osyotr
7c2bd191e0 Add Visual Studio directory to gitignore
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-04 23:51:32 +02:00
romana-la
4959c7c785
[strings] Add missing SK translations - type strings (#7792)
* [strings] Add missing SK translations - type strings

Signed-off-by: Romana Lakomčíková <r.lakomcikova@gmail.com>

* [strings] Fix order in type strings

Signed-off-by: Romana Lakomčíková <r.lakomcikova@gmail.com>

---------

Signed-off-by: Romana Lakomčíková <r.lakomcikova@gmail.com>
Signed-off-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com>
2024-04-04 22:46:14 +02:00
ad405b69f6 Include review suggestions
Signed-off-by: map-per <map-per@gmx.de>
2024-04-04 21:00:57 +03:00
3b945f3e4a [strings] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-04-04 21:00:57 +03:00
52739539b5 [styles] Regenerated
Signed-off-by: map-per <map-per@gmx.de>
2024-04-04 21:00:57 +03:00
a7342c6927 [tests] Adjusted unit test
Signed-off-by: map-per <map-per@gmx.de>
2024-04-04 21:00:57 +03:00
156e9f8192 [styles] attraction=animal as a standalone tag
Signed-off-by: map-per <map-per@gmx.de>
2024-04-04 21:00:57 +03:00
0f6ce4fc2f [strings] Regenerate for bare_rock, scree, shingle, rock
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-04 13:16:56 +03:00
a656253348 [styles] Regenerate for scree, shingle, bare_rock
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-04 13:16:56 +03:00
418e61887c [classif][styles] Add natural=scree and =shingle; better bare_rock color
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-04-04 13:16:56 +03:00
55c719ad58 [ios] fix: tappable area for the color selection icon
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-04-04 09:19:23 +03:00
Prefill add-on
52801fe456 [store] Update F-Droid translations (Georgian)
Currently translated at 33.3% (2 of 6 strings)

Signed-off-by: Prefill add-on <noreply-addon-prefill@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/ka/
2024-04-04 09:17:23 +03:00
Temuri Doghonadze
bb5a148bac [store] Update F-Droid translations (Georgian)
Currently translated at 33.3% (2 of 6 strings)

Signed-off-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/ka/
2024-04-04 09:17:23 +03:00
SC
734609ba9b [store] Update F-Droid translations (Portuguese (Portugal))
Currently translated at 100.0% (6 of 6 strings)

Signed-off-by: SC <lalocas@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/pt_PT/
2024-04-04 09:17:23 +03:00
Fjuro
23c61d8a8f [store] Update F-Droid translations (Czech)
Currently translated at 100.0% (6 of 6 strings)

Signed-off-by: Fjuro <fjuro@alius.cz>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/cs/
2024-04-04 09:17:23 +03:00
Priit Jõerüüt
e53408db9d [store] Update F-Droid translations (Estonian)
Currently translated at 100.0% (6 of 6 strings)

Signed-off-by: Priit Jõerüüt <hwlate@joeruut.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/et/
2024-04-04 09:17:23 +03:00
gallegonovato
c0fd267bf0 [store] Update F-Droid translations (Spanish)
Currently translated at 100.0% (6 of 6 strings)

Signed-off-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/es/
2024-04-04 09:17:23 +03:00
Matheus Gomes Correia
d182b3078a [store] Update F-Droid translations (Portuguese (Brazil))
Currently translated at 100.0% (6 of 6 strings)

Signed-off-by: Matheus Gomes Correia <matheus.gomes03@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/pt_BR/
2024-04-04 09:17:23 +03:00
Ophiushi
138445249e [store] Update F-Droid translations (French)
Currently translated at 100.0% (6 of 6 strings)

Signed-off-by: Ophiushi <41908476+ishi-sama@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/organicmaps/fdroid-metadata/fr/
2024-04-04 09:17:23 +03:00
Alexander Borsuk
59edac26f4 Updated tests for sorting by name
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 09:05:59 +03:00
Alexander Borsuk
83f67ca040 [ios] Sort by name
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 09:05:59 +03:00
Simon Klüber
cd5923ed69 [android][bookmarks] Add sorting bookmarks and tracks by name
Signed-off-by: Simon Klüber <48260138+sklueber@users.noreply.github.com>
2024-04-04 09:05:59 +03:00
Alexander Borsuk
e40bbcf554 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 09:05:59 +03:00
Alexander Borsuk
a1a9082bf0 [strings] Sort by name translations
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 09:05:59 +03:00
Alexander Borsuk
85d1a2f2eb Updated Vulkan Headers to v1.3.278
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 09:04:30 +03:00
Alexander Borsuk
c455bbeb29 Disable symbols visibility to reduce apk size
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 08:52:23 +03:00
Andrew Shkrob
111a680290 [android-auto] Fix some bugs
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-04-04 08:49:54 +03:00
Alexander Borsuk
e8315bea34 [ios] Enable LTO for release builds
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 08:47:47 +03:00
Alexander Borsuk
19278cf97b [github] Fix warning about deprecated action
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 08:46:52 +03:00
Alexander Borsuk
ef5d3fa80f [tools] Fallback to Google Translations if DeepL fails
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 08:46:08 +03:00
921cdaad34 [oauth2] I accidentally removed OAuth2 application from master.apis.dev.openstreetmap.org
Have to create new one and update Debug credentials

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
d390e7bfb9 [ios] Removed 'retain' modificator
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
fadf94082f [ios] Changed link handling with NSLinkAttributeName
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
3a1b79a41a [qt] Revert string initialization
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
5a85c39c11 [ios] Removed calls to NSUserDefaults.synchronize method all over the code
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
388217fa58 Formatting
Removed EditorHostFragment.clearNoobAlertFlag() method

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
491bb5db68 [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
ceabec5704 [strings] Translated strings using tools/python/translate.py script
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
3984ff34b1 [ios] Removed debug method
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
e31a5864e7 [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
838b7f55f9 [strings] Replaced 'alert_reauth_title' with 'login_osm'
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
772d4cce70 Renamed HttpClient::m_handleRedirects to HttpClient::m_followRedirects
Made updates all over the code

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
76b85c4594 [iOS] Moved new alert to viewDidLoad method
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
d459723336 [ios] Added comments
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
df2e7e1748 [ios] Fixed OSM login alert UI
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
bf5ffcec89 [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
e893f6189a [ios] Added blue color for link inside MWMOsmReauthAlert
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
411431164f [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
b08b563bd0 [iOS] Updated alert strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
25c548c96f [ios] Added new alert for OSM re-auth action
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
b39ae99736 [strings] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
0fe8e9ac7f [Strings] Updated new texts
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
39723f5d08 [string] Regenerated strings
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
56bff3f3ba [Android] Re-login dialog improvements
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
a127cf7c96 [Android] Added alert for previously authenticated users to re-login
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
c08109e89a Fixing DEV credentials for Debug builds
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
Alexander Borsuk
641de1ea1b Workaround for hanging OSM_auth_tests on Mac
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 08:45:39 +03:00
Alexander Borsuk
5e1b40dca2 Revert OpenStreetMap.org auth test workaround
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-04 08:45:39 +03:00
0f2a75d652 Fixed test with new reset password behaviour of the server
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
a76f6191ba Revert "[MacOS] Fix HttpSessionManager main queue issue"
This reverts commit 117527f2c7ef4a7335cc8a3c87227a63ba29208f.

Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
4e5c0a494d [MacOS] Fix HttpSessionManager main queue issue
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
427a297022 [macos] Workaround to fix HttpClient tests
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
c2214042e4 [iOS] Reverted back main queue
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
04b613137c [iOS] Removed MWMAuthorizationWebViewLogin from storyboard
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
3b59cec961 [Linux] Fixing handling redirects with curl
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
35af86db77 [MacOS] Fixed tests on MacOS
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
75851f8785 [iOS] Fixed logout action
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
98e2e328b5 Added OAuth2 flow test
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
9494704c38 Fixed unit tests
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
1a7209f075 [Android] Migrated from OAuth1 to OAuth2. No UI changes
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
89ef642eef [iOS] Fixed handling of redirects
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
20e85babbf [iOS] Fixed compilation errors. Removed social networks authentication with WebView
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
1384ad8a2d Migration from OAuth1 to OAuth2
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-04-04 08:45:39 +03:00
583bb53bbe
[github] Update FUNDING.yml
See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository#about-funding-files

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-04-04 08:39:36 +03:00
104b3ceb4c [styles] Removed shop=vacant
Signed-off-by: map-per <map-per@gmx.de>
2024-04-04 00:07:54 -03:00
Osyotr
e7c10c4eaa Call fseek64 only with MSVC
Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-03 08:06:25 +02:00
Osyotr
0989641208 Always seek to end of file when opening in append mode
C standard does not guarantee that file opened in append mode is seeked to the end.
In particular, MSVC CRT does not do that, so ftell64 always returns 0.
Fixes some tests on Windows.

Signed-off-by: Osyotr <Osyotr@users.noreply.github.com>
2024-04-03 08:06:25 +02:00
Alexander Borsuk
506e2481cc Fixed UTF16 => UTF8 DebugPrint conversion
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-03 08:05:00 +02:00
Oleg Montak
7ac7d348cf [strings] regen strings
Signed-off-by: Oleg Montak <oleg.montak@gmail.com>
2024-04-02 23:52:11 +02:00
Oleg Montak
449e7812d5 [strings] Update editor_edits_sent_message string
Signed-off-by: Oleg Montak <oleg.montak@gmail.com>
2024-04-02 23:52:11 +02:00
Ferenc Géczi
c214e44ecf [github/workflows]: Use the linter of flathub
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-04-01 13:55:32 +02:00
Alexander Borsuk
5c18ca362d [3party] Update utf8cpp to 4.0.5
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-31 15:39:59 +02:00
rtsisyk
20e3941241 Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2024-03-31 08:18:49 +00:00
Viktor Govako
50a26aeb01 [routing][tests] Updated integration tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-31 11:14:34 +03:00
Viktor Govako
fcdd7bb0e0 [planet] New data from 240326.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-31 11:14:34 +03:00
Alexander Borsuk
b98ba3c10b [strings] Regenerated Republika Srpska translations
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-31 09:13:45 +02:00
alnzrv
14b90d6564 [strings] Update translation for Republika Srpska
The translation of Republika Srpska in some languages (az, ca, et) appears to be confused with Republika Serbia.
I changed it to the current translation from Wikipedia.

Signed-off-by: alnzrv <7187657+alnzrv@users.noreply.github.com>
2024-03-31 09:12:48 +02:00
rtsisyk
35e4b307d3 Bump versions
Signed-off-by: rtsisyk <rtsisyk@users.noreply.github.com>
2024-03-31 06:48:18 +00:00
e16d38e319 Update release notes
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-31 09:47:02 +03:00
9520fd8ca5 [android] Update the Google Play release procedure
Before all new Google Play releases were published for phased 10% rollout
in the Production track. Now, a new Google Play release is initially
uploaded into "Closed Beta" track for 100% rollout and then promoted into
"Production" track after testing. The "Closed Beta" track (misleadingly
called "alpha" in the code) is invite-only and currently contains about
~1k users imported Firebase App Tester databases. Invited users can opt in
to install new pre-release versions for testing directly via Google Play.

Android releases are now initially tagged with `YYYY.MM.DD-x-android-rc`
(release-candidate) tags instead of `YYYY.MM.DD-x-android`. The production
`YYYY.MM.DD-x-android` tag is added after promotion in Google Play. This
kicks-off the F-Droid process as well. Huawei's version remains unpublished
until Android gets a green light in Google Play.

This change has two primary outcomes:

1. Users now can receive pre-production ("rc") via Google Play.
   This change uses invite-only "Closed Beta" track, but it can be
   changed to "Open Beta" track later.

2. Android versions in Google Play are now published after pre-production
   testing in a separate track in Google Play. Meanwhile, Google Play
   runs Monkey for free in such tracks and sends useful pre-prod reports.

There are no changes in Firebase App Tester - it works as usual. The primary
difference between App Tester and Google Play Open/Closed Beta is that
AppTester uses "app.organicmaps.beta" applicationId while Google Play uses
"app.organicmaps" id. This efficiently means that versions from App Testers
can be installed in parallel with Google Play, while Google Play's
Open/Closed version update the production app.

Please don't get confused with the word "beta" used in different places.
Google Play Open/Closed Beta actually will receive only pre-production
quality builds. App Tester probably can continue to be used both for
pre-production and ad-hoc experiemental version ("alpha"?).

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-31 09:19:39 +03:00
c3fb956309 [android] Generate .sha256sum file for Web release
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-30 18:26:41 +02:00
f0656d8201 [android] Strip non-supported HTML tags from Huawei descriptions
Fixes #7221

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-30 18:26:02 +02:00
Alexander Borsuk
c5fbdd1936 Updated and actualized copyrights
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-30 15:54:37 +02:00
1409b0a180 [android] Revert change color for disabled texts (PR #7721)
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-30 15:53:45 +02:00
David Martinez
45123652ff [styles] Add missing SVG xmlns definition
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-03-29 23:45:44 +01:00
Alexander Borsuk
1cf485811f [strings] Regenerated es 2024-03-29 23:37:15 +01:00
1aa1c8f84e [strings] Update of Spanish style translations
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-29 23:36:30 +01:00
griffinonacid
7faa634dbc Simplified Chinese FAQ translation by Felix
Signed-off-by: griffinonacid <156235025+griffinonacid@users.noreply.github.com>
2024-03-29 23:34:24 +01:00
Alexander Borsuk
40aad988e4 [mac] Fixes linker error for bsdiff_tests
ld: warning: ignoring duplicate libraries: 'libbase.a'
Undefined symbols for architecture arm64:
  "_SecPKCS12Import", referenced from:
      -[MultipartUploadTask extractIdentityWithCertData:certPassword:] in libplatform.a[2](unity_0_mm.mm.o)
  "_kSecImportExportPassphrase", referenced from:
      -[MultipartUploadTask extractIdentityWithCertData:certPassword:] in libplatform.a[2](unity_0_mm.mm.o)
  "_kSecImportItemCertChain", referenced from:
      -[MultipartUploadTask extractIdentityWithCertData:certPassword:] in libplatform.a[2](unity_0_mm.mm.o)
  "_kSecImportItemIdentity", referenced from:
      -[MultipartUploadTask extractIdentityWithCertData:certPassword:] in libplatform.a[2](unity_0_mm.mm.o)
ld: symbol(s) not found for architecture arm64

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-29 12:51:46 -03:00
Abhishek Bandyopadhyay
5670fe0ada [android] Fixed the crash while clicking on Deleted Bookmark Lists
On Bookmarks Lists page, if a User has created a new List along with `My Places` List and then deletes it, the deleted item stays on the List. Now, if the user clicks on the deleted List Item then the app was crashing as the deleted item is unavailable. Root cause of this issue is below -
- When a `category` is deleted then `deleteCategory()` of `BookmarkManager` gets called.
- The `deleteCategory()` internally calls `nativeDeleteCategory()`.
- After a `category` is successfully deleted, then `OnBookmarksChanged()` should be invoked in order to update the List. But this wasn't happening. So deleted category wasn't getting removed from the cached list. Thus the user deleted category was visible even after deletion.
- When the user clicked on the deleted `category`, it'll eventually crash as the `category` itself isn't present

Fix: Properly notify the UI about the deleted list from BookmarkManager::NotifyChanges()
Fixes: #3828

Signed-off-by: Abhishek Bandyopadhyay <abhishek.gnit.ece@gmail.com>
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-29 15:22:22 +02:00
Alexander Borsuk
d62e543a33 [bookmarks] Do not change bookmarks list modification date when hiding/showing it
It introduces discrepancy as the file modification date will be newer than
modification date stored inside the KML.
2024-03-29 14:02:57 +01:00
Alexander Borsuk
c9f4a9a815 [search][strings] Fixed police, parking, signts category search for simplified Chinese
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-29 09:58:47 +01:00
Alexander Borsuk
5669f6cfe9 [android] Update AGP to 8.3.1
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-29 09:58:07 +01:00
aa95d9c5d8 [android] Change color for disabled texts
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-28 23:18:20 +01:00
Alexander Borsuk
7ee4a76cf2 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-28 19:41:44 +01:00
Alexander Borsuk
bba11d1527 Revert "[strings][android] Google Play only translation for OSM login"
This reverts commit 9e7a63ed63.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-28 19:41:44 +01:00
Alexander Borsuk
5d777913a9 Revert "[android] Remove mentioning email from OSM login in Google Play flavor"
This reverts commit aecb99ff37.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-28 19:41:44 +01:00
Fabian Wüthrich
8d665efdc1 [ios] Fix distance freeze for locales with comma as decimal seperator
Fixes #6209

Signed-off-by: Fabian Wüthrich <me@fabwu.ch>
2024-03-28 19:32:53 +01:00
Viktor Govako
47c5269bcf [categories] Added wheelchair=yes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-28 13:40:35 -03:00
Viktor Govako
850fcf3db0 [android] Fixed time.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-28 12:24:11 -03:00
1716808d03 [strings] Regenerated
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-28 11:49:20 +01:00
4b181e041e [strings] Modify speedcam pref menu option
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-28 11:49:20 +01:00
acb37cd805 [android] Run Monkey in the production mode on real devices
The debug mode occasionally fails on random asserts which are not very
critical for the production. The debug mode also does not have R8 enabled,
which causes certain bugs to leak into production. Use Beta instead.

This PR also removes virtual x86_64 devices from the list because they fail
randomly during rendering due to inconsistency of OpenGL emulation.

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-27 08:35:17 +02:00
ff3bc7852a [strings] regenerated
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-26 19:00:03 +01:00
0b0a9e1ca9 [strings] add Map string
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-26 19:00:03 +01:00
992f8c9261 [ios] add back button title for the main map screen
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-26 19:00:03 +01:00
897cbd91c6 [ios] fix: add titles for the back button for ios>14.0
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-26 19:00:03 +01:00
Harry Bond
052e1a1722 [android] change to view anim for pending location
gets rid of loads of redundant drawables, and looks smoother on high refresh rate displays
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-26 00:09:27 -03:00
Harry Bond
d198d91fb3 deletions
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-26 00:09:27 -03:00
c6f74c9d83 [tts] Add Serbian language
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-25 23:37:53 +01:00
Harry Bond
6bc60811d1 [android] add eye icons for list visibility, align & simplify fragments
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-25 23:31:53 +01:00
eb61c276d0 [ios] fix: estimates when the following type is changing
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-25 23:30:21 +01:00
bfc8859145 [android] fix the overlapping of map buttons in RTL map planning
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-03-25 13:26:38 -03:00
a2b90aea30 Fix whitespace
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-25 13:23:37 -03:00
0883ce8527 [editor] Add missing types
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-25 13:23:37 -03:00
b4b0540072 [editor] Add docs and TODOs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-25 13:23:37 -03:00
9609e431a2 [editor] Remove unused preferred_types section
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-25 13:23:37 -03:00
Ferenc Géczi
4b9cef181c [generator] Suppress warning variable ‘speedCameraType’ set but not used
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-24 19:33:50 -03:00
Ferenc Géczi
aace138a2d [indexer] Suppress warning about control reaches end of non-void function
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-24 19:33:50 -03:00
Ferenc Géczi
eca0831907 [indexer] Fix warning about comparison of different signedness
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-24 19:33:50 -03:00
Andrew Shkrob
398588f892 [android-auto] Fix bookmarks screen
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-03-24 17:25:32 -03:00
87fb28e9a9 conversion of FAB to Extended FAB in BookmarksListFragment.java
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-03-24 16:24:00 -03:00
20aa51580d reverts the night button text color to black and uses the pre defined text string "View on map"
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-03-24 16:24:00 -03:00
befd046968 Enhances View on Map Button to extended button
Signed-off-by: kavikhalique <kavikhalique3@gmail.com>
2024-03-24 16:24:00 -03:00
Viktor Govako
3f914a2d74 [search] Fixed suggest string.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-24 16:21:38 -03:00
Viktor Govako
ce69a353e9 [search] Added struct QueryString.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-24 16:21:38 -03:00
Isira Seneviratne
4e2a699ff9 Update nativeGetKayakHotelLink() to accept long parameters
Signed-off-by: Isira Seneviratne <isirasen96@gmail.com>
2024-03-24 11:56:27 +02:00
Ferenc Géczi
5267207206 [3party] Skip vendored HarfBuzz on Linux (dependency of Qt anyway)
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-23 23:00:50 +01:00
Andrew Shkrob
12dc498d11 [android-auto] Auto-start navigation
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-03-23 22:58:14 +01:00
Ferenc-
b80171600d
Improve desktop place page dialog (#7505)
* Improve desktop place page dialog
Signed-off-by: Diogo Rodrigues <dmfrodrigues2000@gmail.com>

* [qt] Make Close focused by default instead of More...
* [qt] Strip  http(s):// schemes from displayed URIs
* [qt] Make the first Wikipedia clickable and remove the second
* [qt] Add a preference for Developer Mode
* [qt] Skip already displayed lines in Developer Mode
* [qt] Make the first Wikimedia Commons clickable and remove the se
* [qt] Make the Wikipedia link independent from the short description
* [qt] Drop preview and rename More to Wikipedia Description
* qt: Separate developer and user mode place page dialogs
* [qt] Remove duplication & fix review comments

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>

---------

Signed-off-by: Diogo Rodrigues <dmfrodrigues2000@gmail.com>
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
Co-authored-by: Diogo Rodrigues <dmfrodrigues2000@gmail.com>
2024-03-23 22:56:49 +01:00
Alexander Borsuk
4cdb8c6ca6 [strings] Regenerated Hindi and cleaned up strings
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-23 15:23:23 +01:00
Alexander Borsuk
93b22c41eb [strings] tools/python/clean_strings_txt.py -s
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-23 15:23:23 +01:00
Alexander Borsuk
68f61a7c51 [github] Fixed failed iOS action due to removed repo dependency
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-23 06:48:55 +01:00
Lukas Kronberger
7cf0b2c2a6 [strings] add missing strings in editor and more
Signed-off-by: Lukas Kronberger <j13m126@posteo.de>

Signed-off-by: Lukas Kronberger <j13m126@posteo.de>
2024-03-22 21:27:18 +01:00
Alexander Borsuk
bf81661b1e [ios] Fixed XCode warnings
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-21 23:45:12 +01:00
Alexander Borsuk
f21d221002 [android] Fixed crash when opening PP displaying 24h opening hours with 12h system time format
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-21 10:15:38 +01:00
renderexpert
7339f2503c Fix Vulkan diagnostics
Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
2024-03-20 14:19:28 +01:00
Alexander Borsuk
72eb143dec [android] Fixed crash when starting navigation with 12-hour time format in the system
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-19 06:44:14 +02:00
Meenbeese
d7c4c99101 [tools] Migrate all the scripts to Python3
Signed-off-by: Meenbeese <meenbeese@tutanota.com>
2024-03-18 19:10:27 +02:00
Alexander Borsuk
9d78130154 [android] Fixed crash on import from Google Play console
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-18 19:09:33 +02:00
7dc76fc1c8 [android] Keep all string resources from R8 shrinking
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-18 17:37:51 +01:00
064479c7c1 [string] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-18 12:48:49 -03:00
c7eecd91a5 [search] Fix gambling category
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-18 12:48:49 -03:00
0a420d07ac [search] Distinguish simple grouping from pre-defined search categories
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-18 12:48:49 -03:00
Alexander Borsuk
4655ea66eb Set last modified time for imported KML or GPX before saving them
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-17 17:16:56 +01:00
Alexander Borsuk
c9c70efbc0 Add Platform::GetFileModificationTime()
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-17 17:16:56 +01:00
01859c66cf [bookmarks] refactor UpdateBmGroupIdList method
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
d641b8dc2e [bookmarks] [tests] fix bug when Bookmarks_SpecialXMLNames is working with unsorted IDs list
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
0969987c91 [bookmarks] [tests] replace 'GetUnsortedBmGroupsIdList.count' with 'GetBmGroupsCount'
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
d3a8ecf19d [bookmarks] rename bmGroupsIdList into unsortedBmGroupsIdList
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
9f2d9f35ad [android] bookmarks manager formatting
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
d17d242119 [android] implement 'getCategoriesCount' method
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
a552a6ae78 [android] fix: return properly sorted list from cpp bookmarks manager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
d401482524 [ios] implement 'userCategoriesCount'
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
1465993076 [bookmarks] add 'GetBmGroupsCount' method
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
da12626b47 [ios] remove unused methods from the BookmarksManager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
7af58b789d [ios] implement 'sortedUserCategories' in the MWMBookmarksManager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
239fd1a14d [bookmarks] add 'GetSortedBmGroupIdList' method to the BookmarkManager
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-17 11:54:47 -03:00
5730cc5ac0 [strings] Regenerate
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-17 14:49:41 +01:00
d49a42ddf9 [strings] Fix hardware and DIY shops translations
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-17 14:49:41 +01:00
f3ef359983 [ios] fix bug when the user's 'saved bookmark' tab icon has wrong selected state color and icon
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-16 11:37:07 +01:00
Alexander Borsuk
a9b45f9ebd [tools] Faster localizations generation
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-15 21:59:31 +01:00
Alexander Borsuk
11ac061c87 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-15 21:54:41 +01:00
Alexander Borsuk
fd549cfae6 Revert "[strings] Fixed trunk translations"
This reverts commit f4bdfb17fb.

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-15 21:52:04 +01:00
Alexander Borsuk
ebd587ff6b [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-15 20:37:08 +01:00
Alexander Borsuk
f4bdfb17fb [strings] Fixed trunk translations
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-15 20:37:08 +01:00
a9b1693beb [styles] Regenerate for outdoors-specific POIs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-15 13:09:12 -03:00
9de6995514 [styles][main] Reduce visibilities of outdoors-specific POIs
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-15 13:09:12 -03:00
Harry Bond
a6d243a83d [styles] regenerated
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-15 12:15:17 -03:00
Harry Bond
8c2844949a [styles] add wind turbine & wind plant icons
using icon from openstreetmap-carto (CC0)
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-15 12:15:17 -03:00
86eca41d11 [editor] Add shop-outpost
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-15 17:50:35 +03:00
fb1ee835ec [search] Make shop-outpost searchable
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2024-03-15 17:50:35 +03:00
Ferenc Géczi
6f56e50a5d [base][drape] Fix deleted operator << of char32_t on C++20
Commit f05be9bf71,
changed `UniChar` from `char32_t` to `uint32_t`.
Unlike `uint32_t` the `char32_t` has explicitly
deleted `<<` operator in C++20, and this operator
has been in use on `UniChar`.

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-15 07:35:48 -03:00
Andrew Shkrob
c2fa874798 [android-auto] FreeDrive Screen
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
2024-03-15 10:35:35 +01:00
muralito
ec4ba022b7
Update categories.txt (add spanish translations) (#7574)
* Update categories.txt (add Spanish translations)

Signed-off-by: muralito <muralito@users.noreply.github.com>
Co-authored-by: Anton <antonwenemoser@gmail.com>
2024-03-15 01:24:36 +01:00
Alexander Borsuk
11895d7ecd [android] Fix missing category strings removed by R8 from AGP 8.3
- Renamed search categories to keep them all by an R8 rule in res/raw/keep.xml
- clean strings script retrieves categories from data/categories.txt

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-14 08:31:42 +02:00
Alexander Borsuk
67d3f64a4a [strings] Regenerated Kyiv
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-14 08:31:42 +02:00
Alexander Borsuk
0a5046758d [android] Updated gradle wrapper to 8.6
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-14 08:31:42 +02:00
a1bb2aa0eb [strings] Regenerated
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-13 22:26:06 +01:00
1d1d1094e3 [strings] remove unused stop, never, always and speedcams_notice_message
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-13 22:26:06 +01:00
46e82339cf [ios] fix setting's speedCamera cells titles and remove footer
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-13 22:26:06 +01:00
cb440ce12b [ios] replace 'stop' with 'navigation_stop_button' localized string
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-13 22:26:06 +01:00
Usland123
83311cac2b Update countries_names.txt
Signed-off-by: Usland123 <72984028+Usland123@users.noreply.github.com>
2024-03-13 17:53:16 -03:00
221417d4c6 [ios] remove unused class 'SettingsTableViewSelectableProgressCell' from the project
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-13 20:50:27 +01:00
b4aeaf26b3 [ios] refactor Settings cells: use default properties instead of custom designed
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-13 20:50:27 +01:00
Alexander Borsuk
330d5c9128 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-13 00:32:11 +01:00
Alexander Borsuk
e4eb8f90db [strings] Minor de correction
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-13 00:32:11 +01:00
b1cbc24f82 [ios] eye icons for the bookmark catogories list visibility
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-13 00:30:50 +01:00
1467ac4afe Added Google subfolder to string usage search
Signed-off-by: S. Kozyr <s.trump@gmail.com>
2024-03-11 08:44:47 +01:00
234d030c39 [strings] Regenerated
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-10 23:44:44 +01:00
d0bd6f2df8 [strings] Update of Spanish style translations
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-10 23:44:44 +01:00
Alexander Borsuk
8c99d05176 [3party] Upgraded harfbuzz to the latest master
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-10 19:00:41 +01:00
Manuel Tassi
9d8e82e42c
Update types_strings.txt (#7547)
* Update types_strings.txt

Fix Italian translation of "guest house" (we have many, but the most widespread is guest house)

Signed-off-by: Manuel Tassi <42747216+Mannivu@users.noreply.github.com>

* Update types_strings.txt

Fix translation of Guest House in Italian

Signed-off-by: Manuel Tassi <42747216+Mannivu@users.noreply.github.com>

* Update categories.txt

Add synonyms

Signed-off-by: Manuel Tassi <42747216+Mannivu@users.noreply.github.com>

---------

Signed-off-by: Manuel Tassi <42747216+Mannivu@users.noreply.github.com>
2024-03-10 17:07:13 +01:00
Alexander Borsuk
aecb99ff37 [android] Remove mentioning email from OSM login in Google Play flavor
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-10 17:41:31 +02:00
Alexander Borsuk
9971b7bb8b [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-10 17:41:31 +02:00
Alexander Borsuk
9e7a63ed63 [strings][android] Google Play only translation for OSM login
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-10 17:41:31 +02:00
Alexander Borsuk
8fa9267f69 Revert "[android] Disable OSM Login for Google Play"
This reverts commit 07a1ce1e09.
2024-03-10 17:41:31 +02:00
f7f81433c1 [editor] Add OSM OAuth2 public credentials
See https://github.com/organicmaps/organicmaps/pull/7333

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-10 12:18:47 +02:00
Alexander Borsuk
2f7f14dbc3 Removed unused C++ function to fix the build warning
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-10 10:38:46 +02:00
Ferenc Géczi
9371e74b67 [packaging] Fix flathub linter error invalid tag
The linter currently report the following error:
"E: app.organicmaps.desktop:69: description-para-markup-invalid del",
Apparently the `<del>` tag is not allowed inside of a `<description>` tag.
See the [allowed list](
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).

As a workaround, in order to achieve the strikethrough effect we use
unicode characters.

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-10 10:37:44 +02:00
Ferenc Géczi
3980d19fce [packaging] Fix flathub linter warnings about empty tags
"W: app.organicmaps.desktop:783: tag-empty ul/li",
 "W: app.organicmaps.desktop:367: tag-empty ul/li"

Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-10 10:37:44 +02:00
Viktor Govako
ff40f22654 Removed charXX_t pointers DebugPrint.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-10 09:53:07 +02:00
Alexander Borsuk
9081f173bf
[android] Update Android Gradle Plugin to 8.3 (#7554)
Also, update some dependencies

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-10 08:51:28 +01:00
Alexander Borsuk
3c80ceeb9b [android] Upgrade NDK to r26c
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-10 09:49:11 +02:00
David Martinez
ee2466d66b [styles] Regenerated
Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-03-09 23:05:26 -03:00
David Martinez
9bece7cd6c [styles] Simplify power-m SVG code
Change viewbox to 18x18 to match width/height and simplify coordinates

Change 727065 color to 717065 color for consistency with other icons

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-03-09 23:05:26 -03:00
David Martinez
e67ae043de [styles] Simplify cycle_barrier-s SVG code
Change viewbox to 9x9 to match width/height and simplify coordinates

Remove extraneous 808000 color

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-03-09 23:05:26 -03:00
David Martinez
5abf0cf722 [styles] Simplify cross-m SVG code
Change viewbox to 18x18 to match width/height and simplify coordinates

Remove all Inkscape metadata

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-03-09 23:05:26 -03:00
David Martinez
59ecf3e5a3 [styles] Simplify chimney-m SVG code
Change viewbox to 18x18 to match width/height and simplify coordinates

Change 727065 color to 717065 color for consistency with other icons

Remove all Inkscape metadata

Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com>
2024-03-09 23:05:26 -03:00
05a7e9c619 [android] Add 'androidx' dependency to build.gradle
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
2024-03-10 00:19:22 +02:00
Alexander Borsuk
3cf9e22644 [strings] Regenerated
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-09 23:28:35 +02:00
Alexander Borsuk
62f5c53eec [tools] Fixed warning with wrong escape sequence
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-09 23:28:35 +02:00
Alexander Borsuk
00a93e760c [tools] Check twine version when generating localizations
Reverted previous commits.
Do not install official unpatched twine locally (por que?..)

Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-03-09 23:28:35 +02:00
Viktor Govako
8422d84735 Removed unused includes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-09 18:00:08 -03:00
Viktor Govako
ac17afd40f [liboauthcpp] Fixed macro to avoid conflicts with the standard library (MacOSX14.4.sdk).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2024-03-09 18:00:08 -03:00
2012ca9067 [android] Update .gitignore
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-08 11:37:54 +02:00
5cd7afe9bf [ios] fix crash for export all bookmarks on iPad
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-07 22:14:26 +02:00
Harry Bond
888c230d4f [strings] regenerated
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-06 11:58:24 +02:00
Harry Bond
355ffe46ac [android] add button to open system TTS settings
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-06 11:58:24 +02:00
3c167f8832 [strings] Regenerated
Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-06 11:56:55 +02:00
6ce3d36655 [android] Improve error handling when importing bookmarks
See #7149 #6944

Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
2024-03-06 11:56:55 +02:00
Isira Seneviratne
ede7eda0c0
[android] Simplify some code using java.time using the code desugaring
Signed-off-by: Isira Seneviratne <isirasen96@gmail.com>
2024-03-06 12:39:57 +03:00
Harry Bond
a06d67c309 [android] remove ripples from sliding tabs
Signed-off-by: Harry Bond <hrbond@pm.me>
2024-03-06 11:37:35 +02:00
Ferenc Géczi
fd4ab011cd Add 2024.03 release notes to .metainfo.xml
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-06 11:28:02 +02:00
Ondrej Jesko
b528cd353c [strings] Updated Slovak translations
Signed-off-by: Ondrej Jesko <ojesko@gmail.com>
2024-03-05 21:02:01 +02:00
Ferenc Géczi
6aac668a62 [github] Add sane path-ignore rules to coverage check
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2024-03-05 14:14:32 +02:00
2c08a112a3 [ios] fix srgb color crash
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
2024-03-05 14:13:40 +02:00
6359 changed files with 765506 additions and 874367 deletions

View file

@ -21,7 +21,7 @@ IndentCaseLabels: false
NamespaceIndentation: None
PointerAlignment: Middle
SortIncludes: true
Standard: c++17
Standard: c++20
IncludeBlocks: Regroup
IncludeCategories:
# Tests --------------------------------------------------------------------------------------------
@ -163,8 +163,6 @@ IncludeCategories:
- Regex: '^"openlr/openlr_stat/'
Priority: 19400
- Regex: '^"mapshot/'
Priority: 19500
- Regex: '^"search/search_quality/booking_dataset_generator/'
Priority: 19707
@ -260,9 +258,6 @@ IncludeCategories:
- Regex: '^"editor/'
Priority: 48310
- Regex: '^"software_renderer/'
Priority: 48400
- Regex: '^"drape_frontend/'
Priority: 48500

View file

@ -1,3 +1,4 @@
6aa73face8b5eb8e026cfafa40d1983d4a0502c0
480fa6c2fcf53be296504ac6ba8e6b3d70f92b42
a6ede2b1466f0c9d8a443600ef337ba6b5832e58
1377b81bf1cac72bb6da192da7fed6696d5d5281

78
.github/CODEOWNERS vendored
View file

@ -1,9 +1,69 @@
# Require legal approval for all new graphics
android/app/src/main/res/drawable*/ @organicmaps/legal
android/app/src/main/res/fonts/ @organicmaps/legal
android/app/src/main/res/mipmap*/ @organicmaps/legal
data/*.ttf @organicmaps/legal
data/resources*/ @organicmaps/legal
data/search-icons/ @organicmaps/legal
data/styles/clear/style-*/ @organicmaps/legal
iphone/Maps/Images.xcassets/ @organicmaps/legal
# All non-assigned.
* @organicmaps/mergers
# Visual design.
/android/app/src/main/res/drawable*/ @organicmaps/design
/android/app/src/main/res/font/ @organicmaps/design
/android/app/src/main/res/mipmap*/ @organicmaps/design
/data/*.ttf @organicmaps/design
/data/resources-svg/ @organicmaps/design
/data/search-icons/ @organicmaps/design
/iphone/Maps/Images.xcassets/ @organicmaps/design
# Android.
/android/ @organicmaps/android
/android/app/src/main/java/app/organicmaps/car/ @organicmaps/android-auto
/docs/ANDROID_LOCATION_TEST.md @organicmaps/android
/docs/JAVA_STYLE.md @organicmaps/android
# no owner for translation changes
/android/app/src/main/res/values*/strings.xml
# iOS.
/iphone/ @organicmaps/ios
/xcode/ @organicmaps/ios
/docs/OBJC_STYLE.md @organicmaps/ios
# no owner for translation changes
/iphone/plist.txt
/iphone/Maps/LocalizedStrings/
# Qt
/qt/ @organicmaps/qt
# Rendering
/drape/ @organicmaps/rendering
/drape_frontend/ @organicmaps/rendering
# Map Data.
/tools/python/maps_generator/ @organicmaps/data
/generator/ @organicmaps/data
/topography_generator/ @organicmaps/data
/data/borders/ @organicmaps/data
/data/conf/isolines/ @organicmaps/data
/docs/SUBWAY_GENERATION.md @organicmaps/data
/docs/MAPS.md @organicmaps/data
/docs/EXPERIMENTAL_PUBLIC_TRANSPORT_SUPPORT.md @organicmaps/data
# no owner (changed often to add a new POI)
/generator/generator_tests/osm_type_test.cpp
# Map Styles.
/data/styles/ @organicmaps/styles
/data/types.txt @organicmaps/styles
/data/visibility.txt @organicmaps/styles
/data/mapcss-mapping.csv @organicmaps/styles
/data/replaced_tags.txt @organicmaps/styles
/data/classificator.txt @organicmaps/styles
/data/drules_* @organicmaps/styles
/docs/STYLES.md
/tools/kothic/ @organicmaps/styles
# DevOps.
/.github/workflows @organicmaps/devops
/android/*gradle* @organicmaps/devops
/docs/RELEASE_MANAGEMENT.md @organicmaps/devops
/xcode/fastlane/ @organicmaps/devops
# Growth.
README.md @organicmaps/growth
/.github/FUNDING.yml @organicmaps/growth
/android/app/src/fdroid/play/ @organicmaps/growth
/android/app/src/google/play/ @organicmaps/growth
/iphone/metadata/ @organicmaps/growth
# Legal.
LEGAL @organicmaps/legal
LICENSE @organicmaps/legal
NOTICE @organicmaps/legal
CONTRIBUTORS @organicmaps/legal
/docs/CODE_OF_CONDUCT.md @organicmaps/legal
/docs/DCO.md @organicmaps/legal
/docs/GOVERNANCE.md @organicmaps/legal

3
.github/FUNDING.yml vendored
View file

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

View file

@ -2,7 +2,7 @@
name: Feature Request
about: Suggest an idea for Organic Maps
title: ''
labels: [Enhancement]
labels: []
assignees: ''
---

View file

@ -56,19 +56,24 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Checkout private keys
uses: actions/checkout@v4
with:
repository: ${{ secrets.PRIVATE_REPO }}
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
ref: master
path: private.git
- name: Configure repo with private keys
- name: Restore beta keys
shell: bash
run: |
./configure.sh ./private.git
rm -rf ./private.git
echo "$PRIVATE_H" | base64 -d > private.h
echo "$FIREBASE_APP_DISTRIBUTION_JSON" | base64 -d > android/app/firebase-app-distribution.json
echo "$GOOGLE_SERVICES_JSON" | base64 -d > android/app/google-services.json
echo "$SECURE_PROPERTIES" | base64 -d > android/app/secure.properties
echo "$RELEASE_KEYSTORE" | base64 -d > android/app/release.keystore
env:
PRIVATE_H: ${{ secrets.PRIVATE_H }}
FIREBASE_APP_DISTRIBUTION_JSON: ${{ secrets.FIREBASE_APP_DISTRIBUTION_JSON }}
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
SECURE_PROPERTIES: ${{ secrets.SECURE_PROPERTIES }}
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Compile
shell: bash
@ -76,7 +81,7 @@ jobs:
run: |
cmake --version
ninja --version
./gradlew -Pfirebase -x lint -x lintVitalGoogleBeta assembleGoogleBeta uploadCrashlyticsSymbolFileGoogleBeta uploadCrashlyticsMappingFileGoogleBeta
./gradlew -Pfirebase assembleGoogleBeta uploadCrashlyticsSymbolFileGoogleBeta uploadCrashlyticsMappingFileGoogleBeta
- name: Upload beta apk to App Distribution
shell: bash

View file

@ -15,6 +15,11 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
android
tools/python/check_store_metadata.py
- name: Check metadata
run: ./tools/python/check_store_metadata.py android

View file

@ -23,10 +23,10 @@ on:
- packaging/**
- platform/*apple*
- platform/*_ios*
- platform/*_linux*
- platform/*_mac*
- platform/*qt*
- platform/*_win*
- platform/*_linux*
- platform/*_mac*
- platform/*qt*
- platform/*_win*
- pyhelpers/**
- qt*/**
- skin_generator/**
@ -51,7 +51,7 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Configure in Open Source mode
- name: Configure repository
shell: bash
run: ./configure.sh
@ -66,7 +66,12 @@ jobs:
strategy:
fail-fast: false
matrix:
flavor: [WebDebug, FdroidBeta]
flavor: [WebDebug, FdroidDebug]
include:
- flavor: WebDebug
arch: arm64
- flavor: FdroidDebug
arch: arm32
# Cancels previous jobs if the same branch or PR was updated again.
concurrency:
group: ${{ github.workflow }}-${{ matrix.flavor }}-${{ github.event.pull_request.number || github.ref }}
@ -88,7 +93,7 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Configure in Open Source mode
- name: Configure repository
shell: bash
run: ./configure.sh
@ -106,11 +111,11 @@ jobs:
run: |
cmake --version
ninja --version
./gradlew -Parm64 assemble${{ matrix.flavor }}
./gradlew -P${{ matrix.arch }} assemble${{ matrix.flavor }}
- name: Upload arm64-v8a ${{ matrix.flavor }} apk
- name: Upload ${{ matrix.flavor }} apk
uses: actions/upload-artifact@v4
with:
name: android-arm64-v8a-${{ matrix.flavor }}
name: android-${{ matrix.flavor }}
path: android/app/build/outputs/apk/**/OrganicMaps-*.apk
if-no-files-found: error

View file

@ -31,8 +31,8 @@ jobs:
outputs:
updated: ${{ steps.check.outputs.updated }}
android-google-debug:
name: Android Google Debug
android-google-beta:
name: Android Google Beta
runs-on: ubuntu-latest
needs: precondition
if: ${{ needs.precondition.outputs.updated != '' }}
@ -56,19 +56,26 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Checkout private keys
uses: actions/checkout@v4
with:
repository: ${{ secrets.PRIVATE_REPO }}
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
ref: master
path: private.git
- name: Configure repo with private keys
- name: Restore beta keys
shell: bash
run: |
./configure.sh ./private.git
rm -rf ./private.git
echo "$PRIVATE_H" | base64 -d > private.h
echo "$FIREBASE_TEST_LAB_JSON" | base64 -d > android/app/firebase-test-lab.json
echo "$FIREBASE_APP_DISTRIBUTION_JSON" | base64 -d > android/app/firebase-app-distribution.json
echo "$GOOGLE_SERVICES_JSON" | base64 -d > android/app/google-services.json
echo "$SECURE_PROPERTIES" | base64 -d > android/app/secure.properties
echo "$RELEASE_KEYSTORE" | base64 -d > android/app/release.keystore
env:
PRIVATE_H: ${{ secrets.PRIVATE_H }}
FIREBASE_TEST_LAB_JSON: ${{ secrets.FIREBASE_TEST_LAB_JSON }}
FIREBASE_APP_DISTRIBUTION_JSON: ${{ secrets.FIREBASE_APP_DISTRIBUTION_JSON }}
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
SECURE_PROPERTIES: ${{ secrets.SECURE_PROPERTIES }}
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Compile
shell: bash
@ -76,25 +83,20 @@ jobs:
run: |
cmake --version
ninja --version
./gradlew -Pfirebase -Parm64-v8a -Parmeabi-v7a -Px86_64 assembleGoogleDebug uploadCrashlyticsSymbolFileGoogleDebug
./gradlew -Pfirebase -Parm64 -Parmeabi-v7a assembleGoogleBeta uploadCrashlyticsSymbolFileGoogleBeta uploadCrashlyticsMappingFileGoogleBeta
- name: Run monkey
run: |
gcloud auth activate-service-account --key-file android/app/firebase-test-lab.json
gcloud config set project omapsapp
gcloud firebase test android run --app ./android/app/build/outputs/apk/google/debug/OrganicMaps-*-google-debug.apk \
gcloud firebase test android run --app ./android/app/build/outputs/apk/google/beta/OrganicMaps-*-google-beta.apk \
--device model=husky,version=34 \
--device model=cheetah,version=33 \
--device model=tangorpro,version=33,orientation=landscape \
--device model=bluejay,version=32 \
--device model=a51,version=31 \
--device model=f2q,version=30 \
--device model=a10,version=29 \
--device model=Pixel2.arm,version=30 \
--device model=MediumPhone.arm,version=29 \
--device model=MediumPhone.arm,version=28 \
--device model=MediumPhone.arm,version=27 \
--device model=Pixel2.arm,version=26,orientation=landscape \
--device model=Nexus6,version=25 \
--device model=NexusLowRes,version=24 \
--device model=NexusLowRes,version=23,orientation=landscape \
--device model=f2q,version=30,orientation=landscape \
--device model=a10,version=29,orientation=landscape \
--device model=cactus,version=27 \
--device model=sailfish,version=25 \
--device model=harpia,version=23 \
--timeout 15m

View file

@ -26,19 +26,14 @@ jobs:
ref: master
path: screenshots
- name: Checkout private keys
uses: actions/checkout@v4
with:
repository: ${{ secrets.PRIVATE_REPO }}
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
ref: master
path: private.git
- name: Configure repo with private keys
- name: Restore release keys
shell: bash
run: |
./configure.sh ./private.git
rm -rf ./private.git
echo "$PRIVATE_H" | base64 -d > private.h
echo "$GOOGLE_PLAY_JSON" | base64 -d > android/app/google-play.json
env:
PRIVATE_H: ${{ secrets.PRIVATE_H }}
GOOGLE_PLAY_JSON: ${{ secrets.GOOGLE_PLAY_JSON }}
- name: Upload
shell: bash

View file

@ -29,7 +29,7 @@ jobs:
version=$(tools/unix/version.sh ios_version)
# +1 because below a "Bump versions" commit is created.
# TODO: Find a way to refactor FDroid versioning without that additional commit.
build=$(($(tools/unix/version.sh ios_build) + 1))
build=$(($(tools/unix/version.sh count) + 1))
code=$(($(tools/unix/version.sh android_code) + 1))
tag=$version-$build-android
echo "::set-output name=version::$version"
@ -100,19 +100,26 @@ jobs:
ref: master
path: screenshots
- name: Checkout private keys
uses: actions/checkout@v4
with:
repository: ${{ secrets.PRIVATE_REPO }}
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
ref: master
path: private.git
- name: Configure repo with private keys
- name: Restore release keys
shell: bash
run: |
./configure.sh ./private.git
rm -rf ./private.git
echo "$PRIVATE_H" | base64 -d > private.h
echo "$GOOGLE_PLAY_JSON" | base64 -d > android/app/google-play.json
echo "$HUAWEI_APPGALLERY_JSON" | base64 -d > android/app/huawei-appgallery.json
echo "$AGCONNECT_SERVICES_JSON" | base64 -d > android/app/agconnect-services.json
echo "$SECURE_PROPERTIES" | base64 -d > android/app/secure.properties
echo "$RELEASE_KEYSTORE" | base64 -d > android/app/release.keystore
env:
PRIVATE_H: ${{ secrets.PRIVATE_H }}
GOOGLE_PLAY_JSON: ${{ secrets.GOOGLE_PLAY_JSON }}
HUAWEI_APPGALLERY_JSON: ${{ secrets.HUAWEI_APPGALLERY_JSON }}
AGCONNECT_SERVICES_JSON: ${{ secrets.AGCONNECT_SERVICES_JSON }}
SECURE_PROPERTIES: ${{ secrets.SECURE_PROPERTIES }}
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Set up SDK
shell: bash
@ -144,14 +151,16 @@ jobs:
if: ${{ matrix.flavor == 'web' }}
shell: bash
run: |
(cd ./android/app/build/outputs/apk/web/release/ && sha256sum OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk > OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum)
{
cat ${{ env.RELEASE_NOTES }}
echo ""
echo "See [more details](https://organicmaps.app/news/) on our website when apps are published."
echo "See [a detailed announce](https://organicmaps.app/news/) on our website when app updates are published in all stores."
echo "You can get automatic app updates from GitHub [using Obtainium](https://github.com/organicmaps/organicmaps/wiki/Installing-Organic-Maps-from-GitHub-using-Obtainium)."
echo ""
echo "sha256sum:"
echo -e '\n```'
(cd ./android/app/build/outputs/apk/web/release/ && sha256sum OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk) | tr -d '\n'
tr -d '\n' < ./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
echo -e '\n```'
} > ${{ runner.temp }}/release-notes.txt
@ -164,5 +173,8 @@ jobs:
name: ${{ needs.tag.outputs.tag }}
tag_name: ${{ needs.tag.outputs.tag }}
discussion_category_name: 'Announcements'
files: ./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk
prerelease: true
files: |
./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk
./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
fail_on_unmatched_files: true

View file

@ -9,21 +9,32 @@ on:
jobs:
validate-appstream:
name: Validate appstream metadata xml
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
packaging/app.organicmaps.desktop.metainfo.xml
- name: Install appstream validator
- name: Install appstream validator and flatpak Builder
shell: bash
run: |
sudo apt update -y
sudo apt install -y \
flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# We get it from flathub to ensure we have a recent version
sudo flatpak install -y org.freedesktop.appstream-glib
sudo flatpak install -y org.freedesktop.appstream-glib org.flatpak.Builder
- name: Validate appstream data
shell: bash
run: flatpak run org.freedesktop.appstream-glib validate --nonet packaging/app.organicmaps.desktop.metainfo.xml
- name: Lint appstream data with flatpak Builder
shell: bash
run: flatpak run --command=flatpak-builder-lint org.flatpak.Builder appstream packaging/app.organicmaps.desktop.metainfo.xml
- name: Run appstreamcli in pedantic mode
shell: bash
run: flatpak run --command=appstreamcli org.flatpak.Builder validate --pedantic packaging/app.organicmaps.desktop.metainfo.xml

View file

@ -9,22 +9,18 @@ jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Cleanup
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: ${{ github.repository }}
BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge
run: |
gh extension install actions/gh-actions-cache
REPO=${{ github.repository }}
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
echo "Fetching list of cache key"
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 )
## Setting this to not fail the workflow while deleting cache keys.
## Setting this to not fail the workflow while deleting cache keys.
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR

View file

@ -7,6 +7,23 @@ on:
- synchronize
- labeled
- unlabeled
paths-ignore:
- .gitignore
- CONTRIBUTORS
- LICENSE
- NOTICE
- README.md
- docs/**
- packaging/**
- platform/*apple*
- platform/*_android*
- platform/*_ios*
- platform/*_mac*
- platform/*_win*
- pyhelpers/**
- tools/**
- '!tools/python/test_server/**'
- xcode/**
# Cancels previous jobs if the same branch or PR was updated again.
concurrency:
@ -16,7 +33,7 @@ concurrency:
jobs:
should-run-check:
name: Should run coverage
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
outputs:
run-from-pr: ${{ steps.run-from-pr.outputs.run-from-pr }}
manually-triggered: ${{ steps.manually-triggered.outputs.manually-triggered }}
@ -42,7 +59,7 @@ jobs:
coverage:
needs: should-run-check
name: Generate coverage report
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: ${{ needs.should-run-check.outputs.run-from-pr == 'true' || needs.should-run-check.outputs.manually-triggered == 'true'}}
steps:
- name: Free disk space by removing .NET, Android and Haskell
@ -68,14 +85,16 @@ jobs:
libgl1-mesa-dev \
libglvnd-dev \
qt6-base-dev \
libfreetype-dev \
libharfbuzz-dev \
libqt6svg6-dev \
qt6-positioning-dev \
libqt6positioning6-plugins \
libqt6positioning6 \
llvm
pip install gcovr
llvm \
gcovr
- name: Configure
- name: Configure repository
shell: bash
run: ./configure.sh
@ -87,8 +106,8 @@ jobs:
- name: CMake
shell: bash
env:
CC: clang-14
CXX: clang++-14
CC: clang-18
CXX: clang++-18
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
# -g1 should slightly reduce build time.
@ -105,14 +124,14 @@ jobs:
shell: bash
working-directory: build
env:
# drape_tests - requires X Window
QT_QPA_PLATFORM: "offscreen"
# generator_integration_tests - https://github.com/organicmaps/organicmaps/issues/225
# opening_hours_integration_tests - https://github.com/organicmaps/organicmaps/issues/219
# opening_hours_supported_features_tests - https://github.com/organicmaps/organicmaps/issues/219
# routing_integration_tests - https://github.com/organicmaps/organicmaps/issues/221
# shaders_tests - https://github.com/organicmaps/organicmaps/issues/223
# world_feed_integration_tests - https://github.com/organicmaps/organicmaps/issues/215
CTEST_EXCLUDE_REGEX: "drape_tests|generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
CTEST_EXCLUDE_REGEX: "generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
run: |
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8

View file

@ -0,0 +1,30 @@
name: Validate .desktop file
on:
workflow_dispatch: # Manual trigger
pull_request:
paths:
- qt/res/app.organicmaps.desktop.desktop
- .github/workflows/desktop-file-check.yaml # Run check on self change
jobs:
validate-desktop-file:
name: Validate .desktop file
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
qt/res/app.organicmaps.desktop.desktop
- name: Install desktop-file-validate tool
shell: bash
run: |
sudo apt update -y
sudo apt install -y \
desktop-file-utils
- name: Validate desktop file
shell: bash
run: desktop-file-validate qt/res/app.organicmaps.desktop.desktop && echo "Successfully validated .desktop file"

View file

@ -33,9 +33,9 @@ on:
jobs:
ios-beta:
name: Apple TestFlight
runs-on: macos-14
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
LANG: en_US.UTF-8 # Fastlane complains that the terminal is using ASCII.
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
@ -52,18 +52,23 @@ jobs:
- name: Parallel submodules checkout
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Checkout private keys
uses: actions/checkout@v4
with:
repository: ${{ secrets.PRIVATE_REPO }}
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
ref: master
path: private.git
- name: Configure repo with private keys
- name: Restore beta keys
shell: bash
run: |
./configure.sh ./private.git
rm -rf ./private.git
mkdir -p xcode/keys
echo "$PRIVATE_H" | base64 -d > private.h
echo "$APPSTORE_JSON" | base64 -d > xcode/keys/appstore.json
echo "$CERTIFICATES_DEV_P12" | base64 -d > xcode/keys/CertificatesDev.p12
echo "$CERTIFICATES_DISTR_P12" | base64 -d > xcode/keys/CertificatesDistr.p12
env:
PRIVATE_H: ${{ secrets.PRIVATE_H }}
APPSTORE_JSON: ${{ secrets.APPSTORE_JSON }}
CERTIFICATES_DEV_P12: ${{ secrets.CERTIFICATES_DEV_P12 }}
CERTIFICATES_DISTR_P12: ${{ secrets.CERTIFICATES_DISTR_P12 }}
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Compile and upload to TestFlight
run: |

View file

@ -14,6 +14,11 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
iphone/metadata
tools/python/check_store_metadata.py
- name: Check metadata
run: ./tools/python/check_store_metadata.py ios

View file

@ -35,12 +35,13 @@ on:
jobs:
ios-check:
name: Build iOS
runs-on: macos-14
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
LANG: en_US.UTF-8 # Fastlane complains that the terminal is using ASCII.
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
TEST_RESULTS_BUNDLE_NAME: OMaps-Test-Results
strategy:
fail-fast: false
matrix:
@ -58,24 +59,48 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure ccache
uses: mikehardy/buildcache-action@v2.1.0
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:
cache_key: ${{ github.workflow }}-${{ matrix.buildType }}
key: xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.buildType }}-${{ github.sha }}
restore-keys: xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.buildType }}
- name: Compile
- name: Build and Run Tests (Debug)
if: matrix.buildType == 'Debug'
shell: bash
# Check for compilation errors.
run: |
xcodebuild \
CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \
xcodebuild test \
-workspace xcode/omim.xcworkspace \
-scheme OMaps \
-configuration ${{ matrix.buildType }} build \
'generic/platform=iOS' \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 16 Pro Max,OS=latest' \
-quiet \
-resultBundlePath ${{ env.TEST_RESULTS_BUNDLE_NAME }}.xcresult \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO
- name: Upload Test Results On Failure (Debug)
if: ${{ matrix.buildType == 'Debug' && failure() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.TEST_RESULTS_BUNDLE_NAME }}-${{ github.run_number }}.xcresult
path: ${{ env.TEST_RESULTS_BUNDLE_NAME }}.xcresult
if-no-files-found: error
- name: Build (Release)
if: matrix.buildType == 'Release'
shell: bash
run: |
xcodebuild build \
-workspace xcode/omim.xcworkspace \
-scheme OMaps \
-configuration Release \
-destination 'generic/platform=iOS' \
-quiet \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO

View file

@ -5,9 +5,9 @@ on:
jobs:
ios-release:
name: iOS Release
runs-on: macos-14
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
LANG: en_US.UTF-8 # Fastlane complains that the terminal is using ASCII.
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
@ -16,20 +16,13 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout private keys
uses: actions/checkout@v4
with:
repository: ${{ secrets.PRIVATE_REPO }}
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
ref: master
path: ./private.git
- name: Configure repo with private keys
- name: Restore release keys
shell: bash
run: |
mkdir -p xcode/keys/
cp -p ./private.git/xcode/keys/appstore.json xcode/keys/
rm -rf ./private.git
mkdir -p xcode/keys
echo "$APPSTORE_JSON" | base64 -d > xcode/keys/appstore.json
env:
APPSTORE_JSON: ${{ secrets.APPSTORE_JSON }}
- name: Checkout screenshots
uses: actions/checkout@v4

View file

@ -20,9 +20,9 @@ on:
- packaging/**
- platform/*apple*
- platform/*_android*
- platform/*_ios*
- platform/*_mac*
- platform/*_win*
- platform/*_ios*
- platform/*_mac*
- platform/*_win*
- pyhelpers/**
- tools/**
- '!tools/python/test_server/**'
@ -31,7 +31,7 @@ on:
jobs:
linux-no-unity:
name: Linux no unity build
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
# Cancels previous jobs if the same branch or PR was updated again.
concurrency:
group: ${{ github.workflow }}-no-unity-${{ github.event.pull_request.number || github.ref }}
@ -60,13 +60,18 @@ jobs:
ninja-build \
libgl1-mesa-dev \
libglvnd-dev \
libharfbuzz-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
qt6-base-dev \
libqt6svg6-dev \
qt6-positioning-dev \
libqt6positioning6-plugins \
libqt6positioning6
- name: Configure
- name: Configure repository
shell: bash
run: ./configure.sh
@ -78,8 +83,8 @@ jobs:
- name: CMake
shell: bash
env:
CC: clang-14
CXX: clang++-14
CC: clang-18
CXX: clang++-18
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
# -g1 should slightly reduce build time.
@ -94,11 +99,11 @@ jobs:
linux-matrix:
name: Linux builds and tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
compiler: [{ CXX: g++-12, CC: gcc-12 }, { CXX: clang++-14, CC: clang-14 }]
compiler: [{ CXX: g++-14, CC: gcc-14 }, { CXX: clang++-18, CC: clang-18 }]
CMAKE_BUILD_TYPE: [Debug, RelWithDebInfo]
# Cancels previous jobs if the same branch or PR was updated again.
concurrency:
@ -123,18 +128,21 @@ jobs:
run: |
sudo apt update -y
sudo apt install -y \
g++-12 \
gcc-12 \
ninja-build \
libgl1-mesa-dev \
libglvnd-dev \
libharfbuzz-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
qt6-base-dev \
libqt6svg6-dev \
qt6-positioning-dev \
libqt6positioning6-plugins \
libqt6positioning6
- name: Configure
- name: Configure repository
shell: bash
run: ./configure.sh
@ -165,14 +173,14 @@ jobs:
shell: bash
working-directory: build
env:
# drape_tests - requires X Window
QT_QPA_PLATFORM: "offscreen"
# generator_integration_tests - https://github.com/organicmaps/organicmaps/issues/225
# opening_hours_integration_tests - https://github.com/organicmaps/organicmaps/issues/219
# opening_hours_supported_features_tests - https://github.com/organicmaps/organicmaps/issues/219
# routing_integration_tests - https://github.com/organicmaps/organicmaps/issues/221
# shaders_tests - https://github.com/organicmaps/organicmaps/issues/223
# world_feed_integration_tests - https://github.com/organicmaps/organicmaps/issues/215
CTEST_EXCLUDE_REGEX: "drape_tests|generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
CTEST_EXCLUDE_REGEX: "generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
run: |
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8

View file

@ -30,9 +30,9 @@ on:
jobs:
macos-matrix:
name: macOS builds and tests
runs-on: macos-14
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_16.app/Contents/Developer
HOMEBREW_NO_ANALYTICS: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
strategy:
@ -57,7 +57,7 @@ jobs:
run: |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install ninja qt@6
- name: Configure
- name: Configure repository
shell: bash
run: ./configure.sh

22
.github/workflows/stale.yml vendored Normal file
View file

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

View file

@ -1,31 +0,0 @@
name: Validate translation strings
on:
workflow_dispatch: # Manual trigger
pull_request:
paths:
- .github/workflows/strings-check.yaml # Run check on self change
- data/strings/strings.txt
- data/strings/types_strings.txt
- data/strings/sound.txt
- data/countries_names.txt
- iphone/plist.txt
- tools/python/strings_utils.py
jobs:
validate-translation-strings:
name: Validate translation strings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3'
- name: Validate string files
shell: bash
run: |
for f in data/strings/strings.txt data/strings/types_strings.txt data/strings/sound.txt data/countries_names.txt iphone/plist.txt; do
./tools/python/strings_utils.py --validate $f -o
done;
git diff --exit-code

10
.gitignore vendored
View file

@ -16,10 +16,11 @@ screenlog.0
data/styles/*/*/out/*
data/resources-*_design/*
data/drules_proto_design.bin
data/drules_proto_default_design.bin
data/colors_design.txt
data/patterns_design.txt
data/bookmarks
data/edits.xml
# Compiled Python
*.pyc
@ -84,7 +85,7 @@ data/[0-9][0-9][0-9][0-9][0-9][0-9]
data/gps_track.dat
# temporary files for downloader
data/settings.ini
data/world_feed_integration_tests_data
data/test_data/world_feed_integration_tests_data
# benchmark results
data/benchmarks/*.trace
@ -123,6 +124,7 @@ tizen/*/.*
tizen/*/crash-info/*
.idea/*
.idea
!android/.idea/icon.svg
# Private repository files.
.private_repository_url
@ -145,6 +147,7 @@ iphone/Maps/app.omaps/
*.autosave
# CMake
cmake-build-*
build/
@ -175,6 +178,9 @@ tools/python/routing/etc/*.ini
/node_modules/
/package-lock.json
# Visual Studio
.vs
# VS Code
.vscode

15
.gitmodules vendored
View file

@ -4,15 +4,9 @@
[submodule "tools/kothic"]
path = tools/kothic
url = https://github.com/organicmaps/kothic.git
[submodule "tools/macdeployqtfix"]
path = tools/macdeployqtfix
url = https://github.com/aurelien-rainone/macdeployqtfix.git
[submodule "3party/protobuf/protobuf"]
path = 3party/protobuf/protobuf
url = https://github.com/organicmaps/protobuf.git
[submodule "tools/twine"]
path = tools/twine
url = https://github.com/organicmaps/twine.git
[submodule "3party/Vulkan-Headers"]
path = 3party/Vulkan-Headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git
@ -62,3 +56,12 @@
[submodule "3party/utfcpp"]
path = 3party/utfcpp
url = https://github.com/nemtrif/utfcpp.git
[submodule "3party/glfw"]
path = 3party/glfw
url = https://github.com/glfw/glfw.git
[submodule "3party/CMake-MetalShaderSupport"]
path = 3party/CMake-MetalShaderSupport
url = https://github.com/dpogue/CMake-MetalShaderSupport.git
[submodule "3party/imgui/imgui"]
path = 3party/imgui/imgui
url = https://github.com/ocornut/imgui

@ -0,0 +1 @@
Subproject commit 989857d2e5e54869c35ad06fb21a67d12a2dbc67

View file

@ -2,14 +2,15 @@
# Compatibility with CMake < 3.5 will be removed from a future version of CMake.
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)
if (WITH_SYSTEM_PROVIDED_3PARTY)
set(GFLAGS_USE_TARGET_NAMESPACE ON)
find_package(gflags REQUIRED GLOBAL)
else()
# Configure expat library.
if (NOT WITH_SYSTEM_PROVIDED_3PARTY)
# Suppress "Policy CMP0077 is not set: option() honors normal variables"
# for the expat options below.
# for the freetype, expat and jansson options.
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
# Suppress "Policy CMP0063 is not set: Honor visibility properties for all target types."
# for jansson
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
# Configure expat library.
set(EXPAT_BUILD_TOOLS OFF)
set(EXPAT_BUILD_EXAMPLES OFF)
set(EXPAT_BUILD_TESTS OFF)
@ -17,6 +18,9 @@ else()
set(EXPAT_BUILD_PKGCONFIG OFF)
set(EXPAT_ENABLE_INSTALL OFF)
set(EXPAT_SHARED_LIBS OFF)
set(EXPAT_GE OFF)
set(EXPAT_DTD OFF)
set(EXPAT_NS ON)
add_subdirectory(expat/expat)
# Configure Jansson library.
@ -27,6 +31,7 @@ else()
set(JANSSON_WITHOUT_TESTS ON)
add_subdirectory(jansson/jansson/)
target_include_directories(jansson INTERFACE "${PROJECT_BINARY_DIR}/3party/jansson/jansson/include")
add_library(jansson::jansson ALIAS jansson)
# Add gflags library.
add_subdirectory(gflags)
@ -37,22 +42,23 @@ else()
# Add protobuf library.
add_subdirectory(protobuf)
if (NOT PLATFORM_LINUX)
add_subdirectory(freetype)
add_subdirectory(icu)
add_subdirectory(harfbuzz)
endif()
add_library(utf8cpp INTERFACE)
add_library(utf8cpp::utf8cpp ALIAS utf8cpp)
target_include_directories(utf8cpp INTERFACE "${OMIM_ROOT}/3party/utfcpp/source")
endif()
add_subdirectory(agg)
add_subdirectory(bsdiff-courgette)
if (NOT PLATFORM_LINUX)
add_subdirectory(freetype)
add_subdirectory(icu)
endif()
add_subdirectory(harfbuzz)
add_subdirectory(liboauthcpp)
add_subdirectory(minizip)
add_subdirectory(open-location-code)
add_subdirectory(opening_hours)
add_subdirectory(sdf_image)
add_subdirectory(stb_image)
add_subdirectory(succinct)
@ -60,4 +66,19 @@ add_subdirectory(vulkan_wrapper)
if (PLATFORM_DESKTOP)
add_subdirectory(libtess2)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "")
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "")
set(GLFW_BUILD_TESTS OFF CACHE BOOL "")
set(GLFW_INSTALL OFF CACHE BOOL "")
set(GLFW_VULKAN_STATIC OFF CACHE BOOL "")
set(GLFW_BUILD_WAYLAND OFF CACHE BOOL "")
# Disable ARC for glfw and re-enable after it because it's globally set in the root CMakeLists.txt
set(CMAKE_OBJC_FLAGS "")
add_subdirectory(glfw)
set_target_properties(glfw PROPERTIES UNITY_BUILD OFF)
set_target_properties(glfw PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC NO)
set(CMAKE_OBJC_FLAGS -fobjc-arc)
add_subdirectory(imgui)
endif()

@ -1 +1 @@
Subproject commit 83e1a9ed8ce289cebb1c02c8167d663dc1befb24
Subproject commit 595c8d4794410a4e64b98dc58d27c0310d7ea2fd

@ -1 +1 @@
Subproject commit 564e2ac16907019696cdaba8a93e3588ec596062
Subproject commit ab7968a0bbcf574a7859240d1d8443f58ed6f6cf

@ -1 +1 @@
Subproject commit 654d2de0da85662fcc7644a7acd7c2dd2cfb21f0
Subproject commit a0dc7d5efacbe2b744211289c276e2b9168bd4ae

@ -1 +1 @@
Subproject commit efec03532ef65984786e5e32dbc81f6e6a55a115
Subproject commit 252029ddac664370bdda3f0761675785d92a1573

@ -1 +1 @@
Subproject commit 1a8060257a96401a9555a476bd13c3a87502c9b5
Subproject commit 42629f744269e004907a6fb4f16c6c7f69acc586

@ -1 +1 @@
Subproject commit e4586d960f339cf75e2e0b34aee30a0ed8353c0d
Subproject commit 97069edd163b66ce11e8152bee3055b2fa627e15

1
3party/glfw Submodule

@ -0,0 +1 @@
Subproject commit 21fea01161e0d6b70c0c5c1f52dc8e7a7df14a50

View file

@ -17,6 +17,7 @@ target_compile_options(${PROJECT_NAME}
-fno-rtti
-fno-exceptions
-fno-threadsafe-statics
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wno-format-pedantic>
)
target_compile_definitions(${PROJECT_NAME}
@ -36,3 +37,5 @@ target_compile_definitions(${PROJECT_NAME}
)
target_link_libraries(${PROJECT_NAME} Freetype::Freetype)
add_library(harfbuzz::harfbuzz ALIAS harfbuzz)

@ -1 +1 @@
Subproject commit e8eb1dc5ff695427abc137d3d15c4eec64ab6c78
Subproject commit 788b469ad5e5f78611f665b6eb17afd0eb040f21

View file

@ -32,10 +32,13 @@ add_library(icuuc
icu/icu4c/source/common/locbased.h
icu/icu4c/source/common/locid.cpp
icu/icu4c/source/common/loclikely.cpp
icu/icu4c/source/common/loclikelysubtags.cpp
icu/icu4c/source/common/loclikelysubtags.h
icu/icu4c/source/common/locmap.cpp
icu/icu4c/source/common/locutil.cpp
icu/icu4c/source/common/locutil.h
icu/icu4c/source/common/lsr.h
icu/icu4c/source/common/lsr.cpp
icu/icu4c/source/common/messageimpl.h
icu/icu4c/source/common/msvcres.h
icu/icu4c/source/common/mutex.h

@ -1 +1 @@
Subproject commit 680f521746a3bd6a86f25f25ee50a62d88b489cf
Subproject commit 7750081bda4b3bc1768ae03849ec70f67ea10625

View file

@ -0,0 +1,16 @@
project(imgui)
set(SRC
imgui/imgui_draw.cpp
imgui/imgui_tables.cpp
imgui/imgui_widgets.cpp
imgui/imgui.cpp
imgui/backends/imgui_impl_glfw.cpp
)
add_library(${PROJECT_NAME} ${SRC})
target_include_directories(${PROJECT_NAME}
PRIVATE ${OMIM_ROOT}/3party/glfw/include
PUBLIC ${OMIM_ROOT}/3party/imgui/imgui
PUBLIC .
)

1
3party/imgui/imgui Submodule

@ -0,0 +1 @@
Subproject commit 6982ce43f5b143c5dce5fab0ce07dd4867b705ae

@ -1 +1 @@
Subproject commit e23f5580072cb64ce3ab27de2b5110d7ac252424
Subproject commit 61fc3d0e28e1a35410af42e329cd977095ec32d2

View file

@ -1,9 +0,0 @@
# Build (by)products
build/CMakeCache.txt
build/CMakeFiles
build/Makefile
build/cmake_install.cmake
build/liboauthcpp.a
build/simple_auth
build/simple_request
build/tests

View file

@ -1,21 +0,0 @@
project(oauthcpp)
set(SRC
include/liboauthcpp/liboauthcpp.h
src/base64.cpp
src/HMAC_SHA1.cpp
src/SHA1.cpp
src/urlencode.cpp
src/liboauthcpp.cpp
)
add_library(${PROJECT_NAME} ${SRC})
target_include_directories(${PROJECT_NAME}
PRIVATE src
PUBLIC include
)
target_compile_options(${PROJECT_NAME}
PRIVATE $<$<CXX_COMPILER_ID:AppleClang,Clang>:-Wno-shorten-64-to-32>
)

View file

@ -1,21 +0,0 @@
Copyright (c) 2011 Stanford University (liboauthcpp)
Copyright (C) 2011 by swatkat (swatkat.thinkdigitATgmailDOTcom) (libtwitcurl)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,172 +0,0 @@
liboauthcpp
-----------
liboauthcpp is a pure C++ library for performing OAuth requests. It
doesn't contain any networking code -- you provide for performing HTTP
requests yourself, however you like -- instead focusing on performing
OAuth-specific functionality and providing a nice interface for it.
If you already have infrastructure for making HTTP requests and are
looking to add OAuth support, liboauthcpp is for you.
liboauthcpp currently implements OAuth 1.0a (see
http://tools.ietf.org/html/rfc5849).
Buildbot
--------
[![Build Status](https://secure.travis-ci.org/sirikata/liboauthcpp.png)](http://travis-ci.org/sirikata/liboauthcpp)
Requirements
------------
You should only need:
* CMake
* A C++ compiler for your platform (e.g. g++, Microsoft Visual C++)
Compiling
---------
The build process is simple:
cd liboauthcpp
cd build
cmake .
make # or open Visual Studio and build the solution
If your own project uses CMake you can also include
build/CMakeLists.txt directly into your project and reference the
target "oauthcpp", a static library, in your project.
Percent (URL) Encoding
----------------------
To get correct results, you need to pass your URL properly encoded to
liboauthcpp. If you are not at all familiar, you should probably start
by reading the [URI Spec](http://tools.ietf.org/html/rfc3986), especially
Section 2. Alternatively,
[this article](http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding)
gives a more readable overview.
The basic idea is that there are 3 classes of characters: reserved,
unreserved, and other. Reserved characters are special characters that
are used in the URI syntax itself, e.g. ':' (after the scheme), '/'
(the hierarchical path separator), and '?' (prefixing the query
string). Unreserved characters are characters that are always safe to
include unencoded, e.g. the alphanumerics. Other characters must
always be encoded, mainly covering special characters like ' ', '<' or
'>', and '{' or '}'.
The basic rule is that reserved characters must be encoded if they
appear in any part of the URI when not being used as a
separator. Unreserved characters are always safe. And the other
characters they didn't know if they would be safe or not so they must
always be encoded.
Unfortunately, the reserved set is a bit more complicated. They are
broken down into 'general delimiters' and 'sub delimiters'. The ones
already mentioned, like ':', can appear in many forms of URIs (say,
http, ftp, about, gopher, mailto, etc. Those are called general
delimiters. Others (e.g. '(', ')', '!', '$', '+', ',', '=', and more)
are called subdelimiters because their use depends on the URI
scheme. Worse, their use depends on the *part of the URI*. Depending
on the particular URI scheme, these may or may not have to be encoded,
and it might also depend on where they appear. (As an example, an '&'
in an http URI isn't an issue if it appears in the path -- before the
query string -- i.e. before a '?' appears. Worse, '=' can appear unencoded in
the path, or in a query parameter value, but not in a query parameter key since
it would be interpreted as the end of the key.)
*Additionally*, in many cases it is permitted to encode a character
unnecessarily and the result is supposed to be the same. This means
that it's possible to percent encode some URLs in multiple ways
(e.g. encoding the unreserved set unnecessarily). It is possible, but not
guaranteed, that if you pass *exactly* the same URI to liboauthcpp and the
OAuth server, it will handle it regardless of the variant of encoding, so long
as it is a valid encoding.
The short version: percent encoding a URL properly is non-trivial and
you can even encode the same URL multiple ways, but has to be done
correctly so that the OAuth signature can be computed. Sadly,
"correctly" in this case really means "in whatever way the server your
interacting with wants it encoded".
Internally, liboauthcpp needs to do another step of percent encoding,
but the OAuth spec is very precise about how that works (none of these
scheme-dependent issues). liboauth applies this percent encoding, but
assumes that you have encoded your URLs properly. This assumption
makes sense since the actual request is made separately, and the URI
has to be specified in it, so you should already have a form which the
server will accept.
However, in order to aid you, a very simple percent encoding API is exposed. It
should help you encode URLs minimally and in a way that many services accept. In
most cases you should use `HttpPercentEncodePath()`,
`HttpPercentEncodeQueryKey()`, and `HttpPercentEncodeQueryValue()` to encode
those parts of your http URL, then combine them and pass them to liboauthcpp for
signing.
Thread Safety
-------------
liboauthcpp doesn't provide any thread safety guarantees. That said, there is
very little shared state, and some classes (e.g. Consumer) are naturally
immutable and therefore thread safe. Similarly, nearly the entire library uses
no static/shared state, so as long as you create separate objects for separate
threads, you should be safe.
The one exception is nonces: the Client class needs to generate a nonce for
authorization. To do so, the random number generator needs to be seeded. We do
this with the current time, but fast, repeated use of the Client class from
different threads could result in the same nonce. To avoid requiring an entire
thread library just for this one case, you can call Client::initialize()
explicitly before using the Client from multiple threads. For single-threaded
use, you are not required to call it.
Demos
-----
There are two demos included in the demos/ directory, and they are built by
default with the instructions above. In both, you enter key/secret information
and it generates URLs for you to visit (in a browser) and copy data back into
the program.
simple_auth should be executed first. It starts with only a consumer key and
secret and performs 3-legged auth: you enter in consumer keys, it generates URLs
to authenticate the user and generate access tokens. It requires 3 steps:
request_token, authorize, and access_token (which correspond the URLs
accessed). At the end of this process, you'll be provided an access key/secret
pair which you can use to access actual resources.
simple_request actually does something useful now that your application is
authorized. Enter your consumer key/secret and the access key/secret from
simple_auth (or which you've generated elsewhere) and it will generate a URL you
can use to access your home timeline in JSON format. It adds a parameter to ask
for only 5 entries (demonstrating that signing works properly over additional
query parameters). This is a one-step process -- it just gives you the URL and
you get the results in your browser.
In both, the URLs accessed are specified at the top of the demo
files. simple_auth requires URLs for request_token, authorize_url, and
access_token. Some providers require additional parameters (notably an
oauth_callback for Twitter, even if its out of band, or oob), which you can also
specify in that location. simple_request only needs the URL of the resource
being accessed (i.e. the URL for the home_timeline JSON data used by default in
the demo), with optional parameters stored as a query string.
Both demos only use GET requests with query strings, but all HTTP methods
(e.g. POST, PUT, DELETE) and approaches to sending parameters (e.g. HTTP
headers, url-encoded body) should be supported in the API.
License
-------
liboauthcpp is MIT licensed. See the LICENSE file for more details.
liboauthcpp is mostly taken from libtwitcurl
(http://code.google.com/p/twitcurl/), which is similarly licensed. It
mostly serves to isolate the OAuth code from libtwitcurl's Twitter and
cURL specific code.
libtwitcurl also borrowed code from other projects:
twitcurl uses HMAC_SHA1 from http://www.codeproject.com/KB/recipes/HMACSHA1class.aspx
twitcurl uses base64 from http://www.adp-gmbh.ch/cpp/common/base64.html

View file

@ -1,286 +0,0 @@
#ifndef __LIBOAUTHCPP_LIBOAUTHCPP_H__
#define __LIBOAUTHCPP_LIBOAUTHCPP_H__
#include <string>
#include <list>
#include <map>
#include <stdexcept>
#include <ctime>
namespace OAuth {
namespace Http {
typedef enum _RequestType
{
Invalid = 0,
Head,
Get,
Post,
Delete,
Put
} RequestType;
} // namespace Http
typedef std::list<std::string> KeyValueList;
typedef std::multimap<std::string, std::string> KeyValuePairs;
typedef enum _LogLevel
{
LogLevelNone = 0,
LogLevelDebug = 1
} LogLevel;
/** Set the log level. Log messages are sent to stderr. Currently, and for the
* foreseeable future, logging only consists of debug messages to help track
* down protocol implementation issues.
*/
void SetLogLevel(LogLevel lvl);
/** Deprecated. Complete percent encoding of URLs. Equivalent to
* PercentEncode.
*/
std::string URLEncode(const std::string& decoded);
/** Percent encode a string value. This version is *thorough* about
* encoding: it encodes all reserved characters (even those safe in
* http URLs) and "other" characters not specified by the URI
* spec. If you're looking to encode http:// URLs, see the
* HttpEncode* functions.
*/
std::string PercentEncode(const std::string& decoded);
/** Percent encodes the path portion of an http URL (i.e. the /foo/bar
* in http://foo/bar?a=1&b=2). This encodes minimally, so reserved
* subdelimiters that have no meaning in the path are *not* encoded.
*/
std::string HttpEncodePath(const std::string& decoded);
/** Percent encodes a query string key in an http URL (i.e. 'a', 'b' in
* http://foo/bar?a=1&b=2). This encodes minimally, so reserved subdelimiters
* that have no meaning in the query string are *not* encoded.
*/
std::string HttpEncodeQueryKey(const std::string& decoded);
/** Percent encodes a query string value in an http URL (i.e. '1', '2' in
* http://foo/bar?a=1&b=2). This encodes minimally, so reserved subdelimiters
* that have no meaning in the query string are *not* encoded.
*/
std::string HttpEncodeQueryValue(const std::string& decoded);
/** Parses key value pairs into a map.
* \param encoded the encoded key value pairs, i.e. the url encoded parameters
* \returns a map of string keys to string values
* \throws ParseError if the encoded data cannot be decoded
*/
KeyValuePairs ParseKeyValuePairs(const std::string& encoded);
class ParseError : public std::runtime_error {
public:
ParseError(const std::string msg)
: std::runtime_error(msg)
{}
};
class MissingKeyError : public std::runtime_error {
public:
MissingKeyError(const std::string msg)
: std::runtime_error(msg)
{}
};
/** A consumer of OAuth-protected services. It is the client to an
* OAuth service provider and is usually registered with the service
* provider, resulting in a consumer *key* and *secret* used to
* identify the consumer. The key is included in all requests and the
* secret is used to *sign* all requests. Signed requests allow the
* consumer to securely perform operations, including kicking off
* three-legged authentication to enable performing operations on
* behalf of a user of the service provider.
*/
class Consumer {
public:
Consumer(const std::string& key, const std::string& secret);
const std::string& key() const { return mKey; }
const std::string& secret() const { return mSecret; }
private:
const std::string mKey;
const std::string mSecret;
};
/** An OAuth credential used to request authorization or a protected
* resource.
*
* Tokens in OAuth comprise a *key* and a *secret*. The key is
* included in requests to identify the token being used, but the
* secret is used only in the signature, to prove that the requester
* is who the server gave the token to.
*
* When first negotiating the authorization, the consumer asks for a
* *request token* that the live user authorizes with the service
* provider. The consumer then exchanges the request token for an
* *access token* that can be used to access protected resources.
*/
class Token {
public:
Token(const std::string& key, const std::string& secret);
Token(const std::string& key, const std::string& secret, const std::string& pin);
/** Construct a token, extracting the key and secret from a set of
* key-value pairs (e.g. those parsed from an request or access
* token request).
*/
static Token extract(const KeyValuePairs& response);
/** Construct a token, extracting the key and secret from a raw,
* encoded response.
*/
static Token extract(const std::string& requestTokenResponse);
const std::string& key() const { return mKey; }
const std::string& secret() const { return mSecret; }
const std::string& pin() const { return mPin; }
void setPin(const std::string& pin_) { mPin = pin_; }
private:
const std::string mKey;
const std::string mSecret;
std::string mPin;
};
class Client {
public:
/** Perform static initialization. This will be called automatically, but
* you can call it explicitly to ensure thread safety. If you do not call
* this explicitly before using the Client class, the same nonce may be
* generated twice.
*/
static void initialize();
/** Alternative initialize method which lets you specify the seed and
* control the timestamp used in generating signatures. This only exists
* for testing purposes and should not be used in practice.
*/
static void initialize(int nonce, time_t timestamp);
/** Exposed for testing only.
*/
static void __resetInitialize();
/** Construct an OAuth Client using only a consumer key and
* secret. You can use this to start a three-legged
* authentication (to acquire an access token for a user) or for
* simple two-legged authentication (signing with empty access
* token info).
*
* \param consumer Consumer information. The caller must ensure
* it remains valid during the lifetime of this object
*/
Client(const Consumer* consumer);
/** Construct an OAuth Client with consumer key and secret (yours)
* and access token key and secret (acquired and stored during
* three-legged authentication).
*
* \param consumer Consumer information. The caller must ensure
* it remains valid during the lifetime of this object
* \param token Access token information. The caller must ensure
* it remains valid during the lifetime of this object
*/
Client(const Consumer* consumer, const Token* token);
~Client();
/** Build an OAuth HTTP header for the given request. This version provides
* only the field value.
*
* \param eType the HTTP request type, e.g. GET or POST
* \param rawUrl the raw request URL (should include query parameters)
* \param rawData the raw HTTP request data (can be empty)
* \param includeOAuthVerifierPin if true, adds oauth_verifier parameter
* \returns a string containing the HTTP header
*/
std::string getHttpHeader(const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData = "",
const bool includeOAuthVerifierPin = false);
/** Build an OAuth HTTP header for the given request. This version gives a
* fully formatted header, i.e. including the header field name.
*
* \param eType the HTTP request type, e.g. GET or POST
* \param rawUrl the raw request URL (should include query parameters)
* \param rawData the raw HTTP request data (can be empty)
* \param includeOAuthVerifierPin if true, adds oauth_verifier parameter
* \returns a string containing the HTTP header
*/
std::string getFormattedHttpHeader(const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData = "",
const bool includeOAuthVerifierPin = false);
/** Build an OAuth HTTP header for the given request.
*
* \param eType the HTTP request type, e.g. GET or POST
* \param rawUrl the raw request URL (should include query parameters)
* \param rawData the raw HTTP request data (can be empty)
* \param includeOAuthVerifierPin if true, adds oauth_verifier parameter
* \returns a string containing the query string, including the query
* parameters in the rawUrl
*/
std::string getURLQueryString(const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData = "",
const bool includeOAuthVerifierPin = false);
private:
/** Disable default constructur -- must provide consumer
* information.
*/
Client();
static bool initialized;
static int testingNonce;
static time_t testingTimestamp;
/* OAuth data */
const Consumer* mConsumer;
const Token* mToken;
std::string m_nonce;
std::string m_timeStamp;
/* OAuth related utility methods */
bool buildOAuthTokenKeyValuePairs( const bool includeOAuthVerifierPin, /* in */
const std::string& rawData, /* in */
const std::string& oauthSignature, /* in */
KeyValuePairs& keyValueMap /* out */,
const bool urlEncodeValues /* in */,
const bool generateTimestamp /* in */);
bool getStringFromOAuthKeyValuePairs( const KeyValuePairs& rawParamMap, /* in */
std::string& rawParams, /* out */
const std::string& paramsSeperator /* in */ );
typedef enum _ParameterStringType {
QueryStringString,
AuthorizationHeaderString
} ParameterStringType;
// Utility for building OAuth HTTP header or query string. The string type
// controls the separator and also filters parameters: for query strings,
// all parameters are included. For HTTP headers, only auth parameters are
// included.
std::string buildOAuthParameterString(
ParameterStringType string_type,
const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData,
const bool includeOAuthVerifierPin);
bool getSignature( const Http::RequestType eType, /* in */
const std::string& rawUrl, /* in */
const KeyValuePairs& rawKeyValuePairs, /* in */
std::string& oAuthSignature /* out */ );
void generateNonceTimeStamp();
};
} // namespace OAuth
#endif // __LIBOAUTHCPP_LIBOAUTHCPP_H__

View file

@ -1,59 +0,0 @@
//******************************************************************************
//* HMAC_SHA1.cpp : Implementation of HMAC SHA1 algorithm
//* Comfort to RFC 2104
//*
//******************************************************************************
#include "HMAC_SHA1.h"
#include <iostream>
#include <memory>
void CHMAC_SHA1::HMAC_SHA1(BYTE *text, int text_len, BYTE *key, int key_len, BYTE *digest)
{
memset(SHA1_Key, 0, SHA1_BLOCK_SIZE);
/* repeated 64 times for values in ipad and opad */
memset(m_ipad, 0x36, sizeof(m_ipad));
memset(m_opad, 0x5c, sizeof(m_opad));
/* STEP 1 */
if (key_len > SHA1_BLOCK_SIZE)
{
CSHA1::Reset();
CSHA1::Update((UINT_8 *)key, key_len);
CSHA1::Final();
CSHA1::GetHash((UINT_8 *)SHA1_Key);
}
else
memcpy(SHA1_Key, key, key_len);
/* STEP 2 */
for (int i=0; i<(int)sizeof(m_ipad); i++)
{
m_ipad[i] ^= SHA1_Key[i];
}
/* STEP 4 */
CSHA1::Reset();
CSHA1::Update((UINT_8 *)m_ipad, sizeof(m_ipad));
CSHA1::Update((UINT_8 *)text, text_len);
CSHA1::Final();
char szReport[SHA1_DIGEST_LENGTH];
CSHA1::GetHash((UINT_8 *)szReport);
/* STEP 5 */
for (int j=0; j<(int)sizeof(m_opad); j++)
{
m_opad[j] ^= SHA1_Key[j];
}
/*STEP 7 */
CSHA1::Reset();
CSHA1::Update((UINT_8 *)m_opad, sizeof(m_opad));
CSHA1::Update((UINT_8 *)szReport, SHA1_DIGEST_LENGTH);
CSHA1::Final();
CSHA1::GetHash((UINT_8 *)digest);
}

View file

@ -1,37 +0,0 @@
/*
100% free public domain implementation of the HMAC-SHA1 algorithm
by Chien-Chung, Chung (Jim Chung) <jimchung1221@gmail.com>
*/
#ifndef __HMAC_SHA1_H__
#define __HMAC_SHA1_H__
#include "SHA1.h"
typedef unsigned char BYTE ;
class CHMAC_SHA1 : public CSHA1
{
public:
enum {
SHA1_DIGEST_LENGTH = 20,
SHA1_BLOCK_SIZE = 64
} ;
private:
BYTE m_ipad[SHA1_BLOCK_SIZE];
BYTE m_opad[SHA1_BLOCK_SIZE];
// This holds one SHA1 block's worth of data, zero padded if necessary.
char SHA1_Key[SHA1_BLOCK_SIZE];
public:
CHMAC_SHA1() {}
void HMAC_SHA1(BYTE *text, int text_len, BYTE *key, int key_len, BYTE *digest);
};
#endif /* __HMAC_SHA1_H__ */

View file

@ -1,277 +0,0 @@
/*
100% free public domain implementation of the SHA-1 algorithm
by Dominik Reichl <dominik.reichl@t-online.de>
Web: http://www.dominik-reichl.de/
Version 1.6 - 2005-02-07 (thanks to Howard Kapustein for patches)
- You can set the endianness in your files, no need to modify the
header file of the CSHA1 class any more
- Aligned data support
- Made support/compilation of the utility functions (ReportHash
and HashFile) optional (useful, if bytes count, for example in
embedded environments)
Version 1.5 - 2005-01-01
- 64-bit compiler compatibility added
- Made variable wiping optional (define SHA1_WIPE_VARIABLES)
- Removed unnecessary variable initializations
- ROL32 improvement for the Microsoft compiler (using _rotl)
======== Test Vectors (from FIPS PUB 180-1) ========
SHA1("abc") =
A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
SHA1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") =
84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
SHA1(A million repetitions of "a") =
34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
*/
#include "SHA1.h"
#include <cassert>
#ifdef SHA1_UTILITY_FUNCTIONS
#define SHA1_MAX_FILE_BUFFER 8000
#endif
// Rotate x bits to the left
#ifndef ROL32
#ifdef _MSC_VER
#define ROL32(_val32, _nBits) _rotl(_val32, _nBits)
#else
#define ROL32(_val32, _nBits) (((_val32)<<(_nBits))|((_val32)>>(32-(_nBits))))
#endif
#endif
#ifdef SHA1_LITTLE_ENDIAN
#define SHABLK0(i) (m_block->l[i] = \
(ROL32(m_block->l[i],24) & 0xFF00FF00) | (ROL32(m_block->l[i],8) & 0x00FF00FF))
#else
#define SHABLK0(i) (m_block->l[i])
#endif
#define SHABLK(i) (m_block->l[i&15] = ROL32(m_block->l[(i+13)&15] ^ m_block->l[(i+8)&15] \
^ m_block->l[(i+2)&15] ^ m_block->l[i&15],1))
// SHA-1 rounds
#define _R0(v,w,x,y,z,i) { z+=((w&(x^y))^y)+SHABLK0(i)+0x5A827999+ROL32(v,5); w=ROL32(w,30); }
#define _R1(v,w,x,y,z,i) { z+=((w&(x^y))^y)+SHABLK(i)+0x5A827999+ROL32(v,5); w=ROL32(w,30); }
#define _R2(v,w,x,y,z,i) { z+=(w^x^y)+SHABLK(i)+0x6ED9EBA1+ROL32(v,5); w=ROL32(w,30); }
#define _R3(v,w,x,y,z,i) { z+=(((w|x)&y)|(w&x))+SHABLK(i)+0x8F1BBCDC+ROL32(v,5); w=ROL32(w,30); }
#define _R4(v,w,x,y,z,i) { z+=(w^x^y)+SHABLK(i)+0xCA62C1D6+ROL32(v,5); w=ROL32(w,30); }
CSHA1::CSHA1()
{
m_block = (SHA1_WORKSPACE_BLOCK *)m_workspace;
Reset();
}
CSHA1::~CSHA1()
{
Reset();
}
void CSHA1::Reset()
{
// SHA1 initialization constants
m_state[0] = 0x67452301;
m_state[1] = 0xEFCDAB89;
m_state[2] = 0x98BADCFE;
m_state[3] = 0x10325476;
m_state[4] = 0xC3D2E1F0;
m_count[0] = 0;
m_count[1] = 0;
}
void CSHA1::Transform(UINT_32 *state, UINT_8 *buffer)
{
// Copy state[] to working vars
UINT_32 a = state[0], b = state[1], c = state[2], d = state[3], e = state[4];
memcpy(m_block, buffer, 64);
// 4 rounds of 20 operations each. Loop unrolled.
_R0(a,b,c,d,e, 0); _R0(e,a,b,c,d, 1); _R0(d,e,a,b,c, 2); _R0(c,d,e,a,b, 3);
_R0(b,c,d,e,a, 4); _R0(a,b,c,d,e, 5); _R0(e,a,b,c,d, 6); _R0(d,e,a,b,c, 7);
_R0(c,d,e,a,b, 8); _R0(b,c,d,e,a, 9); _R0(a,b,c,d,e,10); _R0(e,a,b,c,d,11);
_R0(d,e,a,b,c,12); _R0(c,d,e,a,b,13); _R0(b,c,d,e,a,14); _R0(a,b,c,d,e,15);
_R1(e,a,b,c,d,16); _R1(d,e,a,b,c,17); _R1(c,d,e,a,b,18); _R1(b,c,d,e,a,19);
_R2(a,b,c,d,e,20); _R2(e,a,b,c,d,21); _R2(d,e,a,b,c,22); _R2(c,d,e,a,b,23);
_R2(b,c,d,e,a,24); _R2(a,b,c,d,e,25); _R2(e,a,b,c,d,26); _R2(d,e,a,b,c,27);
_R2(c,d,e,a,b,28); _R2(b,c,d,e,a,29); _R2(a,b,c,d,e,30); _R2(e,a,b,c,d,31);
_R2(d,e,a,b,c,32); _R2(c,d,e,a,b,33); _R2(b,c,d,e,a,34); _R2(a,b,c,d,e,35);
_R2(e,a,b,c,d,36); _R2(d,e,a,b,c,37); _R2(c,d,e,a,b,38); _R2(b,c,d,e,a,39);
_R3(a,b,c,d,e,40); _R3(e,a,b,c,d,41); _R3(d,e,a,b,c,42); _R3(c,d,e,a,b,43);
_R3(b,c,d,e,a,44); _R3(a,b,c,d,e,45); _R3(e,a,b,c,d,46); _R3(d,e,a,b,c,47);
_R3(c,d,e,a,b,48); _R3(b,c,d,e,a,49); _R3(a,b,c,d,e,50); _R3(e,a,b,c,d,51);
_R3(d,e,a,b,c,52); _R3(c,d,e,a,b,53); _R3(b,c,d,e,a,54); _R3(a,b,c,d,e,55);
_R3(e,a,b,c,d,56); _R3(d,e,a,b,c,57); _R3(c,d,e,a,b,58); _R3(b,c,d,e,a,59);
_R4(a,b,c,d,e,60); _R4(e,a,b,c,d,61); _R4(d,e,a,b,c,62); _R4(c,d,e,a,b,63);
_R4(b,c,d,e,a,64); _R4(a,b,c,d,e,65); _R4(e,a,b,c,d,66); _R4(d,e,a,b,c,67);
_R4(c,d,e,a,b,68); _R4(b,c,d,e,a,69); _R4(a,b,c,d,e,70); _R4(e,a,b,c,d,71);
_R4(d,e,a,b,c,72); _R4(c,d,e,a,b,73); _R4(b,c,d,e,a,74); _R4(a,b,c,d,e,75);
_R4(e,a,b,c,d,76); _R4(d,e,a,b,c,77); _R4(c,d,e,a,b,78); _R4(b,c,d,e,a,79);
// Add the working vars back into state
state[0] += a;
state[1] += b;
state[2] += c;
state[3] += d;
state[4] += e;
// Wipe variables
#ifdef SHA1_WIPE_VARIABLES
a = b = c = d = e = 0;
#endif
}
// Use this function to hash in binary data and strings
void CSHA1::Update(UINT_8 *data, UINT_32 len)
{
UINT_32 i, j;
j = (m_count[0] >> 3) & 63;
if((m_count[0] += len << 3) < (len << 3)) m_count[1]++;
m_count[1] += (len >> 29);
if((j + len) > 63)
{
i = 64 - j;
memcpy(&m_buffer[j], data, i);
Transform(m_state, m_buffer);
for(; i + 63 < len; i += 64) Transform(m_state, &data[i]);
j = 0;
}
else i = 0;
memcpy(&m_buffer[j], &data[i], len - i);
}
#ifdef SHA1_UTILITY_FUNCTIONS
// Hash in file contents
bool CSHA1::HashFile(char *szFileName)
{
unsigned long ulFileSize, ulRest, ulBlocks;
unsigned long i;
UINT_8 uData[SHA1_MAX_FILE_BUFFER];
FILE *fIn;
if(szFileName == NULL) return false;
fIn = fopen(szFileName, "rb");
if(fIn == NULL) return false;
fseek(fIn, 0, SEEK_END);
ulFileSize = (unsigned long)ftell(fIn);
fseek(fIn, 0, SEEK_SET);
if(ulFileSize != 0)
{
ulBlocks = ulFileSize / SHA1_MAX_FILE_BUFFER;
ulRest = ulFileSize % SHA1_MAX_FILE_BUFFER;
}
else
{
ulBlocks = 0;
ulRest = 0;
}
for(i = 0; i < ulBlocks; i++)
{
size_t nread = fread(uData, 1, SHA1_MAX_FILE_BUFFER, fIn);
assert(nread == SHA1_MAX_FILE_BUFFER);
Update((UINT_8 *)uData, SHA1_MAX_FILE_BUFFER);
}
if(ulRest != 0)
{
size_t nread = fread(uData, 1, ulRest, fIn);
assert(nread == ulRest);
Update((UINT_8 *)uData, ulRest);
}
fclose(fIn); fIn = NULL;
return true;
}
#endif
void CSHA1::Final()
{
UINT_32 i;
UINT_8 finalcount[8];
for(i = 0; i < 8; i++)
finalcount[i] = (UINT_8)((m_count[((i >= 4) ? 0 : 1)]
>> ((3 - (i & 3)) * 8) ) & 255); // Endian independent
Update((UINT_8 *)"\200", 1);
while ((m_count[0] & 504) != 448)
Update((UINT_8 *)"\0", 1);
Update(finalcount, 8); // Cause a SHA1Transform()
for(i = 0; i < 20; i++)
{
m_digest[i] = (UINT_8)((m_state[i >> 2] >> ((3 - (i & 3)) * 8) ) & 255);
}
// Wipe variables for security reasons
#ifdef SHA1_WIPE_VARIABLES
i = 0;
memset(m_buffer, 0, 64);
memset(m_state, 0, 20);
memset(m_count, 0, 8);
memset(finalcount, 0, 8);
Transform(m_state, m_buffer);
#endif
}
#ifdef SHA1_UTILITY_FUNCTIONS
// Get the final hash as a pre-formatted string
void CSHA1::ReportHash(char *szReport, unsigned char uReportType)
{
unsigned char i;
char szTemp[16];
if(szReport == NULL) return;
if(uReportType == REPORT_HEX)
{
snprintf(szTemp, sizeof(szTemp), "%02X", m_digest[0]);
strcat(szReport, szTemp);
for(i = 1; i < 20; i++)
{
snprintf(szTemp, sizeof(szTemp), " %02X", m_digest[i]);
strcat(szReport, szTemp);
}
}
else if(uReportType == REPORT_DIGIT)
{
snprintf(szTemp, sizeof(szTemp), "%u", m_digest[0]);
strcat(szReport, szTemp);
for(i = 1; i < 20; i++)
{
snprintf(szTemp, sizeof(szTemp), " %u", m_digest[i]);
strcat(szReport, szTemp);
}
}
else strcpy(szReport, "Error: Unknown report type!");
}
#endif
// Get the raw message digest
void CSHA1::GetHash(UINT_8 *puDest)
{
memcpy(puDest, m_digest, 20);
}

View file

@ -1,148 +0,0 @@
/*
100% free public domain implementation of the SHA-1 algorithm
by Dominik Reichl <dominik.reichl@t-online.de>
Web: http://www.dominik-reichl.de/
Version 1.6 - 2005-02-07 (thanks to Howard Kapustein for patches)
- You can set the endianness in your files, no need to modify the
header file of the CSHA1 class any more
- Aligned data support
- Made support/compilation of the utility functions (ReportHash
and HashFile) optional (useful, if bytes count, for example in
embedded environments)
Version 1.5 - 2005-01-01
- 64-bit compiler compatibility added
- Made variable wiping optional (define SHA1_WIPE_VARIABLES)
- Removed unnecessary variable initializations
- ROL32 improvement for the Microsoft compiler (using _rotl)
======== Test Vectors (from FIPS PUB 180-1) ========
SHA1("abc") =
A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
SHA1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") =
84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
SHA1(A million repetitions of "a") =
34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
*/
#ifndef ___SHA1_HDR___
#define ___SHA1_HDR___
#if !defined(SHA1_UTILITY_FUNCTIONS) && !defined(SHA1_NO_UTILITY_FUNCTIONS)
#define SHA1_UTILITY_FUNCTIONS
#endif
#include <memory.h> // Needed for memset and memcpy
#ifdef SHA1_UTILITY_FUNCTIONS
#include <stdio.h> // Needed for file access and sprintf
#include <string.h> // Needed for strcat and strcpy
#endif
#ifdef _MSC_VER
#include <stdlib.h>
#endif
// You can define the endian mode in your files, without modifying the SHA1
// source files. Just #define SHA1_LITTLE_ENDIAN or #define SHA1_BIG_ENDIAN
// in your files, before including the SHA1.h header file. If you don't
// define anything, the class defaults to little endian.
#if !defined(SHA1_LITTLE_ENDIAN) && !defined(SHA1_BIG_ENDIAN)
#define SHA1_LITTLE_ENDIAN
#endif
// Same here. If you want variable wiping, #define SHA1_WIPE_VARIABLES, if
// not, #define SHA1_NO_WIPE_VARIABLES. If you don't define anything, it
// defaults to wiping.
#if !defined(SHA1_WIPE_VARIABLES) && !defined(SHA1_NO_WIPE_VARIABLES)
#define SHA1_WIPE_VARIABLES
#endif
/////////////////////////////////////////////////////////////////////////////
// Define 8- and 32-bit variables
#ifndef UINT_32
#ifdef _MSC_VER
#define UINT_8 unsigned __int8
#define UINT_32 unsigned __int32
#else
#define UINT_8 unsigned char
#if (ULONG_MAX == 0xFFFFFFFF && UINT_MAX < ULONG_MAX)
#define UINT_32 unsigned long
#else
#define UINT_32 unsigned int
#endif
#endif
#endif
/////////////////////////////////////////////////////////////////////////////
// Declare SHA1 workspace
typedef union
{
UINT_8 c[64];
UINT_32 l[16];
} SHA1_WORKSPACE_BLOCK;
class CSHA1
{
public:
#ifdef SHA1_UTILITY_FUNCTIONS
// Two different formats for ReportHash(...)
enum
{
REPORT_HEX = 0,
REPORT_DIGIT = 1
};
#endif
// Constructor and Destructor
CSHA1();
~CSHA1();
UINT_32 m_state[5];
UINT_32 m_count[2];
UINT_32 __reserved1[1];
UINT_8 m_buffer[64];
UINT_8 m_digest[20];
UINT_32 __reserved2[3];
void Reset();
// Update the hash value
void Update(UINT_8 *data, UINT_32 len);
#ifdef SHA1_UTILITY_FUNCTIONS
bool HashFile(char *szFileName);
#endif
// Finalize hash and report
void Final();
// Report functions: as pre-formatted and raw data
#ifdef SHA1_UTILITY_FUNCTIONS
void ReportHash(char *szReport, unsigned char uReportType = REPORT_HEX);
#endif
void GetHash(UINT_8 *puDest);
private:
// Private SHA-1 transformation
void Transform(UINT_32 *state, UINT_8 *buffer);
// Member variables
UINT_8 m_workspace[64];
SHA1_WORKSPACE_BLOCK *m_block; // SHA1 pointer to the byte array above
};
#endif

View file

@ -1,123 +0,0 @@
/*
base64.cpp and base64.h
Copyright (C) 2004-2008 René Nyffenegger
This source code is provided 'as-is', without any express or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this source code must not be misrepresented; you must not
claim that you wrote the original source code. If you use this source code
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original source code.
3. This notice may not be removed or altered from any source distribution.
René Nyffenegger rene.nyffenegger@adp-gmbh.ch
*/
#include "base64.h"
#include <iostream>
static const std::string base64_chars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789+/";
static inline bool is_base64(unsigned char c) {
return (isalnum(c) || (c == '+') || (c == '/'));
}
std::string base64_encode(unsigned char const* bytes_to_encode, unsigned int in_len) {
std::string ret;
int i = 0;
int j = 0;
unsigned char char_array_3[3];
unsigned char char_array_4[4];
while (in_len--) {
char_array_3[i++] = *(bytes_to_encode++);
if (i == 3) {
char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
char_array_4[3] = char_array_3[2] & 0x3f;
for(i = 0; (i <4) ; i++)
ret += base64_chars[char_array_4[i]];
i = 0;
}
}
if (i)
{
for(j = i; j < 3; j++)
char_array_3[j] = '\0';
char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
char_array_4[3] = char_array_3[2] & 0x3f;
for (j = 0; (j < i + 1); j++)
ret += base64_chars[char_array_4[j]];
while((i++ < 3))
ret += '=';
}
return ret;
}
std::string base64_decode(std::string const& encoded_string) {
int in_len = encoded_string.size();
int i = 0;
int j = 0;
int in_ = 0;
unsigned char char_array_4[4], char_array_3[3];
std::string ret;
while (in_len-- && ( encoded_string[in_] != '=') && is_base64(encoded_string[in_])) {
char_array_4[i++] = encoded_string[in_]; in_++;
if (i ==4) {
for (i = 0; i <4; i++)
char_array_4[i] = base64_chars.find(char_array_4[i]);
char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];
for (i = 0; (i < 3); i++)
ret += char_array_3[i];
i = 0;
}
}
if (i) {
for (j = i; j <4; j++)
char_array_4[j] = 0;
for (j = 0; j <4; j++)
char_array_4[j] = base64_chars.find(char_array_4[j]);
char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];
for (j = 0; (j < i - 1); j++) ret += char_array_3[j];
}
return ret;
}

View file

@ -1,4 +0,0 @@
#include <string>
std::string base64_encode(unsigned char const* , unsigned int len);
std::string base64_decode(std::string const& s);

View file

@ -1,621 +0,0 @@
#include <liboauthcpp/liboauthcpp.h>
#include "HMAC_SHA1.h"
#include "base64.h"
#include "urlencode.h"
#include <cstdlib>
#include <vector>
#include <cassert>
namespace OAuth {
namespace Defaults
{
/* Constants */
const int BUFFSIZE = 1024;
const int BUFFSIZE_LARGE = 1024;
const std::string CONSUMERKEY_KEY = "oauth_consumer_key";
const std::string CALLBACK_KEY = "oauth_callback";
const std::string VERSION_KEY = "oauth_version";
const std::string SIGNATUREMETHOD_KEY = "oauth_signature_method";
const std::string SIGNATURE_KEY = "oauth_signature";
const std::string TIMESTAMP_KEY = "oauth_timestamp";
const std::string NONCE_KEY = "oauth_nonce";
const std::string TOKEN_KEY = "oauth_token";
const std::string TOKENSECRET_KEY = "oauth_token_secret";
const std::string VERIFIER_KEY = "oauth_verifier";
const std::string AUTHHEADER_FIELD = "Authorization: ";
const std::string AUTHHEADER_PREFIX = "OAuth ";
};
/** std::string -> std::string conversion function */
typedef std::string(*StringConvertFunction)(const std::string&);
LogLevel gLogLevel = LogLevelNone;
void SetLogLevel(LogLevel lvl) {
gLogLevel = lvl;
}
#define LOG(lvl, msg) \
do { \
if (lvl <= gLogLevel) std::cerr << "OAUTH: " << msg << std::endl; \
} while(0)
std::string PercentEncode(const std::string& decoded) {
return urlencode(decoded, URLEncode_Everything);
}
std::string URLEncode(const std::string& decoded) {
return PercentEncode(decoded);
}
std::string HttpEncodePath(const std::string& decoded) {
return urlencode(decoded, URLEncode_Path);
}
std::string HttpEncodeQueryKey(const std::string& decoded) {
return urlencode(decoded, URLEncode_QueryKey);
}
std::string HttpEncodeQueryValue(const std::string& decoded) {
return urlencode(decoded, URLEncode_QueryValue);
}
namespace {
std::string PassThrough(const std::string& decoded) {
return decoded;
}
std::string RequestTypeString(const Http::RequestType rt) {
switch(rt) {
case Http::Invalid: return "Invalid Request Type"; break;
case Http::Head: return "HEAD"; break;
case Http::Get: return "GET"; break;
case Http::Post: return "POST"; break;
case Http::Delete: return "DELETE"; break;
case Http::Put: return "PUT"; break;
default: return "Unknown Request Type"; break;
}
return "";
}
}
// Parse a single key-value pair
static std::pair<std::string, std::string> ParseKeyValuePair(const std::string& encoded) {
std::size_t eq_pos = encoded.find("=");
if (eq_pos == std::string::npos)
throw ParseError("Failed to find '=' in key-value pair.");
return std::pair<std::string, std::string>(
encoded.substr(0, eq_pos),
encoded.substr(eq_pos+1)
);
}
KeyValuePairs ParseKeyValuePairs(const std::string& encoded) {
KeyValuePairs result;
if (encoded.length() == 0) return result;
// Split by &
std::size_t last_amp = 0;
// We can bail when the last one "found" was the end of the string
while(true) {
std::size_t next_amp = encoded.find('&', last_amp+1);
std::string keyval =
(next_amp == std::string::npos) ?
encoded.substr(last_amp) :
encoded.substr(last_amp, next_amp-last_amp);
result.insert(ParseKeyValuePair(keyval));
// Track spot after the & so the first iteration works without dealing
// with -1 index
last_amp = next_amp+1;
// Exit condition
if (next_amp == std::string::npos) break;
}
return result;
}
// Helper for parameters in key-value pair lists that should only appear
// once. Either replaces an existing entry or adds a new entry.
static void ReplaceOrInsertKeyValuePair(KeyValuePairs& kvp, const std::string& key, const std::string& value) {
assert(kvp.count(key) <= 1);
KeyValuePairs::iterator it = kvp.find(key);
if (it != kvp.end())
it->second = value;
else
kvp.insert(KeyValuePairs::value_type(key, value));
}
Consumer::Consumer(const std::string& key, const std::string& secret)
: mKey(key), mSecret(secret)
{
}
Token::Token(const std::string& key, const std::string& secret)
: mKey(key), mSecret(secret)
{
}
Token::Token(const std::string& key, const std::string& secret, const std::string& pin)
: mKey(key), mSecret(secret), mPin(pin)
{
}
Token Token::extract(const std::string& response) {
return Token::extract(ParseKeyValuePairs(response));
}
Token Token::extract(const KeyValuePairs& response) {
std::string token_key, token_secret;
KeyValuePairs::const_iterator it = response.find(Defaults::TOKEN_KEY);
if (it == response.end())
throw MissingKeyError("Couldn't find oauth_token in response");
token_key = it->second;
it = response.find(Defaults::TOKENSECRET_KEY);
if (it == response.end())
throw MissingKeyError("Couldn't find oauth_token_secret in response");
token_secret = it->second;
return Token(token_key, token_secret);
}
bool Client::initialized = false;
int Client::testingNonce = 0;
time_t Client::testingTimestamp = 0;
void Client::initialize() {
if(!initialized) {
srand( time( NULL ) );
initialized = true;
}
}
void Client::initialize(int nonce, time_t timestamp) {
if(!initialized) {
testingNonce = nonce;
testingTimestamp = timestamp;
initialized = true;
}
}
void Client::__resetInitialize() {
testingNonce = 0;
testingTimestamp = 0;
initialized = false;
}
Client::Client(const Consumer* consumer)
: mConsumer(consumer),
mToken(NULL)
{
}
Client::Client(const Consumer* consumer, const Token* token)
: mConsumer(consumer),
mToken(token)
{
}
Client::~Client()
{
}
/*++
* @method: Client::generateNonceTimeStamp
*
* @description: this method generates nonce and timestamp for OAuth header
*
* @input: none
*
* @output: none
*
* @remarks: internal method
*
*--*/
void Client::generateNonceTimeStamp()
{
// Make sure the random seed has been initialized
Client::initialize();
char szTime[Defaults::BUFFSIZE];
char szRand[Defaults::BUFFSIZE];
memset( szTime, 0, Defaults::BUFFSIZE );
memset( szRand, 0, Defaults::BUFFSIZE );
// Any non-zero timestamp triggers testing mode with fixed values. Fixing
// both values makes life easier because generating a signature is
// idempotent -- otherwise using macros can cause double evaluation and
// incorrect results because of repeated calls to rand().
snprintf( szRand, sizeof(szRand), "%x", ((testingTimestamp != 0) ? testingNonce : rand()) );
snprintf( szTime, sizeof(szTime), "%ld", ((testingTimestamp != 0) ? testingTimestamp : time( NULL )) );
m_nonce.assign( szTime );
m_nonce.append( szRand );
m_timeStamp.assign( szTime );
}
/*++
* @method: Client::buildOAuthTokenKeyValuePairs
*
* @description: this method prepares key-value pairs required for OAuth header
* and signature generation.
*
* @input: includeOAuthVerifierPin - flag to indicate whether oauth_verifer key-value
* pair needs to be included. oauth_verifer is only
* used during exchanging request token with access token.
* rawData - url encoded data. this is used during signature generation.
* oauthSignature - base64 and url encoded OAuth signature.
* generateTimestamp - If true, then generate new timestamp for nonce.
*
* @input: urlEncodeValues - if true, URLEncode the values inserted into the
* output keyValueMap
* @output: keyValueMap - map in which key-value pairs are populated
*
* @remarks: internal method
*
*--*/
bool Client::buildOAuthTokenKeyValuePairs( const bool includeOAuthVerifierPin,
const std::string& rawData,
const std::string& oauthSignature,
KeyValuePairs& keyValueMap,
const bool urlEncodeValues,
const bool generateTimestamp )
{
// Encodes value part of key-value pairs depending on type of output (query
// string vs. HTTP headers.
StringConvertFunction value_encoder = (urlEncodeValues ? HttpEncodeQueryValue : PassThrough);
/* Generate nonce and timestamp if required */
if( generateTimestamp )
{
generateNonceTimeStamp();
}
/* Consumer key and its value */
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::CONSUMERKEY_KEY, value_encoder(mConsumer->key()));
/* Nonce key and its value */
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::NONCE_KEY, value_encoder(m_nonce));
/* Signature if supplied */
if( oauthSignature.length() )
{
// Signature is exempt from encoding. The procedure for
// computing it already percent-encodes it as required by the
// spec for both query string and Auth header
// methods. Therefore, it's pass-through in both cases.
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::SIGNATURE_KEY, oauthSignature);
}
/* Signature method, only HMAC-SHA1 as of now */
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::SIGNATUREMETHOD_KEY, std::string( "HMAC-SHA1" ));
/* Timestamp */
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::TIMESTAMP_KEY, value_encoder(m_timeStamp));
/* Token */
if( mToken && mToken->key().length() )
{
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::TOKEN_KEY, value_encoder(mToken->key()));
}
/* Verifier */
if( includeOAuthVerifierPin && mToken && mToken->pin().length() )
{
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::VERIFIER_KEY, value_encoder(mToken->pin()));
}
/* Version */
ReplaceOrInsertKeyValuePair(keyValueMap, Defaults::VERSION_KEY, std::string( "1.0" ));
/* Data if it's present */
if( rawData.length() )
{
/* Data should already be urlencoded once */
std::string dummyStrKey;
std::string dummyStrValue;
size_t nPos = rawData.find_first_of( "=" );
if( std::string::npos != nPos )
{
dummyStrKey = rawData.substr( 0, nPos );
dummyStrValue = rawData.substr( nPos + 1 );
ReplaceOrInsertKeyValuePair(keyValueMap, dummyStrKey, dummyStrValue);
}
}
return ( keyValueMap.size() ) ? true : false;
}
/*++
* @method: Client::getSignature
*
* @description: this method calculates HMAC-SHA1 signature of OAuth header
*
* @input: eType - HTTP request type
* rawUrl - raw url of the HTTP request
* rawKeyValuePairs - key-value pairs containing OAuth headers and HTTP data
*
* @output: oAuthSignature - base64 and url encoded signature
*
* @remarks: internal method
*
*--*/
bool Client::getSignature( const Http::RequestType eType,
const std::string& rawUrl,
const KeyValuePairs& rawKeyValuePairs,
std::string& oAuthSignature )
{
std::string rawParams;
std::string paramsSeperator;
std::string sigBase;
/* Initially empty signature */
oAuthSignature.assign( "" );
/* Build a string using key-value pairs */
paramsSeperator = "&";
getStringFromOAuthKeyValuePairs( rawKeyValuePairs, rawParams, paramsSeperator );
LOG(LogLevelDebug, "Normalized parameters: " << rawParams);
/* Start constructing base signature string. Refer http://dev.twitter.com/auth#intro */
switch( eType )
{
case Http::Head:
{
sigBase.assign( "HEAD&" );
}
break;
case Http::Get:
{
sigBase.assign( "GET&" );
}
break;
case Http::Post:
{
sigBase.assign( "POST&" );
}
break;
case Http::Delete:
{
sigBase.assign( "DELETE&" );
}
break;
case Http::Put:
{
sigBase.assign( "PUT&" );
}
break;
default:
{
return false;
}
break;
}
sigBase.append( PercentEncode( rawUrl ) );
sigBase.append( "&" );
sigBase.append( PercentEncode( rawParams ) );
LOG(LogLevelDebug, "Signature base string: " << sigBase);
/* Now, hash the signature base string using HMAC_SHA1 class */
CHMAC_SHA1 objHMACSHA1;
std::string secretSigningKey;
unsigned char strDigest[Defaults::BUFFSIZE_LARGE];
memset( strDigest, 0, Defaults::BUFFSIZE_LARGE );
/* Signing key is composed of consumer_secret&token_secret */
secretSigningKey.assign( PercentEncode(mConsumer->secret()) );
secretSigningKey.append( "&" );
if( mToken && mToken->secret().length() )
{
secretSigningKey.append( PercentEncode(mToken->secret()) );
}
objHMACSHA1.HMAC_SHA1( (unsigned char*)sigBase.c_str(),
sigBase.length(),
(unsigned char*)secretSigningKey.c_str(),
secretSigningKey.length(),
strDigest );
/* Do a base64 encode of signature */
std::string base64Str = base64_encode( strDigest, 20 /* SHA 1 digest is 160 bits */ );
LOG(LogLevelDebug, "Signature: " << base64Str);
/* Do an url encode */
oAuthSignature = PercentEncode( base64Str );
LOG(LogLevelDebug, "Percent-encoded Signature: " << oAuthSignature);
return ( oAuthSignature.length() ) ? true : false;
}
std::string Client::getHttpHeader(const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData,
const bool includeOAuthVerifierPin)
{
return Defaults::AUTHHEADER_PREFIX + buildOAuthParameterString(AuthorizationHeaderString, eType, rawUrl, rawData, includeOAuthVerifierPin);
}
std::string Client::getFormattedHttpHeader(const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData,
const bool includeOAuthVerifierPin)
{
return Defaults::AUTHHEADER_FIELD + Defaults::AUTHHEADER_PREFIX + buildOAuthParameterString(AuthorizationHeaderString, eType, rawUrl, rawData, includeOAuthVerifierPin);
}
std::string Client::getURLQueryString(const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData,
const bool includeOAuthVerifierPin)
{
return buildOAuthParameterString(QueryStringString, eType, rawUrl, rawData, includeOAuthVerifierPin);
}
std::string Client::buildOAuthParameterString(
ParameterStringType string_type,
const Http::RequestType eType,
const std::string& rawUrl,
const std::string& rawData,
const bool includeOAuthVerifierPin)
{
KeyValuePairs rawKeyValuePairs;
std::string rawParams;
std::string oauthSignature;
std::string paramsSeperator;
std::string pureUrl( rawUrl );
LOG(LogLevelDebug, "Signing request " << RequestTypeString(eType) << " " << rawUrl << " " << rawData);
std::string separator;
bool do_urlencode;
if (string_type == AuthorizationHeaderString) {
separator = ",";
do_urlencode = false;
}
else { // QueryStringString
separator = "&";
do_urlencode = true;
}
/* Clear header string initially */
rawKeyValuePairs.clear();
/* If URL itself contains ?key=value, then extract and put them in map */
size_t nPos = rawUrl.find_first_of( "?" );
if( std::string::npos != nPos )
{
/* Get only URL */
pureUrl = rawUrl.substr( 0, nPos );
/* Get only key=value data part */
std::string dataPart = rawUrl.substr( nPos + 1 );
rawKeyValuePairs = ParseKeyValuePairs(dataPart);
}
// NOTE: We always request URL encoding on the first pass so that the
// signature generation works properly. This *relies* on
// buildOAuthTokenKeyValuePairs overwriting values when we do the second
// pass to get the values in the form we actually want. The signature and
// rawdata are the only things that change, but the signature is only used
// in the second pass and the rawdata is already encoded, regardless of
// request type.
/* Build key-value pairs needed for OAuth request token, without signature */
buildOAuthTokenKeyValuePairs( includeOAuthVerifierPin, rawData, std::string( "" ), rawKeyValuePairs, true, true );
/* Get url encoded base64 signature using request type, url and parameters */
getSignature( eType, pureUrl, rawKeyValuePairs, oauthSignature );
/* Now, again build key-value pairs with signature this time */
buildOAuthTokenKeyValuePairs( includeOAuthVerifierPin, std::string( "" ), oauthSignature, rawKeyValuePairs, do_urlencode, false );
/* Get OAuth header in string format. If we're getting the Authorization
* header, we need to filter out other parameters.
*/
if (string_type == AuthorizationHeaderString) {
KeyValuePairs oauthKeyValuePairs;
std::vector<std::string> oauth_keys;
oauth_keys.push_back(Defaults::CONSUMERKEY_KEY);
oauth_keys.push_back(Defaults::NONCE_KEY);
oauth_keys.push_back(Defaults::SIGNATURE_KEY);
oauth_keys.push_back(Defaults::SIGNATUREMETHOD_KEY);
oauth_keys.push_back(Defaults::TIMESTAMP_KEY);
oauth_keys.push_back(Defaults::TOKEN_KEY);
oauth_keys.push_back(Defaults::VERIFIER_KEY);
oauth_keys.push_back(Defaults::VERSION_KEY);
for(size_t i = 0; i < oauth_keys.size(); i++) {
assert(rawKeyValuePairs.count(oauth_keys[i]) <= 1);
KeyValuePairs::iterator oauth_key_it = rawKeyValuePairs.find(oauth_keys[i]);
if (oauth_key_it != rawKeyValuePairs.end())
ReplaceOrInsertKeyValuePair(oauthKeyValuePairs, oauth_keys[i], oauth_key_it->second);
}
getStringFromOAuthKeyValuePairs( oauthKeyValuePairs, rawParams, separator );
}
else if (string_type == QueryStringString) {
getStringFromOAuthKeyValuePairs( rawKeyValuePairs, rawParams, separator );
}
/* Build authorization header */
return rawParams;
}
/*++
* @method: Client::getStringFromOAuthKeyValuePairs
*
* @description: this method builds a sorted string from key-value pairs
*
* @input: rawParamMap - key-value pairs map
* paramsSeperator - sepearator, either & or ,
*
* @output: rawParams - sorted string of OAuth parameters
*
* @remarks: internal method
*
*--*/
bool Client::getStringFromOAuthKeyValuePairs( const KeyValuePairs& rawParamMap,
std::string& rawParams,
const std::string& paramsSeperator )
{
rawParams.assign( "" );
if( rawParamMap.size() )
{
KeyValueList keyValueList;
std::string dummyStr;
/* Push key-value pairs to a list of strings */
keyValueList.clear();
KeyValuePairs::const_iterator itMap = rawParamMap.begin();
for( ; itMap != rawParamMap.end(); itMap++ )
{
dummyStr.assign( itMap->first );
dummyStr.append( "=" );
if( paramsSeperator == "," )
{
dummyStr.append( "\"" );
}
dummyStr.append( itMap->second );
if( paramsSeperator == "," )
{
dummyStr.append( "\"" );
}
keyValueList.push_back( dummyStr );
}
/* Sort key-value pairs based on key name */
keyValueList.sort();
/* Now, form a string */
dummyStr.assign( "" );
KeyValueList::iterator itKeyValue = keyValueList.begin();
for( ; itKeyValue != keyValueList.end(); itKeyValue++ )
{
if( dummyStr.length() )
{
dummyStr.append( paramsSeperator );
}
dummyStr.append( itKeyValue->c_str() );
}
rawParams.assign( dummyStr );
}
return ( rawParams.length() ) ? true : false;
}
} // namespace OAuth

View file

@ -1,102 +0,0 @@
#include "urlencode.h"
#include <cassert>
std::string char2hex( char dec )
{
char dig1 = (dec&0xF0)>>4;
char dig2 = (dec&0x0F);
if ( 0<= dig1 && dig1<= 9) dig1+=48; //0,48 in ascii
if (10<= dig1 && dig1<=15) dig1+=65-10; //A,65 in ascii
if ( 0<= dig2 && dig2<= 9) dig2+=48;
if (10<= dig2 && dig2<=15) dig2+=65-10;
std::string r;
r.append( &dig1, 1);
r.append( &dig2, 1);
return r;
}
std::string urlencode( const std::string &c, URLEncodeType enctype)
{
std::string escaped;
int max = c.length();
for(int i=0; i<max; i++)
{
// Unreserved chars
if ( (48 <= c[i] && c[i] <= 57) ||//0-9
(65 <= c[i] && c[i] <= 90) ||//ABC...XYZ
(97 <= c[i] && c[i] <= 122) || //abc...xyz
(c[i]=='~' || c[i]=='-' || c[i]=='_' || c[i]=='.')
)
{
escaped.append( &c[i], 1);
}
else if (c[i] != ':' && c[i] != '/' && c[i] != '?' && c[i] != '#' &&
c[i] != '[' && c[i] != ']' && c[i] != '@' && c[i] != '%' &&
c[i] != '!' && c[i] != '$' && c[i] != '&' && c[i] != '\'' &&
c[i] != '(' && c[i] != ')' && c[i] != '*' && c[i] != '+' &&
c[i] != ',' && c[i] != ';' && c[i] != '=')
{
// Characters not in unreserved (first if block) and not in
// the reserved set are always encoded.
escaped.append("%");
escaped.append( char2hex(c[i]) );//converts char 255 to string "FF"
}
else
{
// Finally, the reserved set. Encoding here depends on the
// context (where in the URI we are, what type of URI, and
// which character).
bool enc = false;
// Always encode reserved gen-delims + '%' (which always
// needs encoding
if (c[i] == ':' || c[i] == '/' || c[i] == '?' || c[i] == '#' ||
c[i] == '[' || c[i] == ']' || c[i] == '@' || c[i] == '%')
{
enc = true;
}
else {
switch (enctype) {
case URLEncode_Everything:
enc = true;
break;
case URLEncode_Path:
// Only reserved sub-delim that needs encoding is %,
// taken care of above. Otherwise, leave unencoded
enc = false;
break;
case URLEncode_QueryKey:
if (c[i] == '&' ||
c[i] == '+' ||
c[i] == '=')
enc = true;
else
enc = false;
break;
case URLEncode_QueryValue:
if (c[i] == '&' ||
c[i] == '+')
enc = true;
else
enc = false;
break;
default:
assert(false && "Unknown urlencode type");
break;
}
}
if (enc) {
escaped.append("%");
escaped.append( char2hex(c[i]) );//converts char 255 to string "FF"
} else {
escaped.append( &c[i], 1);
}
}
}
return escaped;
}

View file

@ -1,16 +0,0 @@
#ifndef __URLENCODE_H__
#define __URLENCODE_H__
#include <iostream>
#include <string>
std::string char2hex( char dec );
enum URLEncodeType {
URLEncode_Everything,
URLEncode_Path,
URLEncode_QueryKey,
URLEncode_QueryValue,
};
std::string urlencode( const std::string &c, URLEncodeType enctype );
#endif // __URLENCODE_H__

View file

@ -22,3 +22,5 @@ target_compile_definitions(${PROJECT_NAME}
)
target_compile_options(${PROJECT_NAME} PRIVATE $<$<C_COMPILER_ID:Clang,AppleClang,GNU>:-Wno-unused-value>)
target_link_libraries(${PROJECT_NAME} PUBLIC ZLIB::ZLIB)

View file

@ -4,6 +4,7 @@
#include <algorithm>
#include <cmath>
#include <cstdint>
#include "codearea.h"

View file

@ -32,6 +32,7 @@
#include <iomanip>
#include <ios>
#include <ostream>
#include <sstream>
#include <tuple>
#include <type_traits>
#include <vector>
@ -96,26 +97,24 @@ class StreamFlagsKeeper
std::ios_base::fmtflags m_flags;
};
template <typename TNumber>
constexpr bool IsChar(TNumber) noexcept
{
return std::is_same<signed char, TNumber>::value ||
std::is_same<unsigned char, TNumber>::value ||
std::is_same<char, TNumber>::value;
};
template <typename TNumber, typename std::enable_if<!IsChar(TNumber{}), void*>::type = nullptr>
void PrintPaddedNumber(std::ostream & ost, TNumber const number, uint32_t const padding = 1)
{
static_assert(std::is_integral<TNumber>::value, "number should be of integral type.");
StreamFlagsKeeper keeper(ost);
ost << std::setw(padding) << std::setfill('0') << number;
}
static constexpr bool isChar = std::is_same_v<signed char, TNumber> ||
std::is_same_v<unsigned char, TNumber> ||
std::is_same_v<char, TNumber>;
template <typename TNumber, typename std::enable_if<IsChar(TNumber{}), void*>::type = nullptr>
void PrintPaddedNumber(std::ostream & ost, TNumber const number, uint32_t const padding = 1)
{
PrintPaddedNumber(ost, static_cast<int32_t>(number), padding);
if constexpr (isChar)
{
PrintPaddedNumber(ost, static_cast<int32_t>(number), padding);
}
else
{
static_assert(std::is_integral<TNumber>::value, "number should be of integral type.");
StreamFlagsKeeper keeper(ost);
ost << std::setw(padding) << std::setfill('0') << number;
}
}
void PrintHoursMinutes(std::ostream & ost,

View file

@ -6,13 +6,7 @@ omim_add_test(${PROJECT_NAME} ${SRC} BOOST_TEST)
target_link_libraries(${PROJECT_NAME} opening_hours)
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(COPY_CMD cp -u)
else()
set(COPY_CMD rsync -a)
endif()
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${COPY_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/opening-count.lst" "${CMAKE_BINARY_DIR}/"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/opening-count.lst" "${CMAKE_BINARY_DIR}/"
COMMENT "Copying opening-count.lst file for testing"
)

@ -1 +1 @@
Subproject commit a0e064336317c9347a91224112af9933598714e9
Subproject commit 30cc354fe37114ec7a0a4ed2192951690357c2ed

View file

@ -1,12 +0,0 @@
project(sdf_image)
set(SRC
sdf_image.cpp
sdf_image.h
)
add_library(${PROJECT_NAME} ${SRC})
target_compile_options(${PROJECT_NAME}
PRIVATE $<$<CXX_COMPILER_ID:AppleClang,Clang>:-Wno-shorten-64-to-32>
)

View file

@ -1,510 +0,0 @@
/*
Copyright (C) 2009 by Stefan Gustavson
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#include "3party/sdf_image/sdf_image.h"
#include "base/math.hpp"
#include "base/scope_guard.hpp"
#include <algorithm>
#include <limits>
using namespace std::placeholders;
namespace sdf_image
{
namespace
{
float const SQRT2 = 1.4142136f;
float ComputeXGradient(float ul, float /*u*/, float ur, float l, float r, float dl, float /*d*/, float dr)
{
return (ur + SQRT2 * r + dr) - (ul + SQRT2 * l + dl);
}
float ComputeYGradient(float ul, float u, float ur, float /*l*/, float /*r*/, float dl, float d, float dr)
{
return (ur + SQRT2 * d + dr) - (ul + SQRT2 * u + dl);
}
}
#define BIND_GRADIENT(f) std::bind(&f, _1, _2, _3, _4, _5, _6, _7, _8)
#define TRANSFORM(offset, dx, dy) \
if (Transform(i, offset, dx, dy, xDist, yDist, oldDist)) \
{ \
dist.m_data[i] = oldDist; \
changed = true; \
}
SdfImage::SdfImage(uint32_t h, uint32_t w)
: m_height(h)
, m_width(w)
{
m_data.resize(m_width * m_height, 0);
}
SdfImage::SdfImage(uint32_t h, uint32_t w, uint8_t * imageData, uint8_t border)
{
int8_t doubleBorder = 2 * border;
m_width = w + doubleBorder;
m_height = h + doubleBorder;
uint32_t floatCount = m_width * m_height;
m_data.resize(floatCount, 0.0f);
for (size_t row = border; row < h + border; ++row)
{
size_t dstBaseIndex = row * m_width;
size_t srcBaseIndex = (row - border) * w;
for (size_t column = border; column < w + border; ++column)
m_data[dstBaseIndex + column] = (float)imageData[srcBaseIndex + column - border] / 255.0f;
}
}
SdfImage::SdfImage(SdfImage const & copy)
{
m_height = copy.m_height;
m_width = copy.m_width;
m_data = copy.m_data;
}
uint32_t SdfImage::GetWidth() const
{
return m_width;
}
uint32_t SdfImage::GetHeight() const
{
return m_height;
}
void SdfImage::GetData(std::vector<uint8_t> & dst)
{
ASSERT(m_data.size() <= dst.size(), ());
std::transform(m_data.begin(), m_data.end(), dst.begin(), [](float const & node)
{
return static_cast<uint8_t>(node * 255.0f);
});
}
void SdfImage::Scale()
{
float maxi = std::numeric_limits<float>::min();
float mini = std::numeric_limits<float>::max();
std::for_each(m_data.begin(), m_data.end(), [&maxi, &mini](float const & node)
{
maxi = std::max(maxi, node);
mini = std::min(mini, node);
});
maxi -= mini;
std::for_each(m_data.begin(), m_data.end(), [&maxi, &mini](float & node)
{
node = (node - mini) / maxi;
});
}
void SdfImage::Invert()
{
std::for_each(m_data.begin(), m_data.end(), [](float & node)
{
node = 1.0f - node;
});
}
void SdfImage::Minus(SdfImage & im)
{
ASSERT(m_data.size() == im.m_data.size(), ());
std::transform(m_data.begin(), m_data.end(), im.m_data.begin(), m_data.begin(), [](float const & n1, float const & n2)
{
return n1 - n2;
});
}
void SdfImage::Distquant()
{
std::for_each(m_data.begin(), m_data.end(), [](float & node)
{
node = base::Clamp(0.5f + node * 0.0325f, 0.0f, 1.0f);
});
}
void SdfImage::GenerateSDF(float sc)
{
Scale();
SdfImage outside(m_height, m_width);
SdfImage inside(m_height, m_width);
size_t shortCount = m_width * m_height;
std::vector<short> xDist;
std::vector<short> yDist;
xDist.resize(shortCount, 0);
yDist.resize(shortCount, 0);
MexFunction(*this, xDist, yDist, outside);
fill(xDist.begin(), xDist.end(), 0);
fill(yDist.begin(), yDist.end(), 0);
Invert();
MexFunction(*this, xDist, yDist, inside);
outside.Minus(inside);
outside.Distquant();
outside.Invert();
*this = outside.Bilinear(sc);
}
SdfImage SdfImage::Bilinear(float scale)
{
uint32_t srcWidth = GetWidth();
uint32_t srcHeight = GetHeight();
uint32_t dstWidth = std::round(srcWidth * scale);
uint32_t dstHeight = std::round(srcHeight * scale);
SdfImage result(dstHeight, dstWidth);
float xRatio = static_cast<float>(srcWidth) / dstWidth;
float yRatio = static_cast<float>(srcHeight) / dstHeight;
for (uint32_t i = 0; i < dstHeight; i++)
{
uint32_t baseIndex = i * dstWidth;
for (uint32_t j = 0; j < dstWidth; j++)
{
float fx = xRatio * j;
float fy = yRatio * i;
uint32_t x = static_cast<uint32_t>(fx);
uint32_t y = static_cast<uint32_t>(fy);
uint32_t index = y * srcWidth + x;
ASSERT_LESS(index, m_data.size(), ());
// range is 0 to 255 thus bitwise AND with 0xff
float A = m_data[index];
float B = m_data[index + 1];
float C = m_data[index + srcWidth];
float D = m_data[index + srcWidth + 1];
float xDiff = fx - x;
float yDiff = fy - y;
float xInvertDiff = 1.0f - xDiff;
float yInvertDiff = 1.0f - yDiff;
float gray = A * xInvertDiff * yInvertDiff + B * xDiff * yInvertDiff +
C * xInvertDiff * yDiff + D * xDiff * yDiff;
result.m_data[baseIndex + j] = gray;
}
}
return result;
}
float SdfImage::ComputeGradient(uint32_t x, uint32_t y, SdfImage::TComputeFn const & fn) const
{
if (x < 1 || x > m_width - 1 ||
y < 1 || y > m_height - 1)
{
return 0.0;
}
size_t k = y * m_width + x;
uint32_t l = k - 1;
uint32_t r = k + 1;
uint32_t u = k - m_width;
uint32_t d = k + m_width;
uint32_t ul = u - 1;
uint32_t dl = d -1;
uint32_t ur = u + 1;
uint32_t dr = d + 1;
if (m_data[k] > 0.0 && m_data[k] < 1.0)
{
return fn(m_data[ul], m_data[u], m_data[ur],
m_data[l], m_data[r],
m_data[dl], m_data[d], m_data[dr]);
}
else
return 0.0;
}
void SdfImage::MexFunction(SdfImage const & img, std::vector<short> & xDist, std::vector<short> & yDist, SdfImage & out)
{
ASSERT_EQUAL(img.GetWidth(), out.GetWidth(), ());
ASSERT_EQUAL(img.GetHeight(), out.GetHeight(), ());
img.EdtaA3(xDist, yDist, out);
// Pixels with grayscale>0.5 will have a negative distance.
// This is correct, but we don't want values <0 returned here.
std::for_each(out.m_data.begin(), out.m_data.end(), [](float & n)
{
n = std::max(0.0f, n);
});
}
float SdfImage::DistaA3(int c, int xc, int yc, int xi, int yi) const
{
int closest = c - xc - yc * m_width; // Index to the edge pixel pointed to from c
//if (closest < 0 || closest > m_data.size())
// return 1000000.0;
ASSERT_GREATER_OR_EQUAL(closest, 0, ());
ASSERT_LESS(closest, m_data.size(), ());
float a = base::Clamp(m_data[closest], 0.0f, 1.0f); // Grayscale value at the edge pixel
if(a == 0.0)
return 1000000.0; // Not an object pixel, return "very far" ("don't know yet")
double dx = static_cast<double>(xi);
double dy = static_cast<double>(yi);
double di = sqrt(dx * dx + dy * dy); // Length of integer vector, like a traditional EDT
double df = 0.0;
if(di == 0.0)
{
int y = closest / m_width;
int x = closest % m_width;
// Use local gradient only at edges
// Estimate based on local gradient only
df = EdgeDf(ComputeGradient(x, y, BIND_GRADIENT(ComputeXGradient)),
ComputeGradient(x, y, BIND_GRADIENT(ComputeYGradient)), a);
}
else
{
// Estimate gradient based on direction to edge (accurate for large di)
df = EdgeDf(dx, dy, a);
}
return static_cast<float>(di + df); // Same metric as edtaa2, except at edges (where di=0)
}
double SdfImage::EdgeDf(double gx, double gy, double a) const
{
double df = 0.0;
if ((gx == 0) || (gy == 0))
{
// Either A) gu or gv are zero
// B) both
df = 0.5 - a; // Linear approximation is A) correct or B) a fair guess
}
else
{
double glength = sqrt(gx * gx + gy * gy);
if(glength > 0)
{
gx = gx / glength;
gy = gy / glength;
}
// Everything is symmetric wrt sign and transposition,
// so move to first octant (gx>=0, gy>=0, gx>=gy) to
// avoid handling all possible edge directions.
gx = fabs(gx);
gy = fabs(gy);
if (gx < gy)
std::swap(gx, gy);
double a1 = 0.5 * gy / gx;
if (a < a1)
df = 0.5 * (gx + gy) - sqrt(2.0 * gx * gy * a);
else if (a < (1.0 - a1))
df = (0.5 - a) * gx;
else
df = -0.5 * (gx + gy) + sqrt(2.0 * gx * gy * (1.0 - a));
}
return df;
}
void SdfImage::EdtaA3(std::vector<short> & xDist, std::vector<short> & yDist, SdfImage & dist) const
{
ASSERT_EQUAL(dist.GetHeight(), GetHeight(), ());
ASSERT_EQUAL(dist.GetWidth(), GetWidth(), ());
ASSERT_EQUAL(dist.m_data.size(), m_data.size(), ());
int w = GetWidth();
int h = GetHeight();
/* Initialize the distance SdfImages */
for (size_t y = 0; y < h; ++y)
{
size_t baseIndex = y * w;
for (size_t x = 0; x < w; ++x)
{
size_t index = baseIndex + x;
if (m_data[index] <= 0.0)
dist.m_data[index]= 1000000.0; // Big value, means "not set yet"
else if (m_data[index] < 1.0)
{
dist.m_data[index] = EdgeDf(ComputeGradient(x, y, BIND_GRADIENT(ComputeXGradient)),
ComputeGradient(x, y, BIND_GRADIENT(ComputeYGradient)),
m_data[index]);
}
}
}
/* Initialize index offsets for the current SdfImage width */
int offsetU = -w;
int offsetD = w;
int offsetR = 1;
int offsetL = -1;
int offsetRu = -w + 1;
int offsetRd = w + 1;
int offsetLd = w - 1;
int offsetLu = -w - 1;
/* Perform the transformation */
bool changed;
do
{
changed = false;
for(int y = 1; y < h; ++y)
{
int i = y * w;
/* scan right, propagate distances from above & left */
/* Leftmost pixel is special, has no left neighbors */
float oldDist = dist.m_data[i];
if(oldDist > 0) // If non-zero distance or not set yet
{
TRANSFORM(offsetU, 0, 1);
TRANSFORM(offsetRu, -1, 1);
}
++i;
/* Middle pixels have all neighbors */
for(int x = 1; x < w - 1; ++x, ++i)
{
oldDist = dist.m_data[i];
if(oldDist > 0.0)
{
TRANSFORM(offsetL, 1, 0);
TRANSFORM(offsetLu, 1, 1);
TRANSFORM(offsetU, 0, 1);
TRANSFORM(offsetRu, -1, 1);
}
}
/* Rightmost pixel of row is special, has no right neighbors */
oldDist = dist.m_data[i];
if(oldDist > 0)
{
TRANSFORM(offsetL, 1, 0);
TRANSFORM(offsetLu, 1, 1);
TRANSFORM(offsetU, 0, 1);
}
/* Move index to second rightmost pixel of current row. */
/* Rightmost pixel is skipped, it has no right neighbor. */
i = y * w + w - 2;
/* scan left, propagate distance from right */
for(int x = w - 2; x >= 0; --x, --i)
{
oldDist = dist.m_data[i];
if(oldDist > 0.0)
TRANSFORM(offsetR, -1, 0);
}
}
/* Scan rows in reverse order, except last row */
for(int y = h - 2; y >= 0; --y)
{
/* move index to rightmost pixel of current row */
int i = y * w + w - 1;
/* Scan left, propagate distances from below & right */
/* Rightmost pixel is special, has no right neighbors */
float oldDist = dist.m_data[i];
if(oldDist > 0) // If not already zero distance
{
TRANSFORM(offsetD, 0, -1);
TRANSFORM(offsetLd, 1, -1);
}
--i;
/* Middle pixels have all neighbors */
for(int x = w - 2; x > 0; --x, --i)
{
oldDist = dist.m_data[i];
if(oldDist > 0.0)
{
TRANSFORM(offsetR, -1, 0);
TRANSFORM(offsetRd, -1, -1);
TRANSFORM(offsetD, 0, -1);
TRANSFORM(offsetLd, 1, -1);
}
}
/* Leftmost pixel is special, has no left neighbors */
oldDist = dist.m_data[i];
if(oldDist > 0)
{
TRANSFORM(offsetR, -1, 0);
TRANSFORM(offsetRd, -1, -1);
TRANSFORM(offsetD, 0, -1);
}
/* Move index to second leftmost pixel of current row. */
/* Leftmost pixel is skipped, it has no left neighbor. */
i = y * w + 1;
for(int x = 1; x < w; ++x, ++i)
{
/* scan right, propagate distance from left */
oldDist = dist.m_data[i];
if(oldDist > 0.0)
TRANSFORM(offsetL, 1, 0);
}
}
}
while(changed);
}
bool SdfImage::Transform(int baseIndex, int offset, int dx, int dy, std::vector<short> & xDist, std::vector<short> & yDist, float & oldDist) const
{
double const epsilon = 1e-3;
ASSERT_EQUAL(xDist.size(), yDist.size(), ());
ASSERT_GREATER_OR_EQUAL(baseIndex, 0, ());
ASSERT_LESS(baseIndex, xDist.size(), ());
int candidate = baseIndex + offset;
ASSERT_GREATER_OR_EQUAL(candidate, 0, ());
ASSERT_LESS(candidate, xDist.size(), ());
int cDistX = xDist[candidate];
int cDistY = yDist[candidate];
int newDistX = cDistX + dx;
int newDistY = cDistY + dy;
float newDist = DistaA3(candidate, cDistX, cDistY, newDistX, newDistY);
if(newDist < oldDist - epsilon)
{
xDist[baseIndex] = newDistX;
yDist[baseIndex] = newDistY;
oldDist = newDist;
return true;
}
return false;
}
} // namespace sdf_image

View file

@ -1,81 +0,0 @@
#pragma once
// +----------------------------------------+
// | |
// | http://contourtextures.wikidot.com |
// | |
// +----------------------------------------+
/*
Copyright (C) 2009 by Stefan Gustavson
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#include "base/buffer_vector.hpp"
#include <cstdint>
#include <functional>
#include <vector>
namespace sdf_image
{
class SdfImage
{
public:
SdfImage() = default;
SdfImage(uint32_t h, uint32_t w);
SdfImage(uint32_t h, uint32_t w, uint8_t * imageData, uint8_t border);
SdfImage(SdfImage const & copy);
uint32_t GetWidth() const;
uint32_t GetHeight() const;
void GetData(std::vector<uint8_t> & dst);
void GenerateSDF(float sc);
private:
void Scale();
void Invert();
void Minus(SdfImage &im);
void Distquant();
SdfImage Bilinear(float Scale);
private:
/// ul = up left
/// u = up
/// ...
/// d = down
/// dr = down right
/// ul u ur l r dl d dr
using TComputeFn = std::function<float (float, float, float, float, float, float, float, float)>;
float ComputeGradient(uint32_t x, uint32_t y, TComputeFn const & fn) const;
void MexFunction(SdfImage const & img, std::vector<short> & xDist, std::vector<short> & yDist,
SdfImage & out);
float DistaA3(int c, int xc, int yc, int xi, int yi) const;
double EdgeDf(double gx, double gy, double a) const;
void EdtaA3(std::vector<short> & xDist, std::vector<short> & yDist, SdfImage & dist) const;
bool Transform(int baseIndex, int offset, int dx, int dy, std::vector<short> & xDist,
std::vector<short> & yDist, float & oldDist) const;
private:
uint32_t m_height = 0;
uint32_t m_width = 0;
buffer_vector<float, 512> m_data;
};
} // namespace sdf_image

View file

@ -511,7 +511,7 @@ static int stbi_write_bmp_core(stbi__write_context *s, int x, int y, int comp, c
STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
stbi__start_write_callbacks(&s, func, context);
return stbi_write_bmp_core(&s, x, y, comp, data);
}
@ -519,7 +519,7 @@ STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int x,
#ifndef STBI_WRITE_NO_STDIO
STBIWDEF int stbi_write_bmp(char const *filename, int x, int y, int comp, const void *data)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
if (stbi__start_write_file(&s,filename)) {
int r = stbi_write_bmp_core(&s, x, y, comp, data);
stbi__end_write_file(&s);
@ -610,7 +610,7 @@ static int stbi_write_tga_core(stbi__write_context *s, int x, int y, int comp, v
STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
stbi__start_write_callbacks(&s, func, context);
return stbi_write_tga_core(&s, x, y, comp, (void *) data);
}
@ -618,7 +618,7 @@ STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int x,
#ifndef STBI_WRITE_NO_STDIO
STBIWDEF int stbi_write_tga(char const *filename, int x, int y, int comp, const void *data)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
if (stbi__start_write_file(&s,filename)) {
int r = stbi_write_tga_core(&s, x, y, comp, (void *) data);
stbi__end_write_file(&s);
@ -786,14 +786,14 @@ static int stbi_write_hdr_core(stbi__write_context *s, int x, int y, int comp, f
STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const float *data)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
stbi__start_write_callbacks(&s, func, context);
return stbi_write_hdr_core(&s, x, y, comp, (float *) data);
}
STBIWDEF int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
if (stbi__start_write_file(&s,filename)) {
int r = stbi_write_hdr_core(&s, x, y, comp, (float *) data);
stbi__end_write_file(&s);
@ -1606,7 +1606,7 @@ static int stbi_write_jpg_core(stbi__write_context *s, int width, int height, in
STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
stbi__start_write_callbacks(&s, func, context);
return stbi_write_jpg_core(&s, x, y, comp, (void *) data, quality);
}
@ -1615,7 +1615,7 @@ STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x,
#ifndef STBI_WRITE_NO_STDIO
STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality)
{
stbi__write_context s = { 0 };
stbi__write_context s = {};
if (stbi__start_write_file(&s,filename)) {
int r = stbi_write_jpg_core(&s, x, y, comp, data, quality);
stbi__end_write_file(&s);

View file

@ -38,14 +38,14 @@ namespace succinct {
typedef std::vector<uint64_t> bits_type;
bit_vector_builder(uint64_t size = 0, bool init = 0)
bit_vector_builder(uint64_t size = 0, bool initBit = false)
: m_size(size)
{
m_bits.resize(detail::words_for(size), uint64_t(-init));
m_bits.resize(detail::words_for(size), initBit ? uint64_t(-1) : 0);
if (size) {
m_cur_word = &m_bits.back();
// clear padding bits
if (init && size % 64) {
if (initBit && size % 64) {
*m_cur_word >>= 64 - (size % 64);
}
}

View file

@ -1 +0,0 @@
../../utfcpp/source

@ -1 +1 @@
Subproject commit 6f0e7c7865208f2a6b882a7e138584beb1b6b2fd
Subproject commit 6be08bbea14ffa0a5c594257fb6285a054395cd7

View file

@ -17,6 +17,9 @@ endif()
target_include_directories(${PROJECT_NAME} PUBLIC .)
if (PLATFORM_LINUX)
target_compile_definitions(${PROJECT_NAME} PRIVATE VK_USE_PLATFORM_XLIB_KHR)
endif()
# dlopen
target_link_libraries(${PROJECT_NAME} $<$<BOOL:CMAKE_DL_LIBS>:${CMAKE_DL_LIBS}>)

View file

@ -22,7 +22,20 @@ extern "C" {
#include <dlfcn.h>
int InitVulkan(void) {
void* libvulkan = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
#if defined(__APPLE__)
void* libvulkan = dlopen("libvulkan.dylib", RTLD_NOW | RTLD_LOCAL);
if (!libvulkan) {
libvulkan = dlopen("libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL);
}
if (!libvulkan) {
libvulkan = dlopen("libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL);
}
#else
void* libvulkan = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL);
if (!libvulkan) {
libvulkan = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
}
#endif
if (!libvulkan) return 0;
// Vulkan supported, set function addresses
@ -545,6 +558,10 @@ int InitVulkan(void) {
vkDestroyDebugReportCallbackEXT = reinterpret_cast<PFN_vkDestroyDebugReportCallbackEXT>(dlsym(libvulkan, "vkDestroyDebugReportCallbackEXT"));
vkDebugReportMessageEXT = reinterpret_cast<PFN_vkDebugReportMessageEXT>(dlsym(libvulkan, "vkDebugReportMessageEXT"));
#if defined(__APPLE__)
vkCreateMacOSSurfaceMVK = reinterpret_cast<PFN_vkCreateMacOSSurfaceMVK>(dlsym(libvulkan, "vkCreateMacOSSurfaceMVK"));
#endif
return 1;
}
@ -1137,6 +1154,10 @@ PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR;
PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
#endif
#if defined(__APPLE__)
PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
#endif
#ifdef __cplusplus
}
#endif

View file

@ -25,6 +25,10 @@ extern "C" {
#define VK_USE_PLATFORM_ANDROID_KHR 1
#include <vulkan/vulkan.h>
#if defined(__APPLE__)
#include <vulkan/vulkan_macos.h>
#endif
/* Initialize the Vulkan function pointer variables declared in this header.
* Returns 0 if vulkan is not available, non-zero if it is available.
*/
@ -500,6 +504,10 @@ extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
#if defined(__APPLE__)
extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
#endif
#ifdef __cplusplus
}
#endif

View file

@ -1,12 +1,21 @@
cmake_minimum_required(VERSION 3.18)
cmake_minimum_required(VERSION 3.22.1)
project(omim C CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_C_STANDARD 17)
# Our code does not rely on gnu extensions.
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
# Fixes warning ld: warning: ignoring duplicate libraries on Mac and Windows.
if (POLICY CMP0156)
cmake_policy(SET CMP0156 NEW)
endif()
if (APPLE AND NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))
# OBJC/OBJCXX are needed to skip m/mm files in Unity builds.
# https://gitlab.kitware.com/cmake/cmake/-/issues/21963
@ -14,10 +23,12 @@ if (APPLE AND NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))
set(CMAKE_OBJC_EXTENSIONS OFF)
set(CMAKE_OBJC_STANDARD 11)
set(CMAKE_OBJC_FLAGS -fobjc-arc)
set(CMAKE_OBJC_VISIBILITY_PRESET hidden)
enable_language(OBJCXX)
set(CMAKE_OBJCXX_EXTENSIONS OFF)
set(CMAKE_OBJCXX_STANDARD 17)
set(CMAKE_OBJCXX_STANDARD 20)
set(CMAKE_OBJCXX_FLAGS -fobjc-arc)
set(CMAKE_OBJCXX_VISIBILITY_PRESET hidden)
endif()
message(STATUS "Using compiler ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
@ -79,6 +90,19 @@ else()
message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}")
endif()
if(${PLATFORM_MAC})
set(XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
# Metal language support
list(APPEND CMAKE_MODULE_PATH ${OMIM_ROOT}/3party/CMake-MetalShaderSupport/cmake)
include(CheckLanguage)
include(MetalShaderSupport)
check_language(Metal)
if(CMAKE_Metal_COMPILER)
enable_language(Metal)
endif()
endif()
# Sanitizer
if (PLATFORM_DESKTOP)
# https://clang.llvm.org/docs/UsersManual.html#controlling-code-generation
@ -97,14 +121,31 @@ if (NOT CMAKE_BUILD_TYPE)
endif()
# Global compile options for all configurations.
add_compile_options(-ffast-math)
if (MSVC)
add_compile_options(/utf-8)
add_link_options(/INCREMENTAL:NO)
else()
add_compile_options(-ffast-math)
endif()
if (PLATFORM_WIN)
add_definitions(
-DWIN32_LEAN_AND_MEAN
-DNOMINMAX
)
endif()
# Built-in CMake configurations: Debug, Release, RelWithDebInfo, MinSizeRel
if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
add_definitions(-DDEBUG -fno-omit-frame-pointer)
add_definitions(-DDEBUG)
if (NOT MSVC)
add_compile_options(-fno-omit-frame-pointer)
endif()
elseif (${CMAKE_BUILD_TYPE} MATCHES "Rel")
add_definitions(-DRELEASE)
add_compile_options(-Ofast) # Also enables -ffast-math
if (NOT MSVC)
add_compile_options(-Ofast) # Also enables -ffast-math
endif()
else()
message(FATAL_ERROR "Unknown build type: " ${CMAKE_BUILD_TYPE})
endif()
@ -121,15 +162,21 @@ if (BUILD_DESIGNER)
add_definitions(-DBUILD_DESIGNER)
endif()
option(BUILD_STANDALONE "Build standalone application" OFF)
if (BUILD_STANDALONE)
message(STATUS "Standalone building is enabled")
add_definitions(-DBUILD_STANDALONE)
endif()
option(USE_ASAN "Enable Address Sanitizer" OFF)
option(USE_TSAN "Enable Thread Sanitizer" OFF)
option(USE_LIBFUZZER "Enable LibFuzzer" OFF)
option(PYBINDINGS "Create makefiles for building python bindings" OFF)
option(SKIP_QT_GUI "Skip building of Qt GUI" OFF)
# TODO: Fix mapshot, it doesn't work without our old FreeType hack.
option(BUILD_MAPSHOT "Build mapshot tool" OFF)
option(USE_PCH "Use precompiled headers" OFF)
option(NJOBS "Number of parallel processes" OFF)
option(ENABLE_VULKAN_DIAGNOSTICS "Enable Vulkan diagnostics" OFF)
option(ENABLE_TRACE "Enable Tracing" OFF)
if (NJOBS)
message(STATUS "Number of parallel processes: ${NJOBS}")
@ -139,9 +186,9 @@ if (NJOBS)
set(CMAKE_JOB_POOL_PRECOMPILE_HEADER custom)
endif()
# GCC 8.1 is required to support <charconv> header inclusion in base/string_utils.hpp, otherwise 7.0 is sufficient
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.1)
message(FATAL_ERROR "Minimum supported g++ version is 8.1 yours is ${CMAKE_CXX_COMPILER_VERSION}")
# GCC 10.0 is required to support <charconv> header inclusion in base/string_utils.hpp
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0)
message(FATAL_ERROR "Minimum supported g++ version is 10.0, yours is ${CMAKE_CXX_COMPILER_VERSION}")
endif()
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
@ -181,6 +228,16 @@ if (USE_HEAPPROF)
message(STATUS "Heap Profiler is enabled")
endif()
if (ENABLE_VULKAN_DIAGNOSTICS)
message(WARNING "Vulkan diagnostics are enabled. Be aware of performance impact!")
add_definitions(-DENABLE_VULKAN_DIAGNOSTICS)
endif()
if (ENABLE_TRACE)
message(STATUS "Tracing is enabled")
add_definitions(-DENABLE_TRACE)
endif()
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# Set environment variables
@ -221,16 +278,6 @@ find_package(Threads REQUIRED)
# Scripts
if (NOT CMAKE_HOST_WIN32)
execute_process(
COMMAND "${OMIM_ROOT}/tools/unix/check_cert.sh"
RESULT_VARIABLE CheckCertResult
)
if (CheckCertResult)
message(FATAL_ERROR "Certificate check failed")
endif()
endif()
if (NOT PLATFORM_IPHONE AND NOT PLATFORM_ANDROID)
list(APPEND qt_components Core Network)
if (NOT SKIP_QT_GUI OR NOT SKIP_TESTS OR PYBINDINGS)
@ -241,11 +288,13 @@ if (NOT PLATFORM_IPHONE AND NOT PLATFORM_ANDROID)
endif()
# PATHS are hard-coded hints where to look for qt6 in addition to other places.
find_package(Qt6 COMPONENTS REQUIRED ${qt_components} PATHS $ENV{QT_PATH} /opt/homebrew/opt/qt@6 /usr/local/opt/qt@6 /usr/lib/x86_64-linux-gnu/qt6)
endif()
find_library(LIBZ NAMES z)
if (LIBZ STREQUAL "LIBZ-NOTFOUND")
message(FATAL_ERROR "Failed to find libz library.")
set(MINIMUM_REQUIRED_QT_VERSION 6.4.0)
if (Qt6Widgets_VERSION VERSION_LESS ${MINIMUM_REQUIRED_QT_VERSION})
message(FATAL_ERROR "Unsupported Qt version: ${Qt6Widgets_VERSION}, the minimum required is ${MINIMUM_REQUIRED_QT_VERSION}")
else()
message(STATUS "Found Qt version: ${Qt6Widgets_VERSION}")
endif()
endif()
# To allow #include "base/file_name.hpp" in all sources.
@ -283,12 +332,24 @@ if (USE_PCH)
endif()
# Should be on the root level, not in 3party, so tests can get these dependencies.
# Should go before 3party as harfbuzz is using them.
if (PLATFORM_LINUX)
if (PLATFORM_LINUX OR PLATFORM_WIN)
find_package(ICU COMPONENTS uc i18n data REQUIRED)
find_package(Freetype REQUIRED)
find_package(harfbuzz REQUIRED)
endif()
if (WITH_SYSTEM_PROVIDED_3PARTY)
set(GFLAGS_USE_TARGET_NAMESPACE ON)
find_package(gflags REQUIRED)
find_package(expat CONFIG REQUIRED)
find_package(jansson CONFIG REQUIRED)
find_package(pugixml REQUIRED)
find_package(utf8cpp REQUIRED)
endif()
find_package(ZLIB REQUIRED)
# Include 3party dependencies.
add_subdirectory(3party)
@ -298,12 +359,8 @@ if (PLATFORM_DESKTOP AND NOT WITH_SYSTEM_PROVIDED_3PARTY)
include_directories("${PROJECT_BINARY_DIR}/3party/gflags/include")
endif()
find_package(Python3 COMPONENTS Interpreter)
if (Python3_Interpreter_FOUND)
message(STATUS "Found python to use in qt/, shaders/ and 3party/: ${Python3_EXECUTABLE}")
else()
message(FATAL_ERROR "Could not find python3 to use in qt/, shaders/ and 3party/.")
endif()
# Used in qt/ and shaders/
find_package(Python3 REQUIRED COMPONENTS Interpreter)
add_subdirectory(base)
add_subdirectory(coding)
@ -329,10 +386,6 @@ add_subdirectory(traffic)
add_subdirectory(transit)
if (PLATFORM_DESKTOP)
if (BUILD_MAPSHOT)
add_subdirectory(mapshot)
add_subdirectory(software_renderer)
endif()
omim_add_tool_subdirectory(feature_list)
add_subdirectory(generator)
add_subdirectory(openlr)
@ -344,6 +397,7 @@ if (PLATFORM_DESKTOP)
add_subdirectory(qt)
omim_add_tool_subdirectory(skin_generator)
endif()
add_subdirectory(dev_sandbox)
endif()
omim_add_test_subdirectory(qt_tstfrm)

View file

@ -1,11 +1,72 @@
This file contains a list of people who have contributed to the
public version of MAPS.ME and Organic Maps.
This file contains a list of people who have contributed to this project.
Its not neccesarily comprehensive.
Feel free to add yourself here along with your first contribution!
Original MAPS.ME (MapsWithMe) design and implementation:
Yury Melnichek <yury@melnichek.com>
Alexander Borsuk <me@alex.bio>
Viktor Govako <viktor.govako@gmail.com>
Siarhei Rachytski <siarhei.rachytski@gmail.com>
--------------------------------------------------------------------------------
Organic Maps (formerly OMaps) contributors:
(in alphabetic order)
--------------------------------------------------------------------------------
Alexander Borsuk <me@alex.bio>
Alexey Krasilnikov
Andrew Shkrob
Anton Makouski
Arnaud Vergnet
Arthur-GYT
Atemu
Caspar Nuël <casparnuel@yandex.com>
cyber-toad
David Martinez
dbf
Dzmitry Strekha
Dzmitry Yarmolenka
Fabian Wüthrich
Ferenc Géczi
Filip Czaplicki
FinixFighter
fparri
Francesco Gazzetta
gallegonovato
Gonzalo Pesquero
Harry Bond <me@hbond.xyz>
Jaime Marquinez Ferrandiz
Jean-Baptiste Charron
Jenny Em
Joan Montané
Karina Kordon
Kavi Khalique
Kiryl Kaveryn
Kiryl Razhdzestvenski
Konstantin Pastbin
Loïc Hernaut
Lukas Hamm
Lukas Kronberger
Luna Rose
map-per
Markku Huotari
Mateusz Konieczny
Matheus Gomes
MbTy1
Meenbeese
Metehan Özyürek
Michał Brzozowski
Nishant Bhandari <nishantbhandari0019@gmail.com>
Ognjen Blagojevic
Osyotr
renderexpert
Roman Kuznetsov
Roman Tsisyk <roman@tsisyk.com>
Rudo Kemper
Sebastiao Sousa <sebastiao.sousa@tecnico.ulisboa.pt>
Sergiy Kozyr
Tobias G. <tobi.goergens@gmail.com>
Veniamin Gvozdikov <g.veniamin@googlemail.com>
Viktor Govako <viktor.govako@gmail.com>
Will Bradley
--------------------------------------------------------------------------------
MAPS.ME at Mail.Ru Group (prior to the Organic Maps (OMaps) fork in 2020/2021):
--------------------------------------------------------------------------------
Code contributions:
Dmitry Yunitski
@ -35,10 +96,6 @@ Code contributions:
Alex Gontmakher <gsasha@gmail.com>
Dima Korolev <dmitry.korolev@gmail.com>
Max Grigorev <forwidur@gmail.com>
Roman Tsisyk <roman@tsisyk.com>
Caspar Nuël <casparnuel@yandex.com>
Konstantin Pastbin
Nishant Bhandari <nishantbhandari0019@gmail.com>
Porting to Tizen platform:
Sergey Pisarchik
@ -62,11 +119,6 @@ Strings and translations:
Vasily Korotkevich
Mark N. Kuramochi
Lidia Vasiljeva
Karina Kordon
Konstantin Pastbin
Metehan Özyürek
Joan Montané
Luna Rose
Project management:
Alexander Matveenko
@ -86,3 +138,13 @@ Special thanks to:
Yuri Gurski
Dmitry Matveev
Anna Yakovleva
--------------------------------------------------------------------------------
MAPS.ME (originally MapsWithMe) design and implementation at MapsWithMe GmbH
(from 2010 till the acquisition by Mail.ru Group in 2014):
--------------------------------------------------------------------------------
Yury Melnichek <yury@melnichek.com>
Alexander Borsuk <me@alex.bio>
Viktor Govako <viktor.govako@gmail.com>
Siarhei Rachytski <siarhei.rachytski@gmail.com>

9
LEGAL Normal file
View file

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

2
NOTICE
View file

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

View file

@ -1,25 +1,17 @@
# Organic Maps
<a name="install"/>
<div align="center">
<img src="qt/res/logo.png" height="100"/>
</div>
<h1 align="center"">Organic Maps</h1>
[Organic Maps](https://organicmaps.app) is a free Android & iOS offline maps app for travellers, tourists, drivers, hikers, and cyclists.
It uses crowd-sourced [OpenStreetMap](https://www.openstreetmap.org) data and is developed with love by the creators of **MapsWithMe** (later renamed to **Maps.Me**) and by our community.
No ads, no tracking, no data collection, no crapware. Your [donations](https://organicmaps.app/donate/) and positive reviews motivate and inspire us, thanks ❤️!
<p float="left">
<a href="https://apps.apple.com/app/organic-maps/id1567437057">
<img alt="Download on the App Store" src="docs/badges/apple-appstore.png" width="180">
</a>
<a href="https://play.google.com/store/apps/details?id=app.organicmaps">
<img alt="Get it on Google Play" src="docs/badges/google-play.png" width="180">
</a>
<a href="https://appgallery.huawei.com/#/app/C104325611">
<img alt="Explore it on AppGallery" src="docs/badges/huawei-appgallery.png" width="180">
</a>
<a href="https://f-droid.org/en/packages/app.organicmaps/">
<img alt="Get it on F-Droid" src="docs/badges/fdroid.png" width="180">
</a>
</p>
[<img src="docs/badges/apple-appstore.png" alt="App Store" width="160">](https://apps.apple.com/app/organic-maps/id1567437057)
[<img src="docs/badges/google-play.png" alt="Google Play" width="160">](https://play.google.com/store/apps/details?id=app.organicmaps)
[<img src="docs/badges/huawei-appgallery.png" alt="AppGallery" width="160">](https://appgallery.huawei.com/#/app/C104325611)
[<img src="docs/badges/obtainium.png" alt="Obtainium" width="160">](https://github.com/organicmaps/organicmaps/wiki/Installing-Organic-Maps-from-GitHub-using-Obtainium)
[<img src="docs/badges/fdroid.png" alt="F-Droid" width="160">](https://f-droid.org/en/packages/app.organicmaps/)
<p float="left">
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/1.jpg" width="400" />
@ -112,7 +104,7 @@ Beloved institutional sponsors below have provided targeted grants to cover some
<a href="https://summerofcode.withgoogle.com/"><img src="docs/sponsors/gsoc.svg" alt="Google Summer of Code" width="200px"></a>
</td>
<td>
<a href="https://summerofcode.withgoogle.com/">Google</a> backed 5 student's projects in the Google Summer of Code program during <a href="https://summerofcode.withgoogle.com/programs/2022/organizations/organic-maps">2022</a> and <a href="https://summerofcode.withgoogle.com/programs/2023/organizations/organic-maps">2023</a> programs. Noteworthy projects included Android Auto, Outdoor Style, and Wikipedia Dump Extractor.
<a href="https://summerofcode.withgoogle.com/">Google</a> backed 5 student's projects in the Google Summer of Code program during <a href="https://summerofcode.withgoogle.com/programs/2022/organizations/organic-maps">2022</a> and <a href="https://summerofcode.withgoogle.com/programs/2023/organizations/organic-maps">2023</a> programs. Noteworthy projects included Android Auto and Wikipedia Dump Extractor.
</td>
</tr>
<tr>
@ -123,6 +115,14 @@ Beloved institutional sponsors below have provided targeted grants to cover some
<a href="https://www.mythic-beasts.com/">Mythic Beasts</a> ISP <a href="https://www.mythic-beasts.com/blog/2021/10/06/improving-the-world-bit-by-expensive-bit/">provides us</a> two virtual servers with 400 TB/month of free bandwidth to host and serve maps downloads and updates.
</td>
</tr>
<tr>
<td>
<a href="https://44plus.vn"><img src="docs/sponsors/44plus.svg" alt="44+ Technologies" width="200px"></a>
</td>
<td>
<a href="https://44plus.vn">44+ Technologies</a> is <a href="https://44plus.vn/organicmaps">providing us </a>with a free dedicated server worth around $12,000/year to serve maps across Vietnam & Southeast Asia.
</td>
</tr>
<tr>
<td>
<a href="https://futo.org"><img src="docs/sponsors/futo.svg" alt="FUTO" width="200px"></a>
@ -174,6 +174,7 @@ and [Google Play](https://play.google.com/store/apps/details?id=app.organicmaps)
- Join our [Telegram Group](https://t.me/OrganicMaps) to discuss with other users.
- Присоединяйтесь к нашей [русскоязычной группе в Telegram](https://t.me/OrganicMapsRu) для обратной связи и помощи.
- Diğer kullanıcılarla tartışmak için [Telegram Grubumuza](https://t.me/OrganicMapsTR) katılın.
- Rejoignez notre groupe [Telegram](https://t.me/OrganicMapsFR) pour obtenir de l'aide.
- Contact us by [email](mailto:hello@organicmaps.app).
- Follow our updates in
[Mastodon](https://fosstodon.org/@organicmaps),

3
android/.gitignore vendored
View file

@ -21,3 +21,6 @@ local.properties
.project
lint.xml
.gradletasknamecache
# Generated by Eclipse and JDTLS
.settings/

8
android/.idea/icon.svg generated Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<g inkscape:groupmode="layer" inkscape:label="Layer 1">
<rect fill="#006c35" fill-opacity="1.0" x="0" y="0" width="1024" height="1024"/>
<path fill="#ffffff" d="m861.3562052 256.9139426c18.220574 48.4374573-79.2585233 166.2022835-172.1806378 196.4226995-168.0803471-58.2153969-173.5457836 39.5504743-311.1096159 132.4296677 162.6149552 112.4329497 332.9737882 24.8856325 329.7844002-85.7673036-127.9956457 73.3254376-208.1650824 81.3238121-254.1719349 79.1032962 154.8710218-30.6636026 322.0404219-125.7633124 357.0667834-165.7616685 0.032202 1.7749817 0.049863 3.5523114 0.049863 5.33456 0 191.0905993-295.1650572 474.6148576-295.1650572 474.6148576s-154.5086464-147.95159-239.9499331-302.4701423c-11.943516-0.1614425-83.8230022 25.9633002-110.3310391-9.051445-29.6082623-39.1049397 80.1693081-170.2028122 175.3699196-209.3102117 170.3563508 77.3261904 263.7351577-123.0971499 317.0292402-134.2068293-158.9688193-94.2135154-316.1183714-55.5493358-333.8847017 84.4353407 88.3675802-50.2172465 196.7775505-78.65765 246.8822227-76.4346744-140.7606999 28.7623957-301.9981102 132.8752019-350.2809443 172.4255642 0-159.041983 132.1505407-287.9677052 295.1650569-287.9677052 96.4018995 0 182.0095151 45.0859887 235.8744518 114.8252613 0.00335 0 96.1884344-31.2834041 109.851981 11.3787329zm-33.7059144 14.218972c-12.6607646-17.2289278-56.7341326 2.8936807-56.7341326 2.8936807 6.1678152 10.3446685 11.7002555 21.0960758 16.5352245 32.2084942 4.8995467 11.2622344 9.0867303 22.8954305 12.5044868 34.8382086 0 0 45.0041042-46.3863227 27.6944213-69.9403835zm-629.5734431 294.3797539c13.6858848 18.6189721 61.3258973-3.1309266 61.3258973-3.1309266-6.6716772-11.1802827-12.6484216-22.8033047-17.8755617-34.8139472-5.2966478-12.1727565-9.8213865-24.7454316-13.5171072-37.6545218 0 0-48.6427553 50.1397674-29.9332284 75.5993956z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -12,6 +12,7 @@
/firebase-app-distribution.json
/firebase-test-lab.json
/huawei-appgallery.json
/agconnect-services.json
/src/main/res/xml/network_security_config.xml
# ignore flags symlinks

View file

@ -22,19 +22,19 @@ buildscript {
googleFirebaseServicesDefault
dependencies {
classpath 'com.android.tools.build:gradle:8.2.1'
classpath 'com.android.tools.build:gradle:8.7.3'
if (googleFirebaseServicesEnabled) {
println('Building with Google Firebase Services')
classpath 'com.google.gms:google-services:4.4.0'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
classpath 'com.google.firebase:firebase-appdistribution-gradle:4.0.1'
classpath 'com.google.gms:google-services:4.4.2'
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.2'
classpath 'com.google.firebase:firebase-appdistribution-gradle:5.0.0'
} else {
println('Building without Google Firebase Services')
}
classpath('com.github.triplet.gradle:play-publisher:3.8.6')
classpath('ru.cian:huawei-publish-gradle-plugin:1.4.0')
classpath('com.github.triplet.gradle:play-publisher:3.10.1')
classpath('ru.cian:huawei-publish-gradle-plugin:1.4.2')
}
}
@ -45,7 +45,6 @@ repositories {
}
apply plugin: 'com.android.application'
apply from: 'secure.properties'
if (googleFirebaseServicesEnabled) {
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
@ -84,11 +83,12 @@ def osName = System.properties['os.name'].toLowerCase()
project.ext.appId = 'app.organicmaps'
project.ext.appName = 'Organic Maps'
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}
// I have Java 21 installed, but this doesn't work on MacOS.
//java {
// toolchain {
// languageVersion.set(JavaLanguageVersion.of(17))
// }
//}
android {
namespace 'app.organicmaps'
@ -100,7 +100,7 @@ android {
// All properties are read from gradle.properties file
compileSdk propCompileSdkVersion.toInteger()
ndkVersion '26.1.10909125'
ndkVersion '27.2.12479018'
defaultConfig {
// Default package name is taken from the manifest and should be app.organicmaps
@ -124,6 +124,16 @@ android {
def njobs = ''
if (project.hasProperty('njobs')) njobs = project.getProperty('njobs')
def enableVulkanDiagnostics = 'OFF'
if (project.hasProperty('enableVulkanDiagnostics')) {
enableVulkanDiagnostics = project.getProperty('enableVulkanDiagnostics')
}
def enableTrace = 'OFF'
if (project.hasProperty('enableTrace')) {
enableTrace = project.getProperty('enableTrace')
}
cmake {
cppFlags '-fexceptions', '-frtti'
// There is no sense to enable sections without gcc's --gc-sections flag.
@ -131,7 +141,8 @@ android {
'-Wno-extern-c-compat'
arguments '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=c++_static',
"-DOS=$osName", '-DSKIP_TESTS=ON', '-DSKIP_TOOLS=ON', "-DUSE_PCH=$pchFlag",
"-DNJOBS=$njobs"
"-DNJOBS=$njobs", "-DENABLE_VULKAN_DIAGNOSTICS=$enableVulkanDiagnostics",
"-DENABLE_TRACE=$enableTrace"
targets 'organicmaps'
}
}
@ -235,6 +246,11 @@ android {
}
}
def securityPropertiesFileExists = file('secure.properties').exists()
if (securityPropertiesFileExists) {
apply from: 'secure.properties'
}
signingConfigs {
debug {
storeFile file('debug.keystore')
@ -244,10 +260,15 @@ android {
}
release {
storeFile file(spropStoreFile)
storePassword spropStorePassword
keyAlias spropKeyAlias
keyPassword spropKeyPassword
if (securityPropertiesFileExists) {
println('The release signing keys are available')
storeFile file(spropStoreFile)
storePassword spropStorePassword
keyAlias spropKeyAlias
keyPassword spropKeyPassword
} else {
println('The release signing keys are unavailable')
}
}
}
@ -334,24 +355,16 @@ android {
}
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
packagingOptions.jniLibs {
excludes += [
'lib/**/libVkLayer_khronos_validation.so',
'lib/**/libVkLayer_core_validation.so',
'lib/**/libVkLayer_threading.so',
'lib/**/libVkLayer_image.so',
'lib/**/libVkLayer_parameter_validation.so',
'lib/**/libVkLayer_object_tracker.so',
'lib/**/libVkLayer_swapchain.so',
'lib/**/libVkLayer_unique_objects.so',
]
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
// Google Play Location Services
//
// Please add symlinks to google/java/app/organicmaps/location for each new gms-enabled flavor below:
@ -361,14 +374,17 @@ dependencies {
// ls -la src/$flavor/java/app/organicmaps/location/GoogleFusedLocationProvider.java
// ```
//
webImplementation 'com.google.android.gms:play-services-location:21.1.0'
googleImplementation 'com.google.android.gms:play-services-location:21.1.0'
huaweiImplementation 'com.google.android.gms:play-services-location:21.1.0'
webImplementation 'com.google.android.gms:play-services-location:21.3.0'
googleImplementation 'com.google.android.gms:play-services-location:21.3.0'
huaweiImplementation 'com.google.android.gms:play-services-location:21.3.0'
// This is the microG project's re-implementation which is permissible on
// F-droid because it's Apache-2.0.
fdroidImplementation 'org.microg.gms:play-services-location:0.3.6.244735'
// Google Firebase Services
if (googleFirebaseServicesEnabled) {
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:32.7.1')
implementation platform('com.google.firebase:firebase-bom:33.5.1')
// Add the dependencies for the Crashlytics and Analytics libraries
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-crashlytics'
@ -379,27 +395,29 @@ dependencies {
// > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
// We don't use Kotlin, but some dependencies are actively using it.
// See https://stackoverflow.com/a/75719642
implementation 'androidx.core:core:1.12.0'
implementation(platform('org.jetbrains.kotlin:kotlin-bom:1.9.22'))
implementation 'androidx.annotation:annotation:1.7.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.car.app:app:1.4.0-rc02'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.fragment:fragment:1.6.2'
implementation 'androidx.core:core:1.15.0'
implementation(platform('org.jetbrains.kotlin:kotlin-bom:2.1.10'))
implementation 'androidx.annotation:annotation:1.9.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.car.app:app:1.7.0-rc01'
implementation 'androidx.car.app:app-projected:1.7.0-rc01'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
implementation 'androidx.fragment:fragment:1.8.5'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.work:work-runtime:2.9.0'
implementation 'androidx.lifecycle:lifecycle-process:2.7.0'
implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.work:work-runtime:2.10.0'
implementation 'androidx.lifecycle:lifecycle-process:2.8.7'
implementation 'com.google.android.material:material:1.12.0'
// Fix for app/organicmaps/util/FileUploadWorker.java:14: error: cannot access ListenableFuture
// https://github.com/organicmaps/organicmaps/issues/6106
implementation 'com.google.guava:guava:32.1.3-android'
implementation 'com.google.guava:guava:33.3.0-android'
implementation 'com.github.devnullorthrow:MPAndroidChart:3.2.0-alpha'
implementation 'net.jcip:jcip-annotations:1.0'
// Test Dependencies
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.8.0'
testImplementation 'org.mockito:mockito-core:5.15.2'
testImplementation 'org.mockito:mockito-inline:5.2.0'
}
@ -445,7 +463,6 @@ task prepareGoogleReleaseListing {
play {
enabled.set(false)
track.set('production')
userFraction.set(Double.valueOf(0.10)) // 10%
defaultToAppBundles.set(true)
releaseStatus.set(ReleaseStatus.IN_PROGRESS)
serviceAccountCredentials.set(file('google-play.json'))
@ -457,7 +474,7 @@ huaweiPublish {
credentialsPath = "$projectDir/huawei-appgallery.json"
buildFormat = 'aab'
deployType = 'draft' // confirm manually
releaseNotes = []
def releaseDescriptions = []
def localeOverride = [
'am' : 'am-ET',
'gu': 'gu_IN',
@ -475,8 +492,9 @@ huaweiPublish {
def path = file.getPath()
def locale = file.parentFile.getName()
locale = localeOverride.get(locale, locale)
releaseNotes.add(new ru.cian.huawei.publish.ReleaseNote(locale, path))
releaseDescriptions.add(new ru.cian.huawei.publish.ReleaseNote(locale, path))
}
releaseNotes = new ru.cian.huawei.publish.ReleaseNotesExtension(releaseDescriptions, true)
}
}
}

View file

@ -1,28 +0,0 @@
package app.organicmaps;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest
{
@Test
public void useAppContext()
{
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("app.organicmaps", appContext.getPackageName());
}
}

View file

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

View file

@ -1,18 +0,0 @@
package app.organicmaps.location;
import android.content.Context;
import androidx.annotation.NonNull;
public class LocationProviderFactory
{
public static boolean isGoogleLocationAvailable(@NonNull @SuppressWarnings("unused") Context context)
{
return false;
}
public static BaseLocationProvider getProvider(@NonNull Context context, @NonNull BaseLocationProvider.Listener listener)
{
return new AndroidNativeProvider(context, listener);
}
}

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export (backup) and import all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
• Added recycling and elevation information to search result descriptions
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
read more details at omaps.org/news
…more details at omaps.org/news

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
• Added recycling and elevation information to search result descriptions
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
read more details at omaps.org/news
…more details at omaps.org/news

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
Added recycling and elevation information to search result descriptions
Новыя дадзеныя OpenStreetMap ад 21 студзеня
Адлюстраванне абмежавання хуткасці ў рэжыме навігацыі
Android Auto: сартаванне метак, палепшаны запыты на дазвол месцазнаходжання
На карту дададзены вежы
Дададзена настройка для адключэння спасылак на гатэлі з Kayak.com і магчымасць адмовы пры першым выкарыстанні
Дададзены сербская (кірыліца) і латышская мовы
read more details at omaps.org/news
і шматлікае іншае на omaps.org/news

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
• Added recycling and elevation information to search result descriptions
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
read more details at omaps.org/news
…more details at omaps.org/news

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
• Added recycling and elevation information to search result descriptions
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
read more details at omaps.org/news
…more details at omaps.org/news

View file

@ -1,8 +1,8 @@
Dades de lOpenStreetMap al 28 de febrer
Exportació de totes les adreces dinterès en un únic fitxer KMZ
Shan afegit reciclatge i elevació a les descripcions dels resultats de la cerca
Shan corregit diverses fallades
Ja no es mostra «Opcions dencaminament activades» quan susa el regle
Sassenyalen els llocs accessibles amb cadira de rodes
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
Added a setting for Kayak.com Hotel Links and a first-use opt-out option
llegiu-ne més a: omaps.org/news
more details at omaps.org/news

View file

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

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
• Added recycling and elevation information to search result descriptions
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
read more details at omaps.org/news
…more details at omaps.org/news

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
• Added recycling and elevation information to search result descriptions
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
read more details at omaps.org/news
…more details at omaps.org/news

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
Added recycling and elevation information to search result descriptions
Neue OpenStreetMap-Daten vom 21. Januar
Anzeige eines Geschwindigkeitsbegrenzungsschildes im Navigationsmodus
Serbische (Kyrillisch) und Lettische Sprachen hinzugefügt
Android Auto: Lesezeichen sortieren, verbessertes Erlebnis bei der Anforderung von Standortberechtigungen
Turm-POIs hinzugefügt
Eine Einstellung für Kayak.com-Hotellinks und eine Opt-out-Option bei der ersten Nutzung hinzugefügt.
read more details at omaps.org/news
weitere Details unter omaps.org/news

View file

@ -1,8 +1,8 @@
OpenStreetMap data as of February 28
Export all bookmarks as a single KMZ file
Fixed several crashes
"Routing options enabled" is no longer displayed when using ruler
Included wheelchair accessibility information on place pages
• Added recycling and elevation information to search result descriptions
New OpenStreetMap data as of January 21
Dispay a speed limit sign in the navigation mode
Added Serbian (Cyrillic) and Latvian languages
Android Auto: sort bookmarks, improved location permission request experience
Added tower POIs
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
read more details at omaps.org/news
…more details at omaps.org/news

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 749 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 730 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 590 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

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