Compare commits

...

1252 commits

Author SHA1 Message Date
max-klaus
9d39e2f805 Fix backup error handling 2021-04-23 20:40:06 +03:00
Dmitry
3ce4082997 Added new icons for Restore and Read from file 2021-04-23 18:18:57 +03:00
Dmitry
f528ae4b43 Added new icons for cellular data control, upload/dowload to cloud 2021-04-23 18:14:08 +03:00
Vitaliy
ed0f6d6882
Merge pull request #11438 from osmandapp/route_altitude_slope
Add gradient coloring of route line
2021-04-23 00:48:48 +03:00
Hosted Weblate
f0dc959bdc
Merge branch 'origin/master' into Weblate. 2021-04-22 23:32:05 +02:00
Sérgio Morais
aa2c111e88
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-22 23:32:02 +02:00
Eduardo Addad de Oliveira
74efa9f2b8
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-22 23:32:02 +02:00
Eduardo Addad de Oliveira
92d59f6521
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-22 23:32:01 +02:00
Zmicer Turok
d1fb9d5129
Translated using Weblate (Belarusian)
Currently translated at 98.0% (3648 of 3721 strings)
2021-04-22 23:32:00 +02:00
ace shadow
22237493a6
Translated using Weblate (Slovak)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-22 23:32:00 +02:00
Evgenii Martynenko
3754cf7822
Translated using Weblate (Russian)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-22 23:31:59 +02:00
Hinagiku Zeppeki
2437fb722a
Translated using Weblate (Japanese)
Currently translated at 98.4% (3663 of 3721 strings)
2021-04-22 23:31:58 +02:00
Sérgio Morais
8accf25b60
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-22 23:31:58 +02:00
max-klaus
974ad80734 Fix backup sync and progress 2021-04-22 20:35:27 +03:00
Vitaliy
500cb007b8 Merge branch 'master' into route_altitude_slope
# Conflicts:
#	OsmAnd/src/net/osmand/plus/routing/cards/RouteLineColorCard.java
2021-04-22 19:34:46 +03:00
Vitaliy
e6be5dcab5
Merge pull request #11502 from osmandapp/Fix_11423
Fix #11423 Wikipedia labels on the map shown on few languages
2021-04-22 18:50:59 +03:00
nazar-kutz
e2d659e859 Fix #11423 Wikipedia labels on the map shown on few languages 2021-04-22 18:43:37 +03:00
max-klaus
603f32df63 Fix test backup screen 2021-04-22 16:54:12 +03:00
Vitaliy
c1b416448f
Merge pull request #11500 from osmandapp/FixRtl
RTL
2021-04-22 15:17:56 +03:00
nazar-kutz
42604ac3b6 RTL: fix slider on Announcement Time dialog 2021-04-22 15:02:10 +03:00
nazar-kutz
1ac919b8d3 RTL: fix Live Updates screen 2021-04-22 14:12:49 +03:00
cepprice
4de1aa9193 Fix crash and other fixes 2021-04-22 16:04:56 +05:00
Vitaliy
fe9a5c43bd
Merge pull request #11499 from osmandapp/fix_transport_exit
Fix #11362 name of underground station
2021-04-22 13:32:03 +03:00
Dima-1
32dff8b9e2 Fix #11362 name of underground station 2021-04-22 13:02:16 +03:00
vshcherb
72ca4055fc
Update OsmandSettings.java 2021-04-22 10:04:09 +02:00
vshcherb
8950a05446
Merge pull request #11452 from stalker314314/add-serbian-latin
Adding Serbian Latin translation for phrases and Telegram
2021-04-21 16:24:59 +02:00
vshcherb
60b72f53be
Merge pull request #11487 from osmandapp/markers_refactor
Revert itinerary and refactor group markers
2021-04-21 14:55:36 +02:00
Victor Shcherb
560c229277 Refactor group markers 2021-04-21 15:11:55 +03:00
Victor Shcherb
c40eb96bd7 Remove CategoriesSubHeader 2021-04-21 15:11:51 +03:00
Vitaliy
7f795a4e43 Fix compilation 2021-04-21 15:11:31 +03:00
Vitaliy
eefe1a00ac Revert "Create ItineraryHelper"
This reverts commit 7218e7d4
2021-04-21 15:07:18 +03:00
Vitaliy
cb18d45e43 Revert "Move markerGroups to ItineraryHelper"
This reverts commit a40f802a
2021-04-21 15:05:31 +03:00
Hosted Weblate
d2fe5b7e3f
Merge branch 'origin/master' into Weblate. 2021-04-21 13:15:24 +02:00
Babos Gábor
5670680d1e
Translated using Weblate (Hungarian)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/hu/
2021-04-21 13:15:24 +02:00
Jeff Huang
dd1195b060
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-21 13:15:23 +02:00
Sveinn í Felli
d0d60e9d2e
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-21 13:15:13 +02:00
Sveinn í Felli
0d26b83435
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-21 13:15:13 +02:00
Verdulo
83885c373c
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-21 13:15:12 +02:00
Ldm Public
3ff1d1a39a
Translated using Weblate (French)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-21 13:15:11 +02:00
Softmap
5f9e931482
Translated using Weblate (Arabic)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-21 13:15:09 +02:00
Yaron Shahrabani
b1d1007cb6
Translated using Weblate (Hebrew)
Currently translated at 99.9% (3719 of 3721 strings)
2021-04-21 13:15:08 +02:00
Ihor Hordiichuk
6948315605
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-21 13:15:08 +02:00
Athoss
81687551e7
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3720 of 3721 strings)
2021-04-21 13:15:07 +02:00
Oğuz Ersen
da89e737ec
Translated using Weblate (Turkish)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-21 13:15:07 +02:00
Oliver
8c992bb4a9
Translated using Weblate (German)
Currently translated at 99.9% (3720 of 3721 strings)
2021-04-21 13:15:06 +02:00
Ldm Public
0ca18e6d5f
Translated using Weblate (French)
Currently translated at 99.9% (3720 of 3721 strings)
2021-04-21 13:15:05 +02:00
Sérgio Morais
d9de7ba4b0
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3721 of 3721 strings)
2021-04-21 13:15:04 +02:00
Babos Gábor
b5a27d99b8
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3720 of 3721 strings)
2021-04-21 13:14:57 +02:00
Vitaliy
a5f0fa9aac
Merge pull request #11485 from osmandapp/Split-interval-title
"Split interval:" not translated
2021-04-21 14:14:12 +03:00
androiddevkotlin
43564125ce "Split interval:" not translated
https://github.com/osmandapp/OsmAnd/issues/11444
2021-04-21 13:57:53 +03:00
max-klaus
1e23993514 Added backup test description 2021-04-21 09:22:49 +03:00
Hosted Weblate
f77f499391
Merge branch 'origin/master' into Weblate. 2021-04-20 23:29:13 +02:00
Sérgio Morais
fa17db8756
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-20 23:29:09 +02:00
iman
f1f7db7842
Translated using Weblate (Persian)
Currently translated at 36.6% (1438 of 3927 strings)
2021-04-20 23:29:09 +02:00
Sebastian
2968aad438
Translated using Weblate (Danish)
Currently translated at 90.9% (3379 of 3717 strings)
2021-04-20 23:29:08 +02:00
Sérgio Morais
396f9354c1
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-20 23:29:07 +02:00
Vitaliy
c3818d6121
Merge pull request #11482 from osmandapp/FixSrtmDialogs
Remove srtm file of other type after new downloaded
2021-04-20 23:57:41 +03:00
nazar-kutz
40c060af26 Remove srtm file of other type after new downloaded 2021-04-20 23:49:03 +03:00
max-klaus
1629183994 Finished backup test activity 2021-04-20 20:53:39 +03:00
Vitaliy
295c6c4df4
Merge pull request #11481 from osmandapp/FixSrtmDialogs
SRTM Meter / Feet dialogs - fix bugs and refactoring
2021-04-20 19:43:58 +03:00
nazar-kutz
fed2e356c3 SRTM Meter / Feet dialogs - fix bugs and refactoring 2021-04-20 19:30:33 +03:00
Vitaliy
a7efb09724
Merge pull request #11476 from osmandapp/FixRtl
Fix RTL
2021-04-20 18:40:54 +03:00
Vitaliy
f1756768ce
Merge pull request #11480 from osmandapp/fix_11337
Fix_11337
2021-04-20 18:14:49 +03:00
vshcherb
13037bacae
Merge pull request #11479 from osmandapp/multyuser_storage
Fix check for multi-user storage
2021-04-20 17:12:59 +02:00
vshcherb
1c6485ccea
Merge pull request #11477 from osmandapp/rtept_draw
Fix rtept drawing
2021-04-20 17:12:01 +02:00
Vitaliy
a2a7cb77bf Fix gpxItem locationOnMap 2021-04-20 18:01:55 +03:00
Vitaliy
7525c925ca Fix #11337 2021-04-20 17:54:22 +03:00
Vitaliy
2e9238aff8 Fix check for multi-user storage 2021-04-20 17:36:32 +03:00
Vitaliy
658b157bb2 Fix description id 2021-04-20 14:29:35 +03:00
Vitaliy
ec0ea31b53 Fix rtept drawing 2021-04-20 13:42:39 +03:00
Dmitry
d2598612ff Added new changes to release notes 2021-04-20 12:36:01 +03:00
nazar-kutz
6eb665c9a8 Live Updates App Bar: fix back arrow 2021-04-20 12:32:23 +03:00
Vitaliy
cbc4e1a427
Merge pull request #11463 from osmandapp/transliterate
Fix transliterate
2021-04-20 11:46:57 +03:00
Vitaliy
558c0f5256 Merge branch 'master' into transliterate
# Conflicts:
#	OsmAnd-java/src/main/java/net/osmand/data/MapObject.java
2021-04-20 11:46:12 +03:00
vshcherb
11ddc65409
Update MapObject.java 2021-04-20 10:35:39 +02:00
Vitaliy
109d9aa1bb Merge branch 'master' into transliterate
# Conflicts:
#	OsmAnd-java/src/main/java/net/osmand/data/MapObject.java
2021-04-20 11:30:22 +03:00
Vitaliy
87744e180b
Merge pull request #11466 from osmandapp/PlanRouteLendscape
Plan Route: Lendscape
2021-04-20 11:25:00 +03:00
nazar-kutz
0eb64b7ecf fix after merge 2021-04-20 11:23:27 +03:00
Vitaliy
cc70fcede4
Merge pull request #11475 from osmandapp/fix_jumping_map_controls
Fix jumping map controls
2021-04-20 11:18:36 +03:00
nazar-kutz
5497bc4691 Merge branch 'master' into PlanRouteLendscape
# Conflicts:
#	OsmAnd/src/net/osmand/plus/widgets/multistatetoggle/MultiStateToggleButton.java
2021-04-20 11:14:11 +03:00
Vitaliy
e65eb4cb84 Fix graphs card touches passing through 2021-04-20 11:02:03 +03:00
cepprice
551dd084ad Fix jumping map controls 2021-04-20 12:15:21 +05:00
Vitaliy
43394ce607
Merge pull request #11348 from osmandapp/srtmf_dialogs
Add SRTMf dialogs
2021-04-20 10:02:47 +03:00
Victor Shcherb
08baaf7004 Fix #11376 2021-04-19 20:10:27 +02:00
nazar-kutz
8aeb8b16a3 Fix after code review 2021-04-19 20:59:21 +03:00
Vitaliy
a657d71e06
Merge pull request #11468 from osmandapp/Untranslated-travel
Untranslated Travel guides (wikivoyage) file names
2021-04-19 20:20:37 +03:00
androiddevkotlin
d62c288e4a Remove copypasta 2021-04-19 20:02:59 +03:00
vshcherb
b17e985974
Merge pull request #11469 from osmandapp/ExternalDevice
Handle "+", "-" and "=" keycode for change map zoom, regardless extenal input device settings
2021-04-19 17:00:31 +02:00
nazar-kutz
116742f348 small fixes 2021-04-19 17:57:09 +03:00
Vitaliy
cd970e85ff
Merge pull request #11465 from osmandapp/purchases_screen_review
Purchases screen review
2021-04-19 17:52:06 +03:00
Vitaliy
324397cc25 Small fixes 2021-04-19 17:51:21 +03:00
Vitaliy
adabe9d54e Merge branch 'master' into purchases_screen_review 2021-04-19 17:48:46 +03:00
nazar-kutz
a2a3087b68 Handle "+", "-" and "=" keycode for change map zoom, regardless external input device settings 2021-04-19 17:46:42 +03:00
androiddevkotlin
ed8b9973a9 Untranslated Travel guides (wikivoyage) file names
https://github.com/osmandapp/OsmAnd/issues/11398
2021-04-19 17:33:40 +03:00
nazar-kutz
ced9a3555e Implement icon radio toggle
Implement landscape for Plan Route
2021-04-19 16:49:03 +03:00
cepprice
2be03d04ed Purchases screen RTL fixes 2021-04-19 16:35:26 +05:00
Victor Shcherb
aa846ab405 English name fix #11463 2021-04-19 12:38:41 +02:00
Hosted Weblate
0a18414f8f
Merge branch 'origin/master' into Weblate. 2021-04-19 10:27:02 +02:00
Hinagiku Zeppeki
e6907b2153
Translated using Weblate (Japanese)
Currently translated at 89.2% (242 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/ja/
2021-04-19 10:26:59 +02:00
Jeff Huang
f6ebee979a
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-19 10:26:59 +02:00
Shjosan
6291b18fc3
Translated using Weblate (Swedish)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-19 10:26:58 +02:00
Eduardo Addad de Oliveira
f6245ebce3
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (3926 of 3927 strings)
2021-04-19 10:26:54 +02:00
Oliver
e89a6ab502
Translated using Weblate (German)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-19 10:26:53 +02:00
Guntis Ozols
4a22d25721
Translated using Weblate (Latvian)
Currently translated at 61.3% (2279 of 3717 strings)
2021-04-19 10:26:52 +02:00
ace shadow
608b44f213
Translated using Weblate (Slovak)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-19 10:26:50 +02:00
Felix Wiemuth
73b1adb168
Translated using Weblate (German)
Currently translated at 99.9% (3716 of 3717 strings)
2021-04-19 10:26:49 +02:00
Hinagiku Zeppeki
e7299f51f3
Translated using Weblate (Japanese)
Currently translated at 98.5% (3664 of 3717 strings)
2021-04-19 10:26:48 +02:00
cepprice
cf26ccc7ab Hide support region setting 2021-04-19 13:08:06 +05:00
Vitaliy
6bf7da4290
Merge pull request #11410 from osmandapp/srtmf_dialogs_fixes
Refactoring SRTMf download ui
2021-04-18 23:34:17 +03:00
Vitaliy
cc152a64f9 Fix transliterate 2021-04-18 17:40:01 +03:00
Vitaliy
2d2a951dde
Merge pull request #11458 from osmandapp/gradient_track_extra_tasks
Gradient track extra tasks
2021-04-18 14:52:39 +03:00
Vitaliy
465ec91344
Merge pull request #11461 from osmandapp/transliterate_ui
Fix transliterate switch in map language dialog
2021-04-18 14:50:55 +03:00
Vitaliy
3de36e5eef Fix transliterate switch in map language dialog 2021-04-18 14:47:54 +03:00
Vitaliy
7ac56c9359
Merge pull request #11430 from osmandapp/fix_export_custom_poi_types
Fix export custom poi types
2021-04-18 14:43:54 +03:00
Skalii
42ea7d1d7e small fix 2021-04-18 14:28:53 +03:00
cepprice
2524a3f73a Review fixes 2021-04-18 16:00:54 +05:00
cepprice
13b6b74e13 Fix border type switching 2021-04-18 14:43:07 +05:00
cepprice
f5974f7cf3 Small refactoring 2021-04-18 14:33:42 +05:00
cepprice
95a1d5c9ee Add clearing of tracks' cache 2021-04-18 14:26:10 +05:00
Hinagiku Zeppeki
dfdf9104c8
Translated using Weblate (Japanese)
Currently translated at 98.5% (3664 of 3717 strings)
2021-04-18 11:12:59 +02:00
cepprice
15fb2b6774 Add drawing track border by params 2021-04-18 13:23:10 +05:00
Branko Kokanovic
8487444779
Translated using Weblate (Serbian (latin))
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-18 01:18:46 +02:00
Branko Kokanovic
c71253a8fd Adding Serbian Latin translation for phrases and Telegram
It is based on Serbian, but it is transliterated (so, easily obtained by
automation). While it was easy to produce and Serbian is 100%, I decided
to upload it in same commit.
2021-04-18 00:52:32 +02:00
Branko Kokanovic
5c08b1d1b3
Translated using Weblate (Serbian)
Currently translated at 97.6% (3835 of 3927 strings)
2021-04-18 00:33:53 +02:00
Branko Kokanovic
95e1e8e7b6
Translated using Weblate (Serbian)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-18 00:18:18 +02:00
phlostically
1ed12a42a5
Translated using Weblate (Esperanto)
Currently translated at 52.7% (143 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/eo/
2021-04-17 23:53:18 +02:00
Verdulo
ec33e20fe4
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-17 23:53:18 +02:00
Sérgio Morais
e131eeaee5
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-17 23:53:17 +02:00
Franco
2995a6bc9b
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-17 23:53:17 +02:00
Ajeje Brazorf
ae0fa4edc9
Translated using Weblate (Sardinian)
Currently translated at 99.4% (3907 of 3927 strings)
2021-04-17 23:53:16 +02:00
Ihor Hordiichuk
092e129f35
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3927 of 3927 strings)
2021-04-17 23:53:15 +02:00
Branko Kokanovic
7f43d70609
Translated using Weblate (Serbian)
Currently translated at 99.1% (3687 of 3717 strings)
2021-04-17 23:53:15 +02:00
Evgenii Martynenko
6005f11124
Translated using Weblate (Russian)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-17 23:53:06 +02:00
Sérgio Morais
2e955acda6
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-17 23:53:05 +02:00
nazar-kutz
54069a1106 Fix: icon not shown for first element in list 2021-04-16 22:36:29 +03:00
nazar-kutz
adbc331fce fix: can't cancel srtm file downloading 2021-04-16 22:32:14 +03:00
nazar-kutz
2f1e43147d refactoring p.6: dialog preparation and update 2021-04-16 22:19:26 +03:00
Hosted Weblate
9e3d072843
Merge branch 'origin/master' into Weblate. 2021-04-16 20:34:58 +02:00
Jeff Huang
6226c00fac
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:58 +02:00
Sveinn í Felli
bd1ce16524
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:58 +02:00
Verdulo
a6999badb1
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:57 +02:00
Sérgio Morais
3e593d9b0e
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:57 +02:00
Shjosan
897c6d290c
Translated using Weblate (Swedish)
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:56 +02:00
Sérgio Morais
94e1318bf9
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-16 20:34:55 +02:00
Franco
6d53e37fbb
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:55 +02:00
Babos Gábor
251e64341e
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3924 of 3926 strings)
2021-04-16 20:34:54 +02:00
Tymofij Lytvynenko
84a9f0482e
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:54 +02:00
Oliver
a78e66d301
Translated using Weblate (German)
Currently translated at 100.0% (3926 of 3926 strings)
2021-04-16 20:34:53 +02:00
WaldiS
06102f6c96
Translated using Weblate (Polish)
Currently translated at 98.9% (3679 of 3717 strings)
2021-04-16 20:34:53 +02:00
Shjosan
a727eb862b
Translated using Weblate (Swedish)
Currently translated at 75.5% (2808 of 3717 strings)
2021-04-16 20:34:52 +02:00
Sérgio Morais
1474f17c30
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-16 20:34:47 +02:00
Eduardo Addad de Oliveira
64677aa434
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-16 20:34:42 +02:00
nazar-kutz
ae2eef75f3 refactoring p.5: optimize bottom sheets dialogs 2021-04-16 18:28:21 +03:00
cepprice
fbec2abd19 Small fixes 2021-04-16 20:23:49 +05:00
vshcherb
99c42b954c
Update TravelObfHelper.java 2021-04-16 17:16:02 +02:00
vshcherb
59484136b1
Merge pull request #11437 from osmandapp/fix_11328
Fix out of memory error
2021-04-16 17:00:52 +02:00
cepprice
0bdf2dfa8a Add UI to configure route line 2021-04-16 17:51:01 +05:00
Dima-1
26b7ece371 Fix out of memory error 2021-04-16 12:23:44 +03:00
nazar-kutz
45be6b1919 refactoring p.4: save SrtmDownloadItem elements in MultipleDownloadItem 2021-04-16 12:04:19 +03:00
cepprice
aa6b04a924 Fix spoiled points 2021-04-16 11:02:27 +05:00
nazar-kutz
4a6ab0c6bb refactoring p.3 2021-04-15 21:55:52 +03:00
xmd5a
dd1354cf3b Add phrase 2021-04-15 16:20:25 +03:00
cepprice
149b89090b Add configurable drawing of route line border 2021-04-15 17:28:48 +05:00
Hosted Weblate
6a0bf98c23
Merge branch 'origin/master' into Weblate. 2021-04-15 12:57:50 +02:00
Evgenii Martynenko
09631d27b8
Translated using Weblate (Russian)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-15 12:57:49 +02:00
solokot
8bbd650a9b
Translated using Weblate (Russian)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-15 12:57:46 +02:00
cepprice
ff7aa932a3 Add gradient route line 2021-04-15 14:10:41 +05:00
xmd5a
6db150b4e5 Add phrase 2021-04-15 12:06:36 +03:00
Skalii
e6ad6f3c38 fix export custom poi types with all categories selected 2021-04-15 05:30:30 +03:00
Hosted Weblate
9d9dd32503
Merge branch 'origin/master' into Weblate. 2021-04-15 01:21:06 +02:00
Ajeje Brazorf
a2cc187623
Translated using Weblate (Sardinian)
Currently translated at 99.4% (3905 of 3925 strings)
2021-04-15 01:21:04 +02:00
Ajeje Brazorf
4796a68d57
Translated using Weblate (Sardinian)
Currently translated at 99.4% (3696 of 3717 strings)
2021-04-15 01:20:59 +02:00
ace shadow
b2bf760db1
Translated using Weblate (Slovak)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-15 01:20:55 +02:00
Sérgio Morais
273f9c1c34
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-15 01:20:55 +02:00
Vitaliy
7d3d86970f
Merge pull request #11425 from osmandapp/T9708
fix case sensitivity for wiki links
2021-04-14 21:55:06 +03:00
max-klaus
e7da52098a Fix resubscribe 2021-04-14 21:09:41 +03:00
max-klaus
d9baad5644 Fix subscriptions new UI 2021-04-14 19:38:46 +03:00
Kseniia
ef4984f3ee fix case sensitivity for wiki links,9708 2021-04-14 15:46:11 +03:00
Hosted Weblate
0c6a7128ea
Merge branch 'origin/master' into Weblate. 2021-04-14 12:13:10 +02:00
Sérgio Morais
6803f77e09
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-14 12:13:07 +02:00
Franco
61e1680c8b
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-14 12:13:05 +02:00
Franco
cd3445ab39
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-14 12:13:05 +02:00
Evgenii Martynenko
4ff17ba467
Translated using Weblate (Russian)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-14 12:13:04 +02:00
Ldm Public
189ff61704
Translated using Weblate (French)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-14 12:13:04 +02:00
Sérgio Morais
69e983df14
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3717 of 3717 strings)
2021-04-14 12:13:03 +02:00
vshcherb
940ccf8d8d
Merge pull request #11422 from osmandapp/T11346
fix search result for interpolation, 11346
2021-04-14 10:12:11 +02:00
Kseniia
63783e1d49 fix search result for interpolation, 11346 2021-04-14 11:03:31 +03:00
vshcherb
26f9e85f2a
Merge pull request #11417 from osmandapp/track_menu_fixes
Fix click position on long tap and track points switcher visibility
2021-04-13 19:52:20 +02:00
Vitaliy
3370a5bab7 Fix click position on long tap and track points switcher visibility 2021-04-13 17:16:02 +03:00
Vitaliy
20df6ec98f
Merge pull request #11415 from osmandapp/track_line_fixes
Fix for general segments and segments with one point
2021-04-13 13:59:43 +03:00
vshcherb
1de54d48a6
Merge pull request #11412 from osmandapp/KeyboardZoomPlus
add "equals" key code to increase map zoom
2021-04-13 12:56:29 +02:00
cepprice
5a2813e54c Fix for general segments and segments with one point 2021-04-13 15:43:29 +05:00
Vitaliy
11c3203f07
Merge pull request #11413 from osmandapp/Fix-arabic-persian
Fix arabic and persian rtl issue
2021-04-13 12:29:41 +03:00
androiddevkotlin
4e70b16445 Fix arabic and persian rtl issue 2021-04-13 12:24:26 +03:00
nazar-kutz
36a732e610 add "equals" key code to increase map zoom 2021-04-13 11:56:01 +03:00
Vitaliy
e6a4be79f2
Merge pull request #11403 from osmandapp/track_line_fixes
Track line fixes
2021-04-13 10:49:29 +03:00
cepprice
367b2bc27e Review fixes 2021-04-13 10:40:31 +05:00
Hosted Weblate
764231bdc7
Merge branch 'origin/master' into Weblate. 2021-04-13 06:27:33 +02:00
phlostically
f124ec279e
Translated using Weblate (Esperanto)
Currently translated at 43.9% (119 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/eo/
2021-04-13 06:27:32 +02:00
Sérgio Morais
312d5a376e
Translated using Weblate (Portuguese)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/pt/
2021-04-13 06:27:31 +02:00
Michalis
f073bdc1fc
Translated using Weblate (Greek)
Currently translated at 19.9% (54 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/el/
2021-04-13 06:27:31 +02:00
Michalis
31dbfd17ce
Translated using Weblate (Greek)
Currently translated at 96.5% (3788 of 3925 strings)
2021-04-13 06:27:31 +02:00
Sveinn í Felli
fa4fe5efc6
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-13 06:27:30 +02:00
Sveinn í Felli
2a3fed2b74
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:30 +02:00
Sérgio Morais
92b5902735
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-13 06:27:29 +02:00
Rex_sa
7d7eaf507b
Translated using Weblate (Arabic)
Currently translated at 94.7% (3720 of 3925 strings)
2021-04-13 06:27:21 +02:00
Verdulo
9370ead9f9
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:21 +02:00
phlostically
7c23dadc0a
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:20 +02:00
Franco
212c34ce12
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-13 06:27:19 +02:00
Franco
a6ffb43768
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:19 +02:00
Franco
0c3ef31b74
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:18 +02:00
Roberto GEB
b0fa13f4f1
Translated using Weblate (Spanish)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-13 06:27:17 +02:00
Rex_sa
4a7707f1ae
Translated using Weblate (Arabic)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:13 +02:00
Ahmad Alfrhood
b4050c28a9
Translated using Weblate (Arabic)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:13 +02:00
WaldiS
79ec255fcf
Translated using Weblate (Polish)
Currently translated at 98.9% (3680 of 3718 strings)
2021-04-13 06:27:12 +02:00
Michalis
dde62bfebf
Translated using Weblate (Greek)
Currently translated at 90.4% (3362 of 3718 strings)
2021-04-13 06:27:10 +02:00
Franco
a253c4fffc
Translated using Weblate (Spanish)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:10 +02:00
Oğuz Ersen
9b7b286970
Translated using Weblate (Turkish)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:09 +02:00
Evgenii Martynenko
c3a23f6d49
Translated using Weblate (Russian)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:01 +02:00
Ldm Public
64e9fcfa96
Translated using Weblate (French)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:27:00 +02:00
Sérgio Morais
8095fbd927
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-13 06:26:59 +02:00
Vitaliy
a92e002db3
Merge pull request #11399 from osmandapp/Unbookmark_gpx
Fix #5473
2021-04-13 01:40:15 +03:00
Vitaliy
f17cfdf426 Fix #5473 2021-04-13 01:38:50 +03:00
Vitaliy
08e2c4ed26 Merge branch 'master' into Unbookmark_gpx 2021-04-13 01:36:26 +03:00
nazar-kutz
1ec3189a86 refactoring p.2 2021-04-13 00:42:16 +03:00
androiddevkotlin
c3ee44ffac Fix possible NPE, remove unnecessary track visibility set 2021-04-12 21:37:41 +03:00
androiddevkotlin
3a5e8c6230 Unbookmarking travel article should hide GPX file 2021-04-12 20:33:04 +03:00
nazar-kutz
e3c257b255 small fix 2021-04-12 20:16:16 +03:00
nazar-kutz
9368b7383a Refactoring SRTMf download ui, part 1 2021-04-12 20:14:27 +03:00
androiddevkotlin
ab605a035b Bookmarking article without viewing it, adds empty GPX to My Places. 2021-04-12 19:22:55 +03:00
cepprice
9713d04c7f Fix not renderable slope track 2021-04-12 16:52:32 +05:00
cepprice
5d8f6c81d1 Fix overlapping of border projection and minimize overlapping of gradient projection 2021-04-12 16:22:28 +05:00
Vitaliy
65adb8092d
Merge pull request #11402 from osmandapp/Revert-switch-profile
Revert quick switch profile
2021-04-12 13:04:00 +03:00
androiddevkotlin
e1ea59b492 Revert quick switch profile 2021-04-12 13:01:25 +03:00
vshcherb
8fa9d4cee4
Merge pull request #11393 from osmandapp/track_menu_fixes
Fix MapMultiSelectionMenu menu for tracks
2021-04-12 11:48:56 +02:00
Vitaliy
08c40319f6
Merge pull request #11377 from osmandapp/Arrow-direction-pattern
Review
2021-04-12 12:43:50 +03:00
androiddevkotlin
d17dff2846 Merge branch 'Arrow-direction-pattern' of https://github.com/osmandapp/OsmAnd into Arrow-direction-pattern 2021-04-12 12:31:47 +03:00
androiddevkotlin
a418f94cd1 Refactor, profilechange overide 2021-04-12 12:30:46 +03:00
vshcherb
796f167c3d
Update TestBackupActivity.java 2021-04-12 10:41:04 +02:00
Vitaliy
28df99cffb Small fixes 2021-04-12 11:31:24 +03:00
Vitaliy
52f13a7e42 Merge branch 'master' into Arrow-direction-pattern
# Conflicts:
#	OsmAnd/res/values-ar/strings.xml
2021-04-12 11:27:00 +03:00
max-klaus
84e25fa00b Backup gpx files 2021-04-12 11:16:57 +03:00
androiddevkotlin
290f3af026 Init 2021-04-11 23:01:04 +03:00
max-klaus
f73fd42931 [WIP] test backups 2021-04-11 22:09:24 +03:00
cepprice
430ff544b3 Cache simplified colored tracks 2021-04-11 23:34:01 +05:00
androiddevkotlin
1ce74b23ea Remove unused strings, use Unicode character instead three dots, move method getActionText() to parent class 2021-04-11 20:47:07 +03:00
cepprice
74a534c4f3 Fix inconsistency of track geometry 2021-04-11 18:46:33 +05:00
cepprice
3da32a65cf Proper implementation of route colorization algorithm 2021-04-11 16:27:15 +05:00
Vitaliy
236f4c05b6
Merge pull request #11372 from osmandapp/Plan-route-show-hide
Plan route show hide
2021-04-11 13:27:37 +03:00
Vitaliy
60b346373f Fix MapMultiSelectionMenu menu for tracks 2021-04-11 12:19:49 +03:00
Roberto GEB
47e08d7338
Translated using Weblate (Spanish)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-11 05:20:00 +02:00
solokot
e28fd2d945
Translated using Weblate (Russian)
Currently translated at 99.5% (3907 of 3925 strings)
2021-04-11 05:00:36 +02:00
Hosted Weblate
0ae3f924ad
Merge branch 'origin/master' into Weblate. 2021-04-09 22:10:07 +02:00
WaldiS
df7369b404
Translated using Weblate (Polish)
Currently translated at 98.7% (3671 of 3718 strings)
2021-04-09 22:10:06 +02:00
phlostically
8ab2c8252b
Translated using Weblate (Esperanto)
Currently translated at 35.7% (97 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/eo/
2021-04-09 22:10:02 +02:00
Ldm Public
593f1b5a88
Translated using Weblate (French)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/fr/
2021-04-09 22:10:01 +02:00
Yannick A
d34ed7d816
Translated using Weblate (French)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/fr/
2021-04-09 22:10:01 +02:00
Sérgio Morais
bc51f99223
Translated using Weblate (Portuguese)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/pt/
2021-04-09 22:10:01 +02:00
Jeff Huang
0d59db88ce
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 22:09:59 +02:00
Jeff Huang
41412a4a9f
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 22:09:59 +02:00
Sérgio Morais
e4476da783
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 22:09:58 +02:00
phlostically
80c2c119e9
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 22:09:57 +02:00
Eduardo Addad de Oliveira
ab28abe880
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 22:09:57 +02:00
Franco
a7e408c3ca
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 22:09:56 +02:00
iman
7496b6842f
Translated using Weblate (Persian)
Currently translated at 99.8% (3712 of 3718 strings)
2021-04-09 22:09:53 +02:00
Softmap
b7a44c42d5
Translated using Weblate (Arabic)
Currently translated at 99.9% (3716 of 3718 strings)
2021-04-09 22:09:52 +02:00
WaldiS
58bdf9f81d
Translated using Weblate (Polish)
Currently translated at 98.7% (3670 of 3718 strings)
2021-04-09 22:09:52 +02:00
ace shadow
cdbe91e273
Translated using Weblate (Slovak)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 22:09:50 +02:00
Mirco Zorzo
218eb86d27
Translated using Weblate (Italian)
Currently translated at 91.5% (3404 of 3718 strings)
2021-04-09 22:09:49 +02:00
Ihor Hordiichuk
3565d4124e
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 22:09:48 +02:00
Evgenii Martynenko
8f52e17fa3
Translated using Weblate (Russian)
Currently translated at 99.9% (3717 of 3718 strings)
2021-04-09 22:09:47 +02:00
Shjosan
54058f5650
Translated using Weblate (Swedish)
Currently translated at 72.0% (2678 of 3718 strings)
2021-04-09 22:09:47 +02:00
Sérgio Morais
7f2472df54
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 22:09:44 +02:00
nazar-kutz
b14f62822b add srtm map download option, refactoring p1 2021-04-09 19:48:17 +03:00
vshcherb
621a06b2c0
Merge pull request #11370 from osmandapp/track_menu
Track menu fixes
2021-04-09 16:02:11 +02:00
androiddevkotlin
3560de5e3e Review
Use this arrow LTR: "▶", RTL: "◀".
Check how it work with RTL.
2021-04-09 14:02:27 +03:00
phlostically
1b1132148f
Translated using Weblate (Esperanto)
Currently translated at 23.6% (64 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/eo/
2021-04-09 01:06:30 +02:00
phlostically
42e6e3824d
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 01:06:29 +02:00
Sérgio Morais
d74597f59e
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 01:06:28 +02:00
phlostically
01e806a82d
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 01:06:22 +02:00
Shjosan
d7039a06a4
Translated using Weblate (Swedish)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 01:06:21 +02:00
Franco
cb6324eacb
Translated using Weblate (Spanish (Argentina))
Currently translated at 99.9% (3717 of 3718 strings)
2021-04-09 01:06:20 +02:00
iman
841db60fce
Translated using Weblate (Persian)
Currently translated at 36.6% (1437 of 3925 strings)
2021-04-09 01:06:19 +02:00
Babos Gábor
0375cb0101
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3923 of 3925 strings)
2021-04-09 01:06:17 +02:00
Ihor Hordiichuk
430e2f7940
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 01:06:17 +02:00
Oliver
5b69eec661
Translated using Weblate (German)
Currently translated at 100.0% (3925 of 3925 strings)
2021-04-09 01:06:16 +02:00
Softmap
f88348c9c3
Translated using Weblate (Arabic)
Currently translated at 99.8% (3712 of 3718 strings)
2021-04-09 01:06:15 +02:00
Yaron Shahrabani
68ee9b1b20
Translated using Weblate (Hebrew)
Currently translated at 99.9% (3716 of 3718 strings)
2021-04-09 01:06:15 +02:00
Ihor Hordiichuk
de79feb819
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 01:06:14 +02:00
Babos Gábor
b27301b9b0
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3717 of 3718 strings)
2021-04-09 01:06:12 +02:00
Evgenii Martynenko
9397f503fe
Translated using Weblate (Russian)
Currently translated at 99.8% (3711 of 3718 strings)
2021-04-09 01:06:12 +02:00
Oliver
7262de045a
Translated using Weblate (German)
Currently translated at 99.9% (3717 of 3718 strings)
2021-04-09 01:06:11 +02:00
Ldm Public
793280847f
Translated using Weblate (French)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 01:06:10 +02:00
Sérgio Morais
db4c7a3566
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3718 of 3718 strings)
2021-04-09 01:06:09 +02:00
phlostically
a9b6c9d819
Added translation using Weblate (Esperanto) 2021-04-08 23:05:35 +02:00
androiddevkotlin
388be5c3ef Hide widgets: Select track on the map, tap on the "Edit" button, "Plan route" will be opened, map widgets will be visible. If you open Menu – Plan Route – Select the same track, widgets would be visible. 2021-04-08 23:07:02 +03:00
Hosted Weblate
9728d763b2
Merge branch 'origin/master' into Weblate. 2021-04-08 17:30:23 +02:00
solokot
1c85b474ed
Translated using Weblate (Russian)
Currently translated at 99.5% (3907 of 3924 strings)
2021-04-08 17:30:19 +02:00
Sérgio Morais
7251ba81cc
Translated using Weblate (Portuguese)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/pt/
2021-04-08 17:30:17 +02:00
Timur Seber
5d233dbfb2
Translated using Weblate (Tatar)
Currently translated at 3.2% (121 of 3713 strings)
2021-04-08 17:30:16 +02:00
Jeff Huang
f6948a891d
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:58 +02:00
Steve Lee
496b8b2c86
Translated using Weblate (Chinese (Simplified))
Currently translated at 84.6% (3142 of 3713 strings)
2021-04-08 17:29:55 +02:00
Sveinn í Felli
3ef4cd426b
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:54 +02:00
Verdulo
53e93107d2
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:51 +02:00
Sérgio Morais
cbf7422938
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:47 +02:00
Softmap
31057080da
Translated using Weblate (Arabic)
Currently translated at 94.8% (3720 of 3924 strings)
2021-04-08 17:29:39 +02:00
Verdulo
9eb846ba83
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-08 17:29:27 +02:00
Franco
21b3141487
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:26 +02:00
Franco
45455732f0
Translated using Weblate (Spanish (American))
Currently translated at 99.9% (3712 of 3713 strings)
2021-04-08 17:29:22 +02:00
Shjosan
ad8c940574
Translated using Weblate (Swedish)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:20 +02:00
Eduardo Addad de Oliveira
700e4c410b
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (3918 of 3924 strings)
2021-04-08 17:29:16 +02:00
Franco
d75e9646c1
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:13 +02:00
Franco
88b692444d
Translated using Weblate (Spanish (Argentina))
Currently translated at 99.9% (3712 of 3713 strings)
2021-04-08 17:29:10 +02:00
Priit Jõerüüt
af0f2dc9ee
Translated using Weblate (Estonian)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:09 +02:00
Babos Gábor
2280f42f8c
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3922 of 3924 strings)
2021-04-08 17:29:05 +02:00
Ihor Hordiichuk
353559ec95
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:29:02 +02:00
letypequividelespoubelles
99eb790504
Translated using Weblate (French)
Currently translated at 99.7% (3915 of 3924 strings)
2021-04-08 17:28:58 +02:00
Oliver
b03b4f4d59
Translated using Weblate (German)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:28:55 +02:00
Hakuchi
7e8d132c65
Translated using Weblate (German)
Currently translated at 100.0% (3924 of 3924 strings)
2021-04-08 17:28:52 +02:00
ace shadow
8a31db0b85
Translated using Weblate (Slovak)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-08 17:28:51 +02:00
Mirco Zorzo
80f7aefd0c
Translated using Weblate (Italian)
Currently translated at 91.6% (3403 of 3713 strings)
2021-04-08 17:28:48 +02:00
Ihor Hordiichuk
e2d3c25399
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-08 17:28:20 +02:00
Babos Gábor
689f45e8d4
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3712 of 3713 strings)
2021-04-08 17:28:20 +02:00
solokot
1487c62144
Translated using Weblate (Russian)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-08 17:28:19 +02:00
Evgenii Martynenko
9352ce1201
Translated using Weblate (Russian)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-08 17:28:18 +02:00
Oliver
069570b6f2
Translated using Weblate (German)
Currently translated at 99.9% (3712 of 3713 strings)
2021-04-08 17:28:16 +02:00
Hakuchi
1b3f12e2a1
Translated using Weblate (German)
Currently translated at 99.9% (3712 of 3713 strings)
2021-04-08 17:28:16 +02:00
Ldm Public
bbce82ba0a
Translated using Weblate (French)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-08 17:28:15 +02:00
Hinagiku Zeppeki
4ea6df5fdb
Translated using Weblate (Japanese)
Currently translated at 98.1% (3643 of 3713 strings)
2021-04-08 17:28:15 +02:00
Shjosan
264be920bf
Translated using Weblate (Swedish)
Currently translated at 70.1% (2603 of 3713 strings)
2021-04-08 17:28:14 +02:00
Sérgio Morais
63cb87896f
Translated using Weblate (Portuguese)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-08 17:28:12 +02:00
Vitaliy
b1d3ebbaf1 Display pin of point on track menu graphs 2021-04-08 17:28:26 +03:00
Vitaliy
733d152956 Fix map adjusting for track menu 2021-04-08 14:22:55 +03:00
Vitaliy
637f9f957c Open track point menu on long click 2021-04-08 14:10:16 +03:00
androiddevkotlin
01eb699e3b Plan route: Hide Widgets. Show: Compass, configure map, search 2021-04-08 14:03:52 +03:00
max-klaus
acff47bf8a Fix huawei subscription detail 2021-04-07 18:22:36 +03:00
Vitaliy
bb5302e2cc Merge branch 'master' into track_menu 2021-04-07 14:15:11 +03:00
Vitaliy
4ef66d93a7
Merge pull request #11360 from osmandapp/Fix_10997
Fix external input device
2021-04-07 12:57:30 +03:00
Vitaliy
9d20e4ae11
Merge pull request #11363 from osmandapp/ui_multi_profile_plan_route
UI multi profile fixes
2021-04-07 12:52:03 +03:00
cepprice
482acc95f1 Fix NPE 2021-04-07 14:30:13 +05:00
cepprice
077f57c830 Fix route points 2021-04-07 14:30:13 +05:00
cepprice
14272afa44 Fix line visibility on high zoom 2021-04-07 14:30:13 +05:00
cepprice
687e5f6d81 Change condition of multi profile mode 2021-04-07 14:30:13 +05:00
nazar-kutz
74fcdc7ce1 Fix #9567 2021-04-06 18:52:15 +03:00
nazar-kutz
64e2bc56e1 Fix #10997 2021-04-06 18:28:19 +03:00
Vitaliy
2838e408a9 Open track menu on short click 2021-04-06 16:30:35 +03:00
Vitaliy
387de3925f
Merge pull request #11357 from osmandapp/divider_fix_voice
Divider fix on speed limit in voice
2021-04-06 11:26:07 +03:00
androiddevkotlin
04eaaaafa2 Divider fix speed limit in voice 2021-04-06 11:24:25 +03:00
Vitaliy
edb879260a
Merge pull request #11351 from osmandapp/RouteLineFixes
Route Line Appearance: After UI review fixes
2021-04-06 11:02:44 +03:00
nazar-kutz
63b50fbc20 small refactoring p.2 2021-04-06 11:01:31 +03:00
nazar-kutz
8d9ae28ddf small refactoring 2021-04-06 10:53:54 +03:00
vshcherb
336b2a8444
Merge pull request #11354 from osmandapp/track_menu_fixes
Track menu fixes
2021-04-06 09:29:01 +02:00
Vitaliy
6991d7add7 Fix pin visibility for track menu 2021-04-06 01:23:30 +03:00
Vitaliy
7775338364 Fix track menu visibility 2021-04-06 01:08:59 +03:00
Vitaliy
553258c09a Fix status bar icons color and description padding 2021-04-06 00:47:08 +03:00
nazar-kutz
294040aaf9 use contrast color for direction arrows 2021-04-05 23:03:45 +03:00
Vitaliy
27fd305e4c
Merge pull request #11353 from osmandapp/fix_transparent_divider
Fix transparent divider
2021-04-05 22:27:59 +03:00
cepprice
17294eebc3 Fix transparent divider 2021-04-06 00:00:44 +05:00
nazar-kutz
d9bea4ecd4 reduce connectivity 2021-04-05 21:45:50 +03:00
Vitaliy
b5d5772428
Merge pull request #11352 from osmandapp/OSM-Notes-icons
OSM Notes icons on low zoom levels shows wrong icons
2021-04-05 21:42:01 +03:00
androiddevkotlin
037faa9793 OSM Notes icons on low zoom levels shows wrong icons 2021-04-05 20:56:59 +03:00
Vitaliy
e427f7d996
Merge pull request #11349 from osmandapp/purchases_screen_review
Purchases screen UI fixes (without two checkboxes for now)
2021-04-05 20:47:32 +03:00
nazar-kutz
9fdfa1270b Show current card header on main header 2021-04-05 20:19:16 +03:00
Skalii
ac3aeacca1 Merge branch 'master' into srtmf_dialogs
# Conflicts:
#	OsmAnd/res/values/strings.xml
2021-04-05 19:24:04 +03:00
Skalii
1813a99da1 add srtmf map download option p2 2021-04-05 19:21:17 +03:00
Skalii
684571ca34 add srtmf map download option p1 2021-04-05 19:20:50 +03:00
cepprice
f08b7f2f93 UI review fixes 2021-04-05 21:12:13 +05:00
Vitaliy
73741c556c
Merge pull request #11320 from osmandapp/ui_multi_profile_plan_route
UI for multi profile plan route
2021-04-05 18:26:17 +03:00
cepprice
7fd107c97a Review fixes 2021-04-05 19:56:03 +05:00
Dima-1
b0b5a4cdb2 Fix RouteColorize constructor for MapCreator 2021-04-05 14:12:03 +03:00
Vitaliy
3ae35a8353
Merge pull request #11339 from osmandapp/Voice-prompts
Voice prompts
2021-04-05 13:18:54 +03:00
androiddevkotlin
38d05b1f45 Update VoiceRouter.java 2021-04-05 13:17:58 +03:00
androiddevkotlin
68dd209120 Merge branch 'master' into Voice-prompts
# Conflicts:
#	OsmAnd/res/values/strings.xml
2021-04-05 13:16:37 +03:00
androiddevkotlin
8c37068918 Undo inverting setting, remove method from BaseSettingsFragment 2021-04-05 13:00:16 +03:00
Vitaliy
5f244aa249
Merge pull request #11335 from osmandapp/track_coloring_fixes
Track coloring fixes
2021-04-05 12:45:42 +03:00
cepprice
0604374475 Remove out margin 2021-04-05 14:21:00 +05:00
cepprice
34f3474f12 Fix profile icons placing 2021-04-05 13:59:22 +05:00
androiddevkotlin
96d6aff021 Review 2021-04-05 09:58:00 +03:00
cepprice
eb4a1108f8 Review fixes 2021-04-05 11:55:13 +05:00
Vitaliy
f2645a064f
Merge pull request #11310 from osmandapp/current-map-name
Quick action map: suggestion to display current map name
2021-04-05 09:36:17 +03:00
Vitaliy
529576d012
Merge pull request #11298 from osmandapp/text_direction
Text direction
2021-04-05 09:31:25 +03:00
androiddevkotlin
f8cd551085 Remove else block with rtl and ltr combine 2021-04-05 09:29:16 +03:00
androiddevkotlin
516881f8a5 Add getTranslatedItemName() to other class 2021-04-05 09:25:07 +03:00
cepprice
4d9d1fd18f Fix route saving 2021-04-04 18:25:53 +05:00
cepprice
d8ddb71742 Fixes after review 2021-04-04 18:03:09 +05:00
Vitaliy
accb726fcf
Merge pull request #11338 from osmandapp/RouteLineFixes
Route Line UI Review fixes
2021-04-04 12:10:44 +03:00
nazar-kutz
4aa7874750 Fix dark theme 2021-04-04 10:15:23 +03:00
nazar-kutz
9e46f46a6b Custom width: increase max. number to 36 2021-04-04 10:13:42 +03:00
cepprice
6cfc02979f Remove border overlapping when zooming gradient track 2021-04-04 03:22:09 +05:00
cepprice
241a2387b1 Fix colorization when speed was derived from timestamps 2021-04-04 03:20:31 +05:00
xmd5a
741f92ddcd Add phrase 2021-04-03 21:32:33 +03:00
androiddevkotlin
9f40195d76 Remove unnecessary code from toolbar, boolean exit number setting 2021-04-02 22:59:20 +03:00
xmd5a
1a18eb5b58 Add missing phrase (fix https://github.com/osmandapp/OsmAnd/issues/11322) 2021-04-02 17:24:17 +03:00
xmd5a
98887aba71 Remove phrase 2021-04-02 16:25:12 +03:00
Vitaliy
adf6f49266
Merge pull request #11317 from osmandapp/Fix_11184
Fix #11184
2021-04-02 09:29:33 +03:00
cepprice
68af54e140 Change user point icons for multi profile mode 2021-04-02 01:51:28 +05:00
cepprice
14209dbd01 Support multiple segments 2021-04-02 01:26:38 +05:00
Vitaliy
b36d5a92d8
Merge pull request #11319 from osmandapp/Fix_11206
Fix #11206
2021-04-01 22:23:00 +03:00
androiddevkotlin
b9e886ef64 Underlay, overlay naming fix 2021-04-01 22:00:04 +03:00
vshcherb
db296864ee
Merge pull request #11316 from aceman444/patch-1
Add missing word
2021-04-01 20:43:16 +02:00
androiddevkotlin
4f35297d73 First iteration: 3 items done
Rearrange items in the "Voice prompts" menu.
Divide it into groups: "Announce", "User points", "Speed limit", 'Options", "Output".
Rename current "Sped limit" switch to "Announce when exceeded"
2021-04-01 21:16:28 +03:00
nazar-kutz
33a2565c41 Fix #11206 2021-04-01 20:49:49 +03:00
cepprice
bf55e86a7e Draw profile icon on line center 2021-04-01 22:39:33 +05:00
nazar-kutz
b42a69e53f Fix #11184 2021-04-01 19:34:03 +03:00
aceman444
38523c6490
Add missing word
"Please follow this link if you any issues with purchases." is missing "have".
2021-04-01 17:34:58 +02:00
vshcherb
432f0e6abd
Merge pull request #11314 from osmandapp/fix_10904
Fix_10904
2021-04-01 17:20:44 +02:00
Vitaliy
74ba484ffb Fix #10904 2021-04-01 18:13:53 +03:00
vshcherb
60585fdfaf
Merge pull request #11313 from osmandapp/fix_10978
Fix_10978
2021-04-01 17:08:25 +02:00
Vitaliy
e3c456fd95 Fix #10978 2021-04-01 17:35:45 +03:00
androiddevkotlin
a5fce381d5 Misprint fix 2021-04-01 16:22:28 +03:00
Hosted Weblate
25d0c52b9f
Merge branch 'origin/master' into Weblate. 2021-04-01 12:34:03 +02:00
Hakuchi
4def53fc4a
Translated using Weblate (German)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/de/
2021-04-01 12:34:00 +02:00
Jeff Huang
af46bd723b
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:34:00 +02:00
Sveinn í Felli
302f501109
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3895 of 3895 strings)
2021-04-01 12:33:57 +02:00
Sveinn í Felli
40aea6b269
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:57 +02:00
Softmap
40ad509468
Translated using Weblate (Arabic)
Currently translated at 93.4% (3639 of 3895 strings)
2021-04-01 12:33:53 +02:00
Verdulo
b966dfac34
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:52 +02:00
phlostically
63ec628f00
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:52 +02:00
Eduardo Addad de Oliveira
6853b414e4
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:49 +02:00
Franco
3aeacf00f0
Translated using Weblate (Spanish (Argentina))
Currently translated at 99.9% (3712 of 3713 strings)
2021-04-01 12:33:47 +02:00
Priit Jõerüüt
f202b825d7
Translated using Weblate (Estonian)
Currently translated at 100.0% (3895 of 3895 strings)
2021-04-01 12:33:44 +02:00
Babos Gábor
19e0ad1a7c
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3893 of 3895 strings)
2021-04-01 12:33:44 +02:00
Hakuchi
d7a9b44c93
Translated using Weblate (German)
Currently translated at 99.9% (3894 of 3895 strings)
2021-04-01 12:33:43 +02:00
iman
103d2461e1
Translated using Weblate (Persian)
Currently translated at 99.9% (3710 of 3713 strings)
2021-04-01 12:33:43 +02:00
Softmap
815e7db202
Translated using Weblate (Arabic)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:40 +02:00
Ahmad Alfrhood
720c4fbf4a
Translated using Weblate (Arabic)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:38 +02:00
WaldiS
ae419ad2e1
Translated using Weblate (Polish)
Currently translated at 98.4% (3656 of 3713 strings)
2021-04-01 12:33:37 +02:00
Yaron Shahrabani
d27bc71994
Translated using Weblate (Hebrew)
Currently translated at 99.9% (3711 of 3713 strings)
2021-04-01 12:33:32 +02:00
Mirco Zorzo
bbe3fbfcc6
Translated using Weblate (Italian)
Currently translated at 88.4% (3284 of 3713 strings)
2021-04-01 12:33:30 +02:00
Ihor Hordiichuk
648def04a9
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:26 +02:00
Babos Gábor
4da1804f1a
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3712 of 3713 strings)
2021-04-01 12:33:24 +02:00
Evgenii Martynenko
fc524c8232
Translated using Weblate (Russian)
Currently translated at 99.5% (3696 of 3713 strings)
2021-04-01 12:33:21 +02:00
Hakuchi
99c53ce1c7
Translated using Weblate (German)
Currently translated at 99.9% (3710 of 3713 strings)
2021-04-01 12:33:20 +02:00
Ldm Public
7da275deb0
Translated using Weblate (French)
Currently translated at 100.0% (3713 of 3713 strings)
2021-04-01 12:33:17 +02:00
Shjosan
86350eb65e
Translated using Weblate (Swedish)
Currently translated at 69.6% (2586 of 3713 strings)
2021-04-01 12:33:15 +02:00
androiddevkotlin
bf6d5f0b83 Change map quick widget naming style using arrow and three dots 2021-04-01 12:30:38 +03:00
androiddevkotlin
169d734f47 Quick action map: suggestion to display current map name 2021-04-01 10:51:00 +03:00
cepprice
762e574bf0 Use profile color for plan route lines 2021-03-31 22:51:30 +05:00
vshcherb
ca80f13d13
Merge pull request #11297 from osmandapp/fix_10072
Fix_10072
2021-03-31 16:24:17 +02:00
vshcherb
756fa1a510
Merge pull request #11302 from osmandapp/fix_track_upload
Fix tracks upload to osm
2021-03-31 16:23:18 +02:00
vshcherb
cae3e339b1
Merge pull request #11300 from osmandapp/fix_11273
Fix_11273
2021-03-31 16:22:26 +02:00
vshcherb
affe7df24a
Merge pull request #11303 from osmandapp/fix_11229
Fix_11229
2021-03-31 16:20:14 +02:00
Vitaliy
01cc58308f Fix #11229 2021-03-31 17:09:03 +03:00
Vitaliy
17027c860a Fix tracks upload to osm 2021-03-31 15:53:27 +03:00
Vitaliy
80c807cc10 Fix #11273 2021-03-31 15:21:12 +03:00
Vitaliy
f6212c216e
Merge pull request #11295 from osmandapp/rtl_issue_review
Rtl issue review
2021-03-31 15:04:00 +03:00
androiddevkotlin
8f8d4366d4 Please re-check the "Terrain" menu empty state, it looks strange, why URL is on the first line?
Other rtl languages work fine: Persian, Hebrew. Arabic may have its own characteristics , so its hardcoded in commit.
2021-03-31 13:01:16 +03:00
Vitaliy
262b8d0084 Fix #10072 2021-03-31 10:53:46 +03:00
androiddevkotlin
1ce5313dfd Data storage folder show second slash "/" for path goes to the second line. 2021-03-30 23:53:18 +03:00
androiddevkotlin
34e9074cfa Open track > Tracks > 3 dots menu should be closer to the left screen edge. 2021-03-30 23:36:16 +03:00
androiddevkotlin
afb8adda6c First start: Change folder dialog, second text line should be aligned to the right side. 2021-03-30 22:56:23 +03:00
vshcherb
e880f99a25
Merge pull request #11292 from osmandapp/fix_altitude_in_favorites
Fix empty altitude in favorites
2021-03-30 18:50:00 +02:00
Skalii
a24d5e607a fix empty altitude in favorites; 2021-03-30 17:33:38 +03:00
Vitaliy
135e5024f9
Merge pull request #11289 from osmandapp/jump_group_favorite
Favorites icon groups jump after selection.
2021-03-30 16:42:00 +03:00
androiddevkotlin
69d4c71765 Fix scroll after open edit favorite point 2021-03-30 15:06:07 +03:00
Vitaliy
369ce31d8c
Merge pull request #11290 from osmandapp/fix_time_in_motion_elements
Fix "Time in motion" elements
2021-03-30 14:53:27 +03:00
Skalii
77e61515d8 fix replace elements "Time moving" with "Time in motion" 2021-03-30 14:46:01 +03:00
androiddevkotlin
8fe9fc99d3 Favorites icon groups jump after selection. 2021-03-30 14:39:35 +03:00
vshcherb
32718977c7
Merge pull request #11251 from osmandapp/fix_conditional_tags
fix replace getNonConditionalTag
2021-03-30 13:35:22 +02:00
Dima-1
84ad07a7b5 return getTag 2021-03-30 14:27:15 +03:00
Vitaliy
118721bb9e
Merge pull request #11288 from osmandapp/FixRouteLine2
Fix: can't save route line appearance after select "map style" in editing
2021-03-30 12:29:32 +03:00
nazar-kutz
1affe2f602 Fix: can't save route line appearance after select "map style" color in editing 2021-03-30 12:27:26 +03:00
xmd5a
446650a80e Add phrases 2021-03-30 11:54:15 +03:00
Vitaliy
124b701a9f
Merge pull request #11287 from osmandapp/fix_osmand_live_list_sorting
OsmAnd Live - correct list sorting
2021-03-30 11:21:09 +03:00
Skalii
919e488ea0 fix sort 2021-03-30 11:17:54 +03:00
xmd5a
2b794f9b46 Add phrases 2021-03-30 10:53:11 +03:00
Vitaliy
bc249018e3
Merge pull request #11283 from osmandapp/MapWidgetsRefactoring
Map widgets visibility refactoring
2021-03-30 10:42:11 +03:00
nazar-kutz
66717cb23c after code review 2021-03-30 10:13:11 +03:00
Hosted Weblate
35de6913a4
Merge branch 'origin/master' into Weblate. 2021-03-30 03:27:40 +02:00
Jeff Huang
a31b0c1d61
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3895 of 3895 strings)
2021-03-30 03:27:37 +02:00
Verdulo
7f39af3310
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3895 of 3895 strings)
2021-03-30 03:27:36 +02:00
Shjosan
412fa4d33d
Translated using Weblate (Swedish)
Currently translated at 100.0% (3895 of 3895 strings)
2021-03-30 03:27:36 +02:00
Eduardo Addad de Oliveira
84a6d663f4
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3895 of 3895 strings)
2021-03-30 03:26:41 +02:00
Franco
86bdcb9415
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3895 of 3895 strings)
2021-03-30 03:26:40 +02:00
Babos Gábor
6c531bebc7
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3893 of 3895 strings)
2021-03-30 03:26:40 +02:00
Ihor Hordiichuk
cd3333dd61
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3895 of 3895 strings)
2021-03-30 03:26:39 +02:00
Vitaliy
d4882a4591
Merge pull request #11268 from osmandapp/fix_osmand_live_p1
Fix OsmAnd Live
2021-03-29 23:17:13 +03:00
Vitaliy
6f5236e8b4 Small fixes 2021-03-29 23:16:37 +03:00
nazar-kutz
5149d6543b Map widgets visibility refactoring, part 3 2021-03-29 23:13:53 +03:00
nazar-kutz
3dff56da46 Map widgets visibility refactoring, part 2 2021-03-29 23:09:02 +03:00
Vitaliy
d8b5fbacbb Merge remote-tracking branch 'origin/fix_osmand_live_p1' into fix_osmand_live_p1 2021-03-29 22:30:07 +03:00
Skalii
45b34cb933 Merge remote-tracking branch 'origin/master' into fix_osmand_live_p1
# Conflicts:
#	OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java
2021-03-29 22:25:27 +03:00
Vitaliy
9f9374438e Merge remote-tracking branch 'origin/fix_osmand_live_p1' into fix_osmand_live_p1 2021-03-29 22:21:29 +03:00
Skalii
7dd3795ebe small fixes 2021-03-29 22:21:12 +03:00
Vitaliy
211cc78189
Merge pull request #11242 from osmandapp/trip_recording_graphs_dynamic_update
Trip recording graphs (add dynamic update)
2021-03-29 22:18:15 +03:00
Skalii
82fa75db1d small fixes 2021-03-29 22:11:37 +03:00
Vitaliy
001b34c47d
Merge pull request #11286 from osmandapp/fix_removing_gpx_from_my_places
Fix removing GPX from "My Places"
2021-03-29 21:54:46 +03:00
Skalii
48092f0e23 fix hiding gpx files on maps after deleting from my places p2 2021-03-29 21:48:50 +03:00
Skalii
a8f780a46c fix hiding gpx files on maps after deleting from my places p1 2021-03-29 21:48:37 +03:00
Vitaliy
e9a8d28ad1 Merge branch 'master' into fix_osmand_live_p1 2021-03-29 21:41:26 +03:00
Skalii
9a6d6049a4 fixes after merge 2021-03-29 21:15:16 +03:00
Skalii
7420b71048 small fixes 2021-03-29 21:00:39 +03:00
Skalii
753c963032 Merge remote-tracking branch 'origin/master' into fix_osmand_live_p1
# Conflicts:
#	OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesFragment.java
2021-03-29 20:59:35 +03:00
Vitaliy
ae89349d14
Merge pull request #11284 from osmandapp/testing-purchase
Fix nigth mode for cards
2021-03-29 20:54:23 +03:00
cepprice
fc35892883 Fix nigth mode for cards 2021-03-29 22:50:51 +05:00
Vitaliy
07ee3be474
Merge pull request #11282 from osmandapp/Quick-action-list
Quick action list fix for show/hide for editable items
2021-03-29 20:44:44 +03:00
androiddevkotlin
5e1a5e8d3e Review 2021-03-29 20:43:41 +03:00
nazar-kutz
dacbc9b4cf fix spaces 2021-03-29 20:26:55 +03:00
nazar-kutz
40b5220caa Map widgets visibility refactoring, part 1 2021-03-29 20:24:06 +03:00
androiddevkotlin
896ae11878 Add constant, rename variable 2021-03-29 19:34:44 +03:00
Skalii
07280935c0 some fixes 2021-03-29 19:18:56 +03:00
Vitaliy
372e4e7f49
Merge pull request #11240 from osmandapp/testing-purchase
Add purchases screen
2021-03-29 18:30:41 +03:00
androiddevkotlin
0b361afaec Quick action list fix for show/hide for editable items 2021-03-29 16:44:38 +03:00
Skalii
7115368dd4 fix manual update process; 2021-03-29 16:38:08 +03:00
cepprice
d190da742a Huawei fix and small corrections 2021-03-29 18:13:56 +05:00
Vitaliy
3cfb56c443
Merge pull request #11247 from osmandapp/add_stroke_to_gradient_track_line
Add border to gradient track line
2021-03-29 15:27:01 +03:00
Vitaliy
8aa9380907
Merge pull request #11277 from osmandapp/RTL-issue
Rtl issue
2021-03-29 15:19:03 +03:00
androiddevkotlin
a77362c5e0 BidiFormatter 2021-03-29 14:43:14 +03:00
Skalii
6ba23e6a3c some fixes; 2021-03-29 14:03:05 +03:00
androiddevkotlin
78175e8a1c Import header, storage path replace in UI display 2021-03-29 13:39:36 +03:00
Vitaliy
adbcb141a7
Merge pull request #11258 from osmandapp/Displayed-tracks
Displayed tracks
2021-03-29 12:52:36 +03:00
androiddevkotlin
03a450f9e2 WeakReference - mapActivity, import header 2021-03-29 12:49:11 +03:00
Ahmad Alfrhood
8ceef9af42
Translated using Weblate (Arabic)
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-29 10:17:35 +02:00
Hinagiku Zeppeki
aa7e75bc4a
Translated using Weblate (Japanese)
Currently translated at 98.5% (3643 of 3695 strings)
2021-03-29 03:37:35 +02:00
Hosted Weblate
1d56925f8e
Merge branch 'origin/master' into Weblate. 2021-03-29 00:03:55 +02:00
Hierax Swiftwing
a557c6f2fc
Translated using Weblate (Serbian)
Currently translated at 97.4% (3795 of 3894 strings)
2021-03-29 00:03:50 +02:00
Ajeje Brazorf
53106fd8e2
Translated using Weblate (Sardinian)
Currently translated at 99.2% (3669 of 3695 strings)
2021-03-29 00:03:48 +02:00
Hierax Swiftwing
1cdf506212
Translated using Weblate (Serbian)
Currently translated at 97.7% (3612 of 3695 strings)
2021-03-29 00:03:45 +02:00
androiddevkotlin
99c432d9ff Change targetFragment to MapRouteInfoMenu, static startNavigation 2021-03-28 23:41:49 +03:00
xmd5a
6fb2273ee4 Add phrase 2021-03-28 23:30:45 +03:00
Vitaliy
1b532acbe7
Merge pull request #11238 from osmandapp/rtl_fix
Rtl fix xml and Announcement time
2021-03-28 22:38:03 +03:00
androiddevkotlin
be85c4dcd6 User suggestion 2021-03-28 22:37:03 +03:00
Hosted Weblate
5baafa845a
Merge branch 'origin/master' into Weblate. 2021-03-27 23:29:45 +01:00
Famlam
97f0f8d9e8
Translated using Weblate (Dutch)
Currently translated at 98.2% (3629 of 3695 strings)
2021-03-27 23:29:42 +01:00
Softmap
122aef6ae6
Translated using Weblate (Arabic)
Currently translated at 93.4% (3639 of 3894 strings)
2021-03-27 23:29:42 +01:00
Franco
6322fad7b5
Translated using Weblate (Spanish (Argentina))
Currently translated at 99.9% (3694 of 3695 strings)
2021-03-27 23:29:41 +01:00
Ihor Hordiichuk
787ec5b159
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-27 23:29:40 +01:00
iman
387a92af01
Translated using Weblate (Persian)
Currently translated at 99.9% (3692 of 3695 strings)
2021-03-27 23:29:40 +01:00
Manuel Tassi
c7c9cd7682
Translated using Weblate (Italian)
Currently translated at 88.1% (3257 of 3695 strings)
2021-03-27 23:29:39 +01:00
Ihor Hordiichuk
2b01201311
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-27 23:29:39 +01:00
Ldm Public
fa0dcb03aa
Translated using Weblate (French)
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-27 23:29:38 +01:00
Hinagiku Zeppeki
239d42852a
Translated using Weblate (Japanese)
Currently translated at 97.8% (3616 of 3695 strings)
2021-03-27 23:29:38 +01:00
androiddevkotlin
ae858ede93 storage path fix 2021-03-28 00:24:57 +02:00
Skalii
7048f8c52d fix dynamic updating graphs;
some fixes;
2021-03-27 22:51:59 +02:00
Skalii
b114d4956e fix after merge 2021-03-27 12:29:38 +02:00
androiddevkotlin
3e8dac9caf Setting format 2021-03-26 23:09:00 +02:00
Skalii
c5540162f4 fix swap "Update frequency" and "Update time" 2021-03-26 18:04:01 +02:00
cepprice
d22edfd9ae Split layout to cards 2021-03-26 20:28:30 +05:00
Skalii
50ac1174d0 fix padding between title and description 2021-03-26 17:22:17 +02:00
Skalii
e4383f21fc fix text style for "Update frequency" and "Update time" items 2021-03-26 16:59:22 +02:00
Skalii
9e98fb12dd fix text style in OsmAnd Live banner 2021-03-26 16:48:43 +02:00
Skalii
16efbfd7f5 fix landscape app bar text size;
refactoring app bar;
2021-03-26 15:37:22 +02:00
Vitaliy
3f0803eb08
Merge pull request #11256 from osmandapp/add_new_items_to_gpx_blocks
New statistics blocks in GPX Overview
2021-03-26 15:22:52 +02:00
Skalii
ff26a082f9 fix free space of help icon;
fix help page now opens in "chrome tabs";
2021-03-26 14:49:10 +02:00
Vitaliy
0480d39439
Merge pull request #11259 from osmandapp/Fix_11045
Fix #11045
2021-03-26 14:38:26 +02:00
Skalii
5c83a31c77 fix "Latest OpenStreetMap..." bar with time now scrollable;
add free space under the "Available maps" card;
2021-03-26 14:31:22 +02:00
Skalii
e3b4786556 small refactoring 2021-03-26 13:17:45 +02:00
Skalii
0addf8d56b fix updating graphs after starting a new segment 2021-03-26 12:54:53 +02:00
Skalii
a4e1d93f9e small fixes 2021-03-26 11:38:24 +02:00
Skalii
5ea797aa7a Merge branch 'master' into trip_recording_graphs_dynamic_update
# Conflicts:
#	OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java
2021-03-26 11:21:25 +02:00
Hosted Weblate
d04f5f6814
Merge branch 'origin/master' into Weblate. 2021-03-26 09:29:56 +01:00
solokot
83902e281a
Translated using Weblate (Russian)
Currently translated at 99.8% (3888 of 3894 strings)
2021-03-26 09:29:53 +01:00
Artem
ee7e8bf3eb
Translated using Weblate (Russian)
Currently translated at 99.8% (3888 of 3894 strings)
2021-03-26 09:29:52 +01:00
Jeff Huang
aaff5c3f7c
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-26 09:29:51 +01:00
Verdulo
393e4b06d3
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-26 09:29:51 +01:00
Eduardo Addad de Oliveira
e8c0064cb7
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-26 09:29:50 +01:00
Franco
199c7772ba
Translated using Weblate (Spanish (Argentina))
Currently translated at 99.9% (3694 of 3695 strings)
2021-03-26 09:29:49 +01:00
ovl-1
befb22b218
Translated using Weblate (Norwegian Bokmål)
Currently translated at 60.8% (2249 of 3695 strings)
2021-03-26 09:29:48 +01:00
iman
a919a99a89
Translated using Weblate (Persian)
Currently translated at 99.9% (3692 of 3695 strings)
2021-03-26 09:29:47 +01:00
Softmap
cf217b425b
Translated using Weblate (Arabic)
Currently translated at 99.9% (3693 of 3695 strings)
2021-03-26 09:29:46 +01:00
Yaron Shahrabani
17964af6e7
Translated using Weblate (Hebrew)
Currently translated at 99.9% (3693 of 3695 strings)
2021-03-26 09:29:45 +01:00
ace shadow
b4b3285326
Translated using Weblate (Slovak)
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-26 09:29:44 +01:00
Ihor Hordiichuk
94a78b636a
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-26 09:29:43 +01:00
Babos Gábor
15bd1b01fe
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3694 of 3695 strings)
2021-03-26 09:29:42 +01:00
solokot
3f01136708
Translated using Weblate (Russian)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-26 09:29:42 +01:00
Oliver
6c439350c4
Translated using Weblate (German)
Currently translated at 99.9% (3693 of 3695 strings)
2021-03-26 09:29:40 +01:00
Ldm Public
3f62b5cc1a
Translated using Weblate (French)
Currently translated at 100.0% (3695 of 3695 strings)
2021-03-26 09:29:40 +01:00
Hinagiku Zeppeki
4da71a3734
Translated using Weblate (Japanese)
Currently translated at 97.6% (3609 of 3695 strings)
2021-03-26 09:29:39 +01:00
cepprice
67449365b4 Small fixes and corrections 2021-03-26 11:01:37 +05:00
Skalii
ca03a530ff some fixes;
delete old fragments;
fix all area after divider with switch now tappable and change switch behavior;
change help icon;
add new dialog "Update all maps"
2021-03-26 03:30:28 +02:00
androiddevkotlin
33968534fa MGRS number translate fix 2021-03-26 01:55:38 +02:00
androiddevkotlin
27002fd152 Here please use ltr_or_rtl_combine_via_comma for text parts after colon (There's nothing to do with colon itself). 2021-03-26 01:03:37 +02:00
nazar-kutz
f1aedd7ef0 Fix #11045 2021-03-26 00:34:12 +02:00
androiddevkotlin
eeaf45ea98 RTL issue - Applying correct text direction (ltr or rtl)
https://github.com/osmandapp/OsmAnd/issues/11212
2021-03-25 23:56:08 +02:00
Vitaliy
de386f5286
Merge pull request #11254 from osmandapp/RouteLine
Use different colors for route line appearance in day and night map themes
2021-03-25 23:55:38 +02:00
androiddevkotlin
8ee7cd0736 Remove unused import and unnecessary casting 2021-03-25 23:47:04 +02:00
androiddevkotlin
9cfd0f5e36 Directions: Displayed tracks, select segment doesn't show
https://github.com/osmandapp/OsmAnd-Issues/issues/518
2021-03-25 23:45:29 +02:00
Vitaliy
ce475077fe
Merge pull request #11255 from osmandapp/fix_trip_recording_p1
Quick fix trip recording
2021-03-25 22:54:04 +02:00
Vitaliy
be2297c967
Merge pull request #11257 from osmandapp/fix_route_recalc
Fix NoClassDefFoundError
2021-03-25 22:53:56 +02:00
Vitaliy
27cf399bd9 Fix NoClassDefFoundError for old android version 2021-03-25 22:49:31 +02:00
Skalii
1a149c0d63 small fixes 2021-03-25 21:05:10 +02:00
nazar-kutz
483f33bccd small fixes 2021-03-25 20:49:28 +02:00
Skalii
11d03489cc add new items "Altitude range" and "Time on motion" in gpx block statistics 2021-03-25 20:27:16 +02:00
Skalii
ad409bc967 fix keep the main "Trip Record" dialog visible after clicking on "Options" 2021-03-25 17:49:46 +02:00
Skalii
9d17f50f4b fix full height of main dialog in landscape 2021-03-25 17:24:09 +02:00
nazar-kutz
d9a69dd154 Use different colors for route line appearance 2021-03-25 16:17:14 +02:00
Vitaliy
a0be550d04
Merge pull request #11250 from osmandapp/Quick-action-fix
Quick action fix
2021-03-25 14:39:29 +02:00
androiddevkotlin
684b0cdeb5 Review2 2021-03-25 14:38:49 +02:00
androiddevkotlin
5d3e7fd0d2 Review 2021-03-25 14:02:30 +02:00
Vitaliy
66f4b97b91
Merge pull request #11252 from osmandapp/MenuItem-icon-fix-rtl
Menu item icon fix rtl
2021-03-25 13:40:10 +02:00
androiddevkotlin
89db60fbc8 rtl change storage text 2021-03-25 13:26:08 +02:00
Vitaliy
837176a3d1 Merge branch 'master' into testing-purchase
# Conflicts:
#	OsmAnd/res/values/strings.xml
2021-03-25 13:23:17 +02:00
Skalii
ffe15a976f add horizontal margins for graphs 2021-03-25 13:23:16 +02:00
androiddevkotlin
d1fd273117 rtl refactor, dp, comments deleted 2021-03-25 13:11:06 +02:00
Skalii
27bf5e7809 fix display of the button "Start online monitoring" 2021-03-25 12:56:50 +02:00
Vitaliy
cf870da76a
Merge pull request #11249 from osmandapp/MenuItem-icon-fix-rtl
RTL issue - Menu misalignment
2021-03-25 12:52:38 +02:00
Dima-1
4d78fc77de fix replace getNonConditionalTag 2021-03-25 09:52:18 +02:00
Evgenii Martynenko
83282f4b98
Translated using Weblate (Russian)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:35:48 +01:00
Hosted Weblate
d67aa52000
Merge branch 'origin/master' into Weblate. 2021-03-25 08:12:15 +01:00
Shjosan
ef59866913
Translated using Weblate (Swedish)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/sv/
2021-03-25 08:12:15 +01:00
Remi
5e6c9a335e
Translated using Weblate (Dutch)
Currently translated at 98.3% (3629 of 3690 strings)
2021-03-25 08:12:15 +01:00
Jeff Huang
bd835b0153
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:12:14 +01:00
phlostically
0f362fe525
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:12:13 +01:00
Franco
f72482e2c2
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-25 08:12:13 +01:00
Franco
4cf50ad804
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:12:13 +01:00
Shjosan
c57c44cb0c
Translated using Weblate (Swedish)
Currently translated at 87.1% (3393 of 3894 strings)
2021-03-25 08:12:12 +01:00
Eduardo Addad de Oliveira
b5c5627b05
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:12:05 +01:00
Franco
109ae94c33
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:12:04 +01:00
Пламен
39630ab43b
Translated using Weblate (Bulgarian)
Currently translated at 46.3% (1711 of 3690 strings)
2021-03-25 08:12:03 +01:00
Pavel Kotrč
45672c2b47
Translated using Weblate (Czech)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:12:01 +01:00
iman
4f3e522424
Translated using Weblate (Persian)
Currently translated at 99.8% (3686 of 3690 strings)
2021-03-25 08:12:00 +01:00
Softmap
eb3584b79f
Translated using Weblate (Arabic)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:11:59 +01:00
Yaron Shahrabani
8327496965
Translated using Weblate (Hebrew)
Currently translated at 99.9% (3689 of 3690 strings)
2021-03-25 08:11:58 +01:00
ace shadow
5694e4469a
Translated using Weblate (Slovak)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:11:57 +01:00
Mirco Zorzo
d02665032a
Translated using Weblate (Italian)
Currently translated at 88.2% (3257 of 3690 strings)
2021-03-25 08:11:57 +01:00
Ihor Hordiichuk
9fc2fcf2bd
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:11:46 +01:00
Babos Gábor
f96118767d
Translated using Weblate (Hungarian)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:11:45 +01:00
Oliver
036ab858ef
Translated using Weblate (German)
Currently translated at 99.9% (3689 of 3690 strings)
2021-03-25 08:11:45 +01:00
Ldm Public
17334eb2cd
Translated using Weblate (French)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:11:44 +01:00
Hinagiku Zeppeki
8ee7043123
Translated using Weblate (Japanese)
Currently translated at 97.1% (3586 of 3690 strings)
2021-03-25 08:11:43 +01:00
solokot
3e6d65d08a
Translated using Weblate (Russian)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:11:34 +01:00
Evgenii Martynenko
e292cfc030
Translated using Weblate (Russian)
Currently translated at 100.0% (3690 of 3690 strings)
2021-03-25 08:11:34 +01:00
Skalii
eff2d35a7f fix header height in main dialog;
fix header title and stop button title in discard dialog;
2021-03-25 04:14:47 +02:00
Skalii
5a68b91b0c fix close button in main dialog;
fix divider between toggle buttons;
2021-03-25 03:51:02 +02:00
androiddevkotlin
2c43cf8b93 if the action name is available for editing, we should not show the "Show/hide – " 2021-03-25 00:59:57 +02:00
Skalii
3dd74265fe fix "Start" button appearance 2021-03-25 00:56:34 +02:00
androiddevkotlin
67a2a447e7 Revert change: Edit action screen, if the action name is available for editing, we should not show the "Show/hide – " part, because after deleting or changing this part it appears on the quick action bar anyway.
https://github.com/osmandapp/OsmAnd/issues/10196
2021-03-25 00:36:40 +02:00
androiddevkotlin
edb329e336 RTL issue - Menu misalignment
https://github.com/osmandapp/OsmAnd/issues/11198
2021-03-24 23:08:09 +02:00
cepprice
faa8503847 Add border to gradient track line 2021-03-24 22:02:32 +05:00
Skalii
4038f430c5 add dynamic update for charts 2021-03-24 15:09:13 +02:00
Dmitry
2277d6c4ea Added draft release notes for 4.0 2021-03-24 11:22:53 +02:00
androiddevkotlin
3c239cae0c Api low 2021-03-24 11:21:41 +02:00
cepprice
6c31d95649
Merge branch 'master' into testing-purchase 2021-03-24 12:40:54 +05:00
androiddevkotlin
a8bca97b0b Rtl fix xml and Announcement time 2021-03-24 01:40:52 +02:00
Vitaliy
feadaa0da5
Merge pull request #11203 from osmandapp/RouteLine
Route Line Customization
2021-03-24 01:39:08 +02:00
nazar-kutz
3ecfbfc087 Merge branch 'master' into RouteLine
# Conflicts:
#	OsmAnd/res/values/strings.xml
2021-03-24 01:37:43 +02:00
nazar-kutz
90ee2ba501 After code review fixes 3 2021-03-24 01:35:29 +02:00
cepprice
03f0f19cae Add UI of support region setting 2021-03-24 03:06:01 +05:00
Hosted Weblate
e4d9e37141
Merge branch 'origin/master' into Weblate. 2021-03-23 20:45:34 +01:00
Shjosan
b7de6e8a38
Translated using Weblate (Swedish)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/sv/
2021-03-23 20:45:31 +01:00
Jeff Huang
738d282091
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3688 of 3688 strings)
2021-03-23 20:45:31 +01:00
phlostically
6d1b6faf20
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3688 of 3688 strings)
2021-03-23 20:45:30 +01:00
Priit Jõerüüt
c3fb538e06
Translated using Weblate (Estonian)
Currently translated at 99.9% (3687 of 3688 strings)
2021-03-23 20:45:29 +01:00
Eduardo Addad de Oliveira
0aaa004702
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (3687 of 3688 strings)
2021-03-23 20:45:29 +01:00
Allan Nordhøy
51dff2456b
Translated using Weblate (Norwegian Bokmål)
Currently translated at 60.8% (2245 of 3688 strings)
2021-03-23 20:45:28 +01:00
iman
487d357c2f
Translated using Weblate (Persian)
Currently translated at 99.8% (3682 of 3688 strings)
2021-03-23 20:45:28 +01:00
Yaron Shahrabani
1310854caa
Translated using Weblate (Hebrew)
Currently translated at 99.9% (3687 of 3688 strings)
2021-03-23 20:45:27 +01:00
Ihor Hordiichuk
97735bb598
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3688 of 3688 strings)
2021-03-23 20:45:26 +01:00
Babos Gábor
75affd7917
Translated using Weblate (Hungarian)
Currently translated at 100.0% (3688 of 3688 strings)
2021-03-23 20:45:25 +01:00
Ldm Public
0f037d6264
Translated using Weblate (French)
Currently translated at 100.0% (3688 of 3688 strings)
2021-03-23 20:45:25 +01:00
Hinagiku Zeppeki
6bbed2571f
Translated using Weblate (Japanese)
Currently translated at 95.3% (3518 of 3688 strings)
2021-03-23 20:45:24 +01:00
Shjosan
509bf2b8b2
Translated using Weblate (Swedish)
Currently translated at 68.9% (2542 of 3688 strings)
2021-03-23 20:45:23 +01:00
nazar-kutz
de93f862a7 Change logic of preparation route line appearance on the map 2021-03-23 21:15:35 +02:00
cepprice
3e4153a5cb Add subscription card 2021-03-23 23:44:23 +05:00
nazar-kutz
1da3c93e5c Fix logic 2021-03-23 16:25:09 +02:00
androiddevkotlin
edc741e84f NPE fix 2021-03-23 14:26:15 +02:00
androiddevkotlin
294bc53ecd Minor addition strings format 2021-03-23 14:01:11 +02:00
alex-osm
0f41f95621
Merge pull request #11221 from osmandapp/fix_export_import
Fix export import UI
2021-03-23 13:35:14 +03:00
Vitaliy
1fe9fa2e43
Merge pull request #11232 from osmandapp/fix_open_track_btn
Fix 'Open track' button of newly created Waypoint
2021-03-23 11:29:28 +02:00
Vitaliy
fef3af8e5f Fix current track 2021-03-23 11:28:47 +02:00
Vitaliy
1b0b76d5b2 Small fix 2021-03-23 11:13:22 +02:00
nazar-kutz
a3d499b8d1 update default value when map style changed 2021-03-23 10:43:16 +02:00
nazar-kutz
e7e78d8449 use width modes defined for track appearance 2021-03-23 10:19:26 +02:00
cepprice
63b588d0b1 Notify that track waypoint group is hidden 2021-03-23 12:36:50 +05:00
cepprice
7c9bdb70f1 Fix 'Open track' button of newly created Waypoint 2021-03-23 12:13:00 +05:00
androiddevkotlin
7487cda2c3 Review 2021-03-23 01:02:19 +02:00
nazar-kutz
881c2214b6 use the same paint for calculated route and preview 2021-03-23 00:29:34 +02:00
nazar-kutz
0ea47b985a return inner scroll 2021-03-23 00:06:08 +02:00
nazar-kutz
0cda81127d show line and navigation icon in preview mode 2021-03-22 23:41:55 +02:00
Vitaliy
513cce6304
Merge pull request #11223 from osmandapp/trip_recording_starting_setting_show_dialog
Redesign trip recording start dialog (added setting show dialog)
2021-03-22 22:50:22 +02:00
nazar-kutz
573b2cec9d fix "save to settings and restore" 2021-03-22 22:36:53 +02:00
Skalii
3bc071c986 some fixes; 2021-03-22 22:35:34 +02:00
Skalii
28d6dd0e4a small fixes; 2021-03-22 22:05:10 +02:00
Skalii
1c140011ab Merge branch 'master' into trip_recording_starting_setting_show_dialog 2021-03-22 22:01:05 +02:00
Vitaliy
334d7a11e1
Merge pull request #11220 from osmandapp/trip_recording_graphs
Redesign trip recording base dialog (added graphs)
2021-03-22 21:55:04 +02:00
Skalii
6daf750591 small fixes; 2021-03-22 21:52:10 +02:00
Skalii
1d66be6f4b some fixes; 2021-03-22 21:38:39 +02:00
Skalii
6f03c5ac25 Merge remote-tracking branch 'origin/trip_recording_graphs' into trip_recording_graphs
# Conflicts:
#	OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java
2021-03-22 20:59:51 +02:00
Victor Shcherb
35d72bdbaa Fix #10968 2021-03-22 19:57:42 +01:00
Hosted Weblate
8dbe502907
Merge branch 'origin/master' into Weblate. 2021-03-22 18:59:53 +01:00
Ldm Public
6193387459
Translated using Weblate (French)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/fr/
2021-03-22 18:59:52 +01:00
Michalis
aed05f43e0
Translated using Weblate (Greek)
Currently translated at 19.5% (53 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/el/
2021-03-22 18:59:51 +01:00
Gilbert Lowel
bd1846683d
Translated using Weblate (Dutch)
Currently translated at 98.4% (3627 of 3685 strings)
2021-03-22 18:59:51 +01:00
Liu Tao
2651fdfa4a
Translated using Weblate (Chinese (Simplified))
Currently translated at 19.6% (766 of 3894 strings)
2021-03-22 18:59:51 +01:00
Shjosan
2d6ea304b2
Translated using Weblate (Swedish)
Currently translated at 85.4% (3329 of 3894 strings)
2021-03-22 18:59:50 +01:00
ovl-1
f8bac862d1
Translated using Weblate (Norwegian Bokmål)
Currently translated at 42.4% (1654 of 3894 strings)
2021-03-22 18:59:42 +01:00
iman
8444e83484
Translated using Weblate (Persian)
Currently translated at 36.7% (1430 of 3894 strings)
2021-03-22 18:59:38 +01:00
letypequividelespoubelles
a903353acb
Translated using Weblate (French)
Currently translated at 99.8% (3888 of 3894 strings)
2021-03-22 18:59:37 +01:00
ovl-1
bcc6eff895
Translated using Weblate (Norwegian Bokmål)
Currently translated at 60.8% (2243 of 3685 strings)
2021-03-22 18:59:36 +01:00
Michalis
8195de78f0
Translated using Weblate (Greek)
Currently translated at 91.2% (3363 of 3685 strings)
2021-03-22 18:59:35 +01:00
Evgenii Martynenko
fe5219f296
Translated using Weblate (Russian)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-22 18:59:34 +01:00
letypequividelespoubelles
7c5b425e5a
Translated using Weblate (French)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-22 18:59:33 +01:00
Hinagiku Zeppeki
ca83e57932
Translated using Weblate (Japanese)
Currently translated at 95.3% (3515 of 3685 strings)
2021-03-22 18:59:33 +01:00
letypequividelespoubelles
7aa5e4e1a6
Translated using Weblate (French)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/fr/
2021-03-22 18:59:16 +01:00
Vitaliy
508613cf19 Merge branch 'master' into trip_recording_graphs 2021-03-22 19:56:32 +02:00
Vitaliy
ee4beb8c45 Fix compilation 2021-03-22 19:56:27 +02:00
Vitaliy
bb1aef0862 Merge remote-tracking branch 'origin/trip_recording' into trip_recording_graphs
# Conflicts:
#	OsmAnd/src/net/osmand/plus/monitoring/MonitoringSettingsFragment.java
#	OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomFragment.java
2021-03-22 19:54:56 +02:00
Skalii
5af4e49b30 Merge branch 'master' into trip_recording_graphs
# Conflicts:
#	OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomFragment.java
#	OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java
2021-03-22 19:53:36 +02:00
Vitaliy
e301eebcf9
Merge pull request #11201 from osmandapp/trip_recording
Redesign trip recording base dialog (added options dialog)
2021-03-22 19:07:16 +02:00
Skalii
e1da7bbadf some fixes; 2021-03-22 19:05:51 +02:00
nazar-kutz
f3eb10ff88 remove temporally RouteLineHelper class 2021-03-22 17:39:21 +02:00
Vitaliy
8e2b5a72f0 Fix compilation 2021-03-22 17:21:26 +02:00
Vitaliy
96b2314e15 Merge branch 'master' into trip_recording_graphs
# Conflicts:
#	OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomFragment.java
#	OsmAnd/src/net/osmand/plus/monitoring/TripRecordingStartingBottomFragment.java
#	OsmAnd/src/net/osmand/plus/settings/fragments/BaseSettingsFragment.java
#	OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java
2021-03-22 17:16:57 +02:00
Skalii
695a0016b9 lost fixes after merge; 2021-03-22 16:03:32 +02:00
Skalii
27dc55188e Merge branch 'master' into trip_recording
# Conflicts:
#	OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomFragment.java
#	OsmAnd/src/net/osmand/plus/monitoring/TripRecordingStartingBottomFragment.java
#	OsmAnd/src/net/osmand/plus/settings/fragments/BaseSettingsFragment.java
2021-03-22 15:23:29 +02:00
nazar-kutz
9fda0edc37 remove duplicate code 2021-03-22 14:44:47 +02:00
Vitaliy
498b991198
Merge pull request #11181 from osmandapp/trip_recording_starting
Redesign trip recording start dialog
2021-03-22 14:41:06 +02:00
nazar-kutz
b034db4f39 After code review fixes 2 2021-03-22 14:40:49 +02:00
Vitaliy
f3c34e1060 Small fixes 2021-03-22 14:40:03 +02:00
androiddevkotlin
8de07a2c59 Second Iteration 2021-03-22 14:36:32 +02:00
Skalii
2c33128c76 add icon for new "show start dialog" setting 2021-03-22 14:02:54 +02:00
Skalii
0949a06f3d Merge branch 'master' into trip_recording_starting_setting_show_dialog
# Conflicts:
#	OsmAnd/src/net/osmand/plus/track/GpxBlockStatisticsBuilder.java
2021-03-22 13:51:21 +02:00
Vitaliy
3323d0ebb7 Merge branch 'master' into trip_recording_starting 2021-03-22 13:34:51 +02:00
Skalii
04be31b26f remove option "always ask" from general logging interval setting; 2021-03-22 13:34:33 +02:00
Skalii
5f67fbcac6 add new setting - show start dialog 2021-03-22 13:13:04 +02:00
nazar-kutz
5ae37a101c After code review fixes 1 2021-03-22 12:37:13 +02:00
Dmitry
4543e16b14 Added icon ic_action_dialog for track recording show dialog option 2021-03-22 12:03:10 +02:00
nazar-kutz
84266e5719 Fix route line in landscape 2021-03-22 11:48:59 +02:00
nazar-kutz
a04f7e3bec Fix: selected value doesn't show above custom width slider after select "Custom" mode 2021-03-22 11:33:57 +02:00
Vitaliy
9e364a0103 Fix possible npe 2021-03-22 10:54:44 +02:00
Vitaliy
a8c732df4e Fix multimedia files export UI 2021-03-22 10:52:49 +02:00
Skalii
913e125968 add static graphs 2021-03-22 04:40:26 +02:00
androiddevkotlin
ac370efcd9 First iteration 2021-03-22 01:48:00 +02:00
Vitaliy
83870f0f45 Fix unselected item icon color 2021-03-22 00:21:35 +02:00
Vitaliy
490d42f334 Fix last view visibility 2021-03-21 23:17:16 +02:00
Vitaliy
4117295fe8
Merge pull request #11179 from osmandapp/Travel-cards
Travel: Maps you need card, popular articles jumping
2021-03-21 20:53:35 +02:00
Vitaliy
47f1932ac9 Remove unnecessary changes and fix cards update 2021-03-21 20:52:57 +02:00
Vitaliy
b3f87c5036
Merge pull request #11213 from osmandapp/make_thin_track_arrow_visible
Make track arrows more visible when track line is thin
2021-03-21 19:31:05 +02:00
androiddevkotlin
984aaa36a7 init 2021-03-21 19:20:50 +02:00
cepprice
e058dad692 Don't bias arrow's position 2021-03-21 21:57:59 +05:00
Vitaliy
5fdc350f1b
Merge pull request #11159 from osmandapp/Plan-route-improvements
Plan route improvements
2021-03-21 18:08:04 +02:00
Vitaliy
476b486dba Fix scroll to profile item 2021-03-21 18:06:57 +02:00
cepprice
170c70e42b Refactor to optimize memory consumption and rendering speed 2021-03-21 20:54:58 +05:00
Vitaliy
fcd2eed652 Small fixes 2021-03-21 17:25:58 +02:00
Vitaliy
ca6c7f096f Merge branch 'master' into Plan-route-improvements 2021-03-21 16:31:32 +02:00
nazar-kutz
95ba9cc032 show route line example 2021-03-21 15:56:54 +02:00
androiddevkotlin
53c817e811 Review 2021-03-21 15:39:13 +02:00
Vitaliy
d3b0c31bb8
Merge pull request #11214 from osmandapp/revert-11171-patch-1
Revert "Compute obstaclesTime before adding final segment"
2021-03-21 15:25:57 +02:00
Vitaliy
e06478d4fe
Revert "Compute obstaclesTime before adding final segment" 2021-03-21 15:25:45 +02:00
Vitaliy
1ee2d1cc12
Merge pull request #11171 from clementcontet/patch-1
Compute obstaclesTime before adding final segment
2021-03-21 14:58:51 +02:00
Vitaliy
52a725729c
Merge pull request #11208 from starsep/readmeExtraP
README.md: remove extra p closing tag
2021-03-21 14:50:32 +02:00
nazar-kutz
14bd85a64c add ability to edit RouteLineDrawInfo and finish dialog UI 2021-03-21 14:44:53 +02:00
nazar-kutz
32e0defac0 add temporally helper class 2021-03-21 14:32:57 +02:00
nazar-kutz
c2b47322a6 Add RouteLineDrawInfo for drawing unsaved route line parameters 2021-03-21 14:32:18 +02:00
nazar-kutz
b651a18e8d add settings for custom route line colors 2021-03-21 14:29:42 +02:00
nazar-kutz
ec564d35a0 remove duplicate code 2021-03-21 14:28:51 +02:00
cepprice
f16b46295d Make track arrows more visible when track line is thin 2021-03-21 14:44:37 +05:00
Hosted Weblate
5950f45ef1
Merge branch 'origin/master' into Weblate. 2021-03-20 22:42:07 +01:00
Liu Tao
c129ef5ce7
Translated using Weblate (Chinese (Simplified))
Currently translated at 85.2% (3142 of 3685 strings)
2021-03-20 22:42:03 +01:00
Franco
f7b74ce0a2
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-20 22:41:53 +01:00
Eduardo Addad de Oliveira
c6731760dd
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-20 22:41:48 +01:00
Eduardo Addad de Oliveira
3d36bccaf6
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-20 22:41:47 +01:00
Franco
fa254ad690
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-20 22:41:46 +01:00
ace shadow
34d0d6e8d4
Translated using Weblate (Slovak)
Currently translated at 96.0% (3740 of 3894 strings)
2021-03-20 22:41:46 +01:00
Ajeje Brazorf
2f874ae448
Translated using Weblate (Sardinian)
Currently translated at 99.4% (3665 of 3685 strings)
2021-03-20 22:41:41 +01:00
iman
8168fcde22
Translated using Weblate (Persian)
Currently translated at 99.9% (3682 of 3685 strings)
2021-03-20 22:41:36 +01:00
solokot
a8d0d60381
Translated using Weblate (Russian)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-20 22:41:35 +01:00
max-klaus
c6d66c81ad Fix #11205 2021-03-20 21:16:45 +03:00
max-klaus
0bf8f35756 Fix crash 2021-03-20 18:54:27 +03:00
Evgenii Martynenko
590d6392a2
Translated using Weblate (Russian)
Currently translated at 99.9% (3683 of 3685 strings)
2021-03-20 15:18:08 +01:00
Filip Czaplicki
947204be3f README.md: remove extra p closing tag 2021-03-20 14:46:51 +01:00
Evgenii Martynenko
2b3fc8e809
Translated using Weblate (Russian)
Currently translated at 99.8% (3681 of 3685 strings)
2021-03-20 14:18:02 +01:00
Hosted Weblate
524693d8cd
Merge branch 'origin/master' into Weblate. 2021-03-20 12:19:11 +01:00
Shjosan
a40ed4a7dd
Translated using Weblate (Swedish)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/sv/
2021-03-20 12:19:07 +01:00
Evgenii Martynenko
92d610751c
Translated using Weblate (Russian)
Currently translated at 99.7% (3885 of 3894 strings)
2021-03-20 12:19:03 +01:00
iman
bcae0a2de5
Translated using Weblate (Persian)
Currently translated at 30.2% (82 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/fa/
2021-03-20 12:19:02 +01:00
Liu Tao
bf075cc7c6
Translated using Weblate (Chinese (Simplified))
Currently translated at 80.7% (2974 of 3685 strings)
2021-03-20 12:19:02 +01:00
Sveinn í Felli
3bfae7e3fe
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-20 12:18:59 +01:00
Sveinn í Felli
c1b3be76fc
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-20 12:18:58 +01:00
Rex_sa
90f3102b1f
Translated using Weblate (Arabic)
Currently translated at 93.2% (3632 of 3894 strings)
2021-03-20 12:18:58 +01:00
Kristjan Räts
733c115d2b
Translated using Weblate (Estonian)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-20 12:18:57 +01:00
Shjosan
c42f2240f9
Translated using Weblate (Swedish)
Currently translated at 83.5% (3253 of 3894 strings)
2021-03-20 12:18:57 +01:00
ovl-1
e84b9ddc6d
Translated using Weblate (Norwegian Bokmål)
Currently translated at 41.4% (1616 of 3894 strings)
2021-03-20 12:18:47 +01:00
iman
806e259497
Translated using Weblate (Persian)
Currently translated at 36.6% (1427 of 3894 strings)
2021-03-20 12:18:44 +01:00
Iváns
d9cc0e33c9
Translated using Weblate (Galician)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-20 12:18:43 +01:00
Ajeje Brazorf
a484fcca36
Translated using Weblate (Sardinian)
Currently translated at 99.6% (3882 of 3894 strings)
2021-03-20 12:18:41 +01:00
scai
37f13f4ee0
Translated using Weblate (German)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-20 12:18:40 +01:00
Iváns
4476217755
Translated using Weblate (Galician)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-20 12:18:40 +01:00
ovl-1
df7574c4a8
Translated using Weblate (Norwegian Bokmål)
Currently translated at 60.1% (2218 of 3685 strings)
2021-03-20 12:18:37 +01:00
iman
7c47ef847c
Translated using Weblate (Persian)
Currently translated at 99.9% (3682 of 3685 strings)
2021-03-20 12:18:35 +01:00
Evgenii Martynenko
dd75f3f4ec
Translated using Weblate (Russian)
Currently translated at 99.8% (3679 of 3685 strings)
2021-03-20 12:18:28 +01:00
letypequividelespoubelles
442e50a26c
Translated using Weblate (French)
Currently translated at 99.9% (3683 of 3685 strings)
2021-03-20 12:18:28 +01:00
Shjosan
7a985a4c00
Translated using Weblate (Swedish)
Currently translated at 67.9% (2504 of 3685 strings)
2021-03-20 12:18:27 +01:00
nazar-kutz
a9bd3c7a9d Hide map widgets and disable context menu when RouteLineAppearanceFragment is visible 2021-03-19 18:02:42 +02:00
nazar-kutz
8ce078f189 add "Customize route line" button to ProfileAppearanceFragment 2021-03-19 17:58:43 +02:00
nazar-kutz
5dd662eb99 RouteLineAppearanceFragment initial commit 2021-03-19 17:55:04 +02:00
Skalii
35064dba01 some fixes; 2021-03-19 17:48:57 +02:00
nazar-kutz
fbeb657f87 route line customization strings 2021-03-19 17:08:22 +02:00
nazar-kutz
ae249e1185 Add constant for "public_transport" 2021-03-19 16:57:41 +02:00
nazar-kutz
7ac502cb58 small refactoring 2021-03-19 16:45:38 +02:00
nazar-kutz
cbdf5e5a91 add getActiveColorRes() to BaseSettingsFragment 2021-03-19 16:42:47 +02:00
nazar-kutz
4f5f995509 rename "TrackAppearanceViewHolder" -> "AppearanceViewHolder" 2021-03-19 16:35:16 +02:00
Vitaliy
aa95f686f4 Merge branch 'r3.9' 2021-03-19 16:24:56 +02:00
Skalii
3bcf8d4e3b small fixes; 2021-03-19 15:00:37 +02:00
Skalii
94c58edb7c redesign trip recording dialog;
add options dialog;
2021-03-19 14:57:55 +02:00
Skalii
c7fa20cc69 remove confirm toggle;
fix dialog title;
2021-03-19 14:30:56 +02:00
Vitaliy
d906018e3a Fix compilation 2021-03-19 12:06:49 +02:00
Vitaliy
83fe5fa0d8 Merge branch 'r3.9'
# Conflicts:
#	OsmAnd/src/net/osmand/plus/download/ui/UpdatesIndexFragment.java
#	OsmAnd/src/net/osmand/plus/search/QuickSearchListAdapter.java
2021-03-19 11:56:44 +02:00
Dmitry
d8eaaa0b22 Add At symbol 2021-03-18 17:03:29 +02:00
Victor Shcherb
025ee8e993 Fix bug with quad rect 2021-03-18 14:30:34 +01:00
Victor Shcherb
4a357e6459 Fix bug with quad rect 2021-03-18 14:26:48 +01:00
Victor Shcherb
bc1f18fcb4 Update quad rect for flippable rects as well 2021-03-18 14:06:25 +01:00
Vitaliy
2e04c460b3
Merge pull request #11185 from osmandapp/PaulsBranch
Pauls branch
2021-03-18 11:49:52 +02:00
PaulStets
d84f8bed00 Formatting fixes 2021-03-18 11:45:10 +02:00
PaulStets
2e685f7182 Sync gpx reverse with ios 2021-03-18 11:40:41 +02:00
Hosted Weblate
24bf019508
Merge branch 'origin/master' into Weblate. 2021-03-18 10:18:06 +01:00
Oliver
72ee17b4f5
Translated using Weblate (German)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-18 10:18:01 +01:00
Xavi Ivars
80f8254f11
Translated using Weblate (Catalan)
Currently translated at 94.5% (3485 of 3685 strings)
2021-03-18 10:18:01 +01:00
alex-osm
f02f469bf3
Merge pull request #11183 from osmandapp/inapp_fixes
InApp fixes
2021-03-18 12:15:42 +03:00
Vitaliy
67039222c5 Remove unnecessary changes 2021-03-18 11:14:57 +02:00
Vitaliy
2910df88e1 Add src-amazon 2021-03-18 10:43:56 +02:00
Skalii
a8e1d60af1 fix bottom buttons width;
some fixes;
2021-03-18 02:41:01 +02:00
MaartenDeen
29e635bb59
Translated using Weblate (Dutch)
Currently translated at 98.3% (3626 of 3685 strings)
2021-03-17 22:47:43 +01:00
Branko Kokanovic
d199c5f14f
Translated using Weblate (Serbian)
Currently translated at 97.7% (3601 of 3685 strings)
2021-03-17 22:47:42 +01:00
Oliver
56b18eb70d
Translated using Weblate (German)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 22:47:37 +01:00
Hosted Weblate
a38ec28250
Merge branch 'origin/master' into Weblate. 2021-03-17 22:17:30 +01:00
Evgenii Martynenko
f804c9eb03
Translated using Weblate (Russian)
Currently translated at 99.7% (3885 of 3894 strings)
2021-03-17 22:17:30 +01:00
MaartenDeen
3bc955b5fb
Translated using Weblate (Dutch)
Currently translated at 97.2% (3585 of 3685 strings)
2021-03-17 22:17:29 +01:00
Boyuan Yang
bc6f84299a
Translated using Weblate (Chinese (Simplified))
Currently translated at 80.0% (2948 of 3685 strings)
2021-03-17 22:17:28 +01:00
Liu Tao
90184a64f7
Translated using Weblate (Chinese (Simplified))
Currently translated at 80.0% (2948 of 3685 strings)
2021-03-17 22:17:28 +01:00
iman
524694c6d8
Translated using Weblate (Persian)
Currently translated at 98.4% (3628 of 3685 strings)
2021-03-17 22:17:21 +01:00
Yaron Shahrabani
24e8c0c59c
Translated using Weblate (Hebrew)
Currently translated at 99.9% (3683 of 3685 strings)
2021-03-17 22:17:15 +01:00
Branko Kokanovic
63443597b6
Translated using Weblate (Serbian)
Currently translated at 96.7% (3565 of 3685 strings)
2021-03-17 22:17:12 +01:00
Ihor Hordiichuk
05b32b1fd6
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 22:17:08 +01:00
Babos Gábor
d0755df7ee
Translated using Weblate (Hungarian)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 22:17:08 +01:00
Evgenii Martynenko
0b33264c3e
Translated using Weblate (Russian)
Currently translated at 99.8% (3678 of 3685 strings)
2021-03-17 22:17:07 +01:00
josep constanti
778b5b024c
Translated using Weblate (Catalan)
Currently translated at 94.3% (3477 of 3685 strings)
2021-03-17 22:17:04 +01:00
Gilbert Lowel
09205278ac
Translated using Weblate (Dutch)
Currently translated at 97.2% (3583 of 3685 strings)
2021-03-17 22:17:01 +01:00
MaartenDeen
05972cdfec
Translated using Weblate (Dutch)
Currently translated at 97.2% (3583 of 3685 strings)
2021-03-17 22:17:00 +01:00
Vitaliy
bab68baa99
Merge pull request #11180 from osmandapp/fix_11031
Fix #11031
2021-03-17 23:07:32 +02:00
Skalii
c90a74956a redesign trip recording start dialog 2021-03-17 20:16:44 +02:00
Vitaliy
c4cf068f1b Fix compilation 2021-03-17 18:52:17 +02:00
max-klaus
1bdc56d52a Fix huawei build 2021-03-17 18:59:52 +03:00
max-klaus
078e037ac2 Fix huawei build 2021-03-17 18:45:18 +03:00
androiddevkotlin
307b302899 Update ExploreRvAdapter.java 2021-03-17 17:20:52 +02:00
cepprice
a6bc3b9691 Fix #11031 2021-03-17 18:00:00 +05:00
Victor Shcherb
3db082bc82 Add constant 2021-03-17 13:51:13 +01:00
Victor Shcherb
219321afbd Update combine srtm files 2021-03-17 13:25:00 +01:00
androiddevkotlin
4064e1af98 Travel: Maps you need card, popular articles jumping
For more smoothy update recycle view
			notifyItemRangeChanged(getNeededMapsCardPosition(), items.size());
2021-03-17 13:24:08 +02:00
Gilbert Lowel
bce07417c6
Translated using Weblate (Dutch)
Currently translated at 96.7% (3565 of 3685 strings)
2021-03-17 09:29:10 +01:00
Gilbert Lowel
a49d87de36
Translated using Weblate (Dutch)
Currently translated at 96.7% (3567 of 3685 strings)
2021-03-17 09:24:07 +01:00
MaartenDeen
fae316efa4
Translated using Weblate (Dutch)
Currently translated at 96.7% (3567 of 3685 strings)
2021-03-17 09:24:07 +01:00
Hosted Weblate
69ba7e5ec9
Merge branch 'origin/master' into Weblate. 2021-03-17 09:16:16 +01:00
Gilbert Lowel
2a445a1062
Translated using Weblate (Dutch)
Currently translated at 93.3% (253 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/nl/
2021-03-17 09:16:16 +01:00
Pavel Kotrč
ef1ca9efe3
Translated using Weblate (Czech)
Currently translated at 28.0% (76 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/cs/
2021-03-17 09:16:15 +01:00
iman
9fd80543d6
Translated using Weblate (Persian)
Currently translated at 30.2% (82 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/fa/
2021-03-17 09:16:15 +01:00
Jeff Huang
756bf183b2
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:16:14 +01:00
Boyuan Yang
bfb3b9934b
Translated using Weblate (Chinese (Simplified))
Currently translated at 77.9% (2874 of 3685 strings)
2021-03-17 09:16:14 +01:00
Sveinn í Felli
61869d8b60
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:16:14 +01:00
abdullah abdulrhman
0f41bcfad5
Translated using Weblate (Arabic)
Currently translated at 93.2% (3631 of 3894 strings)
2021-03-17 09:16:13 +01:00
Verdulo
45309ac2da
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:16:11 +01:00
Kristjan Räts
37ff5c485c
Translated using Weblate (Estonian)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:16:11 +01:00
Eduardo Addad de Oliveira
8b6613f854
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (3892 of 3894 strings)
2021-03-17 09:16:10 +01:00
Eduardo Addad de Oliveira
030e2c2982
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (3683 of 3685 strings)
2021-03-17 09:16:09 +01:00
ace shadow
1a0aa569fb
Translated using Weblate (Slovak)
Currently translated at 95.1% (3704 of 3894 strings)
2021-03-17 09:16:06 +01:00
Oliver
8957399696
Translated using Weblate (German)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-17 09:16:05 +01:00
Pavel Kotrč
9ef50a14bf
Translated using Weblate (Czech)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-17 09:16:05 +01:00
Iváns
444c5b968d
Translated using Weblate (Galician)
Currently translated at 99.3% (3660 of 3685 strings)
2021-03-17 09:16:04 +01:00
Pavel Kotrč
4de561bc95
Translated using Weblate (Czech)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:16:00 +01:00
iman
d721baa0f9
Translated using Weblate (Persian)
Currently translated at 96.9% (3573 of 3685 strings)
2021-03-17 09:14:36 +01:00
Ahmad Alfrhood
fb8f812bc4
Translated using Weblate (Arabic)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:14:33 +01:00
Yaron Shahrabani
769f1b82a2
Translated using Weblate (Hebrew)
Currently translated at 99.5% (3667 of 3685 strings)
2021-03-17 09:14:32 +01:00
ace shadow
1c057904c7
Translated using Weblate (Slovak)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:14:31 +01:00
Ihor Hordiichuk
2fe5a6dafd
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:14:27 +01:00
Babos Gábor
b5545983fd
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3682 of 3685 strings)
2021-03-17 09:14:26 +01:00
solokot
87bc4d7718
Translated using Weblate (Russian)
Currently translated at 99.2% (3658 of 3685 strings)
2021-03-17 09:14:22 +01:00
Vitaliy
f23497d70b
Translated using Weblate (Russian)
Currently translated at 99.2% (3658 of 3685 strings)
2021-03-17 09:14:22 +01:00
Evgenii Martynenko
ac0364ce9c
Translated using Weblate (Russian)
Currently translated at 99.2% (3658 of 3685 strings)
2021-03-17 09:14:21 +01:00
Oliver
b713b23002
Translated using Weblate (German)
Currently translated at 100.0% (3685 of 3685 strings)
2021-03-17 09:14:20 +01:00
Ldm Public
de228ac8de
Translated using Weblate (French)
Currently translated at 99.8% (3680 of 3685 strings)
2021-03-17 09:14:16 +01:00
Gilbert Lowel
04663ec2fc
Translated using Weblate (Dutch)
Currently translated at 95.6% (3525 of 3685 strings)
2021-03-17 09:14:10 +01:00
Vitaliy
975bd509ba
Merge pull request #11176 from aceman444/patch-1
Fix space after "Next time" in strings.xml
2021-03-17 08:13:03 +02:00
aceman444
288cb6d917
Fix space after "Next time" in strings.xml
Add probably missing space after "Next time" that all translators have added into their localized strings.
2021-03-17 01:55:26 +01:00
clementcontet
eab60bed46
Compute obstaclesTime before adding final segment
Fix https://github.com/osmandapp/OsmAnd/issues/10867
2021-03-16 17:49:57 +01:00
Dmitry
49aab1eb21 Added icon for online help links 2021-03-16 18:44:08 +02:00
Vitaliy
ccc35e4134
Merge pull request #11169 from osmandapp/Plan-route-button
Plan route issues
2021-03-16 17:49:41 +02:00
Vitaliy
8020884d6a
Merge pull request #11167 from osmandapp/fix_class_cast_exc
Fix ClassCastException
2021-03-16 17:19:16 +02:00
Vitaliy
ae3480d280 Remove deprecated method 2021-03-16 17:16:26 +02:00
androiddevkotlin
e826a195b5 Plan route issues
Move point screen: fix "Apply" button width in landscape and portrait.

+ Fix Add button width in landscape
2021-03-16 16:38:01 +02:00
cepprice
81f367eacb Fix ClassCastException 2021-03-16 19:12:02 +05:00
Hosted Weblate
b1d75c3396
Merge branch 'origin/master' into Weblate. 2021-03-16 14:53:02 +01:00
Zmicer Turok
c2276920e1
Translated using Weblate (Belarusian)
Currently translated at 99.1% (3859 of 3894 strings)
2021-03-16 14:52:58 +01:00
Zmicer Turok
03e632a6d0
Translated using Weblate (Belarusian)
Currently translated at 99.0% (3649 of 3685 strings)
2021-03-16 14:52:55 +01:00
Vitaliy
130a2889c3
Merge pull request #11162 from MaartenDeen/patch-1
Update strings.xml
2021-03-16 13:16:13 +02:00
Vitaliy
7c98fd3ee8 Merge branch 'weblate' 2021-03-16 13:10:21 +02:00
MaartenDeen
9f23adeebf
Update strings.xml
typofix
2021-03-16 11:40:35 +01:00
Vitaliy
3c9f4a4abc
Merge pull request #11161 from osmandapp/translietendefault
Fix
2021-03-16 12:12:21 +02:00
androiddevkotlin
be68eefcaf Fix 2021-03-16 12:10:38 +02:00
Hosted Weblate
562ed6bcdd
Merge branch 'origin/master' into Weblate. 2021-03-16 10:56:47 +01:00
Kristjan Räts
91f72c1f6b
Translated using Weblate (Estonian)
Currently translated at 100.0% (271 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/et/
2021-03-16 10:56:47 +01:00
Ammuu5
ce4150b480
Translated using Weblate (Finnish)
Currently translated at 15.1% (41 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/fi/
2021-03-16 10:56:46 +01:00
Pavel Kotrč
83884d4958
Translated using Weblate (Czech)
Currently translated at 27.3% (74 of 271 strings)

Translation: OsmAnd/Telegram
Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/cs/
2021-03-16 10:56:46 +01:00
Jeff Huang
e377a1e44d
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-16 10:56:46 +01:00
Jeff Huang
6659b86580
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:56:45 +01:00
Sveinn í Felli
ed06aaa6b6
Translated using Weblate (Icelandic)
Currently translated at 99.9% (3893 of 3894 strings)
2021-03-16 10:56:40 +01:00
Sveinn í Felli
ac088dd217
Translated using Weblate (Icelandic)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:56:39 +01:00
Verdulo
5b7bd83b83
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-16 10:56:35 +01:00
Verdulo
b832e07ca1
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:56:35 +01:00
Franco
45d3a68b4a
Translated using Weblate (Spanish (American))
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-16 10:56:34 +01:00
Franco
e33affa764
Translated using Weblate (Spanish (American))
Currently translated at 98.9% (3645 of 3683 strings)
2021-03-16 10:56:33 +01:00
Ammuu5
1ee03a6d0b
Translated using Weblate (Finnish)
Currently translated at 38.9% (1515 of 3894 strings)
2021-03-16 10:56:33 +01:00
Kristjan Räts
b8d16fe441
Translated using Weblate (Estonian)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:56:31 +01:00
Franco
51eb0098d3
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-16 10:56:20 +01:00
Franco
7fe957c712
Translated using Weblate (Spanish (Argentina))
Currently translated at 99.9% (3682 of 3683 strings)
2021-03-16 10:56:19 +01:00
Kristjan Räts
499d14371a
Translated using Weblate (Estonian)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-16 10:56:15 +01:00
Babos Gábor
d6e8232793
Translated using Weblate (Hungarian)
Currently translated at 99.9% (3892 of 3894 strings)
2021-03-16 10:56:13 +01:00
Ihor Hordiichuk
c35f9c5867
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3894 of 3894 strings)
2021-03-16 10:56:12 +01:00
letypequividelespoubelles
699772a633
Translated using Weblate (French)
Currently translated at 99.7% (3886 of 3894 strings)
2021-03-16 10:56:11 +01:00
Hakuchi
f1cbbf6de5
Translated using Weblate (German)
Currently translated at 99.9% (3891 of 3894 strings)
2021-03-16 10:56:10 +01:00
jan madsen
104f644dcd
Translated using Weblate (Danish)
Currently translated at 98.6% (3843 of 3894 strings)
2021-03-16 10:56:10 +01:00
Pavel Kotrč
3a1e5b92f3
Translated using Weblate (Czech)
Currently translated at 99.6% (3882 of 3894 strings)
2021-03-16 10:56:08 +01:00
Ammuu5
591f81169b
Translated using Weblate (Finnish)
Currently translated at 64.3% (2369 of 3683 strings)
2021-03-16 10:56:07 +01:00
Allan Nordhøy
04ff958512
Translated using Weblate (Norwegian Bokmål)
Currently translated at 58.6% (2161 of 3683 strings)
2021-03-16 10:56:03 +01:00
R3gi CZ
c3ddc79f91
Translated using Weblate (Czech)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:56:00 +01:00
Pavel Kotrč
7191990470
Translated using Weblate (Czech)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:56:00 +01:00
Zmicer Turok
f4ea02a698
Translated using Weblate (Belarusian)
Currently translated at 99.0% (3649 of 3683 strings)
2021-03-16 10:55:55 +01:00
Yaron Shahrabani
f3ff1f239c
Translated using Weblate (Hebrew)
Currently translated at 99.3% (3660 of 3683 strings)
2021-03-16 10:55:53 +01:00
jan madsen
7a84a66bdb
Translated using Weblate (Danish)
Currently translated at 91.6% (3376 of 3683 strings)
2021-03-16 10:55:51 +01:00
Franco
6ad83e8f3d
Translated using Weblate (Spanish)
Currently translated at 97.9% (3607 of 3683 strings)
2021-03-16 10:55:46 +01:00
Ihor Hordiichuk
eb57dc34d4
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:55:45 +01:00
Hakuchi
9b9d47238d
Translated using Weblate (German)
Currently translated at 99.3% (3659 of 3683 strings)
2021-03-16 10:55:41 +01:00
Ldm Public
b7bf39d76d
Translated using Weblate (French)
Currently translated at 99.8% (3677 of 3683 strings)
2021-03-16 10:55:39 +01:00
Ahmad Alfrhood
7b6eef7cb2
Translated using Weblate (Arabic)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 10:55:32 +01:00
Vitaliy
68af232843
Merge pull request #11058 from osmandapp/add_points_list_landscape_plan_route
Add points list landscape plan route
2021-03-16 11:14:29 +02:00
vshcherb
b8987fc45b
Merge pull request #11158 from osmandapp/fix_5958
Fix_5958
2021-03-16 09:55:08 +01:00
vshcherb
0b2cb9ee6a
Merge pull request #11155 from osmandapp/fix_10988
Fix_10988
2021-03-16 09:53:22 +01:00
Vitaliy
2ab0c034c7 Fix #5958 2021-03-16 10:04:45 +02:00
xmd5a
388630714c Add strings 2021-03-16 10:59:04 +03:00
Vitaliy
80e02521d8
Merge pull request #11157 from osmandapp/fix_drawables_osmand_live
OsmAnd Live. Fix drawables on older versions of Android
2021-03-16 09:07:36 +02:00
phlostically
2a93f05578
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 03:24:20 +01:00
Verdulo
d108a818ad
Translated using Weblate (Esperanto)
Currently translated at 100.0% (3683 of 3683 strings)
2021-03-16 03:24:18 +01:00
androiddevkotlin
a8719b542f Navigation > Follow track > select simplified track > edit > open "Route between points" 2021-03-15 23:56:14 +02:00
Skalii
d347ae32b5 fix drawables on older versions of Android 2021-03-15 23:31:35 +02:00
androiddevkotlin
d6bd0e4145 init 2021-03-15 22:45:02 +02:00
R3gi CZ
e794f3f028
Translated using Weblate (Czech)
Currently translated at 99.6% (3881 of 3894 strings)
2021-03-15 20:47:35 +01:00
Vitaliy
f692339a36 Fix #10988 2021-03-15 20:57:34 +02:00
vshcherb
b7dd8dca05
Merge pull request #10906 from osmandapp/7891
Allow to disable en transliteration
2021-03-15 17:44:21 +01:00
vshcherb
2e2f7b6dcf
Merge pull request #11151 from osmandapp/map_transliteration
Enable transliteration by default for English
2021-03-15 17:42:01 +01:00
vshcherb
e05aab4211
Update CommonPreference.java 2021-03-15 17:41:49 +01:00
Vitaliy
b107c430df
Merge pull request #11078 from osmandapp/osmand_live
Redesign OsmAnd Live
2021-03-15 18:38:41 +02:00
Skalii
58b690ba7c small fixes 2021-03-15 18:37:04 +02:00
Vitaliy
78ce26b77f
Merge pull request #11148 from osmandapp/fix_dialogs_and_notifications_ui
Fix summary of Dialogs and notifications preference
2021-03-15 18:32:06 +02:00
cepprice
c640e6a79a Small edit 2021-03-15 21:28:06 +05:00
Vitaliy
6e40cd7913 Enable transliteration by default for english 2021-03-15 18:21:52 +02:00
vshcherb
68c07a3de4
Merge pull request #11150 from osmandapp/address_10877
Fix reverse geocoding for building only
2021-03-15 17:15:38 +01:00
Victor Shcherb
98a0829d5a Small code improvement 2021-03-15 16:57:47 +01:00
ivanPyrohivskyi
27bd894e56 Fix reverse geocoding for building only 2021-03-15 17:34:17 +02:00
cepprice
6d87a33535 Fix summary of Dialogs and notifications preference 2021-03-15 19:49:31 +05:00
Vitaliy
5f9047cc6d
Merge pull request #11105 from osmandapp/track_dependent_coloring
Track coloring based on speed / altitude / slope
2021-03-15 16:32:18 +02:00
Skalii
1b75863569 many fixes 2021-03-15 16:15:25 +02:00
cepprice
5ef83f5143 Merge branch 'master' into track_dependent_coloring 2021-03-15 18:08:41 +05:00
vshcherb
e33324dd10
Merge pull request #11147 from osmandapp/itinerary_helper
Move markerGroups to ItineraryHelper
2021-03-15 13:19:26 +01:00
Vitaliy
a40f802a7a Move markerGroups to ItineraryHelper 2021-03-15 12:23:40 +02:00
Vitaliy
9f2da9598a
Merge pull request #11145 from osmandapp/Fix_9858
Fix #9858
2021-03-15 12:19:47 +02:00
vshcherb
a0aabf544d
Merge pull request #11146 from osmandapp/itinerary_helper
Create ItineraryHelper
2021-03-15 11:00:41 +01:00
Vitaliy
7218e7d4b5 Create ItineraryHelper 2021-03-15 11:18:02 +02:00
Vitaliy
eb5d46d441
Merge pull request #11142 from osmandapp/IndexOutOfBoundsException
IndexOutOfBoundsException
2021-03-15 10:59:58 +02:00
nazar-kutz
bf2469a05d Fix #9858 2021-03-15 10:58:40 +02:00
androiddevkotlin
175f937319 Review 2021-03-15 10:47:31 +02:00
Vitaliy
efca3719e5
Merge pull request #11144 from osmandapp/wrong-recording-note
Fix
2021-03-15 10:43:14 +02:00
androiddevkotlin
f10f3dc5cf Fix 2021-03-15 10:42:24 +02:00
Vitaliy
fc5440120b
Merge pull request #11129 from osmandapp/wrong-recording-note
wrong recording note button is shown on profile change
2021-03-15 10:37:51 +02:00
androiddevkotlin
a0ce545636 Review 2021-03-15 10:36:28 +02:00
Vitaliy
7c4b4aee2f
Merge pull request #11128 from osmandapp/wrong-direction-context-menu
wrong direction contextmenu item
2021-03-15 10:24:03 +02:00
androiddevkotlin
b2b25c31ba Minor fix 2021-03-15 10:20:55 +02:00
androiddevkotlin
ded818b092 Review 2021-03-15 10:15:48 +02:00
androiddevkotlin
44e7bf18df IndexOutOfBoundsException
java.lang.IndexOutOfBoundsException: Index: 3, Size: 2
	at java.util.ArrayList.get(ArrayList.java:437)
	at net.osmand.plus.routepreparationmenu.cards.TrackEditCard.updateContent(TrackEditCard.java:92)
2021-03-15 00:25:33 +02:00
Vitaliy
64336f85de
Merge pull request #11125 from osmandapp/fix_shadow_above_buttons
Fix shadow above bottom buttons
2021-03-14 23:42:17 +02:00
Vitaliy
56a033dc60
Merge pull request #11127 from osmandapp/Plan-route-issues
Remove "Swap" button from RP if "Follow track"
2021-03-14 23:40:48 +02:00
androiddevkotlin
7015e8d25b Update 2021-03-14 19:04:27 +02:00
Vitaliy
ba05d8193c
Merge pull request #11135 from JohnProv/patch-1
Fix typo in dutch translation
2021-03-14 13:43:18 +02:00
JohnProv
d51d24ad1b
Fix typo in dutch translation 2021-03-13 20:09:20 +01:00
androiddevkotlin
bbb1fd0ac6 Remove "Swap" button from RP if "Follow track"
https://github.com/osmandapp/OsmAnd-Issues/issues/186
2021-03-12 22:46:37 +02:00
cepprice
979c10aba4 Small fixes & saving gradient palette of speed/altitude/slope scale types 2021-03-12 21:54:38 +05:00
Victor Shcherb
5bfbda1e0f Formatting 2021-03-12 17:49:44 +01:00
Skalii
db0038a050 fix displaying shadow above bottom buttons in older android versions 2021-03-12 16:32:27 +02:00
androiddevkotlin
a592b397fc wrong direction contextmenu item
https://github.com/osmandapp/OsmAnd/issues/10961
2021-03-12 16:21:12 +02:00
vshcherb
d119f6ffab
Merge pull request #11122 from osmandapp/GpxToHistoryFixes
Add used GPX to Search History -> fixes
2021-03-12 12:50:55 +01:00
nazar-kutz
a0386129df Don't show fragment name on back button, but return after back button was pressed 2021-03-12 13:17:42 +02:00
nazar-kutz
ec9076dc2b Use correct gpx title in search history 2021-03-12 13:00:21 +02:00
androiddevkotlin
d3cf4fade6 wrong recording note button is shown on profile change 2021-03-12 12:52:33 +02:00
Vitaliy
c352a04883
Merge pull request #11115 from osmandapp/Wrong-POI-Multiselection
Wrong POI Multiselection after 1 selection
2021-03-11 20:58:02 +02:00
androiddevkotlin
b53e8efd14 Rename 2021-03-11 19:07:07 +02:00
androiddevkotlin
e5bb46e88f Wrong POI Multiselection after 1 selection
https://github.com/osmandapp/OsmAnd-Issues/issues/516
2021-03-11 18:57:18 +02:00
Vitaliy
e1dab2db4c
Merge pull request #11101 from osmandapp/favorite-points-review
Review
2021-03-11 17:26:43 +02:00
androiddevkotlin
fa8140b74c Small fixes 2021-03-11 17:23:48 +02:00
Skalii
e2b108aefc small fixes 2021-03-11 16:14:40 +02:00
Skalii
bccfe95597 fix toggle button display after rotate screen p.3 2021-03-11 15:25:17 +02:00
androiddevkotlin
71ae5345b1 Review2 2021-03-11 15:10:51 +02:00
Skalii
5ce6dbe85a fix toggle button display after rotate screen p.2 2021-03-11 14:26:16 +02:00
Skalii
1c4484b44c fix toggle button display after rotate screen 2021-03-11 14:06:40 +02:00
Skalii
6e5964de40 add help button;
fix purchase icon;
fix toolbar title in purchases fragment;
2021-03-11 13:07:28 +02:00
Skalii
50b679dc66 Merge branch 'master' into osmand_live 2021-03-11 11:48:05 +02:00
Dmitry
a9423e5332 Added icon for OsmAnd Live and Purchases screen 2021-03-11 11:43:52 +02:00
Vitaliy
d698f0f500
Merge pull request #11110 from osmandapp/crashes-on-Export-/-Import
Osmand crashes on Export / Import
2021-03-11 11:15:24 +02:00
androiddevkotlin
1dddb08f54 Fix icon visibility and position 2021-03-11 11:12:58 +02:00
Skalii
39c1d6b7f9 many fixes 2021-03-11 05:56:22 +02:00
androiddevkotlin
6d356bae3d Osmand crashes on Export / Import
https://github.com/osmandapp/OsmAnd/issues/10986
2021-03-11 00:00:03 +02:00
cepprice
772df1dd46 Fix NPE 2021-03-10 23:11:08 +05:00
Vitaliy
0d09754376
Merge pull request #11104 from osmandapp/New-plugin-added
New plugin added dialog missing plugin icon
2021-03-10 18:16:08 +02:00
androiddevkotlin
6de0962608 Create copy icon 2021-03-10 18:09:10 +02:00
androiddevkotlin
edb4dc19e0 Review 2021-03-10 17:49:32 +02:00
cepprice
c473f77a4d Fix palette 2021-03-10 19:59:06 +05:00
androiddevkotlin
e30e2e1034 New plugin added dialog missing plugin icon
https://github.com/osmandapp/OsmAnd-Issues/issues/489
2021-03-10 16:17:39 +02:00
cepprice
116ec774ad Small fixes 2021-03-10 18:43:40 +05:00
Vitaliy
c0e769b746
Merge pull request #11098 from osmandapp/fix_10394
Fix_10394
2021-03-10 15:36:27 +02:00
Vitaliy
5f5c315955
Merge pull request #11103 from osmandapp/Icons-in-Configure-Map
Icons in Configure Map / Screen
2021-03-10 13:56:30 +02:00
cepprice
b0b5528cc6 Add gradient coloring of track 2021-03-10 16:55:55 +05:00
androiddevkotlin
aa86038b70 Icons in Configure Map / Screen
https://github.com/osmandapp/OsmAnd-Issues/issues/512
2021-03-10 13:46:18 +02:00
Vitaliy
158d5ac249 Merge branch 'weblate'
# Conflicts:
#	OsmAnd/res/values-es-rAR/strings.xml
#	OsmAnd/res/values-es/strings.xml
2021-03-10 10:24:27 +02:00
Vitaliy
d5cf475126 Fix #10394 2021-03-10 01:15:06 +02:00
androiddevkotlin
7227478dfb Review
"Choose category" indicate selected group (radion button) right next to group
"Choose category" ripple background on tap is missing
"Add new category" text field underline should be OsmAnd active color, not the selected.
"Add new category" text field background is barely visible, check its background color.
2021-03-10 00:30:43 +02:00
Vitaliy
b65b4dac81
Merge pull request #11094 from osmandapp/FixGpxInfoCrash
Fix "Crash when add waypoint to current recording gpx track"
2021-03-09 18:15:18 +02:00
nazar-kutz
6c6230f55c Fix "Crash when add waypoint to current recording gpx track" 2021-03-09 18:13:37 +02:00
Vitaliy
2907d49102
Merge pull request #11071 from osmandapp/TrackAppearenceUiFixes
Track Appearance UI fixes
2021-03-09 15:38:52 +02:00
nazar-kutz
ca72d8f5d6 Fix "Double zoom in / out visibility" 2021-03-09 15:38:11 +02:00
nazar-kutz
5b08660b5e Fix after review part 2 2021-03-09 15:10:10 +02:00
nazar-kutz
7773335722 Fix "landscape: My location, Zoom In/Out button is missing" 2021-03-09 14:39:07 +02:00
nazar-kutz
5ddfe09b27 add "shared_string_interval" 2021-03-09 12:36:50 +02:00
nazar-kutz
82252ef0c2 Merge branch 'master' into TrackAppearenceUiFixes
# Conflicts:
#	OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java
#	OsmAnd/res/values/strings.xml
#	OsmAnd/src/net/osmand/plus/track/ColorsCard.java
2021-03-09 12:30:19 +02:00
nazar-kutz
6d5529918c Fix after review 2021-03-09 11:45:40 +02:00
xmd5a
fe1fda65ff Fix 2021-03-09 12:27:04 +03:00
xmd5a
693816c701 Add phrase 2021-03-09 12:12:21 +03:00
Vitaliy
bd2e50ec01
Merge pull request #11074 from osmandapp/FixDownloadButton
Fix algorithm to check one region is inside another
2021-03-09 10:21:20 +02:00
nazar-kutz
67382d777c Polish realization 2021-03-09 10:08:09 +02:00
Vitaliy
e72d10d8e7
Merge pull request #11090 from osmandapp/show-hide-quick-action
Show/Hide – Quick Action
2021-03-09 01:51:39 +02:00
Vitaliy
ae1868c1f6 Small fix for action name 2021-03-09 01:50:35 +02:00
Vitaliy
0f9d744338
Merge pull request #11080 from osmandapp/fix-alignment
Fix icon alignment in landscape orientation
2021-03-09 01:21:35 +02:00
Vitaliy
185f0deab1
Merge pull request #11087 from osmandapp/wrong-direction
wrong direction marker toolbar
2021-03-09 01:19:42 +02:00
androiddevkotlin
d8e36b17db Show/Hide – Quick Action
Added action list, should use the same scheme for naming "Show/Hide – Coordinates widget"
Quick action bar on the map: implement similar scheme "Show – Coordinates widget" or "Hide – Cooridnates widget"

https://github.com/osmandapp/OsmAnd/issues/10196
2021-03-09 00:20:13 +02:00
cepprice
a6cedd2767 Implement colorization type in settings 2021-03-08 21:32:19 +05:00
Victor Shcherb
0d06344869 Formatting 2021-03-08 16:15:24 +01:00
vshcherb
893ef334a0
Merge pull request #11083 from voegelas/ignore-empty-gx-coord
Ignore empty gx:coord elements in kml files
2021-03-08 15:45:21 +01:00
androiddevkotlin
5371f429a4 wrong direction marker toolbar
https://github.com/osmandapp/OsmAnd/issues/10961
2021-03-08 14:16:09 +02:00
Andreas Voegele
80ea50ff96 Ignore empty gx:coord elements in kml files 2021-03-08 09:27:11 +01:00
Skalii
1797e24f43 fix refresh last date check after clear downloaded data;
fix refresh list after update all enabled
2021-03-07 12:50:26 +02:00
Skalii
2c6204810c add inactive state for custom radio buttons and wifi toggle;
some fixes;
2021-03-07 02:28:09 +02:00
androiddevkotlin
80adbc698a Fix conflicts 2021-03-06 22:46:35 +02:00
androiddevkotlin
802d063142 Merge branch 'master' into fix-alignment
# Conflicts:
#	OsmAnd/src/net/osmand/plus/widgets/FlowLayout.java
2021-03-06 22:42:38 +02:00
androiddevkotlin
acf8571ab3 Fix icon alignment in landscape orientation 2021-03-06 22:40:27 +02:00
Vitaliy
fa38d19aff
Merge pull request #10993 from osmandapp/fix-alignment
Fix element's alignment: icons and colors
2021-03-06 21:21:33 +02:00
Vitaliy
7cca699fdb Small fix for flow layout spacing 2021-03-06 21:20:36 +02:00
Vitaliy
0cd3428437 Merge branch 'master' into fix-alignment 2021-03-06 20:46:12 +02:00
Skalii
9c9acaed4d fix npe after rotate screen 2021-03-06 18:52:13 +02:00
Skalii
7a5ffdeeb6 fix using new icon refresh 2021-03-06 17:56:10 +02:00
Skalii
9e12512d51 Merge branch 'master' into osmand_live
# Conflicts:
#	OsmAnd/res/values/strings.xml
#	OsmAnd/src/net/osmand/plus/settings/bottomsheets/BooleanPreferenceBottomSheet.java
2021-03-06 17:52:26 +02:00
Skalii
ab65c9b1c9 all changes in redesign OsmAnd Live 2021-03-06 17:46:20 +02:00
Vitaliy
69318daf79
Merge pull request #11068 from osmandapp/FixOnlineEngineTypes
Provide description of stateless OnlineRoutingEngine objects
2021-03-06 16:00:23 +02:00
Vitaliy
c83445eabb
Merge pull request #11070 from osmandapp/profile_fix_npe
Fix NPE
2021-03-06 15:59:39 +02:00
Vitaliy
eeef038034 Merge branch 'master' into profile_fix_npe
# Conflicts:
#	OsmAnd/src/net/osmand/plus/settings/fragments/ProfileAppearanceFragment.java
2021-03-06 15:57:17 +02:00
Vitaliy
10ca9b94b1
Merge pull request #11077 from osmandapp/NPE-ProfileAppearanceFragment
NullPointExcepionFix ProfileAppearanceFragment
2021-03-06 15:47:07 +02:00
Vitaliy
09fbe4fb37 Small fix for custom color 2021-03-06 15:45:58 +02:00
androiddevkotlin
53e284d843 NullPointExcepionFix 2021-03-06 13:51:03 +02:00
vshcherb
1625a05a27
Merge pull request #11075 from osmandapp/Tminor
Add minor stop 10281
2021-03-06 13:34:28 +02:00
alex-osm
5c48c1026e
Merge pull request #11064 from osmandapp/billing_library_3
Billing library 3
2021-03-06 14:25:18 +03:00
max-klaus
136542f0dd Fix billing bugs 2021-03-06 14:22:22 +03:00
cepprice
908033e0a9 Finish UI of Track appearance context menu 2021-03-06 15:03:26 +05:00
Kseniia
5520f7fb75 Add minor stop 10281 2021-03-06 09:52:51 +02:00
nazar-kutz
37d8a9eee8 small refactoring 2021-03-06 02:12:54 +02:00
nazar-kutz
37d795cf7b improve the readability of the algorithm for checking that one region is inside another 2021-03-06 01:55:08 +02:00
androiddevkotlin
56af6bf622 Fix conflicts 2021-03-06 01:35:12 +02:00
androiddevkotlin
1b38cc0abe Merge branch 'master' into fix-alignment
# Conflicts:
#	OsmAnd/src/net/osmand/plus/settings/fragments/ProfileAppearanceFragment.java
#	OsmAnd/src/net/osmand/plus/track/ColorsCard.java
2021-03-06 01:14:57 +02:00
androiddevkotlin
d4c6e92a34 Refactor, ability to use additional spacing with auto = true 2021-03-06 00:56:37 +02:00
nazar-kutz
6affa0c432 Fix #11023 (draft) 2021-03-05 22:52:15 +02:00
nazar-kutz
a6b0b08ece Fix track width card 2021-03-05 20:13:13 +02:00
nazar-kutz
6883bf722b Track Appearance: adjust track on map when header clicked 2021-03-05 20:10:40 +02:00
nazar-kutz
df95dbec7f Show grey circle only around a color that does not contrast well with the background 2021-03-05 20:08:26 +02:00
nazar-kutz
e1d1edee43 remove zeros from time formatting 2021-03-05 20:05:05 +02:00
nazar-kutz
1c5d01f391 Split interval: UI fixes 2021-03-05 20:03:04 +02:00
vshcherb
d230a323ce
Merge pull request #11043 from osmandapp/Tstop
Add minor stop 10281
2021-03-05 19:18:31 +02:00
cepprice
06077bd353 Fix NPE 2021-03-05 22:13:14 +05:00
cepprice
8c029663b7 Fix typo 2021-03-05 21:30:55 +05:00
cepprice
6efb6f27b3 Small refactoring 2021-03-05 21:27:58 +05:00
cepprice
82f2138c07 Small renaming 2021-03-05 20:48:00 +05:00
cepprice
83bd81eea7 Remove Osmand code from class 2021-03-05 20:27:49 +05:00
nazar-kutz
d47a19eff8 Provide description of stateless objects in the constructor of OnlineRoutingEngine 2021-03-05 14:54:01 +02:00
alex-osm
42e4b17054
Merge pull request #11035 from osmandapp/AddVisibleGpxToHistory
Add visible GPX to history
2021-03-05 14:41:29 +03:00
nazar-kutz
64b3fc351f Merge branch 'master' into AddVisibleGpxToHistory
# Conflicts:
#	OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
2021-03-05 12:45:12 +02:00
nazar-kutz
0d39173b8b add ObjectType.GPX_TRACK 2021-03-05 12:38:38 +02:00
cepprice
9da63447c1 Small fix 2021-03-05 10:17:35 +05:00
cepprice
4ac46d74e8 Fix NPE 2021-03-04 23:51:08 +05:00
cepprice
6bf313c32e Change data flow due to deprecated method 2021-03-04 21:06:22 +05:00
Vitaliy
203734d7d3
Merge pull request #11060 from osmandapp/coordinate-widget
Coordinate widget
2021-03-04 15:08:46 +02:00
androiddevkotlin
08cd0db152 Minor fix 2021-03-04 15:07:31 +02:00
Kseniia
9a44cd70e6 Add minor stop 10281 2021-03-04 14:15:33 +02:00
Kseniia
368b2ff8f9 Add minor stop 10281 2021-03-04 12:55:32 +02:00
androiddevkotlin
cf8346187f Review 2021-03-04 10:49:46 +02:00
Hardy
233463a138
Correct spelling 2021-03-04 08:06:53 +01:00
androiddevkotlin
2316c10487 Naming of "Show/hide ... " is very inconsistent - make a unique expression to clean up it
https://github.com/osmandapp/OsmAnd/issues/10196
2021-03-03 18:54:21 +02:00
cepprice
cfd7dfef6b Implement updated library methods 2021-03-03 19:49:51 +05:00
androiddevkotlin
58569b1cc5 Add a new section in the quick action list "Configure screen"
https://github.com/osmandapp/OsmAnd/issues/10196
2021-03-03 13:52:44 +02:00
Vitaliy
31f08d05b5
Merge pull request #11059 from osmandapp/inconsistency_in_menu_items
Fix minor UI inconsistency
2021-03-03 13:47:05 +02:00
cepprice
70062a98df Fix minor UI inconsistency 2021-03-03 14:07:38 +05:00
cepprice
949523f1d1 Update card size on progress visibility change 2021-03-03 12:40:48 +05:00
cepprice
2f72ddc566 Add left side menu for GPX-points for landscape version of plan route 2021-03-03 12:30:19 +05:00
nazar-kutz
d942a4f683 Make GPX track search result like other search results 2021-03-02 18:06:25 +02:00
Vitaliy
c3bf4b7c3f
Merge pull request #11055 from osmandapp/GpxOnlineRouting
Fix Gpx Online Routing
2021-03-02 16:31:36 +02:00
nazar-kutz
16e631614e Fix Gpx online routing server request url preparation 2021-03-02 16:29:05 +02:00
nazar-kutz
ade9b22e56 Fix Graphhopper server request preparation 2021-03-02 16:27:20 +02:00
Vitaliy
7707c1c981
Merge pull request #11051 from osmandapp/Hot-fix
Fix rotate screen on list favorite group
2021-03-02 13:11:03 +02:00
androiddevkotlin
e035824afc Fix rotate screen on list favorite group 2021-03-02 13:09:55 +02:00
Vitaliy
08f3cadd3f
Merge pull request #11050 from osmandapp/Hot-fix
Fix bug addwaypoint
2021-03-02 12:36:03 +02:00
androiddevkotlin
f400e755fd Fix bug addwaypoint 2021-03-02 12:33:53 +02:00
Vitaliy
40286f93b2
Merge pull request #11042 from osmandapp/color-pic
Color pic
2021-03-02 11:33:11 +02:00
alex-osm
a6b12f0111
Merge pull request #11048 from osmandapp/gpx_navigation
GPX navigation fixes
2021-03-02 12:32:39 +03:00
androiddevkotlin
c52a8ae021 Update AddNewFavoriteCategoryBottomSheet.java 2021-03-02 11:29:04 +02:00
androiddevkotlin
0b8847206a Merge branch 'master' into color-pic 2021-03-02 11:18:41 +02:00
Kseniia
e15dece046 Add minor stop 10281 2021-03-02 11:17:30 +02:00
androiddevkotlin
77b325c6ad Rename 2021-03-02 11:13:44 +02:00
androiddevkotlin
19c9dd0c71 Update SelectFavoriteCategoryBottomSheet.java 2021-03-02 11:07:31 +02:00
androiddevkotlin
be5c29f7e5 Empty for 0 2021-03-02 09:24:37 +02:00
androiddevkotlin
d2e36e0783 Review 2021-03-02 08:55:55 +02:00
androiddevkotlin
a4291472ad Merge branch 'master' into color-pic 2021-03-02 08:31:15 +02:00
Vitaliy
c6c8b3753c Add check for distance between segments 2021-03-02 07:03:30 +02:00
Vitaliy
0dfd710013 Calculate route between segments with gpxRouteResult 2021-03-02 06:48:00 +02:00
Vitaliy
f1e0ad342c Fix reverse route between segments 2021-03-02 05:11:21 +02:00
Vitaliy
cae7027177 Calculate route among segments 2021-03-02 04:48:45 +02:00
Vitaliy
773a0a7342 Merge branch 'master' into gpx_navigation
# Conflicts:
#	OsmAnd/src/net/osmand/plus/settings/fragments/ProfileAppearanceFragment.java
2021-03-02 01:28:03 +02:00
Vitaliy
c762e072d2
Merge pull request #10992 from osmandapp/add_custom_profile_color
Add custom profile color
2021-03-02 00:14:41 +02:00
Vitaliy
c092551bda Small fix 2021-03-02 00:13:49 +02:00
Vitaliy
8d1ce38f4f Merge branch 'master' into add_custom_profile_color
# Conflicts:
#	OsmAnd/src/net/osmand/plus/views/mapwidgets/MapWidgetRegistry.java
2021-03-01 23:52:49 +02:00
Kseniia
605034783e Add minor stop 10281 2021-03-01 22:40:43 +02:00
androiddevkotlin
ca4de9fc8a description added 2021-03-01 22:25:46 +02:00
androiddevkotlin
63530f571a Minor fix 2021-03-01 20:33:11 +02:00
cepprice
4b93539c25 Clean up and refactoring 2021-03-01 22:10:09 +05:00
vshcherb
816cec80f2
Merge pull request #10998 from osmandapp/favorites_data_extension
Adding altitude and timestamp to new favorite
2021-03-01 17:50:09 +01:00
nazar-kutz
8ceab0c5c3 Add visible GPX to history - refactoring 2021-03-01 18:45:37 +02:00
androiddevkotlin
8027fb1f34 Refactor 2021-03-01 18:23:31 +02:00
androiddevkotlin
7ca460fb80 Merge branch 'master' into color-pic
# Conflicts:
#	OsmAnd/res/values/strings.xml
2021-03-01 18:06:57 +02:00
androiddevkotlin
2b8a233e4d Add new focus on 2021-03-01 18:04:17 +02:00
androiddevkotlin
c78a934d8f Selected categories 2021-03-01 16:58:22 +02:00
Victor Shcherb
907354957d Merge branch 'r3.9' 2021-03-01 15:06:10 +01:00
androiddevkotlin
4c04c7ee19 change2 2021-03-01 15:48:07 +02:00
androiddevkotlin
1985928d60 init 2021-03-01 15:23:50 +02:00
vshcherb
098f3603ab
Merge pull request #11009 from osmandapp/colorize_route
Gradient colorization for route
2021-03-01 13:01:35 +01:00
Vitaliy
b6bcf9033b
Merge pull request #10967 from osmandapp/GpxOnlineRouting
Implement GPX online routing
2021-03-01 13:54:05 +02:00
nazar-kutz
fa353ad87c small fixes 2021-03-01 13:24:30 +02:00
Vitaliy
e5e77effac Fix compilation 2021-03-01 11:55:27 +02:00
Vitaliy
0bc9c0cb48 Move GPXRouteParams and RouteService to separate classes 2021-03-01 11:53:16 +02:00
Vitaliy
04e90d5284 Fix share menu translation 2021-03-01 11:46:46 +02:00
Dmitry
a2afc8c0a2 Added icons: ic_action_update, ic_action_file_report 2021-03-01 11:21:08 +02:00
androiddevkotlin
d83bdd3389 Base Choose category and Add new category
https://github.com/osmandapp/OsmAnd/issues/10835
2021-03-01 10:24:14 +02:00
Victor Shcherb
a80f463d2b Merge remote-tracking branch 'origin/r3.9' 2021-02-28 21:30:52 +01:00
nazar-kutz
a4e7edc6bd add visible gpx track to search history 2021-02-28 22:24:14 +02:00
nazar-kutz
0d29c84a6e divide "getView()" method into smaller methods 2021-02-28 22:15:49 +02:00
Vitaliy
54a9ca41f7
Merge pull request #11010 from osmandapp/fix_settings_inconsistencies
Fix settings inconsistencies
2021-02-28 20:42:12 +02:00
cepprice
793bda1024 Simplify code 2021-02-28 23:35:21 +05:00
Vitaliy
7afc918fac
Merge pull request #11012 from osmandapp/fix_popup_saved_track_recording_name
Fix popup name of saved track in trip recording dialog
2021-02-28 20:16:07 +02:00
Vitaliy
fab3f322b4
Merge pull request #11020 from osmandapp/remove_water_polygons
Bind water polygons with land ones for underlay maps
2021-02-28 19:54:28 +02:00
Vitaliy
07c371f472
Merge pull request #11013 from osmandapp/fix_night_mode_in_road_info
Fix text color in night mode for road info
2021-02-28 19:49:52 +02:00
Vitaliy
4d4783b2ea Small fix for inflater 2021-02-28 19:48:33 +02:00
cepprice
d114b23e30 Fix logic 2021-02-28 22:41:35 +05:00
Vitaliy
29897a247e
Merge pull request #11032 from osmandapp/fix_units_switch
Don't overwrite units of measurement in automatic region
2021-02-28 19:14:06 +02:00
cepprice
38d6183a43 Don't overwrite units of measurement in automatic region 2021-02-28 21:56:07 +05:00
max-klaus
110cb16860 Fix build gradle 2021-02-27 13:15:10 +03:00
max-klaus
d7db7387b6 Merge branch 'r3.9' 2021-02-27 11:57:28 +03:00
max-klaus
9067da136b Update location services 2021-02-27 11:54:15 +03:00
Vitaliy
06da2fa44e
Merge pull request #11014 from osmandapp/fix_system_dark_mode
Fix themes with Android system dark theme enabled (like as MIUI etc)
2021-02-26 22:26:19 +02:00
cepprice
b8f3452a1c Bind water polygons with land ones for underlay maps 2021-02-26 23:49:10 +05:00
ivanPyrohivskyi
11f1ba5bc2 Removed java.awt.* 2021-02-26 19:51:36 +02:00
ivanPyrohivskyi
27aab34bf9 Added rgbaToDecimal converter 2021-02-26 19:09:54 +02:00
ivanPyrohivskyi
92c6ed4501 Fixes 2021-02-26 18:29:07 +02:00
max-klaus
fdb6570ebe Merge branch 'r3.9' 2021-02-26 18:12:49 +03:00
Skalii
8536aacdd7 fix light/dark mode with Android system dark theme enabled (like as MIUI etc) 2021-02-26 04:20:02 +02:00
Skalii
bb6099d41a fix legend text for night mode;
fix duration time for route statistic
2021-02-26 01:38:45 +02:00
Skalii
4218711971 fix popup with saved track name in trip recording dialog 2021-02-25 20:04:37 +02:00
cepprice
1c0e5411b1 Show settings only when plugin enabled 2021-02-25 20:47:46 +05:00
ivanPyrohivskyi
399ea02fdf Gradient colorization for route 2021-02-25 17:32:25 +02:00
cepprice
33c5c562d9 Invert setting value in preference bottom sheet 2021-02-25 20:17:55 +05:00
max-klaus
428327c2cd Merge branch 'r3.9' 2021-02-25 18:03:01 +03:00
Vitaliy
8ec89a28e1
Merge pull request #11000 from osmandapp/in_app_review
Add Google Play In-app review
2021-02-25 13:33:03 +02:00
cepprice
588d9b2916 Small edit 2021-02-25 15:55:55 +05:00
cepprice
e084416ce1 Show old rate dialog if not google play installed 2021-02-25 13:59:35 +05:00
Skalii
0d4765142a rollback some changes;
small fixes;
2021-02-25 05:22:09 +02:00
Skalii
066ee38de2 fix use a more universal method for adding altitude 2021-02-25 05:04:43 +02:00
Skalii
a702787f09 some fixes 2021-02-25 03:49:52 +02:00
cepprice
16593e1a34 Add in app review 2021-02-24 21:59:31 +05:00
cepprice
b422c8276d Extract logic to new helper 2021-02-24 21:57:41 +05:00
alex-osm
ae88e4e8a2
Merge pull request #10991 from osmandapp/fix_image_download_buttons
Fix image download buttons, wrong article navigation
2021-02-24 18:25:26 +03:00
Vitaliy
d6dc10e5cf
Merge pull request #10941 from osmandapp/fix_custom_track_folders
Fix custom track folders
2021-02-24 16:14:50 +02:00
Skalii
b149bb47da fix save state to show all folders after screen is rotated 2021-02-24 15:40:52 +02:00
Skalii
0f81841c79 test adding altitude and timestamp to new favorite 2021-02-24 15:02:39 +02:00
androiddevkotlin
cbc77377cb Fix RTL space to fit screen 2021-02-24 01:31:26 +02:00
cepprice
5b590cf3ec Cosmetic changes 2021-02-23 22:20:41 +05:00
cepprice
b0bb03fa8f The rest custom color implementations 2021-02-23 22:19:19 +05:00
Dima-1
25390e1d42 Fix image download buttons, wrong navigation 2021-02-23 18:29:32 +02:00
androiddevkotlin
7a738dd55c Fix element's alignment: icons and colors
https://github.com/osmandapp/OsmAnd-Issues/issues/472
2021-02-23 18:16:12 +02:00
Vitaliy
152129ec78
Merge pull request #10971 from osmandapp/chips-points
Chips points
2021-02-23 17:45:30 +02:00
cepprice
837219bebb Small fixes 2021-02-23 18:42:26 +05:00
Victor Shcherb
775719b480 Merge remote-tracking branch 'origin/r3.9' 2021-02-23 12:08:45 +02:00
Victor Shcherb
dbf9cb8e19 Merge remote-tracking branch 'origin/r3.9' 2021-02-23 12:01:45 +02:00
Vitaliy
fc3ead429c
Merge pull request #10979 from osmandapp/fix_waypoints_after_import_gpx
Adding unnamed waypoints to favorites
2021-02-23 11:53:23 +02:00
Skalii
e420cdb3ec fix name for unnamed waypoints 2021-02-23 10:46:11 +02:00
cepprice
f75a8f8b58 Easy replaсement of color from @ColorRes to @ColorInt 2021-02-23 13:45:16 +05:00
Skalii
2561ee99e1 fix replace checks; 2021-02-23 01:50:50 +02:00
Skalii
627cd967b1 fix adding unnamed waypoints to favorites 2021-02-23 01:42:59 +02:00
nazar-kutz
cea1fa60e7 Refactoring: remove enum EngineType, use OnlineRoutingEngine constants instead 2021-02-22 19:09:30 +02:00
Vitaliy
0125820d76 Merge branch 'r3.9' 2021-02-22 18:40:54 +02:00
nazar-kutz
1be6bc7eea Refactoring: inheritance instead of composition 2021-02-22 17:04:38 +02:00
cepprice
7c22585d43 Add color picker and color selection 2021-02-22 20:01:25 +05:00
cepprice
10bab68413 Implement custom color (without color picker yet) 2021-02-22 19:22:57 +05:00
Vitaliy
80dd042f4f Merge branch 'r3.9'
# Conflicts:
#	OsmAnd/res/values/strings.xml
2021-02-22 14:53:35 +02:00
nazar-kutz
fab1df33a6 Refactoring: change parser location, remove todo 2021-02-22 13:44:49 +02:00
Skalii
f981d4a4bb small fix 2021-02-22 13:43:53 +02:00
nazar-kutz
e44f763405 Check ZIP and GZIP formats 2021-02-22 13:14:10 +02:00
androiddevkotlin
e67395028a Filtering on click chips 2021-02-22 12:22:21 +02:00
Vitaliy
719dbbc244
Merge pull request #10948 from osmandapp/Add-Coordinates-widget-to-Quick-action
Feature Request: Add "Coordinates widget" toggle to Quick action button
2021-02-21 18:07:58 +02:00
nazar-kutz
584e7dbf6d Implement GPX online routing, step 1 2021-02-21 13:44:22 +02:00
Vitaliy
dd1c4b5311
Merge pull request #10940 from osmandapp/default_profileName_2
fix empty profile name on main settings screen
2021-02-21 13:11:17 +02:00
vshcherb
48cbd60dc7
Merge pull request #10951 from osmandapp/Help-Section-blue-box
Everything in Help Section has a blue box
2021-02-20 16:07:36 +02:00
Victor Shcherb
eb0284284f Formatting 2021-02-20 14:58:12 +02:00
Victor Shcherb
eb596298ec Clean up assets on clean build 2021-02-20 13:29:31 +02:00
Victor Shcherb
a5e062c849 Merge branch 'r3.9' 2021-02-20 13:23:21 +02:00
Hardy
96bf672ad9
fix #10949 2021-02-20 00:42:59 +01:00
androiddevkotlin
1bc511cdc7 Everything in Help Section has a blue box
Fast fix
2021-02-20 00:04:24 +02:00
androiddevkotlin
790cf6592e Feature Request: Add "Coordinates widget" toggle to Quick action button
https://github.com/osmandapp/OsmAnd/issues/10196
2021-02-19 21:27:27 +02:00
max-klaus
a3d65e8500 Avoid concurrent modification of popular articles 2021-02-19 21:15:56 +03:00
max-klaus
1d194e4083 Refactoring travel helper 2021-02-19 20:29:34 +03:00
max-klaus
b46e275193 Merge branch 'r3.9' 2021-02-19 18:58:29 +03:00
vshcherb
face01f6b7
Merge pull request #10934 from osmandapp/T10736
T10736
2021-02-19 17:42:12 +02:00
Victor Shcherb
837452a568 Merge remote-tracking branch 'origin/r3.9' 2021-02-19 16:44:00 +02:00
Skalii
f12cbd0aea fix crash when trying to create folder with empty name 2021-02-19 16:36:01 +02:00
Victor Shcherb
89e953c854 Merge remote-tracking branch 'origin/r3.9' 2021-02-19 15:43:57 +02:00
max-klaus
04b18477ce Improve tracker location update 2021-02-19 16:23:50 +03:00
max-klaus
9e6dadaa71 Added location looper thread 2021-02-19 14:16:22 +03:00
Skalii
7373a2c8c2 small fix 2021-02-19 11:41:11 +02:00
Skalii
c92cb7aae7 small fix for folder list adapter 2021-02-19 11:37:27 +02:00
Skalii
c445e45b60 fix incorrect error display and file name change; 2021-02-19 05:35:29 +02:00
Skalii
8cc7ca3a39 fix "Tracks" folder display in all folders list;
fix recently added folder display in all folders list
2021-02-19 04:41:46 +02:00
nnngrach
ffc5e1d83e fix empty profile name on main settings screen 2021-02-19 03:39:42 +03:00
androiddevkotlin
4576492108 Fix conflicts, minor UI fix, all categories add, HorizontalSelectionAdapterListener 2021-02-18 18:56:27 +02:00
Kseniia
c28d6d75a9 fix 10736 2021-02-18 18:46:32 +02:00
androiddevkotlin
8f4d63dc4f Merge branch 'master' into chips-points
# Conflicts:
#	OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
2021-02-18 18:46:20 +02:00
Skalii
90c29ef6fe add new button "Add new folder" in "Save as new track" dialog;
fix show edit text with an empty name in "Add new folder" dialog;
fix start typing a name with a capital letter
2021-02-18 18:40:06 +02:00
Kseniia
2ca1303cf3 fix 10736 2021-02-17 23:28:11 +02:00
vshcherb
6f0e0ae21c
Update MapObject.java 2021-02-16 14:13:48 +01:00
ivanPyrohivskyi
4733919c3c Allow to disable en transliteration 2021-02-16 13:24:12 +02:00
androiddevkotlin
2b71749199 init 2021-02-15 12:31:54 +02:00
solokot
cfb3ab771e
Translated using Weblate (Russian)
Currently translated at 99.8% (3885 of 3891 strings)
2021-02-14 20:47:31 +01:00
Franco
037894f8aa
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3891 of 3891 strings)
2021-02-14 20:47:30 +01:00
Franco
ea1386fa4f
Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (3674 of 3674 strings)
2021-02-14 20:47:30 +01:00
Franco
ce9d6977e7
Translated using Weblate (Spanish)
Currently translated at 100.0% (3891 of 3891 strings)
2021-02-14 20:47:29 +01:00
Георгій Цітоў
13a4ad38fc
Translated using Weblate (Belarusian)
Currently translated at 98.7% (3841 of 3891 strings)
2021-02-14 20:47:28 +01:00
Георгій Цітоў
a2dfb1a8fe
Translated using Weblate (Belarusian)
Currently translated at 100.0% (3674 of 3674 strings)
2021-02-14 20:47:26 +01:00
Zmicer Turok
72542fce5e
Translated using Weblate (Belarusian)
Currently translated at 100.0% (3674 of 3674 strings)
2021-02-14 20:47:26 +01:00
Ole Carlsen
92c1ca5b96
Translated using Weblate (Danish)
Currently translated at 91.2% (3352 of 3674 strings)
2021-02-14 20:47:25 +01:00
Franco
f9de869e79
Translated using Weblate (Spanish)
Currently translated at 98.9% (3636 of 3674 strings)
2021-02-14 20:47:20 +01:00
sergio
7164b12a21
Translated using Weblate (Russian)
Currently translated at 99.8% (3670 of 3674 strings)
2021-02-14 20:47:14 +01:00
Hakuchi
3221f9e272
Translated using Weblate (German)
Currently translated at 100.0% (3674 of 3674 strings)
2021-02-14 20:47:13 +01:00
ssantos
86c9016a6e
Translated using Weblate (Portuguese)
Currently translated at 98.1% (3606 of 3674 strings)
2021-02-14 20:47:13 +01:00
Nikita Epifanov
ac22fd0992
Translated using Weblate (Russian)
Currently translated at 99.8% (3670 of 3674 strings)
2021-02-14 20:47:03 +01:00
Artem
c93341a2b6
Translated using Weblate (Russian)
Currently translated at 99.8% (3670 of 3674 strings)
2021-02-14 20:47:02 +01:00
700 changed files with 42136 additions and 14440 deletions

View file

@ -17,6 +17,7 @@ package com.jwetherell.openmap.common;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
public class MGRSPoint extends ZonedUTMPoint {
@ -697,10 +698,9 @@ public class MGRSPoint extends ZonedUTMPoint {
all.set(1, shiftChar(all.get(1), eastShift, northShift));
String zero = "";
}
all.add(String.format("%0" + accuracy + "d", roundedEasting));
all.add(String.format("%0" + accuracy + "d", roundedNorthing));
all.add(String.format(Locale.US,"%0" + accuracy + "d", roundedEasting));
all.add(String.format(Locale.US,"%0" + accuracy + "d", roundedNorthing));
break;
}
}

View file

@ -6,6 +6,7 @@ import net.osmand.binary.StringBundle;
import net.osmand.binary.StringBundleWriter;
import net.osmand.binary.StringBundleXmlWriter;
import net.osmand.data.QuadRect;
import net.osmand.router.RouteColorize.ColorizationType;
import net.osmand.util.Algorithms;
import org.apache.commons.logging.Log;
@ -227,6 +228,9 @@ public class GPXUtilities {
public double hdop = Double.NaN;
public float heading = Float.NaN;
public boolean deleted = false;
public int speedColor = 0;
public int altitudeColor = 0;
public int slopeColor = 0;
public int colourARGB = 0; // point colour (used for altitude/speed colouring)
public double distance = 0.0; // cumulative distance, if in a track
@ -249,6 +253,9 @@ public class GPXUtilities {
this.hdop = wptPt.hdop;
this.heading = wptPt.heading;
this.deleted = wptPt.deleted;
this.speedColor = wptPt.speedColor;
this.altitudeColor = wptPt.altitudeColor;
this.slopeColor = wptPt.slopeColor;
this.colourARGB = wptPt.colourARGB;
this.distance = wptPt.distance;
}
@ -311,6 +318,26 @@ public class GPXUtilities {
getExtensionsToWrite().put(ICON_NAME_EXTENSION, iconName);
}
public int getColor(ColorizationType type) {
if (type == ColorizationType.SPEED) {
return speedColor;
} else if (type == ColorizationType.ELEVATION) {
return altitudeColor;
} else {
return slopeColor;
}
}
public void setColor(ColorizationType type, int color) {
if (type == ColorizationType.SPEED) {
speedColor = color;
} else if (type == ColorizationType.ELEVATION) {
altitudeColor = color;
} else if (type == ColorizationType.SLOPE) {
slopeColor = color;
}
}
public String getBackgroundType() {
return getExtensionsToRead().get(BACKGROUND_TYPE_EXTENSION);
}
@ -1086,6 +1113,15 @@ public class GPXUtilities {
return trackBounds;
}
public static QuadRect calculateTrackBounds(List<TrkSegment> segments) {
QuadRect trackBounds = new QuadRect(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY,
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
for (TrkSegment segment : segments) {
updateBounds(trackBounds, segment.points, 0);
}
return trackBounds;
}
public static void updateBounds(QuadRect trackBounds, List<WptPt> pts, int startIndex) {
for (int i = startIndex; i < pts.size(); i++) {
WptPt pt = pts.get(i);
@ -1662,16 +1698,16 @@ public class GPXUtilities {
return new QuadRect(left, top, right, bottom);
}
public int getGradientScaleColor(String gradientScaleType, int defColor) {
public int[] getGradientScaleColor(String gradientScaleType) {
String clrValue = null;
if (extensions != null) {
clrValue = extensions.get(gradientScaleType);
}
return parseColor(clrValue, defColor);
return Algorithms.stringToGradientPalette(clrValue);
}
public void setGradientScaleColor(String gradientScaleType, int gradientScaleColor) {
getExtensionsToWrite().put(gradientScaleType, Algorithms.colorToString(gradientScaleColor));
public void setGradientScaleColor(String gradientScaleType, int[] gradientScalePalette) {
getExtensionsToWrite().put(gradientScaleType, Algorithms.gradientPaletteToString(gradientScalePalette));
}
public String getGradientScaleType() {

View file

@ -27,7 +27,9 @@ public class IndexConstants {
public static final String BINARY_ROAD_MAP_INDEX_EXT = ".road.obf"; //$NON-NLS-1$
public static final String BINARY_ROAD_MAP_INDEX_EXT_ZIP = ".road.obf.zip"; //$NON-NLS-1$
public static final String BINARY_SRTM_MAP_INDEX_EXT = ".srtm.obf"; //$NON-NLS-1$
public static final String BINARY_SRTM_FEET_MAP_INDEX_EXT = ".srtmf.obf"; //$NON-NLS-1$
public static final String BINARY_SRTM_MAP_INDEX_EXT_ZIP = ".srtm.obf.zip"; //$NON-NLS-1$
public static final String BINARY_SRTM_FEET_MAP_INDEX_EXT_ZIP = ".srtmf.obf.zip"; //$NON-NLS-1$
public static final String EXTRA_EXT = ".extra";
public static final String EXTRA_ZIP_EXT = ".extra.zip";

View file

@ -1,20 +1,23 @@
package net.osmand;
import java.text.ParseException;
import java.util.Calendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Period {
public enum PeriodUnit {
YEAR("Y"),
MONTH("M"),
WEEK("W"),
DAY("D");
YEAR("Y", Calendar.YEAR),
MONTH("M", Calendar.MONTH),
WEEK("W", Calendar.WEEK_OF_YEAR),
DAY("D", Calendar.DATE);
private String unitStr;
private int calendarIdx;
PeriodUnit(String unitStr) {
PeriodUnit(String unitStr, int calendarIdx) {
this.calendarIdx = calendarIdx;
this.unitStr = unitStr;
}
@ -22,6 +25,10 @@ public class Period {
return unitStr;
}
public int getCalendarIdx() {
return calendarIdx;
}
public double getMonthsValue() {
switch (this) {
case YEAR:

View file

@ -1,25 +1,9 @@
package net.osmand.binary;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import com.google.protobuf.CodedInputStream;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.WireFormat;
import gnu.trove.iterator.TLongObjectIterator;
import gnu.trove.list.array.TIntArrayList;
import gnu.trove.list.array.TLongArrayList;
import gnu.trove.map.hash.TIntObjectHashMap;
import gnu.trove.map.hash.TLongObjectHashMap;
import net.osmand.PlatformUtil;
import net.osmand.ResultMatcher;
import net.osmand.binary.BinaryMapIndexReader.SearchRequest;
@ -34,6 +18,23 @@ import net.osmand.util.Algorithms;
import net.osmand.util.MapUtils;
import net.osmand.util.OpeningHoursParser;
import org.apache.commons.logging.Log;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import gnu.trove.iterator.TLongObjectIterator;
import gnu.trove.list.array.TIntArrayList;
import gnu.trove.list.array.TLongArrayList;
import gnu.trove.map.hash.TIntObjectHashMap;
import gnu.trove.map.hash.TLongObjectHashMap;
public class BinaryMapRouteReaderAdapter {
protected static final Log LOG = PlatformUtil.getLog(BinaryMapRouteReaderAdapter.class);
private static final int SHIFT_COORDINATES = 4;
@ -303,6 +304,7 @@ public class BinaryMapRouteReaderAdapter {
public int directionTrafficSignalsBackward = -1;
public int trafficSignals = -1;
public int stopSign = -1;
public int stopMinor = -1;
public int giveWaySign = -1;
int nameTypeRule = -1;
@ -363,6 +365,8 @@ public class BinaryMapRouteReaderAdapter {
destinationRefTypeRule = id;
} else if (tags.equals("highway") && val.equals("traffic_signals")){
trafficSignals = id;
} else if (tags.equals("stop") && val.equals("minor")) {
stopMinor = id;
} else if (tags.equals("highway") && val.equals("stop")){
stopSign = id;
} else if (tags.equals("highway") && val.equals("give_way")){

View file

@ -282,10 +282,12 @@ public class GeocodingUtilities {
} else {
Collections.sort(streetsList, DISTANCE_COMPARATOR);
double streetDistance = 0;
boolean isBuildingFound = knownMinBuildingDistance > 0;
for (GeocodingResult street : streetsList) {
if (streetDistance == 0) {
streetDistance = street.getDistance();
} else if (street.getDistance() > streetDistance + DISTANCE_STREET_FROM_CLOSEST_WITH_SAME_NAME) {
} else if (streetDistance > 0 && street.getDistance() > streetDistance + DISTANCE_STREET_FROM_CLOSEST_WITH_SAME_NAME &&
isBuildingFound) {
continue;
}
street.connectionPoint = road.connectionPoint;
@ -296,6 +298,7 @@ public class GeocodingUtilities {
if (knownMinBuildingDistance == 0) {
GeocodingResult firstBld = it.next();
knownMinBuildingDistance = firstBld.getDistance();
isBuildingFound = true;
res.add(firstBld);
}
while (it.hasNext()) {

View file

@ -4,6 +4,7 @@ import net.osmand.Location;
import net.osmand.PlatformUtil;
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteRegion;
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteTypeRule;
import net.osmand.data.LatLon;
import net.osmand.util.Algorithms;
import net.osmand.util.MapUtils;
import net.osmand.util.TransliterationHelper;
@ -37,7 +38,9 @@ public class RouteDataObject {
public int[] nameIds;
// mixed array [0, height, cumulative_distance height, cumulative_distance, height, ...] - length is length(points)*2
public float[] heightDistanceArray = null;
public float heightByCurrentLocation = Float.NaN;
private static final Log LOG = PlatformUtil.getLog(RouteDataObject.class);
public RouteDataObject(RouteRegion region) {
this.region = region;
}
@ -124,7 +127,7 @@ public class RouteDataObject {
equals = this.pointTypes[i] == thatObj.pointTypes[i];
} else if (pointTypes[i].length != thatObj.pointTypes[i].length) {
equals = false;
} else {
} else {
for (int j = 0; j < this.pointTypes[i].length && equals; j++) {
String thisTag = region.routeEncodingRules.get(pointTypes[i][j]).getTag();
String thisValue = region.routeEncodingRules.get(pointTypes[i][j]).getValue();
@ -147,7 +150,7 @@ public class RouteDataObject {
equals = this.pointNameTypes[i] == thatObj.pointNameTypes[i];
} else if (pointNameTypes[i].length != thatObj.pointNameTypes[i].length) {
equals = false;
} else {
} else {
for (int j = 0; j < this.pointNameTypes[i].length && equals; j++) {
String thisTag = region.routeEncodingRules.get(pointNameTypes[i][j]).getTag();
String thisValue = pointNames[i][j];
@ -165,53 +168,68 @@ public class RouteDataObject {
}
public float[] calculateHeightArray() {
if(heightDistanceArray != null) {
return calculateHeightArray(null);
}
public float[] calculateHeightArray(LatLon currentLocation) {
if (heightDistanceArray != null) {
return heightDistanceArray;
}
int startHeight = Algorithms.parseIntSilently(getValue("osmand_ele_start"), HEIGHT_UNDEFINED);
int endHeight = Algorithms.parseIntSilently(getValue("osmand_ele_end"), startHeight);
if(startHeight == HEIGHT_UNDEFINED) {
if (startHeight == HEIGHT_UNDEFINED) {
heightDistanceArray = new float[0];
return heightDistanceArray;
}
heightDistanceArray = new float[2*getPointsLength()];
heightDistanceArray = new float[2 * getPointsLength()];
double plon = 0;
double plat = 0;
float prevHeight = startHeight;
for(int k = 0; k < getPointsLength(); k++) {
heightByCurrentLocation = Float.NaN;
double prevDistance = 0;
for (int k = 0; k < getPointsLength(); k++) {
double lon = MapUtils.get31LongitudeX(getPoint31XTile(k));
double lat = MapUtils.get31LatitudeY(getPoint31YTile(k));
if(k > 0) {
if (k > 0) {
double dd = MapUtils.getDistance(plat, plon, lat, lon);
float height = HEIGHT_UNDEFINED;
if(k == getPointsLength() - 1) {
if (k == getPointsLength() - 1) {
height = endHeight;
} else {
String asc = getValue(k, "osmand_ele_asc");
if(asc != null && asc.length() > 0) {
if (asc != null && asc.length() > 0) {
height = (prevHeight + Float.parseFloat(asc));
} else {
String desc = getValue(k, "osmand_ele_desc");
if(desc != null && desc.length() > 0) {
if (desc != null && desc.length() > 0) {
height = (prevHeight - Float.parseFloat(desc));
}
}
}
heightDistanceArray[2*k] = (float) dd;
heightDistanceArray[2*k+1] = height;
if(height != HEIGHT_UNDEFINED) {
heightDistanceArray[2 * k] = (float) dd;
heightDistanceArray[2 * k + 1] = height;
if (currentLocation != null) {
double distance = MapUtils.getDistance(currentLocation, lat, lon);
if (height != HEIGHT_UNDEFINED && distance < prevDistance) {
prevDistance = distance;
heightByCurrentLocation = height;
}
}
if (height != HEIGHT_UNDEFINED) {
// interpolate undefined
double totalDistance = dd;
int startUndefined = k;
while(startUndefined - 1 >= 0 && heightDistanceArray[2*(startUndefined - 1)+1] == HEIGHT_UNDEFINED) {
startUndefined --;
totalDistance += heightDistanceArray[2*(startUndefined)];
while (startUndefined - 1 >= 0 && heightDistanceArray[2 * (startUndefined - 1) + 1] == HEIGHT_UNDEFINED) {
startUndefined--;
totalDistance += heightDistanceArray[2 * (startUndefined)];
}
if(totalDistance > 0) {
if (totalDistance > 0) {
double angle = (height - prevHeight) / totalDistance;
for(int j = startUndefined; j < k; j++) {
heightDistanceArray[2*j+1] = (float) ((heightDistanceArray[2*j] * angle) + heightDistanceArray[2*j-1]);
for (int j = startUndefined; j < k; j++) {
heightDistanceArray[2 * j + 1] = (float) ((heightDistanceArray[2 * j] * angle) + heightDistanceArray[2 * j - 1]);
}
}
prevHeight = height;
@ -223,6 +241,9 @@ public class RouteDataObject {
}
plat = lat;
plon = lon;
if (currentLocation != null) {
prevDistance = MapUtils.getDistance(currentLocation, plat, plon);
}
}
return heightDistanceArray;
}
@ -231,34 +252,34 @@ public class RouteDataObject {
return id;
}
public String getName(){
if(names != null ) {
public String getName() {
if (names != null) {
return names.get(region.nameTypeRule);
}
return null;
}
public String getName(String lang){
public String getName(String lang) {
return getName(lang, false);
}
public String getName(String lang, boolean transliterate){
if(names != null ) {
if(Algorithms.isEmpty(lang)) {
public String getName(String lang, boolean transliterate) {
if (names != null) {
if (Algorithms.isEmpty(lang)) {
return names.get(region.nameTypeRule);
}
int[] kt = names.keys();
for(int i = 0 ; i < kt.length; i++) {
for (int i = 0; i < kt.length; i++) {
int k = kt[i];
if(region.routeEncodingRules.size() > k) {
if(("name:"+lang).equals(region.routeEncodingRules.get(k).getTag())) {
if (region.routeEncodingRules.size() > k) {
if (("name:" + lang).equals(region.routeEncodingRules.get(k).getTag())) {
return names.get(k);
}
}
}
String nmDef = names.get(region.nameTypeRule);
if(transliterate && nmDef != null && nmDef.length() > 0) {
if (transliterate && nmDef != null && nmDef.length() > 0) {
return TransliterationHelper.transliterate(nmDef);
}
return nmDef;
@ -279,20 +300,20 @@ public class RouteDataObject {
// return getDestinationRef(direction);
//}
if (names != null) {
if(Algorithms.isEmpty(lang)) {
if (Algorithms.isEmpty(lang)) {
return names.get(region.refTypeRule);
}
int[] kt = names.keys();
for(int i = 0 ; i < kt.length; i++) {
for (int i = 0; i < kt.length; i++) {
int k = kt[i];
if(region.routeEncodingRules.size() > k) {
if(("ref:"+lang).equals(region.routeEncodingRules.get(k).getTag())) {
if (region.routeEncodingRules.size() > k) {
if (("ref:" + lang).equals(region.routeEncodingRules.get(k).getTag())) {
return names.get(k);
}
}
}
String refDefault = names.get(region.refTypeRule);
if(transliterate && refDefault != null && refDefault.length() > 0) {
if (transliterate && refDefault != null && refDefault.length() > 0) {
return TransliterationHelper.transliterate(refDefault);
}
return refDefault;
@ -307,13 +328,13 @@ public class RouteDataObject {
String refTagDefault = "destination:ref";
String refDefault = null;
for(int i = 0 ; i < kt.length; i++) {
for (int i = 0; i < kt.length; i++) {
int k = kt[i];
if(region.routeEncodingRules.size() > k) {
if(refTag.equals(region.routeEncodingRules.get(k).getTag())) {
if (region.routeEncodingRules.size() > k) {
if (refTag.equals(region.routeEncodingRules.get(k).getTag())) {
return names.get(k);
}
if(refTagDefault.equals(region.routeEncodingRules.get(k).getTag())) {
if (refTagDefault.equals(region.routeEncodingRules.get(k).getTag())) {
refDefault = names.get(k);
}
}
@ -326,12 +347,12 @@ public class RouteDataObject {
return null;
}
public String getDestinationName(String lang, boolean transliterate, boolean direction){
public String getDestinationName(String lang, boolean transliterate, boolean direction) {
//Issue #3289: Treat destination:ref like a destination, not like a ref
String destRef = ((getDestinationRef(direction) == null) || getDestinationRef(direction).equals(getRef(lang, transliterate, direction))) ? "" : getDestinationRef(direction);
String destRef1 = Algorithms.isEmpty(destRef) ? "" : destRef + ", ";
if(names != null) {
if (names != null) {
int[] kt = names.keys();
// Issue #3181: Parse destination keys in this order:
@ -341,35 +362,35 @@ public class RouteDataObject {
// destination
String destinationTagLangFB = "destination:lang:XX";
if(!Algorithms.isEmpty(lang)) {
if (!Algorithms.isEmpty(lang)) {
destinationTagLangFB = (direction == true) ? "destination:lang:" + lang + ":forward" : "destination:lang:" + lang + ":backward";
}
String destinationTagFB = (direction == true) ? "destination:forward" : "destination:backward";
String destinationTagLang = "destination:lang:XX";
if(!Algorithms.isEmpty(lang)) {
if (!Algorithms.isEmpty(lang)) {
destinationTagLang = "destination:lang:" + lang;
}
String destinationTagDefault = "destination";
String destinationDefault = null;
for(int i = 0 ; i < kt.length; i++) {
for (int i = 0; i < kt.length; i++) {
int k = kt[i];
if(region.routeEncodingRules.size() > k) {
if(!Algorithms.isEmpty(lang) && destinationTagLangFB.equals(region.routeEncodingRules.get(k).getTag())) {
if (region.routeEncodingRules.size() > k) {
if (!Algorithms.isEmpty(lang) && destinationTagLangFB.equals(region.routeEncodingRules.get(k).getTag())) {
return destRef1 + ((transliterate) ? TransliterationHelper.transliterate(names.get(k)) : names.get(k));
}
if(destinationTagFB.equals(region.routeEncodingRules.get(k).getTag())) {
if (destinationTagFB.equals(region.routeEncodingRules.get(k).getTag())) {
return destRef1 + ((transliterate) ? TransliterationHelper.transliterate(names.get(k)) : names.get(k));
}
if(!Algorithms.isEmpty(lang) && destinationTagLang.equals(region.routeEncodingRules.get(k).getTag())) {
if (!Algorithms.isEmpty(lang) && destinationTagLang.equals(region.routeEncodingRules.get(k).getTag())) {
return destRef1 + ((transliterate) ? TransliterationHelper.transliterate(names.get(k)) : names.get(k));
}
if(destinationTagDefault.equals(region.routeEncodingRules.get(k).getTag())) {
if (destinationTagDefault.equals(region.routeEncodingRules.get(k).getTag())) {
destinationDefault = names.get(k);
}
}
}
if(destinationDefault != null) {
if (destinationDefault != null) {
return destRef1 + ((transliterate) ? TransliterationHelper.transliterate(destinationDefault) : destinationDefault);
}
}
@ -400,14 +421,14 @@ public class RouteDataObject {
RestrictionInfo ri = new RestrictionInfo();
ri.toWay = getRestrictionId(k);
ri.type = getRestrictionType(k);
if(restrictionsVia != null && k < restrictionsVia.length) {
if (restrictionsVia != null && k < restrictionsVia.length) {
ri.viaWay = restrictionsVia[k];
}
return ri;
}
public long getRestrictionVia(int i) {
if(restrictionsVia != null && restrictionsVia.length > i) {
if (restrictionsVia != null && restrictionsVia.length > i) {
return restrictionsVia[i];
}
return 0;
@ -441,7 +462,7 @@ public class RouteDataObject {
}
if (insNames) {
pointNames = new String[opointNames.length + 1][];
pointNameTypes = new int[opointNameTypes.length +1][];
pointNameTypes = new int[opointNameTypes.length + 1][];
}
int i = 0;
for (; i < pos; i++) {
@ -499,6 +520,24 @@ public class RouteDataObject {
}
return pointTypes[ind];
}
public void removePointType(int ind, int type) {
if (pointTypes != null || ind < pointTypes.length) {
int[] typesArr = pointTypes[ind];
for (int i = 0; i < typesArr.length; i++) {
if (typesArr[i] == type) {
int[] result = new int[typesArr.length - 1];
System.arraycopy(typesArr, 0, result, 0, i);
if (typesArr.length != i) {
System.arraycopy(typesArr, i + 1, result, i, typesArr.length - 1 - i);
pointTypes[ind] = result;
break;
}
}
}
}
}
public int[] getTypes() {
return types;
@ -545,7 +584,7 @@ public class RouteDataObject {
String nonCondTag = rtr.getTag();
int ks;
for (ks = 0; ks < pointTypes[i].length; ks++) {
RouteTypeRule toReplace = region.quickGetEncodingRule(pointTypes[i][j]);
RouteTypeRule toReplace = region.quickGetEncodingRule(pointTypes[i][ks]);
if (toReplace != null && toReplace.getTag().contentEquals(nonCondTag)) {
break;
}
@ -590,7 +629,7 @@ public class RouteDataObject {
}
public static float parseSpeed(String v, float def) {
if(v.equals("none")) {
if (v.equals("none")) {
return RouteDataObject.NONE_MAX_SPEED;
} else {
int i = Algorithms.findFirstNumberEndIndex(v);
@ -614,20 +653,20 @@ public class RouteDataObject {
f += Float.parseFloat(v.substring(0, i));
String pref = v.substring(i, v.length()).trim();
float add = 0;
for(int ik = 0; ik < pref.length(); ik++) {
if(Algorithms.isDigit(pref.charAt(ik)) || pref.charAt(ik) == '.' || pref.charAt(ik) == '-') {
for (int ik = 0; ik < pref.length(); ik++) {
if (Algorithms.isDigit(pref.charAt(ik)) || pref.charAt(ik) == '.' || pref.charAt(ik) == '-') {
int first = Algorithms.findFirstNumberEndIndex(pref.substring(ik));
if(first != -1) {
if (first != -1) {
add = parseLength(pref.substring(ik), 0);
pref = pref.substring(0, ik);
}
break;
}
}
if(pref.contains("km")) {
if (pref.contains("km")) {
f *= 1000;
}
if(pref.contains("\"") || pref.contains("in")) {
if (pref.contains("\"") || pref.contains("in")) {
f *= 0.0254;
} else if (pref.contains("\'") || pref.contains("ft") || pref.contains("feet")) {
// foot to meters
@ -673,27 +712,27 @@ public class RouteDataObject {
return false;
}
public boolean roundabout(){
public boolean roundabout() {
int sz = types.length;
for(int i=0; i<sz; i++) {
for (int i = 0; i < sz; i++) {
RouteTypeRule r = region.quickGetEncodingRule(types[i]);
if(r.roundabout()) {
if (r.roundabout()) {
return true;
} else if(r.onewayDirection() != 0 && loop()) {
} else if (r.onewayDirection() != 0 && loop()) {
return true;
}
}
return false;
}
public boolean tunnel(){
public boolean tunnel() {
int sz = types.length;
for(int i=0; i<sz; i++) {
for (int i = 0; i < sz; i++) {
RouteTypeRule r = region.quickGetEncodingRule(types[i]);
if(r.getTag().equals("tunnel") && r.getValue().equals("yes")) {
if (r.getTag().equals("tunnel") && r.getValue().equals("yes")) {
return true;
}
if(r.getTag().equals("layer") && r.getValue().equals("-1")) {
if (r.getTag().equals("layer") && r.getValue().equals("-1")) {
return true;
}
}
@ -882,7 +921,7 @@ public class RouteDataObject {
public boolean bearingVsRouteDirection(Location loc) {
boolean direction = true;
if(loc != null && loc.hasBearing()) {
if (loc != null && loc.hasBearing()) {
double diff = MapUtils.alignAngleDifference(directionRoute(0, true) - loc.getBearing() / 180f * Math.PI);
direction = Math.abs(diff) < Math.PI / 2f;
}
@ -932,13 +971,13 @@ public class RouteDataObject {
}
public double distance(int startPoint, int endPoint) {
if(startPoint > endPoint) {
if (startPoint > endPoint) {
int k = endPoint;
endPoint = startPoint;
startPoint = k;
}
double d = 0;
for(int k = startPoint; k < endPoint && k < getPointsLength() -1; k++) {
for (int k = startPoint; k < endPoint && k < getPointsLength() - 1; k++) {
int x = getPoint31XTile(k);
int y = getPoint31YTile(k);
int kx = getPoint31XTile(k + 1);
@ -974,16 +1013,16 @@ public class RouteDataObject {
// translate into meters
total += simplifyDistance(x, y, px, py);
} while (total < dist);
return -Math.atan2( x - px, y - py );
return -Math.atan2(x - px, y - py);
}
private double simplifyDistance(int x, int y, int px, int py) {
return Math.abs(px - x) * 0.011d + Math.abs(py - y) * 0.01863d;
}
private static void assertTrueLength(String vl, float exp){
private static void assertTrueLength(String vl, float exp) {
float dest = parseLength(vl, 0);
if(exp != dest) {
if (exp != dest) {
System.err.println("FAIL " + vl + " " + dest);
} else {
System.out.println("OK " + vl);
@ -992,24 +1031,24 @@ public class RouteDataObject {
public static void main(String[] args) {
assertTrueLength("10 km", 10000);
assertTrueLength("0.01 km", 10);
assertTrueLength("0.01 km 10 m", 20);
assertTrueLength("10 m", 10);
assertTrueLength("10m", 10);
assertTrueLength("3.4 m", 3.4f);
assertTrueLength("3.40 m", 3.4f);
assertTrueLength("10 m 10m", 20);
assertTrueLength("14'10\"", 4.5212f);
assertTrueLength("14.5'", 4.4196f);
assertTrueLength("14.5 ft", 4.4196f);
assertTrueLength("14'0\"", 4.2672f);
assertTrueLength("15ft", 4.572f);
assertTrueLength("15 ft 1 in", 4.5974f);
assertTrueLength("4.1 metres", 4.1f);
assertTrueLength("14'0''", 4.2672f);
assertTrueLength("14 feet", 4.2672f);
assertTrueLength("14 mile", 22530.76f);
assertTrueLength("14 cm", 0.14f);
assertTrueLength("0.01 km", 10);
assertTrueLength("0.01 km 10 m", 20);
assertTrueLength("10 m", 10);
assertTrueLength("10m", 10);
assertTrueLength("3.4 m", 3.4f);
assertTrueLength("3.40 m", 3.4f);
assertTrueLength("10 m 10m", 20);
assertTrueLength("14'10\"", 4.5212f);
assertTrueLength("14.5'", 4.4196f);
assertTrueLength("14.5 ft", 4.4196f);
assertTrueLength("14'0\"", 4.2672f);
assertTrueLength("15ft", 4.572f);
assertTrueLength("15 ft 1 in", 4.5974f);
assertTrueLength("4.1 metres", 4.1f);
assertTrueLength("14'0''", 4.2672f);
assertTrueLength("14 feet", 4.2672f);
assertTrueLength("14 mile", 22530.76f);
assertTrueLength("14 cm", 0.14f);
// float badValue = -1;
// assertTrueLength("none", badValue);
@ -1054,7 +1093,7 @@ public class RouteDataObject {
public RestrictionInfo next; // optional to simulate linked list
public int length() {
if(next == null) {
if (next == null) {
return 1;
}
return next.length() + 1;
@ -1064,16 +1103,16 @@ public class RouteDataObject {
public void setRestriction(int k, long to, int type, long viaWay) {
long valto = (to << RouteDataObject.RESTRICTION_SHIFT) | ((long) type & RouteDataObject.RESTRICTION_MASK);
restrictions[k] = valto;
if(viaWay != 0) {
if (viaWay != 0) {
setRestrictionVia(k, viaWay);
}
}
public void setRestrictionVia(int k, long viaWay) {
if(restrictionsVia != null) {
if (restrictionsVia != null) {
long[] nrestrictionsVia = new long[Math.max(k + 1, restrictions.length)];
System.arraycopy(restrictions, 0, nrestrictionsVia, 0, restrictions.length);
restrictionsVia = nrestrictionsVia;
restrictionsVia = nrestrictionsVia;
} else {
restrictionsVia = new long[k + 1];
}

View file

@ -279,6 +279,19 @@ public class Amenity extends MapObject {
}
public String getTagContent(String tag, String lang) {
String translateName = getStrictTagContent(tag, lang);
if (translateName != null) {
return translateName;
}
for (String nm : getAdditionalInfoKeys()) {
if (nm.startsWith(tag + ":")) {
return getAdditionalInfo(nm);
}
}
return null;
}
public String getStrictTagContent(String tag, String lang) {
if (lang != null) {
String translateName = getAdditionalInfo(tag + ":" + lang);
if (!Algorithms.isEmpty(translateName)) {
@ -293,11 +306,6 @@ public class Amenity extends MapObject {
if (!Algorithms.isEmpty(enName)) {
return enName;
}
for (String nm : getAdditionalInfoKeys()) {
if (nm.startsWith(tag + ":")) {
return getAdditionalInfo(nm);
}
}
return null;
}

View file

@ -16,13 +16,11 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.zip.GZIPInputStream;
@ -183,8 +181,9 @@ public abstract class MapObject implements Comparable<MapObject> {
public String getName(String lang, boolean transliterate) {
if (lang != null && lang.length() > 0) {
if (lang.equals("en")) {
// ignore transliterate option here for backward compatibility
return getEnName(true);
// for some objects like wikipedia, english name is stored 'name' tag
String enName = getEnName(transliterate);
return !Algorithms.isEmpty(enName) ? enName : getName();
} else {
// get name
if (names != null) {

View file

@ -163,9 +163,7 @@ public class Multipolygon {
* @return true if this multipolygon is correct and contains the point
*/
public boolean containsPoint(LatLon point) {
return containsPoint(point.getLatitude(), point.getLongitude());
}
public int countOuterPolygons() {

View file

@ -6,6 +6,7 @@ public class QuadRect {
public double top;
public double bottom;
// left & right / top & bottom could be flipped (so it's useful for latlon bbox)
public QuadRect(double left, double top, double right, double bottom) {
this.left = left;
this.right = right;
@ -21,16 +22,18 @@ public class QuadRect {
}
public double width() {
return right - left;
return Math.abs(right - left);
}
public double height() {
return bottom - top;
return Math.abs(bottom - top);
}
public boolean contains(double left, double top, double right, double bottom) {
return this.left < this.right && this.top < this.bottom && this.left <= left && this.top <= top && this.right >= right
&& this.bottom >= bottom;
return Math.min(this.left, this.right) <= Math.min(left, right)
&& Math.max(this.left, this.right) >= Math.max(left, right)
&& Math.min(this.top, this.bottom) <= Math.min(top, bottom)
&& Math.max(this.top, this.bottom) >= Math.max(top, bottom);
}
public boolean contains(QuadRect box) {
@ -38,12 +41,15 @@ public class QuadRect {
}
public static boolean intersects(QuadRect a, QuadRect b) {
return a.left < b.right && b.left < a.right && a.top < b.bottom && b.top < a.bottom;
}
public static boolean trivialOverlap(QuadRect a, QuadRect b) {
return !((a.right < b.left) || (a.left > b.right) || (a.top < b.bottom) || (a.bottom > b.top));
return Math.min(a.left, a.right) <= Math.max(b.left, b.right)
&& Math.max(a.left, a.right) >= Math.min(b.left, b.right)
&& Math.min(a.bottom, a.top) <= Math.max(b.bottom, b.top)
&& Math.max(a.bottom, a.top) >= Math.min(b.bottom, b.top);
}
public static boolean trivialOverlap(QuadRect a, QuadRect b) {
return intersects(a, b);
}
public double centerX() {
return (left + right) / 2;

View file

@ -103,18 +103,16 @@ public class QuadTree<T> {
void splitBox(QuadRect node_extent, QuadRect[] n) {
// coord2d c=node_extent.center();
double width = node_extent.width();
double height = node_extent.height();
double lox = node_extent.left;
double loy = node_extent.top;
double hix = node_extent.right;
double hiy = node_extent.bottom;
double lx = node_extent.left;
double ly = node_extent.top;
double hx = node_extent.right;
double hy = node_extent.bottom;
n[0] = new QuadRect(lox, loy, lox + width * ratio, loy + height * ratio);
n[1] = new QuadRect(hix - width * ratio, loy, hix, loy + height * ratio);
n[2] = new QuadRect(lox, hiy - height * ratio, lox + width * ratio, hiy);
n[3] = new QuadRect(hix - width * ratio, hiy - height * ratio, hix, hiy);
n[0] = new QuadRect(lx, ly, lx + (hx - lx) * ratio, ly + (hy - ly) * ratio);
n[1] = new QuadRect(lx + (hx - lx) * (1 - ratio), ly, hx, ly + (hy - ly) * ratio);
n[2] = new QuadRect(lx, ly + (hy - ly) * (1 - ratio), lx + (hx - lx) * ratio, hy);
n[3] = new QuadRect(lx + (hx - lx) * (1 - ratio), ly + (hy - ly) * (1 - ratio), hx, hy);
}
}

View file

@ -436,7 +436,7 @@ public class OsmandRegions {
cx /= object.getPointsLength();
cy /= object.getPointsLength();
rd.regionCenter = new LatLon(MapUtils.get31LatitudeY((int) cy), MapUtils.get31LongitudeX((int) cx));
rd.boundingBox = findBoundingBox(object);
findBoundaries(rd, object);
}
rd.regionParentFullName = mapIndexFields.get(mapIndexFields.parentFullName, object);
@ -462,13 +462,15 @@ public class OsmandRegions {
return rd;
}
private QuadRect findBoundingBox(BinaryMapDataObject object) {
private void findBoundaries(WorldRegion rd, BinaryMapDataObject object) {
if (object.getPointsLength() == 0) {
return new QuadRect(0, 0, 0, 0);
return;
}
List<LatLon> polygon = new ArrayList<>();
double currentX = object.getPoint31XTile(0);
double currentY = object.getPoint31YTile(0);
polygon.add(new LatLon(currentX, currentY));
double minX = currentX;
double maxX = currentX;
double minY = currentY;
@ -488,6 +490,7 @@ public class OsmandRegions {
} else if (currentY < minY) {
minY = currentY;
}
polygon.add(new LatLon(currentX, currentY));
}
}
@ -496,7 +499,8 @@ public class OsmandRegions {
double revertedMinY = MapUtils.get31LatitudeY((int) maxY);
double revertedMaxY = MapUtils.get31LatitudeY((int) minY);
return new QuadRect(minX, revertedMinY, maxX, revertedMaxY);
rd.boundingBox = new QuadRect(minX, revertedMinY, maxX, revertedMaxY);
rd.polygon = polygon;
}
private String getSearchIndex(BinaryMapDataObject object) {

View file

@ -5,8 +5,11 @@ import net.osmand.data.QuadRect;
import net.osmand.util.Algorithms;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
public class WorldRegion implements Serializable {
@ -42,6 +45,7 @@ public class WorldRegion implements Serializable {
protected boolean regionMapDownload;
protected LatLon regionCenter;
protected QuadRect boundingBox;
protected List<LatLon> polygon;
public static class RegionParams {
protected String regionLeftHandDriving;
@ -186,12 +190,23 @@ public class WorldRegion implements Serializable {
}
public boolean containsRegion(WorldRegion region) {
if (this.boundingBox != null && region.boundingBox != null) {
return this.boundingBox.contains(region.boundingBox);
if (containsBoundingBox(region.boundingBox)) {
// check polygon only if bounding box match
return containsPolygon(region.polygon);
}
return false;
}
private boolean containsBoundingBox(QuadRect rectangle) {
return (boundingBox != null && rectangle != null) &&
boundingBox.contains(rectangle);
}
private boolean containsPolygon(List<LatLon> another) {
return (polygon != null && another != null) &&
Algorithms.isFirstPolygonInsideSecond(another, polygon);
}
public boolean isContinent() {
if (superregion != null) {
String superRegionId = superregion.getRegionId();
@ -200,4 +215,22 @@ public class WorldRegion implements Serializable {
}
return false;
}
public static List<WorldRegion> removeDuplicates(List<WorldRegion> regions) {
List<WorldRegion> copy = new ArrayList<>(regions);
Set<WorldRegion> duplicates = new HashSet<>();
for (int i = 0; i < copy.size() - 1; i++) {
WorldRegion r1 = copy.get(i);
for (int j = i + 1; j < copy.size(); j++) {
WorldRegion r2 = copy.get(j);
if (r1.containsRegion(r2)) {
duplicates.add(r2);
} else if (r2.containsRegion(r1)) {
duplicates.add(r1);
}
}
}
copy.removeAll(duplicates);
return copy;
}
}

View file

@ -658,6 +658,8 @@ public class MapPoiTypes {
tp.setOsmValue(parser.getAttributeValue("", "value"));
tp.setOsmEditTagValue(parser.getAttributeValue("", "edit_tag"),
parser.getAttributeValue("", "edit_value"));
tp.setOsmEditTagValue2(parser.getAttributeValue("", "edit_tag2"),
parser.getAttributeValue("", "edit_value2"));
tp.setOsmTag2(parser.getAttributeValue("", "tag2"));
tp.setOsmValue2(parser.getAttributeValue("", "value2"));

View file

@ -16,9 +16,10 @@ public class PoiType extends AbstractPoiType {
private String editTag;
private String editValue;
private String editTag2;
private String editValue2;
private boolean filterOnly;
private String nameTag;
private boolean text;
private boolean nameOnly;
@ -68,27 +69,46 @@ public class PoiType extends AbstractPoiType {
this.editTag = osmTag;
this.editValue = editValue;
}
public void setOsmEditTagValue2(String osmTag, String editValue) {
this.editTag2 = osmTag;
this.editValue2 = editValue;
}
public String getEditOsmTag() {
if(isReference()) {
if (isReference()) {
return referenceType.getEditOsmTag();
}
if(editTag == null) {
if (editTag == null) {
return getOsmTag();
}
return editTag;
}
public String getEditOsmValue() {
if(isReference()) {
if (isReference()) {
return referenceType.getEditOsmValue();
}
if(editValue == null) {
if (editValue == null) {
return getOsmValue();
}
return editValue;
}
public String getEditOsmTag2() {
if (isReference()) {
return referenceType.getEditOsmTag2();
}
return editTag2;
}
public String getEditOsmValue2() {
if (isReference()) {
return referenceType.getEditOsmValue2();
}
return editValue2;
}
public void setOsmTag(String osmTag) {
this.osmTag = osmTag;
}

View file

@ -153,35 +153,34 @@ public class OsmMapUtils {
}
boolean area = w.getFirstNodeId() == w.getLastNodeId();
// double check for area (could be negative all)
if(area) {
if (area) {
Node fn = w.getFirstNode();
Node ln = w.getLastNode();
if(fn != null && fn != null && MapUtils.getDistance(fn.getLatLon(), ln.getLatLon()) < 50) {
if (fn != null && fn != null && MapUtils.getDistance(fn.getLatLon(), ln.getLatLon()) < 50) {
area = true;
} else {
area = false;
}
}
LatLon ll = area ? getComplexPolyCenter(nodes, null) : getWeightCenterForNodes(nodes);
if(ll == null) {
if (ll == null) {
return null;
}
double flat = ll.getLatitude();
double flon = ll.getLongitude();
if(!area || !MapAlgorithms.containsPoint(nodes, ll.getLatitude(), ll.getLongitude())) {
if (!area || !MapAlgorithms.containsPoint(nodes, ll.getLatitude(), ll.getLongitude())) {
double minDistance = Double.MAX_VALUE;
for (Node n : nodes) {
if (n != null) {
double d = MapUtils.getDistance(n.getLatitude(), n.getLongitude(), ll.getLatitude(), ll.getLongitude());
if(d < minDistance) {
if (d < minDistance) {
flat = n.getLatitude();
flon = n.getLongitude();
minDistance = d;
}
}
}
}
}
return new LatLon(flat, flon);
}
@ -341,6 +340,30 @@ public class OsmMapUtils {
}
}
public static void simplifyDouglasPeucker(List<Node> nodes, int start, int end, List<Node> survivedNodes, double epsilon) {
double dmax = Double.NEGATIVE_INFINITY;
int index = -1;
Node startPt = nodes.get(start);
Node endPt = nodes.get(end);
for (int i = start + 1; i < end; i++) {
Node pt = nodes.get(i);
double d = MapUtils.getOrthogonalDistance(pt.getLatitude(), pt.getLongitude(),
startPt.getLatitude(), startPt.getLongitude(), endPt.getLatitude(), endPt.getLongitude());
if (d > dmax) {
dmax = d;
index = i;
}
}
if (dmax > epsilon) {
simplifyDouglasPeucker(nodes, start, index, survivedNodes, epsilon);
simplifyDouglasPeucker(nodes, index, end, survivedNodes, epsilon);
} else {
survivedNodes.add(nodes.get(end));
}
}
private static double orthogonalDistance(int zoom, Node nodeLineStart, Node nodeLineEnd, Node node) {
LatLon p = MapUtils.getProjection(node.getLatitude(), node.getLongitude(), nodeLineStart.getLatitude(),
nodeLineStart.getLongitude(), nodeLineEnd.getLatitude(), nodeLineEnd.getLongitude());

View file

@ -183,7 +183,7 @@ public class OsmBaseStorage {
protected static final int moduleProgress = 1 << 10;
public void startElement(XmlPullParser parser, String name) {
if(!parseStarted){
if (!parseStarted) {
initRootElement(parser, name);
}
if (ELEM_MODIFY.equals(name) ) {
@ -283,13 +283,14 @@ public class OsmBaseStorage {
if (type != null) {
if(currentParsedEntity != null){
EntityId entityId = new EntityId(type, currentParsedEntity.getId());
if(acceptEntityToLoad(entityId, currentParsedEntity)){
if (acceptEntityToLoad(entityId, currentParsedEntity)) {
Entity oldEntity = entities.put(entityId, currentParsedEntity);
if(parseEntityInfo && currentParsedEntityInfo != null){
if (parseEntityInfo && currentParsedEntityInfo != null) {
entityInfo.put(entityId, currentParsedEntityInfo);
}
if(!supressWarnings && oldEntity!= null){
throw new UnsupportedOperationException("Entity with id=" + oldEntity.getId() +" is duplicated in osm map"); //$NON-NLS-1$ //$NON-NLS-2$
if (!supressWarnings && oldEntity != null) {
throw new UnsupportedOperationException(
"Entity with id=" + oldEntity.getId() + " is duplicated in osm map"); //$NON-NLS-1$ //$NON-NLS-2$
}
} else {
// System.gc();
@ -308,8 +309,8 @@ public class OsmBaseStorage {
protected boolean acceptEntityToLoad(EntityId entityId, Entity entity) {
for(IOsmStorageFilter f : filters){
if(!f.acceptEntityToLoad(this, entityId, entity)){
for (IOsmStorageFilter f : filters) {
if (!f.acceptEntityToLoad(this, entityId, entity)) {
return false;
}
}

View file

@ -620,9 +620,7 @@ public class GeneralRouter implements VehicleRouter {
public double calculateTurnTime(RouteSegment segment, int segmentEnd, RouteSegment prev, int prevSegmentEnd) {
float ts = getPenaltyTransition(segment.getRoad());
float prevTs = getPenaltyTransition(prev.getRoad());
float totalPenalty = 0;
if (prevTs != ts) {
totalPenalty += Math.abs(ts - prevTs) / 2;
}
@ -638,7 +636,9 @@ public class GeneralRouter implements VehicleRouter {
// }
// }
// }
if (shortestRoute) {
return totalPenalty;
}
if(segment.getRoad().roundabout() && !prev.getRoad().roundabout()) {
double rt = getRoundaboutTurn();
if(rt > 0) {

View file

@ -0,0 +1,501 @@
package net.osmand.router;
import net.osmand.GPXUtilities.GPXFile;
import net.osmand.GPXUtilities.GPXTrackAnalysis;
import net.osmand.GPXUtilities.Track;
import net.osmand.GPXUtilities.TrkSegment;
import net.osmand.GPXUtilities.WptPt;
import net.osmand.PlatformUtil;
import net.osmand.osm.edit.Node;
import net.osmand.osm.edit.OsmMapUtils;
import net.osmand.util.Algorithms;
import net.osmand.util.MapUtils;
import org.apache.commons.logging.Log;
import java.util.ArrayList;
import java.util.List;
public class RouteColorize {
public int zoom;
public double[] latitudes;
public double[] longitudes;
public double[] values;
public double minValue;
public double maxValue;
public double[][] palette;
private List<RouteColorizationPoint> dataList;
public static final int DARK_GREY = rgbaToDecimal(92, 92, 92, 255);
public static final int LIGHT_GREY = rgbaToDecimal(200, 200, 200, 255);
public static final int GREEN = rgbaToDecimal(90, 220, 95, 255);
public static final int YELLOW = rgbaToDecimal(212, 239, 50, 255);
public static final int RED = rgbaToDecimal(243, 55, 77, 255);
public static final int[] colors = new int[] {GREEN, YELLOW, RED};
private static final float DEFAULT_BASE = 17.2f;
private static final int MAX_SLOPE_VALUE = 25;
public enum ColorizationType {
ELEVATION,
SPEED,
SLOPE,
NONE
}
private final int VALUE_INDEX = 0;
private final int DECIMAL_COLOR_INDEX = 1;//sRGB decimal format
private final int RED_COLOR_INDEX = 1;//RGB
private final int GREEN_COLOR_INDEX = 2;//RGB
private final int BLUE_COLOR_INDEX = 3;//RGB
private final int ALPHA_COLOR_INDEX = 4;//RGBA
private ColorizationType colorizationType;
public static int SLOPE_RANGE = 150;//150 meters
private static final double MIN_DIFFERENCE_SLOPE = 0.05d;//5%
private static final Log LOG = PlatformUtil.getLog(RouteColorize.class);
/**
* @param minValue can be NaN
* @param maxValue can be NaN
* @param palette array {{value,color},...} - color in sRGB (decimal) format OR {{value,RED,GREEN,BLUE,ALPHA},...} - color in RGBA format
*/
public RouteColorize(int zoom, double[] latitudes, double[] longitudes, double[] values, double minValue, double maxValue, double[][] palette) {
this.zoom = zoom;
this.latitudes = latitudes;
this.longitudes = longitudes;
this.values = values;
this.minValue = minValue;
this.maxValue = maxValue;
this.palette = palette;
if (Double.isNaN(minValue) || Double.isNaN(maxValue)) {
calculateMinMaxValue();
}
checkPalette();
sortPalette();
}
/**
* @param type ELEVATION, SPEED, SLOPE
*/
public RouteColorize(int zoom, GPXFile gpxFile, ColorizationType type) {
this(zoom, gpxFile, null, type, 0);
}
public RouteColorize(int zoom, GPXFile gpxFile, GPXTrackAnalysis analysis, ColorizationType type, float maxProfileSpeed) {
if (!gpxFile.hasTrkPt()) {
LOG.warn("GPX file is not consist of track points");
return;
}
List<Double> latList = new ArrayList<>();
List<Double> lonList = new ArrayList<>();
List<Double> valList = new ArrayList<>();
int wptIdx = 0;
if (analysis == null) {
analysis = Algorithms.isEmpty(gpxFile.path)
? gpxFile.getAnalysis(System.currentTimeMillis())
: gpxFile.getAnalysis(gpxFile.modifiedTime);
}
for (Track t : gpxFile.tracks) {
for (TrkSegment ts : t.segments) {
if (ts.generalSegment || ts.points.size() < 2) {
continue;
}
for (WptPt p : ts.points) {
latList.add(p.lat);
lonList.add(p.lon);
if (type == ColorizationType.SPEED) {
valList.add((double) analysis.speedData.get(wptIdx).speed);
} else {
valList.add((double) analysis.elevationData.get(wptIdx).elevation);
}
wptIdx++;
}
}
}
this.zoom = zoom;
colorizationType = type;
latitudes = listToArray(latList);
longitudes = listToArray(lonList);
if (type == ColorizationType.SLOPE) {
values = calculateSlopesByElevations(latitudes, longitudes, listToArray(valList), SLOPE_RANGE);
} else {
values = listToArray(valList);
}
calculateMinMaxValue();
maxValue = getMaxValue(colorizationType, analysis, minValue, maxProfileSpeed);
checkPalette();
sortPalette();
}
/**
* Calculate slopes from elevations needs for right colorizing
*
* @param slopeRange - in what range calculate the derivative, usually we used 150 meters
* @return slopes array, in the begin and the end present NaN values!
*/
public double[] calculateSlopesByElevations(double[] latitudes, double[] longitudes, double[] elevations, double slopeRange) {
double[] newElevations = elevations;
for (int i = 2; i < elevations.length - 2; i++) {
newElevations[i] = elevations[i - 2]
+ elevations[i - 1]
+ elevations[i]
+ elevations[i + 1]
+ elevations[i + 2];
newElevations[i] /= 5;
}
elevations = newElevations;
double[] slopes = new double[elevations.length];
if (latitudes.length != longitudes.length || latitudes.length != elevations.length) {
LOG.warn("Sizes of arrays latitudes, longitudes and values are not match");
return slopes;
}
double[] distances = new double[elevations.length];
double totalDistance = 0.0d;
distances[0] = totalDistance;
for (int i = 0; i < elevations.length - 1; i++) {
totalDistance += MapUtils.getDistance(latitudes[i], longitudes[i], latitudes[i + 1], longitudes[i + 1]);
distances[i + 1] = totalDistance;
}
for (int i = 0; i < elevations.length; i++) {
if (distances[i] < slopeRange / 2 || distances[i] > totalDistance - slopeRange / 2) {
slopes[i] = Double.NaN;
} else {
double[] arg = findDerivativeArguments(distances, elevations, i, slopeRange);
slopes[i] = (arg[1] - arg[0]) / (arg[3] - arg[2]);
}
}
return slopes;
}
public List<RouteColorizationPoint> getResult(boolean simplify) {
List<RouteColorizationPoint> result = new ArrayList<>();
if (simplify) {
result = simplify(zoom);
} else {
for (int i = 0; i < latitudes.length; i++) {
result.add(new RouteColorizationPoint(i, latitudes[i], longitudes[i], values[i]));
}
}
for (RouteColorizationPoint data : result) {
data.color = getColorByValue(data.val);
}
return result;
}
public int getColorByValue(double value) {
if (Double.isNaN(value)) {
value = colorizationType == ColorizationType.SLOPE ? minValue : (minValue + maxValue) / 2;
}
for (int i = 0; i < palette.length - 1; i++) {
if (value == palette[i][VALUE_INDEX])
return (int) palette[i][DECIMAL_COLOR_INDEX];
if (value >= palette[i][VALUE_INDEX] && value <= palette[i + 1][VALUE_INDEX]) {
int minPaletteColor = (int) palette[i][DECIMAL_COLOR_INDEX];
int maxPaletteColor = (int) palette[i + 1][DECIMAL_COLOR_INDEX];
double minPaletteValue = palette[i][VALUE_INDEX];
double maxPaletteValue = palette[i + 1][VALUE_INDEX];
double percent = (value - minPaletteValue) / (maxPaletteValue - minPaletteValue);
double resultRed = getRed(minPaletteColor) + percent * (getRed(maxPaletteColor) - getRed(minPaletteColor));
double resultGreen = getGreen(minPaletteColor) + percent * (getGreen(maxPaletteColor) - getGreen(minPaletteColor));
double resultBlue = getBlue(minPaletteColor) + percent * (getBlue(maxPaletteColor) - getBlue(minPaletteColor));
double resultAlpha = getAlpha(minPaletteColor) + percent * (getAlpha(maxPaletteColor) - getAlpha(minPaletteColor));
return rgbaToDecimal((int) resultRed, (int) resultGreen, (int) resultBlue, (int) resultAlpha);
}
}
return getTransparentColor();
}
public void setPalette(double[][] palette) {
this.palette = palette;
checkPalette();
sortPalette();
}
public void setPalette(int[] gradientPalette) {
if (gradientPalette == null || gradientPalette.length != 3) {
return;
}
setPalette(new double[][] {
{minValue, gradientPalette[0]},
{(minValue + maxValue) / 2, gradientPalette[1]},
{maxValue, gradientPalette[2]}
});
}
private int getTransparentColor() {
return rgbaToDecimal(0, 0, 0, 0);
}
public List<RouteColorizationPoint> simplify(int zoom) {
if (dataList == null) {
dataList = new ArrayList<>();
for (int i = 0; i < latitudes.length; i++) {
dataList.add(new RouteColorizationPoint(i, latitudes[i], longitudes[i], values[i]));
}
}
List<Node> nodes = new ArrayList<>();
List<Node> result = new ArrayList<>();
for (RouteColorizationPoint data : dataList) {
nodes.add(new net.osmand.osm.edit.Node(data.lat, data.lon, data.id));
}
double epsilon = Math.pow(2.0, DEFAULT_BASE - zoom);
result.add(nodes.get(0));
OsmMapUtils.simplifyDouglasPeucker(nodes, 0, nodes.size() - 1, result, epsilon);
List<RouteColorizationPoint> simplified = new ArrayList<>();
for (int i = 1; i < result.size(); i++) {
int prevId = (int) result.get(i - 1).getId();
int currentId = (int) result.get(i).getId();
List<RouteColorizationPoint> sublist = dataList.subList(prevId, currentId);
simplified.addAll(getExtremums(sublist));
}
Node lastSurvivedPoint = result.get(result.size() - 1);
simplified.add(dataList.get((int) lastSurvivedPoint.getId()));
return simplified;
}
private List<RouteColorizationPoint> getExtremums(List<RouteColorizationPoint> subDataList) {
if (subDataList.size() <= 2) {
return subDataList;
}
List<RouteColorizationPoint> result = new ArrayList<>();
double min;
double max;
min = max = subDataList.get(0).val;
for (RouteColorizationPoint pt : subDataList) {
if (min > pt.val) {
min = pt.val;
}
if (max < pt.val) {
max = pt.val;
}
}
double diff = max - min;
result.add(subDataList.get(0));
for (int i = 1; i < subDataList.size() - 1; i++) {
double prev = subDataList.get(i - 1).val;
double current = subDataList.get(i).val;
double next = subDataList.get(i + 1).val;
RouteColorizationPoint currentData = subDataList.get(i);
if ((current > prev && current > next) || (current < prev && current < next)
|| (current < prev && current == next) || (current == prev && current < next)
|| (current > prev && current == next) || (current == prev && current > next)) {
RouteColorizationPoint prevInResult;
if (result.size() > 0) {
prevInResult = result.get(0);
if (prevInResult.val / diff > MIN_DIFFERENCE_SLOPE) {
result.add(currentData);
}
} else
result.add(currentData);
}
}
result.add(subDataList.get(subDataList.size() - 1));
return result;
}
private void checkPalette() {
if (palette == null || palette.length < 2 || palette[0].length < 2 || palette[1].length < 2) {
LOG.info("Will use default palette");
palette = new double[3][2];
double[][] defaultPalette = {
{minValue, GREEN},
{(minValue + maxValue) / 2, YELLOW},
{maxValue, RED}
};
palette = defaultPalette;
}
double min;
double max = min = palette[0][VALUE_INDEX];
int minIndex = 0;
int maxIndex = 0;
double[][] sRGBPalette = new double[palette.length][2];
for (int i = 0; i < palette.length; i++) {
double[] p = palette[i];
if (p.length == 2) {
sRGBPalette[i] = p;
} else if (p.length == 4) {
int color = rgbaToDecimal((int) p[RED_COLOR_INDEX], (int) p[GREEN_COLOR_INDEX], (int) p[BLUE_COLOR_INDEX], 255);
sRGBPalette[i] = new double[]{p[VALUE_INDEX], color};
} else if (p.length >= 5) {
int color = rgbaToDecimal((int) p[RED_COLOR_INDEX], (int) p[GREEN_COLOR_INDEX], (int) p[BLUE_COLOR_INDEX], (int) p[ALPHA_COLOR_INDEX]);
sRGBPalette[i] = new double[]{p[VALUE_INDEX], color};
}
if (p[VALUE_INDEX] > max) {
max = p[VALUE_INDEX];
maxIndex = i;
}
if (p[VALUE_INDEX] < min) {
min = p[VALUE_INDEX];
minIndex = i;
}
}
palette = sRGBPalette;
if (minValue < min) {
palette[minIndex][VALUE_INDEX] = minValue;
}
if (maxValue > max) {
palette[maxIndex][VALUE_INDEX] = maxValue;
}
}
private void sortPalette() {
java.util.Arrays.sort(palette, new java.util.Comparator<double[]>() {
public int compare(double[] a, double[] b) {
return Double.compare(a[VALUE_INDEX], b[VALUE_INDEX]);
}
});
}
/**
* @return double[minElevation, maxElevation, minDist, maxDist]
*/
private double[] findDerivativeArguments(double[] distances, double[] elevations, int index, double slopeRange) {
double[] result = new double[4];
double minDist = distances[index] - slopeRange / 2;
double maxDist = distances[index] + slopeRange / 2;
result[0] = Double.NaN;
result[1] = Double.NaN;
result[2] = minDist;
result[3] = maxDist;
int closestMaxIndex = -1;
int closestMinIndex = -1;
for (int i = index; i < distances.length; i++) {
if (distances[i] == maxDist) {
result[1] = elevations[i];
break;
}
if (distances[i] > maxDist) {
closestMaxIndex = i;
break;
}
}
for (int i = index; i >= 0; i--) {
if (distances[i] == minDist) {
result[0] = elevations[i];
break;
}
if (distances[i] < minDist) {
closestMinIndex = i;
break;
}
}
if (closestMaxIndex > 0) {
double diff = distances[closestMaxIndex] - distances[closestMaxIndex - 1];
double coef = (maxDist - distances[closestMaxIndex - 1]) / diff;
if (coef > 1 || coef < 0) {
LOG.warn("Coefficient fo max must be 0..1 , coef=" + coef);
}
result[1] = (1 - coef) * elevations[closestMaxIndex - 1] + coef * elevations[closestMaxIndex];
}
if (closestMinIndex >= 0) {
double diff = distances[closestMinIndex + 1] - distances[closestMinIndex];
double coef = (minDist - distances[closestMinIndex]) / diff;
if (coef > 1 || coef < 0) {
LOG.warn("Coefficient for min must be 0..1 , coef=" + coef);
}
result[0] = (1 - coef) * elevations[closestMinIndex] + coef * elevations[closestMinIndex + 1];
}
if (Double.isNaN(result[0]) || Double.isNaN(result[1])) {
LOG.warn("Elevations wasn't calculated");
}
return result;
}
public static double getMinValue(ColorizationType type, GPXTrackAnalysis analysis) {
return type == ColorizationType.ELEVATION ? analysis.minElevation : 0.0;
}
public static double getMaxValue(ColorizationType type, GPXTrackAnalysis analysis, double minValue, double maxProfileSpeed) {
if (type == ColorizationType.SPEED) {
return Math.max(analysis.maxSpeed, maxProfileSpeed);
} else if (type == ColorizationType.ELEVATION) {
return Math.max(analysis.maxElevation, minValue + 50);
} else {
return MAX_SLOPE_VALUE;
}
}
private void calculateMinMaxValue() {
if (values.length == 0)
return;
minValue = maxValue = Double.NaN;
for (double value : values) {
if ((Double.isNaN(maxValue) || Double.isNaN(minValue)) && !Double.isNaN(value))
maxValue = minValue = value;
if (minValue > value)
minValue = value;
if (maxValue < value)
maxValue = value;
}
}
private double[] listToArray(List<Double> doubleList) {
double[] result = new double[doubleList.size()];
for (int i = 0; i < doubleList.size(); i++) {
result[i] = doubleList.get(i);
}
return result;
}
private static int rgbaToDecimal(int r, int g, int b, int a) {
int value = ((a & 0xFF) << 24) |
((r & 0xFF) << 16) |
((g & 0xFF) << 8) |
((b & 0xFF) << 0);
return value;
}
private int getRed(int value) {
return (value >> 16) & 0xFF;
}
private int getGreen(int value) {
return (value >> 8) & 0xFF;
}
private int getBlue(int value) {
return (value >> 0) & 0xFF;
}
private int getAlpha(int value) {
return (value >> 24) & 0xff;
}
public static class RouteColorizationPoint {
public int id;
public double lat;
public double lon;
public double val;
public int color;
RouteColorizationPoint(int id, double lat, double lon, double val) {
this.id = id;
this.lat = lat;
this.lon = lon;
this.val = val;
}
}
}

View file

@ -6,7 +6,6 @@ import net.osmand.NativeLibrary;
import net.osmand.PlatformUtil;
import net.osmand.ResultMatcher;
import net.osmand.binary.BinaryMapIndexReader;
import net.osmand.binary.BinaryMapRouteReaderAdapter;
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteRegion;
import net.osmand.binary.RouteDataObject;
import net.osmand.data.LatLon;
@ -689,15 +688,15 @@ public class RoutePlannerFrontEnd {
}
}
if (ctx.calculationMode == RouteCalculationMode.COMPLEX && routeDirection == null
&& maxDistance > ctx.config.DEVIATION_RADIUS * 6) {
&& maxDistance > RoutingConfiguration.DEVIATION_RADIUS * 6) {
ctx.calculationProgress.totalIterations++;
RoutingContext nctx = buildRoutingContext(ctx.config, ctx.nativeLib, ctx.getMaps(), RouteCalculationMode.BASE);
nctx.calculationProgress = ctx.calculationProgress;
List<RouteSegmentResult> ls = searchRoute(nctx, start, end, intermediates);
if(ls == null) {
if (ls == null) {
return null;
}
routeDirection = PrecalculatedRouteDirection.build(ls, ctx.config.DEVIATION_RADIUS, ctx.getRouter().getMaxSpeed());
routeDirection = PrecalculatedRouteDirection.build(ls, RoutingConfiguration.DEVIATION_RADIUS, ctx.getRouter().getMaxSpeed());
}
List<RouteSegmentResult> res ;
if (intermediatesEmpty && ctx.nativeLib != null) {

View file

@ -176,11 +176,49 @@ public class RouteResultPreparation {
combineWayPointsForAreaRouting(ctx, result);
validateAllPointsConnected(result);
splitRoadsAndAttachRoadSegments(ctx, result, recalculation);
for (int i = 0; i < result.size(); i++) {
filterMinorStops(result.get(i));
}
calculateTimeSpeed(ctx, result);
prepareTurnResults(ctx, result);
return result;
}
public RouteSegmentResult filterMinorStops(RouteSegmentResult seg) {
List<Integer> stops = null;
boolean plus = seg.getStartPointIndex() < seg.getEndPointIndex();
int next;
for (int i = seg.getStartPointIndex(); i != seg.getEndPointIndex(); i = next) {
next = plus ? i + 1 : i - 1;
int[] pointTypes = seg.getObject().getPointTypes(i);
if (pointTypes != null) {
for (int j = 0; j < pointTypes.length; j++) {
if (pointTypes[j] == seg.getObject().region.stopMinor) {
if (stops == null) {
stops = new ArrayList<>();
}
stops.add(i);
}
}
}
}
if (stops != null) {
for (int stop : stops) {
List<RouteSegmentResult> attachedRoutes = seg.getAttachedRoutes(stop);
for (RouteSegmentResult attached : attachedRoutes) {
int attStopPriority = highwaySpeakPriority(attached.getObject().getHighway());
int segStopPriority = highwaySpeakPriority(seg.getObject().getHighway());
if (segStopPriority < attStopPriority) {
seg.getObject().removePointType(stop, seg.getObject().region.stopSign);
break;
}
}
}
}
return seg;
}
public void prepareTurnResults(RoutingContext ctx, List<RouteSegmentResult> result) {
for (int i = 0; i < result.size(); i ++) {
@ -1079,8 +1117,8 @@ public class RouteResultPreparation {
if (UNMATCHED_HIGHWAY_TYPE.equals(rr.getObject().getHighway())) {
bearingDist = RouteSegmentResult.DIST_BEARING_DETECT_UNMATCHED;
}
double mpi = MapUtils.degreesDiff(prev.getBearingEnd(prev.getEndPointIndex(), bearingDist),
rr.getBearingBegin(rr.getStartPointIndex(), bearingDist));
double mpi = MapUtils.degreesDiff(prev.getBearingEnd(prev.getEndPointIndex(), Math.min(prev.getDistance(), bearingDist)),
rr.getBearingBegin(rr.getStartPointIndex(), Math.min(rr.getDistance(), bearingDist)));
if (mpi >= TURN_DEGREE_MIN) {
if (mpi < TURN_DEGREE_MIN) {
// Slight turn detection here causes many false positives where drivers would expect a "normal" TL. Best use limit-angle=TURN_DEGREE_MIN, this reduces TSL to the turn-lanes cases.

View file

@ -457,7 +457,7 @@ public class RouteSegmentResult implements StringExternalizable<RouteDataBundle>
}
public float getBearingBegin() {
return getBearingBegin(startPointIndex, DIST_BEARING_DETECT);
return getBearingBegin(startPointIndex, distance > 0 && distance < DIST_BEARING_DETECT ? distance : DIST_BEARING_DETECT);
}
public float getBearingBegin(int point, float dist) {
@ -465,7 +465,7 @@ public class RouteSegmentResult implements StringExternalizable<RouteDataBundle>
}
public float getBearingEnd() {
return getBearingEnd(endPointIndex, DIST_BEARING_DETECT);
return getBearingEnd(endPointIndex, distance > 0 && distance < DIST_BEARING_DETECT ? distance : DIST_BEARING_DETECT);
}
public float getBearingEnd(int point, float dist) {

View file

@ -20,7 +20,7 @@ import java.util.Stack;
public class RoutingConfiguration {
public static final int DEFAULT_MEMORY_LIMIT = 30;
public final float DEVIATION_RADIUS = 3000;
public static final float DEVIATION_RADIUS = 3000;
public Map<String, String> attributes = new LinkedHashMap<String, String>();
// 1. parameters of routing and different tweaks

View file

@ -10,8 +10,6 @@ import net.osmand.router.GeneralRouter.RouteDataObjectAttribute;
public class TransportRoutingConfiguration {
public static final String KEY = "public_transport";
public int ZOOM_TO_LOAD_TILES = 15;
public int walkRadius = 1500; // ? 3000

View file

@ -8,7 +8,7 @@ public enum ObjectType {
// LOCATION
LOCATION(true), PARTIAL_LOCATION(false),
// UI OBJECTS
FAVORITE(true), FAVORITE_GROUP(false), WPT(true), RECENT_OBJ(true),
FAVORITE(true), FAVORITE_GROUP(false), WPT(true), RECENT_OBJ(true), GPX_TRACK(false),
// ONLINE SEARCH
ONLINE_SEARCH(true),

View file

@ -1317,7 +1317,13 @@ public class SearchCoreFactory {
|| !phrase.isSearchTypeAllowed(ObjectType.HOUSE)) {
continue;
}
res.localeName = b.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate());
if(interpolation) {
res.localeName = lw;
res.location = b.getLocation(b.interpolation(lw));
} else {
res.localeName = b.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate());
res.location = b.getLocation();
}
res.otherNames = b.getAllNames(true);
res.object = b;
res.file = file;
@ -1328,12 +1334,6 @@ public class SearchCoreFactory {
res.relatedObject = s;
res.localeRelatedObjectName = s.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate());
res.objectType = ObjectType.HOUSE;
if(interpolation) {
res.location = b.getLocation(b.interpolation(lw));
res.localeName = lw;
} else {
res.location = b.getLocation();
}
res.preferredZoom = 17;
resultMatcher.publish(res);

View file

@ -55,7 +55,9 @@ public class SearchResult {
public double getSumPhraseMatchWeight() {
// if result is a complete match in the search we prioritize it higher
boolean match = requiredSearchPhrase.countWords(localeName) <= getSelfWordCount();
int localWordsMatched = alternateName != null ?
requiredSearchPhrase.countWords(alternateName) : requiredSearchPhrase.countWords(localeName) ;
boolean match = localWordsMatched <= getSelfWordCount();
double res = ObjectType.getTypeWeight(match ? objectType : null);
if (parentSearchResult != null) {
res = res + parentSearchResult.getSumPhraseMatchWeight() / MAX_TYPE_WEIGHT;

View file

@ -2,6 +2,8 @@ package net.osmand.util;
import net.osmand.IProgress;
import net.osmand.PlatformUtil;
import net.osmand.router.RouteColorize;
import net.osmand.data.LatLon;
import org.apache.commons.logging.Log;
import org.xmlpull.v1.XmlPullParser;
@ -53,6 +55,8 @@ public class Algorithms {
public static final int XML_FILE_SIGNATURE = 0x3c3f786d;
public static final int OBF_FILE_SIGNATURE = 0x08029001;
public static final int SQLITE_FILE_SIGNATURE = 0x53514C69;
public static final int BZIP_FILE_SIGNATURE = 0x425a;
public static final int GZIP_FILE_SIGNATURE = 0x1f8b;
public static String normalizeSearchText(String s) {
boolean norm = false;
@ -115,7 +119,7 @@ public class Algorithms {
}
return def;
}
public static int parseIntSilently(String input, int def) {
if (input != null && input.length() > 0) {
try {
@ -138,6 +142,35 @@ public class Algorithms {
return def;
}
public static boolean isFirstPolygonInsideSecond(List<LatLon> firstPolygon,
List<LatLon> secondPolygon) {
for (LatLon point : firstPolygon) {
if (!isPointInsidePolygon(point, secondPolygon)) {
// if at least one point is not inside the boundary, return false
return false;
}
}
return true;
}
public static boolean isPointInsidePolygon(LatLon point,
List<LatLon> polygon) {
double pointX = point.getLongitude();
double pointY = point.getLatitude();
boolean result = false;
for (int i = 0, j = polygon.size() - 1; i < polygon.size(); j = i++) {
double x1 = polygon.get(i).getLongitude();
double y1 = polygon.get(i).getLatitude();
double x2 = polygon.get(j).getLongitude();
double y2 = polygon.get(j).getLatitude();
if ((y1 > pointY) != (y2 > pointY)
&& (pointX < (x2 - x1) * (pointY - y1) / (y2-y1) + x1)) {
result = !result;
}
}
return result;
}
public static String getFileNameWithoutExtension(File f) {
return getFileNameWithoutExtension(f.getName());
}
@ -322,6 +355,24 @@ public class Algorithms {
return test == ZIP_FILE_SIGNATURE;
}
public static boolean checkFileSignature(InputStream inputStream, int fileSignature) throws IOException {
if (inputStream == null) return false;
int firstBytes;
if (isSmallFileSignature(fileSignature)) {
firstBytes = readSmallInt(inputStream);
} else {
firstBytes = readInt(inputStream);
}
if (inputStream.markSupported()) {
inputStream.reset();
}
return firstBytes == fileSignature;
}
public static boolean isSmallFileSignature(int fileSignature) {
return fileSignature == BZIP_FILE_SIGNATURE || fileSignature == GZIP_FILE_SIGNATURE;
}
/**
* Checks, whether the child directory is a subdirectory of the parent
* directory.
@ -358,6 +409,14 @@ public class Algorithms {
return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + ch4);
}
public static int readSmallInt(InputStream in) throws IOException {
int ch1 = in.read();
int ch2 = in.read();
if ((ch1 | ch2) < 0)
throw new EOFException();
return ((ch1 << 8) + ch2);
}
public static String capitalizeFirstLetterAndLowercase(String s) {
if (s != null && s.length() > 1) {
// not very efficient algorithm
@ -537,6 +596,13 @@ public class Algorithms {
}
}
public static ByteArrayInputStream createByteArrayIS(InputStream in) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
streamCopy(in, out);
in.close();
return new ByteArrayInputStream(out.toByteArray());
}
@SuppressWarnings("ResultOfMethodCallIgnored")
public static void updateAllExistingImgTilesToOsmandFormat(File f) {
if (f.isDirectory()) {
@ -723,6 +789,10 @@ public class Algorithms {
return false;
}
public static boolean isInt(double d) {
return (d == Math.floor(d)) && !Double.isInfinite(d);
}
public static boolean isInt(String value) {
int length = value.length();
for (int i = 0; i < length; i++) {
@ -992,4 +1062,30 @@ public class Algorithms {
}
return false;
}
public static int[] stringToGradientPalette(String str) {
if (Algorithms.isBlank(str)) {
return RouteColorize.colors;
}
String[] arr = str.split(" ");
if (arr.length != 3) {
return RouteColorize.colors;
}
int[] colors = new int[3];
try {
for (int i = 0; i < 3; i++) {
colors[i] = Algorithms.parseColor(arr[i]);
}
} catch (IllegalArgumentException e) {
return RouteColorize.colors;
}
return colors;
}
public static String gradientPaletteToString(int[] colors) {
int[] src = (colors != null && colors.length == 3) ? colors : RouteColorize.colors;
return Algorithms.colorToString(src[0]) + " " +
Algorithms.colorToString(src[1]) + " " +
Algorithms.colorToString(src[2]);
}
}

View file

@ -747,7 +747,9 @@ public class MapUtils {
return Math.sqrt((endX - startX) * (endX - startX) + (endY - startY) * (endY - startY));
}
public static double getSqrtDistance(float startX, float startY, float endX, float endY) {
return Math.sqrt((endX - startX) * (endX - startX) + (endY - startY) * (endY - startY));
}
}

View file

@ -80,9 +80,9 @@ public class SearchUICoreTest {
if (files != null) {
for (File file : files) {
String fileName = file.getName();
if(fileName.endsWith(".json")) {
if (fileName.endsWith(".json")) {
String name = fileName.substring(0, fileName.length() - ".json".length());
arrayList.add(new Object[] {name, file});
arrayList.add(new Object[] { name, file });
}
}
}
@ -191,10 +191,10 @@ public class SearchUICoreTest {
if (!Algorithms.stringsEqual(expected, present)) {
System.out.println(String.format("Phrase: %s", phrase));
System.out.println(String.format("Mismatch for '%s' != '%s'. Result: ", expected, present));
}
for (SearchResult r : searchResults) {
System.out.println(String.format("\t\"%s\",", formatResult(false, r, phrase)));
}
}
Assert.assertEquals(expected, present);
}
}

View file

@ -0,0 +1,274 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="shared_string_select">Označi</string>
<string name="shared_string_enable">Omogući</string>
<string name="altitude">Nadmorska visina</string>
<string name="shared_string_search">Traži</string>
<string name="shared_string_ok">U redu</string>
<string name="shared_string_update">Ažuriraj</string>
<string name="average_altitude">Prosečna visina</string>
<string name="average_speed">Prosečna brzina</string>
<string name="shared_string_map">Karta</string>
<string name="shared_string_add">Dodaj</string>
<string name="shared_string_hide">Sakrij</string>
<string name="shared_string_status">Stanje</string>
<string name="shared_string_disable">Onemogući</string>
<string name="shared_string_save">Sačuvaj</string>
<string name="shared_string_name">Ime</string>
<string name="shared_string_sort">Sortiraj</string>
<string name="shared_string_exit">Izlaz</string>
<string name="shared_string_close">Zatvori</string>
<string name="shared_string_all">Sve</string>
<string name="shared_string_off">Isključeno</string>
<string name="shared_string_install">Instaliraj</string>
<string name="shared_string_share">Deli</string>
<string name="shared_string_back">Nazad</string>
<string name="shared_string_continue">Nastavi</string>
<string name="shared_string_cancel">Otkaži</string>
<string name="shared_string_settings">Postavke</string>
<string name="osmand_service">Pozadinski režim</string>
<string name="yard">yd</string>
<string name="foot">ft</string>
<string name="mile">mi</string>
<string name="km">km</string>
<string name="m">m</string>
<string name="nm">nmi</string>
<string name="min_mile">min/m</string>
<string name="min_km">min/km</string>
<string name="m_s">m/s</string>
<string name="km_h">km/h</string>
<string name="mile_per_hour">mph</string>
<string name="si_kmh">Kilometara na sat</string>
<string name="si_mph">Milja na sat</string>
<string name="si_m_s">Metara u sekundi</string>
<string name="si_min_km">Minuta po kilometru</string>
<string name="si_min_m">Minuta po milji</string>
<string name="si_mi_feet">Milje/stope</string>
<string name="si_mi_yard">Milje/jardi</string>
<string name="si_km_m">Kilometri/metri</string>
<string name="si_nm">Nautičke milje</string>
<string name="si_mi_meters">Milje/metri</string>
<string name="shared_string_apply">Primeni</string>
<string name="shared_string_enabled">Uključen</string>
<string name="units_and_formats">Merne jedinice &amp; formatiranja</string>
<string name="unit_of_length_descr">Promeni jedinice za dužinu.</string>
<string name="unit_of_length">Jedinice dužine</string>
<string name="shared_string_appearance">Izgled</string>
<string name="timeline">Vremenska linija</string>
<string name="live_now">Uživo sada</string>
<string name="my_location">Moja lokacija</string>
<string name="welcome_descr"><b>OsmAnd Pratioc</b> omogućava vam da delite svoju lokaciju i vidite lokaciju drugih u OsmAndu.<br/><br/>Aplikacija koristi Telegram API, pa vam je potreban Telegram nalog.</string>
<string name="shared_string_second_short">sek</string>
<string name="shared_string_minute_short">min</string>
<string name="shared_string_hour_short">č</string>
<string name="si_nm_h">Nautičkih milja na sat (čvorovi)</string>
<string name="nm_h">nmi/č</string>
<string name="shared_string_welcome">Dobrodošli</string>
<string name="shared_string_authorization_descr">Unesite vaš telefonski broj Telegrama u međunarodnom formatu</string>
<string name="shared_string_authorization">Autorizacija</string>
<string name="active_chats">Aktivna ćaskanja</string>
<string name="show_users_on_map">Prikažite korisnike na mapi</string>
<string name="install_osmand">Instalirajte OsmAnd</string>
<string name="install_osmand_dialog_message">Prvo morate instalirati besplatnu ili plaćenu verziju OsmAnda</string>
<string name="osmand_logo">Logo OsmAnda</string>
<string name="process_service">Usluga OsmAnd Pratioca</string>
<string name="sharing_location">Deljenje lokacije</string>
<string name="share_location">Deli lokaciju</string>
<string name="shared_string_distance">Rastojanje</string>
<string name="osmand_service_descr">OsmAnd Pratioc radi u pozadini sa isključenim ekranom.</string>
<string name="location_service_no_gps_available">Izaberite jednog od dobavljača lokacije da bi deliti vašu lokaciju.</string>
<string name="gps_not_available">Uključite „Lokaciju“ u sistemskim podešavanjima</string>
<string name="no_location_permission">Aplikaciji nedostaje dozvola za pristup podacima o lokaciji.</string>
<string name="not_logged_in">Niste prijavljeni</string>
<string name="gps_network_not_enabled">Uključiti „Lokaciju“\?</string>
<string name="closing">Zatvaranje</string>
<string name="logging_out">Odjavljivanje</string>
<string name="initialization">Pokretanje</string>
<string name="shared_string_logout">Odjaviti se</string>
<string name="shared_string_login">Prijavite se</string>
<string name="password_descr">Telegram lozinka</string>
<string name="enter_password">Unesite lozinku</string>
<string name="authentication_code_descr">Telegram vam je poslao kod za OsmAnd radi prijave na vaš nalog.</string>
<string name="authentication_code">Validacioni kod</string>
<string name="enter_code">Unesite kod</string>
<string name="shared_string_password">Lozinka</string>
<string name="phone_number_descr">Broj telefona u međunarodnom formatu</string>
<string name="phone_number_title">Broj telefona</string>
<string name="app_name">OsmAnd Onlajn GPS Pratioc</string>
<string name="show_on_map">Prikaži na mapi</string>
<string name="start_location_sharing">Deli lokaciju</string>
<string name="my_location_search_hint">Pretražite: Grupu ili kontakt</string>
<string name="location_sharing_description">Izaberite kontakte i grupe sa kojima želite da delite lokaciju.</string>
<string name="set_time">Podesite vreme</string>
<string name="set_time_description">Podesite vreme za koji će izabrani kontakti i grupe videti vašu lokaciju u realnom vremenu.</string>
<string name="visible_time_for_all">Vidljivo vreme za sve</string>
<string name="hours_format">%1$ č</string>
<string name="minutes_format">%1$ m</string>
<string name="hours_and_minutes_format">%1$ č %2$ m</string>
<string name="set_visible_time_for_all">Podesite vidljivo vreme za sve</string>
<string name="enter_authentication_code">Unesite kod za validaciju</string>
<string name="enter_phone_number">Unesite broj telefona</string>
<string name="do_not_have_telegram">Nemam Telegram nalog</string>
<string name="already_registered_in_telegram">Potreban vam je registrovani Telegram nalog i broj telefona</string>
<string name="get_telegram_after_creating_account">Tada možete da koristite ovu aplikaciju.</string>
<string name="get_telegram_description_continue">Instalirajte Telegram i otvorite nalog.</string>
<string name="get_telegram_account_first">Za deljenje lokacije potreban vam je Telegram nalog.</string>
<string name="get_telegram_title">Registracija u Telegramu</string>
<string name="shared_string_bot">Bot</string>
<string name="shared_string_live">Uživo</string>
<string name="open_osmand">Otvori OsmAnd</string>
<string name="turn_off_location_sharing">Isključite deljenje lokacije</string>
<string name="stop_sharing_all">Deljenje je uključeno (isključite)</string>
<string name="expire_at">Ističe</string>
<string name="sharing_time">Vreme deljenja</string>
<string name="gps_and_location">Pozicija</string>
<string name="send_my_location">Pošalji moju lokaciju</string>
<string name="send_my_location_desc">Podesite minimalni interval za deljenje lokacije.</string>
<string name="stale_location">Nepomičan</string>
<string name="stale_location_desc">Poslednji put kada se kontakt pomerio.</string>
<string name="location_history">Istorija lokacije</string>
<string name="location_history_desc">Sakrijte kontakte koji se nisu pomerili u datom vremenu.</string>
<string name="osmand_connect">Osmand veza</string>
<string name="osmand_connect_desc">Odaberite verziju OsmAnda koju OsmAnd pratioc koristi za prikazivanje pozicija.</string>
<string name="in_time">u %1$</string>
<string name="shared_string_account">Nalog</string>
<string name="connected_account">Povezani nalog</string>
<string name="logout_help_desc">Kako isključiti OsmAnd pratioca iz Telegrama</string>
<string name="disconnect_from_telegram">Kako isključiti OsmAnd pratioca iz Telegrama</string>
<string name="disconnect_from_telegram_desc">Da biste opozvali pristup deljenju lokacije. Otvorite Telegram, idite na Podešavanja → Privatnost i bezbednost → Sesije i prekinete sesiju OsmAnd pratioca.</string>
<string name="logout_no_internet_msg">Povežite se na Internet kako biste se pravilno odjavili iz Telegrama.</string>
<string name="shared_string_group">Grupa</string>
<string name="last_response">Poslednji odgovor</string>
<string name="time_ago">pre</string>
<string name="turn_off_all">Isključi sve</string>
<string name="disable_all_sharing">Onemogući svako deljenje</string>
<string name="disable_all_sharing_desc">Isključuje deljenje lokacije prema svim izabranim čatovima (%1$).</string>
<string name="choose_osmand">Izaberite verziju OsmAnda koju želite da koristite</string>
<string name="choose_osmand_desc">Izaberite verziju OsmAnda gde će se kontakti prikazati na mapi.</string>
<string name="shared_string_sort_by">Sortiraj po</string>
<string name="by_group">Po grupi</string>
<string name="by_name">Po imenu</string>
<string name="by_distance">Po udaljenosti</string>
<string name="logout_from_osmand_telegram">Odjaviti se sa OsmAnd pratioca\?</string>
<string name="logout_from_osmand_telegram_descr">Jeste li sigurni da se želite odjaviti sa OsmAnd pratioca tako da ne možete da delite lokaciju ili vidite lokaciju drugih\?</string>
<string name="live_now_description">Kontakti i grupe dele lokaciju vama.</string>
<string name="share_location_as">Deljenje lokacije kao</string>
<string name="add_device">Dodajte uređaj</string>
<string name="no_internet_connection">Nema internet konekcije</string>
<string name="no_gps_connection">Nema GPS veze</string>
<string name="location_sharing_status">Deljenje: %1$</string>
<string name="sharing_status">Deljenje statusa</string>
<string name="last_available_location">Poslednja dostupna lokacija</string>
<string name="re_send_location">Ponovo pošalji lokaciju</string>
<string name="not_found_yet">Još nije pronađeno</string>
<string name="not_sent_yet">Još nije poslato</string>
<string name="shared_string_later">Kasnije</string>
<string name="go_to_settings">Idi na Podešavanja</string>
<string name="sharing_in_background">Deljenje u pozadini</string>
<string name="battery_optimization_description">Isključite optimizaciju baterije za OsmAnd pratilac tako da se ne isključi iznenada kad je u pozadini.</string>
<string name="background_work">Rad u pozadini</string>
<string name="background_work_description">Promenite podešavanja za optimizaciju baterije da biste stabilizovali deljenje lokacije.</string>
<string name="connecting_to_the_internet">Povezivanje sa Internetom</string>
<string name="searching_for_gps">Pozicioniranje…</string>
<string name="initializing">Pokretanje</string>
<string name="sending_location_messages">Lokacija se šalje</string>
<string name="waiting_for_response_from_telegram">Čeka se odgovor iz Telegrama</string>
<string name="not_possible_to_send_to_telegram_chats">Nije moguće poslati u Telegram četove:</string>
<string name="successfully_sent_and_updated">Uspešno poslato i ažurirano</string>
<string name="last_updated_location">Poslednja ažurirana lokacija:</string>
<string name="share_location_as_description">Ako želite da povežete više uređaja sa jednim nalogom telegrama, trebate koristiti drugi uređaj da bi delili vašu lokaciju.</string>
<string name="share_location_as_description_second_line">Možete da kreirate i vidite ID uređaja u telegram klijentu koristeći %1$ čat bot. %2$</string>
<string name="device_name">Ime uređaja</string>
<string name="device_name_cannot_be_empty">Ime uređaja ne može biti prazno</string>
<string name="device_name_is_too_long">Ime uređaja predugo</string>
<string name="enter_device_name_description">Imenujte vaš novi uređaj sa maksimalno 200 simbola.</string>
<string name="error_adding_new_device">Nije moguće dodati novi uređaj</string>
<string name="device_added_successfully">%1$ dodato.</string>
<string name="enter_another_device_name">Izaberite ime koje niste već koristili</string>
<string name="last_update_from_telegram">Poslednje ažuriranje od Telegrama</string>
<string name="map_and_text">Mapa i tekst</string>
<string name="shared_string_text">Tekst</string>
<string name="send_location_as_descr">Odaberite kako će izgledati poruke sa vašom lokacijom.</string>
<string name="send_location_as">Pošalji lokaciju kao</string>
<string name="start_date">Početni datum</string>
<string name="end_date">Krajnji datum</string>
<string name="open_in_osmand">Prikaži u OsmAndu</string>
<string name="time_on_the_move">Vreme kretanja</string>
<string name="monitoring_is_disabled">Praćenje je onemogućeno</string>
<string name="monitoring_is_enabled">Praćenje je omogućeno</string>
<string name="shared_string_sent">Poslato</string>
<string name="gps_points">GPS tačke</string>
<string name="shared_string_collected">Prikupljeno</string>
<string name="shared_string_date">Datum</string>
<string name="points_size">%1$ tačaka</string>
<string name="gps_points_in_buffer">poslato (%1$ u baferu)</string>
<string name="please_update_osmand">Ažurirajte OsmAnd da biste videli podatke na mapi</string>
<string name="show_gps_points_descr">Prikaži količinu prikupljenih i poslatih GPS tačaka.</string>
<string name="show_gps_points">Pokaži GPS tačke</string>
<string name="received_gps_points">Primljene GPKS tačke: %1$</string>
<string name="how_it_works">Kako radi</string>
<string name="osmand_privacy_policy">OsmAnd politika privatnosti</string>
<string name="telegram_privacy_policy">Politika privatnosti Telegrama</string>
<string name="shared_string_accept">Prihvati</string>
<string name="privacy_policy_agree">Klikom na „Nastavi“ prihvatate uslove politike privatnosti Telegrama i OsmAnda.</string>
<string name="privacy_policy_telegram_client">OsmAnd pratilac je jedan od klijenata koji koriste otvorenu platformu Telegram. Vaši kontakti mogu da koriste bilo koji drugi Telegram klijent.</string>
<string name="privacy_policy_use_telegram">Telegram (aplikacija za razmenu poruka) koristi se za povezivanje i komunikaciju sa ljudima.</string>
<string name="shared_string_telegram">Telegram</string>
<string name="app_name_short">OsmAnd pratilac</string>
<string name="timeline_description">Omogućite praćenje da biste sačuvali sve lokacije u istoriji.</string>
<string name="location_recording_enabled">Snimanje lokacije omogućeno</string>
<string name="disable_monitoring">Onemogućite praćenje</string>
<string name="timeline_available_for_free_now">Vremenska linija je funkcija koja je sada dostupna besplatno.</string>
<string name="type_contact_or_group_name">Unesite ime kontakta ili grupe</string>
<string name="search_contacts_descr">Pretraga po svim vašim grupama i kontaktima.</string>
<string name="search_contacts">Pretraga kontakta</string>
<string name="bearing">Usmerenje</string>
<string name="precision">Preciznost</string>
<string name="direction">Smer</string>
<string name="privacy">Privatnost</string>
<string name="proxy">Proksi</string>
<string name="proxy_settings">Podešavanja proksija</string>
<string name="proxy_disconnected">Prekinut</string>
<string name="proxy_connected">Povezan</string>
<string name="proxy_type">Tip proksija</string>
<string name="shared_string_connection">Veza</string>
<string name="proxy_server">Server</string>
<string name="proxy_port">Port</string>
<string name="proxy_credentials">Akreditivi</string>
<string name="proxy_username">Korisničko ime</string>
<string name="proxy_password">Lozinka</string>
<string name="proxy_key">Ključ</string>
<string name="gpx_settings">GPX podešavanja</string>
<string name="min_logging_speed_descr">Filter: nema zapisivanja ispod odabrane brzine</string>
<string name="min_logging_speed">Minimalna brzina zapisivanja</string>
<string name="min_logging_accuracy_descr">Filter: Nema zapisa dok se ne dostigne ova tačnost</string>
<string name="min_logging_accuracy">Minimalna tačnost evidentiranja</string>
<string name="min_logging_distance_descr">Filter: minimalna udaljenost za evidentiranje nove tačke</string>
<string name="min_logging_distance">Minimalna udaljenost evidentiranja</string>
<string name="timeline_no_data">Nema podataka</string>
<string name="timeline_no_data_descr">Nemamo prikupljene podatke za izabrani dan</string>
<string name="start_end_date">Početni — Krajnji datum</string>
<string name="set_time_timeline_descr">Izaberite vreme za prikaz</string>
<string name="shared_string_start">Početak</string>
<string name="shared_string_end">Kraj</string>
<string name="saved_messages">Sačuvane poruke</string>
<string name="unit_of_speed_system">Jedinica brzine</string>
<string name="unit_of_speed_system_descr">Definišite jedinicu brzine.</string>
<string name="time_zone">Vremenska zona</string>
<string name="time_zone_descr">Izaberite vremensku zonu koja će se prikazati u porukama lokacije.</string>
<string name="buffer_time">Vreme isteka bafera</string>
<string name="buffer_time_descr">Maksimalno vreme za skladištenje tačaka u bafer</string>
<string name="status_widget_title">Status Tragača OsmAnda</string>
<string name="shared_string_suggested">Predloženo</string>
<string name="back_to_osmand">Povratak na OsmAnd</string>
<string name="duration_ago">Pre %1$</string>
<string name="last_response_duration">Poslednji odgovor: pre %1$</string>
<string name="last_update_from_telegram_duration">Poslednje ažuriranje iz Telegrama: pre %1$</string>
<string name="last_response_date">Poslednji odgovor: %1$</string>
<string name="last_update_from_telegram_date">Poslednje ažuriranje iz Telegrama: %1$</string>
<string name="shared_string_error_short">Greška</string>
<string name="shared_string_export">Izvezi</string>
<string name="logcat_buffer">Logcat bafer</string>
<string name="logcat_buffer_descr">Proverite i podelite detaljne zapise aplikacije</string>
<string name="send_report">Pošalji izveštaj</string>
</resources>

View file

@ -74,4 +74,7 @@
<string name="shared_string_appearance">Vzhled</string>
<string name="logcat_buffer">Zásobník logcat</string>
<string name="logcat_buffer_descr">Zkontrolovat a sdílet podrobné záznamy aplikace</string>
<string name="by_name">Podle názvu</string>
<string name="shared_string_distance">Vzdálenost</string>
<string name="shared_string_later">Později</string>
</resources>

View file

@ -82,7 +82,7 @@
<string name="no_location_permission">Der App fehlt die Berechtigung, auf Standortdaten zuzugreifen.</string>
<string name="gps_not_available">Bitte schalten Sie \"Standort\" in den Systemeinstellungen ein</string>
<string name="osmand_service">Hintergrundmodus</string>
<string name="osmand_service_descr">OsmAnd Tracker läuft im Hintergrund bei ausgeschaltetem Bildschirm.</string>
<string name="osmand_service_descr">OsmAnd Tracker läuft bei ausgeschaltetem Bildschirm im Hintergrund.</string>
<string name="shared_string_distance">Distanz</string>
<string name="share_location">Standort teilen</string>
<string name="process_service">OsmAnd Tracker-Service</string>

View file

@ -39,7 +39,7 @@
<string name="shared_string_share">Κοινοποίηση</string>
<string name="shared_string_back">Προηγούμενο</string>
<string name="shared_string_continue">Συνέχεια</string>
<string name="shared_string_cancel">Ακύρωση</string>
<string name="shared_string_cancel">Άκυρο</string>
<string name="shared_string_settings">Επιλογές</string>
<string name="shared_string_enabled">Ενεργοποιημένο</string>
<string name="units_and_formats">Μονάδες μέτρησης &amp; φορμά</string>
@ -53,4 +53,5 @@
<string name="si_km_m">Χιλιόμετρα/μέτρα</string>
<string name="unit_of_length_descr">Αλλαγή απόστασης που μετριέται.</string>
<string name="unit_of_length">Μονάδες μήκους</string>
<string name="shared_string_sort_by">Ταξινόμηση κατά</string>
</resources>

View file

@ -0,0 +1,146 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="average_altitude">Mezuma altitudo</string>
<string name="how_it_works">Kiel ĝi funkcias</string>
<string name="proxy_disconnected">Ne konektita</string>
<string name="proxy_connected">Konektita</string>
<string name="altitude">Altitudo</string>
<string name="precision">Precizeco</string>
<string name="privacy">Privateco</string>
<string name="shared_string_settings">Agordoj</string>
<string name="shared_string_cancel">Nuligi</string>
<string name="shared_string_continue">Daŭrigi</string>
<string name="osmand_logo">emblemo de OsmAnd</string>
<string name="saved_messages">Konservitaj mesaĝoj</string>
<string name="shared_string_second_short">s</string>
<string name="shared_string_minute_short">min</string>
<string name="shared_string_hour_short">h</string>
<string name="si_mi_meters">Mejloj/metroj</string>
<string name="si_min_m">Minutoj en mejlo</string>
<string name="si_min_km">Minutoj en kilometro</string>
<string name="si_m_s">Metroj en sekundo</string>
<string name="si_mph">Mejloj en horo</string>
<string name="si_kmh">Kilometroj en horo</string>
<string name="km_h">km/h</string>
<string name="m_s">m/s</string>
<string name="si_nm">Marmejloj</string>
<string name="si_km_m">Kilometroj/metroj</string>
<string name="si_mi_yard">Mejloj/jardoj</string>
<string name="si_mi_feet">Mejloj/futoj</string>
<string name="share_location">Kunhavigi lokon</string>
<string name="shared_string_distance">Distanco</string>
<string name="shared_string_welcome">Bonvenon</string>
<string name="m">m</string>
<string name="km">km</string>
<string name="nm">nmi</string>
<string name="min_mile">min/m</string>
<string name="min_km">min/km</string>
<string name="my_location">Mia loko</string>
<string name="start_date">Komenca dato</string>
<string name="end_date">Fina dato</string>
<string name="send_location_as">Sendi lokon kiel</string>
<string name="shared_string_hide">Kaŝi</string>
<string name="device_name">Nomo de aparato</string>
<string name="shared_string_add">Aldoni</string>
<string name="map_and_text">Mapo kaj teksto</string>
<string name="shared_string_text">Teksto</string>
<string name="shared_string_map">Mapo</string>
<string name="shared_string_date">Dato</string>
<string name="shared_string_accept">Akcepti</string>
<string name="shared_string_telegram">Telegram</string>
<string name="shared_string_ok">Bone</string>
<string name="shared_string_search">Serĉi</string>
<string name="direction">Direkto</string>
<string name="shared_string_enable">Ŝalti</string>
<string name="shared_string_connection">Konekto</string>
<string name="timeline_no_data">Neniu dateno</string>
<string name="proxy_server">Servilo</string>
<string name="proxy_port">Pordo</string>
<string name="proxy_username">Salutnomo</string>
<string name="proxy_password">Pasvorto</string>
<string name="proxy_key">Ŝlosilo</string>
<string name="shared_string_select">Elekti</string>
<string name="shared_string_start">Komenco</string>
<string name="shared_string_end">Fino</string>
<string name="time_zone">Horzono</string>
<string name="send_report">Sendi raporton</string>
<string name="search_contacts">Serĉi kontaktojn</string>
<string name="bearing">Direkto</string>
<string name="proxy_settings">Agordoj pri la Retperanto</string>
<string name="proxy_type">Tipo de retperanto</string>
<string name="units_and_formats">Mezurunuoj &amp; formoj</string>
<string name="shared_string_export">Elporti</string>
<string name="points_size">%1$d punktoj</string>
<string name="shared_string_appearance">Aspekto</string>
<string name="telegram_privacy_policy">Reguloj pri Privateco de Telegram</string>
<string name="osmand_privacy_policy">Reguloj pri Privateco de OsmAnd</string>
<string name="shared_string_update">Ĝisdatigi</string>
<string name="shared_string_collected">Kolektita</string>
<string name="open_in_osmand">Montri per OsmAnd</string>
<string name="background_work">Fona laboro</string>
<string name="no_internet_connection">Sen interreta konekto</string>
<string name="shared_string_status">Stato</string>
<string name="proxy">Retperanto</string>
<string name="gpx_settings">Agordoj pri GPX</string>
<string name="start_end_date">Komenca Fina datoj</string>
<string name="unit_of_speed_system_descr">Difinu la mezurunuon de rapido.</string>
<string name="unit_of_length">Mezurunuoj de longo</string>
<string name="unit_of_speed_system">Mezurunuo de rapido</string>
<string name="shared_string_error_short">ERARO</string>
<string name="back_to_osmand">Reen al OsmAnd</string>
<string name="duration_ago">antaŭ %1$s</string>
<string name="last_response_duration">Lasta respondo: antaŭ %1$s</string>
<string name="last_update_from_telegram_duration">Lasta ĝisdatigo de Telegram: antaŭ %1$s</string>
<string name="last_update_from_telegram_date">Lasta ĝisdatigo de Telegram: %1$s</string>
<string name="last_response_date">Lasta respondo: %1$s</string>
<string name="show_users_on_map">Montri uzantojn sur la mapo</string>
<string name="install_osmand">Instali OsmAnd</string>
<string name="shared_string_suggested">Sugestataj</string>
<string name="average_speed">Mezuma rapido</string>
<string name="shared_string_back">Reen</string>
<string name="shared_string_share">Kunhavigi</string>
<string name="shared_string_install">Instali</string>
<string name="phone_number_descr">Telefonnumero en internacia formo</string>
<string name="phone_number_title">Telefonnumero</string>
<string name="shared_string_password">Pasvorto</string>
<string name="nm_h">kn</string>
<string name="mile">mi</string>
<string name="foot">ft</string>
<string name="yard">yd</string>
<string name="mile_per_hour">mi/h</string>
<string name="si_nm_h">Marmejloj en horo (nodoj)</string>
<string name="shared_string_sort_by">Ordigi laŭ</string>
<string name="shared_string_sort">Ordigi</string>
<string name="by_group">Laŭ grupo</string>
<string name="by_name">Laŭ nomo</string>
<string name="by_distance">Laŭ distanco</string>
<string name="shared_string_name">Nomo</string>
<string name="shared_string_enabled">Aktiva</string>
<string name="connecting_to_the_internet">Konektante al Interreto</string>
<string name="initializing">Komencante</string>
<string name="sending_location_messages">Sendante lokon</string>
<string name="password_descr">Pasvorto de Telegram</string>
<string name="enter_password">Tajpu pasvorton</string>
<string name="show_on_map">Montri sur mapo</string>
<string name="hours_format">%1$d h</string>
<string name="minutes_format">%1$d min</string>
<string name="hours_and_minutes_format">%1$d h %2$d min</string>
<string name="shared_string_sent">Sendita</string>
<string name="not_logged_in">Vi ne estas salutinta</string>
<string name="closing">Fermante</string>
<string name="logging_out">Adiaŭante</string>
<string name="initialization">Lanĉante</string>
<string name="shared_string_logout">Adiaŭi</string>
<string name="shared_string_login">Saluti</string>
<string name="osmand_service">Fona reĝimo</string>
<string name="shared_string_off">Malaktiva</string>
<string name="shared_string_all">Ĉiuj</string>
<string name="shared_string_close">Fermi</string>
<string name="shared_string_exit">Eliri</string>
<string name="shared_string_save">Konservi</string>
<string name="shared_string_disable">Malaktivigi</string>
<string name="shared_string_apply">Apliki</string>
<string name="unit_of_length_descr">Ŝanĝi unuojn por reprezenti distancoj.</string>
<string name="logcat_buffer">Bufro logcat</string>
<string name="logcat_buffer_descr">Legi kaj kunhavigi detalajn protokolojn de la aplikaĵo</string>
</resources>

View file

@ -69,7 +69,7 @@
<string name="mile">mi</string>
<string name="km">km</string>
<string name="m">m</string>
<string name="nm">nmi</string>
<string name="nm">M</string>
<string name="min_mile">min/m</string>
<string name="min_km">min/km</string>
<string name="m_s">m/s</string>
@ -249,7 +249,7 @@
<string name="shared_string_authorization">Autoriseerimine</string>
<string name="shared_string_authorization_descr">Palun sisesta oma Telegrami telefoninumber rahvusvahelises formaadis</string>
<string name="shared_string_welcome">Tere tulemast</string>
<string name="nm_h">nmi/h</string>
<string name="nm_h">sõlme</string>
<string name="si_nm_h">Meremiili tunnis (sõlm)</string>
<string name="shared_string_hour_short">h</string>
<string name="shared_string_minute_short">min</string>

View file

@ -59,7 +59,7 @@
<string name="shared_string_map">نقشه</string>
<string name="average_altitude">میانگین ارتفاع</string>
<string name="average_speed">میانگین سرعت</string>
<string name="shared_string_update">به‌روزرسانی</string>
<string name="shared_string_update">روزآمدسازی</string>
<string name="shared_string_ok">خُب</string>
<string name="shared_string_search">جست‌وجو</string>
<string name="altitude">ارتفاع</string>
@ -81,5 +81,5 @@
<string name="send_report">ارسال گزارش</string>
<string name="shared_string_export">برون‌برد</string>
<string name="logcat_buffer">بافر لاگ‌کت</string>
<string name="logcat_buffer_descr">لاگ‌های جزئی برنامه را بررسی و هم‌رسانی کنید</string>
<string name="logcat_buffer_descr">لاگ‌های باجزئیات برنامه را بررسی و هم‌رسانی کنید</string>
</resources>

View file

@ -41,4 +41,5 @@
<string name="shared_string_enable">Ota käyttöön</string>
<string name="shared_string_select">Valitse</string>
<string name="shared_string_apply">Käytä</string>
<string name="shared_string_sort">Lajittele</string>
</resources>

View file

@ -213,7 +213,7 @@
<string name="by_group">Par groupe</string>
<string name="by_distance">Par distance</string>
<string name="logout_from_osmand_telegram">Se déconnecter d\'OsmAnd Tracker \?</string>
<string name="logout_from_osmand_telegram_descr">Êtes-vous sûr·e de vouloir vous déconnecter d\'OsmAnd Tracker ; vous ne pourrez pas partager votre position ni vous la position des autres \?</string>
<string name="logout_from_osmand_telegram_descr">Êtes-vous certain de vouloir vous déconnecter d\'OsmAnd Tracker \? Vous ne pourrez pas partager votre position ni voir la position des autres.</string>
<string name="live_now_description">Contacts et groupes partageant leur position avec vous.</string>
<string name="share_location_as">Partager la position comme</string>
<string name="add_device">Ajouter un périphérique</string>
@ -237,7 +237,7 @@
<string name="not_possible_to_send_to_telegram_chats">Impossible d\'envoyer dans les discussions Telegram :</string>
<string name="successfully_sent_and_updated">Envoyé et mis à jour avec succès</string>
<string name="last_updated_location">Dernière position mise à jour :</string>
<string name="share_location_as_description">Si vous voulez connecter plusieurs appareils à un même compte Telegram, vous devez utiliser un appareil différent pour partager votre position.</string>
<string name="share_location_as_description">Si vous souhaitez connecter plusieurs appareils à un même compte Telegram, vous devez partager votre position depuis chaque appareil.</string>
<string name="share_location_as_description_second_line">Vous pouvez créer et visualiser l\'identifiant du périphérique dans le client Telegram en utilisant le chat-bot %1$s. %2$s</string>
<string name="enter_device_name_description">Nommez votre nouveau périphérique en max 200 symboles.</string>
<string name="enter_another_device_name">Choisissez un nom que vous n\'avez pas encore utilisé</string>
@ -266,7 +266,7 @@
<string name="location_history_desc">Cacher les contacts qui ne se sont pas déplacés depuis un temps donné.</string>
<string name="set_time_description">Définissez l\'heure à laquelle les contacts et groupes sélectionnés verront votre position en temps réel.</string>
<string name="osmand_connect">OsmAnd connect</string>
<string name="time_ago">depuis</string>
<string name="time_ago">il y a</string>
<string name="logcat_buffer">Buffer Logcat</string>
<string name="logcat_buffer_descr">Vérifier et partager les logs détaillés de l\'application</string>
<string name="shared_string_export">Exporter</string>

View file

@ -109,7 +109,7 @@
<string name="get_telegram_description_continue">Kérjük, telepítse a Telegramot és hozzon létre egy fiókot.</string>
<string name="get_telegram_after_creating_account">Utána használhatja ezt az alkalmazást.</string>
<string name="shared_string_all">Minden</string>
<string name="shared_string_off">Kikapcsolás</string>
<string name="shared_string_off">Kikapcsolva</string>
<string name="hours_and_minutes_format">%1$d óra %2$d perc</string>
<string name="minutes_format">%1$d perc</string>
<string name="shared_string_install">Telepítés</string>

View file

@ -22,7 +22,7 @@
<string name="proxy_port">ポート</string>
<string name="proxy_server">サーバー</string>
<string name="shared_string_connection">接続</string>
<string name="shared_string_enable">有効</string>
<string name="shared_string_enable">有効</string>
<string name="proxy_type">プロキシタイプ</string>
<string name="proxy_connected">接続しました</string>
<string name="proxy_disconnected">切断しました</string>

View file

@ -258,7 +258,7 @@
<string name="unit_of_speed_system_descr">Definieer de eenheid voor snelheid.</string>
<string name="unit_of_speed_system">Eenheid van snelheid</string>
<string name="send_report">Stuur rapport</string>
<string name="shared_string_export">Exporteer naar OSM</string>
<string name="shared_string_export">Exporteer</string>
<string name="logcat_buffer">Logcat buffer</string>
<string name="logcat_buffer_descr">Controleer en deel gedetailleerde logs van de app</string>
</resources>

View file

@ -2,12 +2,12 @@
<resources>
<string name="timeline_no_data">Sem dados</string>
<string name="shared_string_select">Selecionar</string>
<string name="min_logging_distance">Distância mínima de registro</string>
<string name="min_logging_distance_descr">Filtro: distância mínima para registrar um novo ponto</string>
<string name="min_logging_accuracy">Precisão mínima de registro</string>
<string name="min_logging_accuracy_descr">Filtro: sem registro, a menos que a precisão seja atingida</string>
<string name="min_logging_speed">Velocidade mínima de registro</string>
<string name="min_logging_speed_descr">Filtro: sem registro abaixo da velocidade selecionada</string>
<string name="min_logging_distance">Distância mínima de registo</string>
<string name="min_logging_distance_descr">Filtro: distância mínima para registar um novo ponto</string>
<string name="min_logging_accuracy">Precisão mínima de registo</string>
<string name="min_logging_accuracy_descr">Filtro: sem registo, a não ser que seja atingida a precisão</string>
<string name="min_logging_speed">Velocidade mínima de registo</string>
<string name="min_logging_speed_descr">Filtro: sem registo abaixo da velocidade selecionada</string>
<string name="proxy_password">Palavra-passe</string>
<string name="proxy_username">Nome de utilizador</string>
<string name="shared_string_enable">Ativar</string>
@ -16,7 +16,7 @@
<string name="altitude">Altitude</string>
<string name="shared_string_search">Pesquisar</string>
<string name="shared_string_ok">Ok</string>
<string name="app_name_short">Rastreador OsmAnd</string>
<string name="app_name_short">OsmAnd Tracker</string>
<string name="shared_string_telegram">Telegram</string>
<string name="shared_string_appearance">Aparência</string>
<string name="shared_string_update">Atualizar</string>
@ -35,13 +35,13 @@
<string name="shared_string_end">Fim</string>
<string name="shared_string_start">Iniciar</string>
<string name="shared_string_apply">Aplicar</string>
<string name="set_time_timeline_descr">Selecionar a hora para exibir</string>
<string name="set_time_timeline_descr">Selecionar a hora de visualização</string>
<string name="start_end_date">Data de início - fim</string>
<string name="timeline_no_data_descr">Não coletamos dados para o dia selecionado</string>
<string name="timeline_no_data_descr">Não temos dados recolhidos para o dia selecionado</string>
<string name="gpx_settings">Configurações de GPX</string>
<string name="proxy_key">Chave</string>
<string name="proxy_credentials">Credenciais</string>
<string name="proxy_port">Port</string>
<string name="proxy_port">Porta</string>
<string name="proxy_server">Servidor</string>
<string name="shared_string_connection">Conexão</string>
<string name="proxy_type">Tipo de proxy</string>
@ -50,16 +50,16 @@
<string name="proxy_settings">Configurações de proxy</string>
<string name="proxy">Proxy</string>
<string name="precision">Precisão</string>
<string name="bearing">Rolamento</string>
<string name="search_contacts">Pesquisar contatos</string>
<string name="search_contacts_descr">Pesquise em todos os seus grupos e contatos.</string>
<string name="type_contact_or_group_name">Digite o nome do contato ou do grupo</string>
<string name="bearing">Rumo</string>
<string name="search_contacts">Pesquisar contactos</string>
<string name="search_contacts_descr">Pesquise em todos os seus grupos e contactos.</string>
<string name="type_contact_or_group_name">Digite o nome do contacto ou do grupo</string>
<string name="timeline_available_for_free_now">Linha do tempo é um recurso disponível agora gratuitamente.</string>
<string name="disable_monitoring">Desativar monitoramento</string>
<string name="disable_monitoring">Desativar monitorização</string>
<string name="location_recording_enabled">Gravação de localização ativada</string>
<string name="timeline_description">Ative o monitoramento para gravar todos os locais no histórico.</string>
<string name="privacy_policy_use_telegram">Telegram (a app de mensagens) é usado para conectar e comunicar com as pessoas.</string>
<string name="privacy_policy_telegram_client">OsmAnd tracker é um dos clientes que usam a Plataforma aberta do Telegram . Seus contatos podem usar qualquer outro cliente Telegram.</string>
<string name="timeline_description">Ative a monitorização para gravar todos os locais no histórico.</string>
<string name="privacy_policy_use_telegram">O Telegram (a aplicação de mensagens) é usado para conectar e comunicar com outras pessoas.</string>
<string name="privacy_policy_telegram_client">OsmAnd Tracker é um dos clientes que usam a Plataforma aberta do Telegram. Os seus contactos podem usar qualquer outro cliente Telegram.</string>
<string name="privacy_policy_agree">Ao clicar em \"Continuar\" concorda com as condições da política de privacidade do Telegram e OsmAnd.</string>
<string name="shared_string_accept">Aceitar</string>
<string name="telegram_privacy_policy">Política de privacidade do Telegram</string>
@ -67,68 +67,68 @@
<string name="how_it_works">Como funciona</string>
<string name="received_gps_points">Pontos GPX recebidos: %1$s</string>
<string name="show_gps_points">Mostrar pontos de GPS</string>
<string name="show_gps_points_descr">Mostrar quantidade de pontos de GPS coletados e enviados.</string>
<string name="show_gps_points_descr">Mostrar quantidade de pontos de GPS recolhidos e enviados.</string>
<string name="please_update_osmand">Por favor, atualize o OsmAnd para ver os dados no mapa</string>
<string name="gps_points_in_buffer">enviado (%1$d em buffer)</string>
<string name="points_size">%1$d pontos</string>
<string name="shared_string_collected">Coletado</string>
<string name="shared_string_collected">Recolhidos</string>
<string name="gps_points">Pontos de GPS</string>
<string name="shared_string_sent">Enviado</string>
<string name="monitoring_is_enabled">Monitoramento está ativado</string>
<string name="monitoring_is_disabled">Monitoramento está desativado</string>
<string name="monitoring_is_enabled">A monitorização está ativada</string>
<string name="monitoring_is_disabled">A monitorização está desativada</string>
<string name="open_in_osmand">Mostrar no OsmAnd</string>
<string name="end_date">Data final</string>
<string name="end_date">Data de fim</string>
<string name="send_location_as">Enviar localização como</string>
<string name="send_location_as_descr">Escolha como as mensagens com sua localização serão exibidas.</string>
<string name="send_location_as_descr">Escolha a forma como as mensagens com a sua localização serão mostradas.</string>
<string name="map_and_text">Mapa e texto</string>
<string name="last_update_from_telegram">Última atualização do Telegram</string>
<string name="enter_another_device_name">Escolha um nome que ainda não usou</string>
<string name="device_added_successfully">%1$s adicionado.</string>
<string name="error_adding_new_device">Não foi possível adicionar novo aparelho</string>
<string name="enter_device_name_description">Nomeie seu novo aparelho no máximo 200 símbolos.</string>
<string name="device_name_is_too_long">Nome do aparelho muito longo</string>
<string name="device_name_cannot_be_empty">O nome do aparelho não pode estar vazio</string>
<string name="device_name">Nome do aparelho</string>
<string name="share_location_as_description_second_line">Pode criar e visualizar o ID do aparelho no cliente de telegrama usando o bot de bate-papo %1$s. %2$s</string>
<string name="share_location_as_description">Se deseja conectar vários aparelhos a uma conta de telegrama, é necessário usar um aparelho diferente para compartilhar a sua localização.</string>
<string name="error_adding_new_device">Não foi possível adicionar o novo dispositivo</string>
<string name="enter_device_name_description">Atribua um nome a seu novo dispositivo com o máximo de 200 caracteres.</string>
<string name="device_name_is_too_long">Nome do dispositivo muito longo</string>
<string name="device_name_cannot_be_empty">O nome do dispositivo não pode estar vazio</string>
<string name="device_name">Nome do dispositivo</string>
<string name="share_location_as_description_second_line">Pode criar e visualizar o ID do dispositivo no cliente de Telegram usando o robô de bate-papo %1$s. %2$s</string>
<string name="share_location_as_description">Se quer conectar vários dispositivos a uma conta no Telegram, é necessário usar um dispositivo diferente para partilhar a sua localização.</string>
<string name="last_updated_location">Última localização atualizada:</string>
<string name="successfully_sent_and_updated">Enviado e atualizado com sucesso</string>
<string name="not_possible_to_send_to_telegram_chats">Não é possível enviar para bate-papo do Telegram:</string>
<string name="waiting_for_response_from_telegram">Aguardando resposta do Telegram</string>
<string name="sending_location_messages">enviando localização</string>
<string name="initializing">Iniciando</string>
<string name="searching_for_gps">Posicionando</string>
<string name="waiting_for_response_from_telegram">A aguardar a resposta do Telegram</string>
<string name="sending_location_messages">A enviar a localização</string>
<string name="initializing">A iniciar</string>
<string name="searching_for_gps">A posicionar</string>
<string name="connecting_to_the_internet">Conectando-se à Internet</string>
<string name="background_work_description">Altere as configurações de otimização da bateria para estabilizar o compartilhamento de local.</string>
<string name="background_work_description">Altere as configurações de otimização da bateria para estabilizar a partilha da localização.</string>
<string name="background_work">Funcionamento em segundo plano</string>
<string name="battery_optimization_description">Desative a otimização da bateria do OsmAnd Tracker para que ele não seja desligado repentinamente quando estiver em segundo plano.</string>
<string name="sharing_in_background">Compartilhando em segundo plano</string>
<string name="go_to_settings">Vá para as configurações</string>
<string name="sharing_in_background">Partilha em segundo plano</string>
<string name="go_to_settings">Ir às configurações</string>
<string name="not_sent_yet">Ainda não enviado</string>
<string name="not_found_yet">Ainda não encontrado</string>
<string name="re_send_location">Reenvie o local</string>
<string name="last_available_location">Última localização disponível</string>
<string name="sharing_status">Estado de compartilhamento</string>
<string name="location_sharing_status">Compartilhamento: %1$s</string>
<string name="sharing_status">Estado da partilha</string>
<string name="location_sharing_status">Partilha: %1$s</string>
<string name="shared_string_enabled">Ativado</string>
<string name="no_gps_connection">Sem conexão GPS</string>
<string name="no_internet_connection">Sem conexão com a internet</string>
<string name="no_internet_connection">Sem ligação à Internet</string>
<string name="shared_string_disable">Desativar</string>
<string name="shared_string_save">Gravar</string>
<string name="add_device">Adicionar aparelho</string>
<string name="share_location_as">Compartilhar localização como</string>
<string name="live_now_description">Contatos e grupos compartilhando o local consigo.</string>
<string name="logout_from_osmand_telegram_descr">Tem certeza de que deseja sair do OsmAnd Tracker para que não possa compartilhar o local ou ver a localização de outras pessoas\?</string>
<string name="shared_string_save">Guardar</string>
<string name="add_device">Adicionar dispositivo</string>
<string name="share_location_as">Partilhar localização como</string>
<string name="live_now_description">Contactos e grupos partilhando a localização consigo.</string>
<string name="logout_from_osmand_telegram_descr">Tem a certeza de que quer sair do OsmAnd Tracker para que não possa partilhar a localização ou ver a localização de outras pessoas\?</string>
<string name="logout_from_osmand_telegram">Sair do OsmAnd Tracker\?</string>
<string name="shared_string_name">Nome</string>
<string name="by_distance">Pela distância</string>
<string name="by_name">Por nome</string>
<string name="by_group">Por grupo</string>
<string name="shared_string_sort">Ordenar</string>
<string name="choose_osmand_desc">Selecione a versão OsmAnd, onde os contatos serão exibidos no mapa.</string>
<string name="choose_osmand_desc">Selecione a versão OsmAnd onde os contactos serão mostrados no mapa.</string>
<string name="choose_osmand">Selecione a versão do OsmAnd para usar</string>
<string name="disable_all_sharing_desc">Desativa o compartilhamento de local para todos os bate-papos selecionados (%1$d).</string>
<string name="disable_all_sharing">Desativar todo o compartilhamento</string>
<string name="disable_all_sharing_desc">Desativa a partilha da localização para todos os bate-papos selecionados (%1$d).</string>
<string name="disable_all_sharing">Desativar todas as partilhas</string>
<string name="turn_off_all">Desligue todos</string>
<string name="shared_string_exit">Sair</string>
<string name="time_ago">atrás</string>
@ -136,34 +136,34 @@
<string name="shared_string_group">Grupo</string>
<string name="logout_no_internet_msg">Conecte-se à Internet para efetuar a saída do Telegram corretamente.</string>
<string name="shared_string_close">Fechar</string>
<string name="disconnect_from_telegram_desc">Para revogar o acesso ao compartilhamento de local. Abra o Telegram, vá para Configurações → Privacidade e Segurança → Sessões e termine a sessão do OsmAnd Tracker.</string>
<string name="disconnect_from_telegram_desc">Para revogar o acesso à partilha da localização. Abra o Telegram, vá para Configurações → Privacidade e Segurança → Sessões e termine a sessão do OsmAnd Tracker.</string>
<string name="disconnect_from_telegram">Como desativar o OsmAnd Tracker para Telegram</string>
<string name="logout_help_desc">Como desativar o OsmAnd Tracker para Telegram</string>
<string name="connected_account">Conta conectada</string>
<string name="shared_string_account">Conta</string>
<string name="in_time">no %1$s</string>
<string name="osmand_connect_desc">Escolha a versão OsmAnd que OsmAnd Tracker usa para exibir posições.</string>
<string name="osmand_connect_desc">Escolha a versão OsmAnd que OsmAnd Tracker usa para mostrar posições.</string>
<string name="osmand_connect">Conectar OsmAnd</string>
<string name="location_history_desc">Ocultar contactos que não foram movidos num determinado momento.</string>
<string name="location_history">Histórico de localização</string>
<string name="stale_location_desc">A última vez que um contato foi movido.</string>
<string name="stale_location_desc">A última vez que um contacto foi movido.</string>
<string name="stale_location">Parado</string>
<string name="send_my_location_desc">Defina o intervalo mínimo para o compartilhamento de local.</string>
<string name="send_my_location">Enviar minha localização</string>
<string name="send_my_location_desc">Defina o intervalo mínimo para a partilha da localização.</string>
<string name="send_my_location">Enviar a minha localização</string>
<string name="gps_and_location">Posição</string>
<string name="sharing_time">Tempo de compartilhamento</string>
<string name="sharing_time">Tempo de partilha</string>
<string name="expire_at">Expira</string>
<string name="stop_sharing_all">O compartilhamento está ativado (desativado)</string>
<string name="turn_off_location_sharing">Desativar o compartilhamento de local</string>
<string name="stop_sharing_all">A partilha está ativada (desativar)</string>
<string name="turn_off_location_sharing">Desativar a partilha da localização</string>
<string name="open_osmand">Abrir OsmAnd</string>
<string name="shared_string_live">Vivo</string>
<string name="shared_string_live">Tempo real</string>
<string name="shared_string_bot">Robô</string>
<string name="get_telegram_title">Registro no Telegram</string>
<string name="get_telegram_account_first">Precisa de uma conta do Telegram para usar o compartilhamento de local.</string>
<string name="get_telegram_title">Registo no Telegram</string>
<string name="get_telegram_account_first">Precisa de uma conta do Telegram para usar a partilha de localização.</string>
<string name="get_telegram_description_continue">Por favor, instale o Telegram e configure uma conta.</string>
<string name="get_telegram_after_creating_account">Então pode usar esta app.</string>
<string name="shared_string_all">Todos</string>
<string name="shared_string_off">Desligado</string>
<string name="get_telegram_after_creating_account">Depois pode usar esta aplicação.</string>
<string name="shared_string_all">Tudo</string>
<string name="shared_string_off">Desativado</string>
<string name="already_registered_in_telegram">Precisa de uma conta e número de telefone registados no Telegram</string>
<string name="do_not_have_telegram">Não tenho uma conta do Telegram</string>
<string name="enter_phone_number">Digite o número de telefone</string>
@ -173,42 +173,42 @@
<string name="minutes_format">%1$d m</string>
<string name="hours_format">%1$d h</string>
<string name="shared_string_install">Instalar</string>
<string name="shared_string_share">Compartilhar</string>
<string name="shared_string_share">Partilhar</string>
<string name="shared_string_back">Voltar</string>
<string name="visible_time_for_all">Hora visível para todos</string>
<string name="set_time_description">Defina a hora em que seus contatos e grupos selecionados verão sua localização em tempo real.</string>
<string name="set_time">Definir tempo</string>
<string name="location_sharing_description">Selecione os contactos e grupos com os quais deseja compartilhar sua localização.</string>
<string name="my_location_search_hint">Pesquisa: Grupo ou contato</string>
<string name="start_location_sharing">Compartilhar localização</string>
<string name="set_time_description">Defina a hora em que os seus contactos e grupos selecionados verão a sua localização em tempo real.</string>
<string name="set_time">Definir hora</string>
<string name="location_sharing_description">Selecione os contactos e grupos com os quais deseja partilhar a sua localização.</string>
<string name="my_location_search_hint">Pesquisa: grupo ou contacto</string>
<string name="start_location_sharing">Partilhar localização</string>
<string name="show_on_map">Mostrar no mapa</string>
<string name="app_name">OsmAnd Online GPS Tracker</string>
<string name="phone_number_title">Número de telefone</string>
<string name="phone_number_descr">Número de telefone no formato internacional</string>
<string name="shared_string_password">Palavra-passe</string>
<string name="enter_code">Digite o código</string>
<string name="authentication_code">Código de Autenticação</string>
<string name="authentication_code_descr">Uma faixa GPX é salva automaticamente durante a navegação.</string>
<string name="authentication_code">Código de autenticação</string>
<string name="authentication_code_descr">O Telegram enviou-lhe um código para o OsmAnd para iniciar sessão na sua conta.</string>
<string name="enter_password">Digite a palavra-passe</string>
<string name="password_descr">Palavra-passe do telegrama</string>
<string name="password_descr">Palavra-passe do Telegram</string>
<string name="shared_string_login">Entrar</string>
<string name="shared_string_logout">Sair</string>
<string name="initialization">Iniciando</string>
<string name="logging_out">Saindo</string>
<string name="closing">Fechando</string>
<string name="initialization">A iniciar</string>
<string name="logging_out">A terminar sessão</string>
<string name="closing">A fechar</string>
<string name="gps_network_not_enabled">Ativar \"Localização\"\?</string>
<string name="not_logged_in">você não está logado no</string>
<string name="not_logged_in">Não tem a sessão iniciada</string>
<string name="shared_string_continue">Continuar</string>
<string name="shared_string_cancel">Cancelar</string>
<string name="shared_string_settings">Configurações</string>
<string name="no_location_permission">A app não tem permissão para acessar os dados de localização.</string>
<string name="gps_not_available">Por favor, ligue \"Localização\" nas configurações do sistema</string>
<string name="location_service_no_gps_available">Selecione um dos provedores de localização para compartilhar sua localização.</string>
<string name="osmand_service">Modo de fundo</string>
<string name="osmand_service_descr">OsmAnd Tracker é executado em segundo plano com o ecrã desligado.</string>
<string name="no_location_permission">A aplicação não tem permissão para aceder aos dados de localização.</string>
<string name="gps_not_available">Por favor, ative a \"Localização\" nas configurações do sistema</string>
<string name="location_service_no_gps_available">Selecione um dos fornecedores de localização para partilhar a sua localização.</string>
<string name="osmand_service">Modo em segundo plano</string>
<string name="osmand_service_descr">O OsmAnd Tracker é executado em segundo plano com o ecrã desligado.</string>
<string name="shared_string_distance">Distância</string>
<string name="share_location">Compartilhar localização</string>
<string name="sharing_location">Compartilhando localização</string>
<string name="share_location">Partilhar localização</string>
<string name="sharing_location">A partilhar a localização</string>
<string name="process_service">Serviço OsmAnd Tracker</string>
<string name="osmand_logo">Logotipo do OsmAnd</string>
<string name="install_osmand_dialog_message">Precisa instalar a versão gratuita ou paga do OsmAnd primeiro</string>
@ -229,13 +229,13 @@
<string name="nm_h">mn/h</string>
<string name="m_s">m/s</string>
<string name="km_h">km/h</string>
<string name="mile_per_hour">mph</string>
<string name="mile_per_hour">mi/h</string>
<string name="si_kmh">Quilómetros por hora</string>
<string name="si_mph">Milhas por hora</string>
<string name="si_m_s">Metros por segundo</string>
<string name="si_min_km">Minutos por quilómetro</string>
<string name="si_min_m">Minutos por milha</string>
<string name="si_nm_h">Milhas náuticas por hora (nó)</string>
<string name="si_nm_h">Milhas náuticas por hora (nós)</string>
<string name="si_mi_feet">Milhas/pés</string>
<string name="si_mi_yard">Milhas/jardas</string>
<string name="si_km_m">Quilómetros/metros</string>
@ -244,8 +244,8 @@
<string name="shared_string_hour_short">h</string>
<string name="shared_string_minute_short">min</string>
<string name="shared_string_second_short">seg</string>
<string name="welcome_descr"><b>OsmAnd Tracker</b> permite que partilhe a sua localização e veja a dos outros no OsmAnd.<br/> <br/>O app usa a API Telegram e precisa de uma conta do Telegram.</string>
<string name="my_location">Minha localização</string>
<string name="welcome_descr"><b>OsmAnd Tracker</b> permite que partilhe a sua localização e veja a dos outros no OsmAnd.<br/> <br/>A aplicação usa a API do Telegram e é necessário ter uma conta no Telegram.</string>
<string name="my_location">A minha posição</string>
<string name="live_now">Ao vivo agora</string>
<string name="timeline">Cronologia</string>
<string name="saved_messages">Mensagens gravadas</string>
@ -259,7 +259,7 @@
<string name="buffer_time_descr">Tempo máximo para armazenar pontos no buffer</string>
<string name="buffer_time">Tempo de expiração do buffer</string>
<string name="shared_string_suggested">Sugerido</string>
<string name="status_widget_title">Estado do Rastreador de OsmAnd</string>
<string name="status_widget_title">Estado do OsmAnd Tracker</string>
<string name="back_to_osmand">Voltar para OsmAnd</string>
<string name="duration_ago">%1$s atrás</string>
<string name="last_response_duration">Última resposta: %1$s atrás</string>
@ -270,5 +270,5 @@
<string name="send_report">Enviar o relatório</string>
<string name="shared_string_export">Exportar</string>
<string name="logcat_buffer">Buffer de logcat</string>
<string name="logcat_buffer_descr">Verifique e compartilhe registos detalhados da app</string>
<string name="logcat_buffer_descr">Verifique e partilhe registos detalhados da aplicação</string>
</resources>

View file

@ -1,4 +1,274 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="last_update_from_telegram_date">Senaste uppdatering från Telegram: %1$s</string>
<string name="timeline">Tidslinje</string>
<string name="live_now">Direkt nu</string>
<string name="my_location">Min plats</string>
<string name="welcome_descr"><b>OsmAnd Tracker</b> låter dig dela din plats och se andras i OsmAnd. <br/> <br/>Appen använder Telegram API, så du behöver ett Telegram-konto.</string>
<string name="shared_string_second_short">sek</string>
<string name="shared_string_minute_short">min</string>
<string name="shared_string_hour_short">t</string>
<string name="si_mi_meters">Miles/meter</string>
<string name="si_nm">Distansminuter</string>
<string name="si_km_m">Kilomter/meter</string>
<string name="si_mi_yard">Miles/yard</string>
<string name="si_mi_feet">Miles/fot</string>
<string name="si_nm_h">Sjömil per timme (knop)</string>
<string name="si_min_m">Minuter per mile</string>
<string name="si_min_km">Minuter per kilometer</string>
<string name="si_m_s">Meter per sekund</string>
<string name="si_mph">Miles per timme</string>
<string name="si_kmh">Kilometer per timme</string>
<string name="mile_per_hour">mph</string>
<string name="km_h">km/h</string>
<string name="m_s">m/s</string>
<string name="nm_h">M/h</string>
<string name="min_km">min/km</string>
<string name="min_mile">min/mi</string>
<string name="nm">di</string>
<string name="m">m</string>
<string name="km">km</string>
<string name="mile">mi</string>
<string name="foot">ft</string>
<string name="yard">yd</string>
<string name="shared_string_welcome">Välkommen</string>
<string name="shared_string_authorization_descr">Ange ditt Telegram-telefonnummer i internationellt format</string>
<string name="shared_string_authorization">Tillstånd</string>
<string name="active_chats">Aktivera chattar</string>
<string name="show_users_on_map">Visa användare på kartan</string>
<string name="install_osmand">Installera OsmAnd</string>
<string name="install_osmand_dialog_message">Du måste installera den gratis eller betalda versionen av OsmAnd först</string>
<string name="osmand_logo">OsmAnd logotyp</string>
<string name="process_service">OsmAnd Tracker tjänst</string>
<string name="sharing_location">Delar plats</string>
<string name="share_location">Dela plats</string>
<string name="shared_string_distance">Avstånd</string>
<string name="osmand_service_descr">OsmAnd Tracker körs i bakgrunden medan skärmen är avstängd.</string>
<string name="osmand_service">Bakgrundsläge</string>
<string name="location_service_no_gps_available">Välj en av platsleverantörerna för att dela din plats.</string>
<string name="gps_not_available">Aktivera \"Plats\" i systeminställningarna</string>
<string name="no_location_permission">App saknar behörighet för plats data.</string>
<string name="shared_string_settings">Inställningar</string>
<string name="shared_string_cancel">Avbryt</string>
<string name="shared_string_continue">Fortsätt</string>
<string name="not_logged_in">Du är inte inloggad</string>
<string name="gps_network_not_enabled">Starta \"Platsdelning\"\?</string>
<string name="closing">Stänger</string>
<string name="logging_out">Loggar ut</string>
<string name="initialization">Startar</string>
<string name="shared_string_logout">Logga ut</string>
<string name="shared_string_login">Logga in</string>
<string name="password_descr">Telegram-lösenord</string>
<string name="enter_password">Ange lösenord</string>
<string name="authentication_code_descr">Telegram har skickat en kod till dig för OmsAnd för inloggning till ditt konto.</string>
<string name="authentication_code">Autentiseringskod</string>
<string name="enter_code">Ange kod</string>
<string name="shared_string_password">Lösenord</string>
<string name="phone_number_descr">Telefonnummer i internationellt format</string>
<string name="phone_number_title">Telefonnummer</string>
<string name="app_name">OsmAnd Online GPS Tracker</string>
<string name="show_on_map">Visa på karta</string>
<string name="start_location_sharing">Platsdelning</string>
<string name="my_location_search_hint">Sök: Grupp och kontakt</string>
<string name="location_sharing_description">Välj de kontakter och grupper du vill dela din plats med.</string>
<string name="set_time">Ange tid</string>
<string name="set_time_description">Ställ in tiden att dina valda kontakter och grupper ska se din plats i realtid.</string>
<string name="visible_time_for_all">Synlig tid för alla</string>
<string name="shared_string_back">Bakåt</string>
<string name="shared_string_share">Dela</string>
<string name="shared_string_install">Installera</string>
<string name="hours_format">%1$d t</string>
<string name="minutes_format">%1$d m</string>
<string name="hours_and_minutes_format">%1$d t %2$d m</string>
<string name="set_visible_time_for_all">Ställ in synlig tid för alla</string>
<string name="enter_authentication_code">Ange autentiseringskod</string>
<string name="enter_phone_number">Skriv in telefonnummer</string>
<string name="do_not_have_telegram">Jag har inget Telegramkonto</string>
<string name="already_registered_in_telegram">Du behöver ett registrerat Telegramkonto och ett telefonnummer</string>
<string name="shared_string_off">Av</string>
<string name="shared_string_all">Alla</string>
<string name="get_telegram_after_creating_account">Efter det kan du använda denna app.</string>
<string name="get_telegram_description_continue">Installera Telegram och registrera ett konto.</string>
<string name="get_telegram_account_first">Du behöver ett Telegramkonto för att använda platsdelning.</string>
<string name="get_telegram_title">Registrering i Telegram</string>
<string name="shared_string_bot">Bot</string>
<string name="shared_string_live">Direkt</string>
<string name="open_osmand">Öppna OsmAnd</string>
<string name="turn_off_location_sharing">Stäng av platsdelning</string>
<string name="stop_sharing_all">Delning är påslagen (stäng av)</string>
<string name="expire_at">Går ut</string>
<string name="sharing_time">Delningstid</string>
<string name="gps_and_location">Plats</string>
<string name="send_my_location">Skicka min plats</string>
<string name="send_my_location_desc">Ställ in minsta intervall för platsdelning.</string>
<string name="stale_location">Ingen rörelse</string>
<string name="stale_location_desc">Senaste tid en kontakt rört sig.</string>
<string name="location_history">Platshistorik</string>
<string name="location_history_desc">Göm kontakter som inte har rört sig inom given tid.</string>
<string name="osmand_connect">Anslutning till OsmAnd</string>
<string name="osmand_connect_desc">Välj den OsmAnd-version som OsmAnd Tracker använder för att visa positioner.</string>
<string name="in_time">i %1$s</string>
<string name="shared_string_account">Konto</string>
<string name="connected_account">Anlutet konto</string>
<string name="logout_help_desc">Hur man stänger av OsmAnd Tracker från Telegram</string>
<string name="disconnect_from_telegram">Hur man stänger av OsmAnd Tracker från Telegram</string>
<string name="disconnect_from_telegram_desc">För att återkalla platsdelningsåtkomst. Öppna Telegram, gå till Inställningar → Sekretess och säkerhet → Sessioner och avsluta OsmAnd Tracker-sessionen.</string>
<string name="shared_string_close">Stäng</string>
<string name="logout_no_internet_msg">Anslut till internet för att logga ut ordentligt från Telegram.</string>
<string name="shared_string_group">Grupp</string>
<string name="last_response">Senaste svar</string>
<string name="time_ago">sedan</string>
<string name="shared_string_exit">Utgång</string>
<string name="turn_off_all">Stäng av allt</string>
<string name="disable_all_sharing">Inaktivera all delning</string>
<string name="disable_all_sharing_desc">Stäng av platsdelning i alla valda chatter (%1$d).</string>
<string name="choose_osmand">Välj OsmAnd version att använda</string>
<string name="choose_osmand_desc">Välj OsmAnd version där kontakter kommer att visas på kartan.</string>
<string name="shared_string_sort_by">Sortera efter</string>
<string name="shared_string_sort">Sortera</string>
<string name="by_group">Efter grupp</string>
<string name="by_name">Efter namn</string>
<string name="by_distance">Avstånd</string>
<string name="shared_string_name">Namn</string>
<string name="logout_from_osmand_telegram">Logga ut från OsmAnd Tracker\?</string>
<string name="logout_from_osmand_telegram_descr">Är du säker på att du vill logga ut från OsmAnd Tracker så att du inte kan dela plats eller se andras plats\?</string>
<string name="live_now_description">Kontakter och grupper delar plats med dig.</string>
<string name="share_location_as">Dela plats som</string>
<string name="add_device">Lägg till enhet</string>
<string name="shared_string_save">Spara</string>
<string name="shared_string_disable">Inaktivera</string>
<string name="no_internet_connection">Ingen internet-anslutning</string>
<string name="no_gps_connection">Ingen GPS-anslutning</string>
<string name="shared_string_status">Status</string>
<string name="shared_string_enabled">Aktiverat</string>
<string name="location_sharing_status">Delar: %1$s</string>
<string name="sharing_status">Delar status</string>
<string name="last_available_location">Senaste tillgängliga plats</string>
<string name="re_send_location">Skicka plats igen</string>
<string name="not_found_yet">Hittades inte än</string>
<string name="not_sent_yet">Inte skickat än</string>
<string name="shared_string_later">Senare</string>
<string name="go_to_settings">Gå till inställningar</string>
<string name="sharing_in_background">Delar i bakgrunden</string>
<string name="battery_optimization_description">Stäng av batterioptimering för OsmAnd Tracker så att den inte plötsligt stängs av i bakgrunden.</string>
<string name="background_work">Bakgrundsarbete</string>
<string name="background_work_description">Ändra batterioptimeringsinställningarna för att stabilisera platsdelning.</string>
<string name="connecting_to_the_internet">Ansluter till internet</string>
<string name="searching_for_gps">Positionering …</string>
<string name="initializing">Startar</string>
<string name="sending_location_messages">Skickar plats</string>
<string name="waiting_for_response_from_telegram">Väntar på svar från Telegram</string>
<string name="not_possible_to_send_to_telegram_chats">Inte möjligt att skicka till Telegram-chattar:</string>
<string name="successfully_sent_and_updated">Skickades och uppdaterades</string>
<string name="last_updated_location">Senast uppdaterad plats:</string>
<string name="share_location_as_description">Om du vill ansluta flera enheter till ett telegramkonto måste du använda olika enheter för att dela din plats.</string>
<string name="share_location_as_description_second_line">Du kan skapa och visa enhets-ID i Telegram-klienten genom att använda %1$s chatt-bot. %2$s</string>
<string name="shared_string_hide">Göm</string>
<string name="device_name">Enhetsnamn</string>
<string name="device_name_cannot_be_empty">Enhetsnamn kan inte vara tomt</string>
<string name="device_name_is_too_long">Enhetsnamn för långt</string>
<string name="enter_device_name_description">Namnge din nya enhet med max 200 symboler.</string>
<string name="error_adding_new_device">Kunde inte lägga till ny enhet</string>
<string name="shared_string_add">Lägg till</string>
<string name="device_added_successfully">%1$s tillagt.</string>
<string name="enter_another_device_name">Välj ett namn som du inte redan har använt</string>
<string name="last_update_from_telegram">Senaste uppdatering från Telegram</string>
<string name="map_and_text">Karta och text</string>
<string name="shared_string_text">Text</string>
<string name="shared_string_map">Karta</string>
<string name="send_location_as_descr">Välj hur meddelanden med din plats ska se ut.</string>
<string name="send_location_as">Skicka plats som</string>
<string name="start_date">Start datum</string>
<string name="end_date">Slutdatum</string>
<string name="open_in_osmand">Visa i OsmAnd</string>
<string name="average_speed">Genomsnittlig hastighet</string>
<string name="average_altitude">Genomsnittlig höjd</string>
<string name="time_on_the_move">Rörelse tid</string>
<string name="monitoring_is_disabled">Övervakning är inaktiverad</string>
<string name="monitoring_is_enabled">Övervakning är aktiverad</string>
<string name="shared_string_sent">Skickat</string>
<string name="gps_points">GPS-punkter</string>
<string name="shared_string_collected">Samlade</string>
<string name="shared_string_date">Datum</string>
<string name="points_size">%1$d punkter</string>
<string name="gps_points_in_buffer">skicka (%1$d i buffer)</string>
<string name="shared_string_update">Uppdatering</string>
<string name="please_update_osmand">var snäll uppdatera OsmAnd för att visa data på kartan</string>
<string name="show_gps_points_descr">Visa antal samlade och skickade GPS-punkter.</string>
<string name="show_gps_points">Visa GPS-punkter</string>
<string name="shared_string_appearance">Utseende</string>
<string name="received_gps_points">Fick GPX-punkter: %1$s</string>
<string name="how_it_works">Hur det fungerar</string>
<string name="osmand_privacy_policy">OsmAnd integritetspolicy</string>
<string name="telegram_privacy_policy">Telegram integritetspolicy</string>
<string name="shared_string_accept">Acceptera</string>
<string name="privacy_policy_agree">Genom att klicka på \"Fortsätt\" godkänner du villkoren i Telegram- och OsmAnds integritetspolicy.</string>
<string name="privacy_policy_telegram_client">OsmAnd tracker är en av klienterna som använder Telegram öppen plattform. Dina kontakter kan använda vilken Telegram-klient som helst.</string>
<string name="privacy_policy_use_telegram">Telegram (meddelandeappen) används för att ansluta och kommunicera med människor.</string>
<string name="shared_string_telegram">Telegram</string>
<string name="app_name_short">OsmAnd Tracker</string>
<string name="timeline_description">Aktivera övervakning för att spara alla platser i historiken.</string>
<string name="location_recording_enabled">Platsinspelning aktiverad</string>
<string name="disable_monitoring">Deaktivera övervakning</string>
<string name="timeline_available_for_free_now">Tidslinje är nu tillgängligt utan extra kostnad.</string>
<string name="shared_string_ok">OK</string>
<string name="shared_string_search">Sök</string>
<string name="type_contact_or_group_name">Skriv kontakt eller gruppnamn</string>
<string name="search_contacts_descr">Sök i alla dina grupper och kontakter.</string>
<string name="search_contacts">Sök kontakter</string>
<string name="bearing">Riktning</string>
<string name="altitude">Höjd över havet</string>
<string name="precision">Precision</string>
<string name="direction">Riktning</string>
<string name="privacy">Integritet</string>
<string name="proxy">Proxy</string>
<string name="proxy_settings">Proxy-inställningar</string>
<string name="proxy_disconnected">Frånkopplad</string>
<string name="proxy_connected">Ansluten</string>
<string name="proxy_type">Proxy-typ</string>
<string name="shared_string_enable">Aktivera</string>
<string name="shared_string_connection">Anslutning</string>
<string name="proxy_server">Server</string>
<string name="proxy_port">Port</string>
<string name="proxy_credentials">Referenser</string>
<string name="proxy_username">Användarnamn</string>
<string name="proxy_password">Lösenord</string>
<string name="proxy_key">Nyckel</string>
<string name="gpx_settings">GPX-inställningar</string>
<string name="min_logging_speed_descr">Filter: ingen loggning under valda hastigheten</string>
<string name="min_logging_speed">Minsta loggningshastighet</string>
<string name="min_logging_accuracy_descr">Filter: ingen loggning utan att nogranheten är nodd</string>
<string name="min_logging_accuracy">Minsta loggningsnoggrannhet</string>
<string name="min_logging_distance_descr">Filter: minsta avstånd för att logga en ny punkt</string>
<string name="min_logging_distance">Minsta loggningsavstånd</string>
<string name="shared_string_select">Välj</string>
<string name="timeline_no_data">Ingen data</string>
<string name="timeline_no_data_descr">Vi har inget sparad data för den valda dagen</string>
<string name="start_end_date">Start - Slut datum</string>
<string name="set_time_timeline_descr">Välj tid att visa</string>
<string name="shared_string_apply">Verkställ</string>
<string name="shared_string_start">Start</string>
<string name="shared_string_end">Slut</string>
<string name="saved_messages">Sparade meddelanden</string>
<string name="unit_of_speed_system">Enhet för hastighet</string>
<string name="unit_of_speed_system_descr">Definera enhet för hastighet.</string>
<string name="unit_of_length">Enhet för längd</string>
<string name="unit_of_length_descr">Ändra vad avstånd mäts i.</string>
<string name="units_and_formats">Enheter &amp; format</string>
<string name="time_zone">Tidszon</string>
<string name="time_zone_descr">Välj tidszon som ska visas i dina platsmeddelanden.</string>
<string name="buffer_time">Buffertens utgångstid</string>
<string name="buffer_time_descr">Maximal tid att lagra poäng i bufferten</string>
<string name="status_widget_title">OsmAnd Tracler status</string>
<string name="shared_string_suggested">Förslagen</string>
<string name="back_to_osmand">Tillbaka till OsmAnd</string>
<string name="duration_ago">%1$s sedan</string>
<string name="last_response_duration">Senaste svar: %1$s sedan</string>
<string name="last_update_from_telegram_duration">Senaste uppdatering från Telegram: %1$s sedan</string>
<string name="last_response_date">Senast response: %1$s</string>
<string name="shared_string_error_short">ERR</string>
<string name="shared_string_export">Export</string>
<string name="logcat_buffer">Logcat buffer</string>
<string name="logcat_buffer_descr">Kontrollera och dela detaljerade loggar för appen</string>
<string name="send_report">Skicka rapport</string>
</resources>

View file

@ -16,7 +16,6 @@
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
@ -1027,6 +1026,7 @@
</activity>
<activity android:name="net.osmand.plus.development.TestVoiceActivity" />
<activity android:name="net.osmand.plus.development.TestBackupActivity" />
<activity android:name="net.osmand.plus.development.LogcatActivity" />
<activity android:name="net.osmand.plus.download.DownloadActivity" android:label="" />
@ -1065,7 +1065,7 @@
<activity android:name="net.osmand.plus.activities.PrintDialogActivity" />
<activity android:name=".liveupdates.OsmLiveActivity"
android:label="@string/osm_live"/>
android:label="@string/purchases"/>
<activity android:name=".wikivoyage.explore.WikivoyageExploreActivity">
<intent-filter>

View file

@ -109,6 +109,9 @@ android {
clean.doFirst {
delete fileTree('assets') {
include '*.obf'
include 'fonts/**'
include 'feature_articles/**'
include 'voice/**'
}
}
@ -345,7 +348,7 @@ dependencies {
implementation 'org.immutables:gson:2.5.0'
implementation 'com.vividsolutions:jts-core:1.14.0'
implementation 'com.google.openlocationcode:openlocationcode:1.0.4'
implementation 'com.android.billingclient:billing:2.0.3'
implementation 'com.android.billingclient:billing:3.0.2'
// turn off for now
//implementation 'com.atilika.kuromoji:kuromoji-ipadic:0.9.0'
implementation 'com.squareup.picasso:picasso:2.71828'
@ -370,4 +373,5 @@ dependencies {
}
implementation 'com.jaredrummler:colorpicker:1.1.0'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.56'
implementation 'com.google.android.play:core:1.9.1'
}

View file

@ -57,5 +57,5 @@ project.afterEvaluate {
}
dependencies {
implementation 'com.google.android.gms:play-services-location:17.1.0'
implementation 'com.google.android.gms:play-services-location:18.0.0'
}

View file

@ -36,9 +36,9 @@ android {
defaultConfig {
minSdkVersion System.getenv("MIN_SDK_VERSION") ? System.getenv("MIN_SDK_VERSION").toInteger() : 15
versionCode 390
versionCode 400
versionCode System.getenv("APK_NUMBER_VERSION") ? System.getenv("APK_NUMBER_VERSION").toInteger() : versionCode
versionName "3.9.0"
versionName "4.0.0"
versionName System.getenv("APK_VERSION")? System.getenv("APK_VERSION").toString(): versionName
versionName System.getenv("APK_VERSION_SUFFIX")? versionName + System.getenv("APK_VERSION_SUFFIX").toString(): versionName
}
@ -187,18 +187,6 @@ dependencies {
opengldebugImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
openglImplementation "net.osmand:OsmAndCore_androidNativeRelease:0.1-SNAPSHOT@aar"
openglImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
implementation ("com.getkeepsafe.taptargetview:taptargetview:1.12.0"){
exclude group: 'com.android.support'
}
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.1'
implementation ("com.github.HITGIF:TextFieldBoxes:1.4.5"){
exclude group: 'com.android.support'
}
implementation('com.github.scribejava:scribejava-apis:7.1.1'){
exclude group: "com.fasterxml.jackson.core"
}
implementation 'com.jaredrummler:colorpicker:1.1.0'
implementation "org.bouncycastle:bcpkix-jdk15on:1.56"
huaweiImplementation 'com.huawei.hms:iap:5.0.2.300'

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/switch_button_active_light" />
<corners android:radius="4dp" />
</shape>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/osmand_live_active" />
<corners android:radius="26dp" />
</shape>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/osmand_live_cancelled" />
<corners android:radius="26dp" />
</shape>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:angle="0"
android:startColor="@color/track_gradient_start"
android:centerColor="@color/track_gradient_center"
android:endColor="@color/track_gradient_end"
android:type="linear" />
</shape>
</item>
</selector>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/switch_button_active_dark" />
<corners android:radius="4dp" />
</shape>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="@color/switch_button_active_dark" />
</shape>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="@color/switch_button_active_light" />
</shape>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,22C17.5228,22 22,17.5228 22,12C22,6.4771 17.5228,2 12,2C6.4771,2 2,6.4771 2,12C2,17.5228 6.4771,22 12,22ZM11,14V7H13V14H11ZM11,18V16H13V18H11Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22H17V20H12C7.66,20 4,16.34 4,12C4,7.66 7.66,4 12,4C16.34,4 20,7.66 20,12V13.43C20,14.22 19.29,15 18.5,15C17.71,15 17,14.22 17,13.43V12C17,9.24 14.76,7 12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C13.38,17 14.64,16.44 15.54,15.53C16.19,16.42 17.31,17 18.5,17C20.47,17 22,15.4 22,13.43V12C22,6.48 17.52,2 12,2ZM12,15C10.34,15 9,13.66 9,12C9,10.34 10.34,9 12,9C13.66,9 15,10.34 15,12C15,13.66 13.66,15 12,15Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M20,12C20,15.4738 17.7859,18.4304 14.692,19.5358L14.9449,21.5593C19.0304,20.3022 22,16.4979 22,12C22,6.4771 17.5228,2 12,2C6.4771,2 2,6.4771 2,12C2,16.4979 4.9696,20.3022 9.0551,21.5593L9.308,19.5358C6.2141,18.4304 4,15.4738 4,12C4,7.5817 7.5817,4 12,4C16.4183,4 20,7.5817 20,12Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M18,12C18,14.4466 16.5357,16.5511 14.4356,17.485L14.1701,15.3607C15.2713,14.6482 16,13.4092 16,12C16,9.7909 14.2091,8 12,8C9.7909,8 8,9.7909 8,12C8,13.4092 8.7287,14.6482 9.8299,15.3607L9.5644,17.485C7.4643,16.5511 6,14.4466 6,12C6,8.6863 8.6863,6 12,6C15.3137,6 18,8.6863 18,12Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M14,12C14,13.1046 13.1046,14 12,14C10.8954,14 10,13.1046 10,12C10,10.8954 10.8954,10 12,10C13.1046,10 14,10.8954 14,12Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M11,15V22H13V15H11Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M22.0001,12C22.0001,13.9623 21.4349,15.7926 20.4583,17.337L18.9991,15.8777C19.6369,14.7291 20.0001,13.407 20.0001,12C20.0001,7.5817 16.4183,4 12.0001,4C10.5931,4 9.271,4.3632 8.1223,5.0009L6.6631,3.5417C8.2075,2.5652 10.0378,2 12.0001,2C17.5229,2 22.0001,6.4771 22.0001,12Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M18.0001,12C18.0001,12.8478 17.8242,13.6545 17.507,14.3857L15.9203,12.7989C15.9726,12.5407 16.0001,12.2736 16.0001,12C16.0001,9.7909 14.2092,8 12.0001,8C11.7265,8 11.4593,8.0275 11.2012,8.0798L9.6144,6.493C10.3456,6.1758 11.1523,6 12.0001,6C15.3138,6 18.0001,8.6863 18.0001,12Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M14.3449,16.759L14.4357,17.485C14.5806,17.4206 14.7225,17.3506 14.8611,17.2752L16.3203,18.7344C15.8138,19.0599 15.2682,19.33 14.692,19.5358L14.945,21.5593C15.9623,21.2463 16.9105,20.7753 17.7609,20.1749L21.293,23.7071L22.7072,22.2928L2.7072,2.2929L1.293,3.7071L3.8251,6.2392C2.6754,7.8677 2.0001,9.855 2.0001,12C2.0001,16.4979 4.9696,20.3022 9.0552,21.5593L9.3081,19.5358C6.2141,18.4304 4.0001,15.4738 4.0001,12C4.0001,10.4087 4.4647,8.9258 5.2657,7.6798L6.7248,9.1389C6.2626,9.9894 6.0001,10.964 6.0001,12C6.0001,14.4466 7.4644,16.5511 9.5644,17.485L9.83,15.3607C8.7288,14.6482 8.0001,13.4092 8.0001,12C8.0001,11.5256 8.0826,11.0705 8.2342,10.6483L10.0555,12.4696C10.2305,13.197 10.8031,13.7695 11.5305,13.9446L12.5859,15H11.0001V22H13.0001V15.4142L14.3449,16.759Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M6,18V17.9725C3.75,17.7238 2,15.8163 2,13.5C2,11.0147 4.0147,9 6.5,9C6.5998,9 6.6989,9.0033 6.7971,9.0097C7.8332,7.2109 9.7752,6 12,6C15.3137,6 18,8.6863 18,12C18,12.0574 17.9992,12.1146 17.9976,12.1716C18.3111,12.0605 18.6485,12 19,12C20.6569,12 22,13.3431 22,15C22,16.6569 20.6569,18 19,18H6Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M6,17.9725V18H19C20.6569,18 22,16.6569 22,15C22,13.3431 20.6569,12 19,12C18.6485,12 18.3111,12.0605 17.9976,12.1716C17.9992,12.1146 18,12.0574 18,12C18,8.6863 15.3137,6 12,6C9.7752,6 7.8332,7.2109 6.7971,9.0097C6.6989,9.0033 6.5998,9 6.5,9C4.0147,9 2,11.0147 2,13.5C2,15.8163 3.75,17.7238 6,17.9725ZM11,13V8H13V13H11ZM11,17V15H13V17H11Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M14,18V15H16.5L12.5,10L8.5,15H11V18H6V17.9725C3.75,17.7238 2,15.8163 2,13.5C2,11.0147 4.0147,9 6.5,9C6.5998,9 6.6989,9.0033 6.7971,9.0097C7.8332,7.2109 9.7752,6 12,6C15.3137,6 18,8.6863 18,12C18,12.0574 17.9992,12.1146 17.9976,12.1716C18.3111,12.0605 18.6485,12 19,12C20.6569,12 22,13.3431 22,15C22,16.6569 20.6569,18 19,18H14Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M6,18V17.9725C3.75,17.7238 2,15.8163 2,13.5C2,11.0147 4.0147,9 6.5,9C6.5998,9 6.6989,9.0033 6.7971,9.0097C7.8332,7.2109 9.7752,6 12,6C15.3137,6 18,8.6863 18,12C18,12.0574 17.9992,12.1146 17.9976,12.1716C18.3111,12.0605 18.6485,12 19,12C20.6569,12 22,13.3431 22,15C22,16.6569 20.6569,18 19,18H6Z"
android:fillColor="#6C19FF"/>
<path
android:pathData="M11,15H8.5L12.5,9.5L16.5,15H14V20H11V15Z"
android:fillColor="#FFC30D"/>
</vector>

View file

@ -0,0 +1,63 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M22,2V19C22,20.6569 20.6569,22 19,22H5C3.3431,22 2,20.6569 2,19V2H4V18H20V2H22Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M13,14.2C13,14.0895 13.0895,14 13.2,14H17.8C17.9105,14 18,14.0895 18,14.2V15.8C18,15.9105 17.9105,16 17.8,16H13.2C13.0895,16 13,15.9105 13,15.8V14.2Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M6,6H9V8H6V6Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M11,6H18V8H11V6Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M4,4H20V2H4V4Z"
android:strokeAlpha="0.7"
android:fillColor="#ffffff"
android:fillAlpha="0.7"/>
<path
android:pathData="M4,4H20V18H4V4Z"
android:strokeAlpha="0.1"
android:fillColor="#ffffff"
android:fillAlpha="0.1"/>
<path
android:pathData="M6,9H11V10H6V9Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M6,11H7V12H6V11Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M12,9H14V10H12V9Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M15,9H18V10H15V9Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M8,11H12V12H8V11Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M13,11H18V12H13V11Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M6.2,14C6.0895,14 6,14.0895 6,14.2V15.8C6,15.9105 6.0895,16 6.2,16H10.8C10.9105,16 11,15.9105 11,15.8V14.2C11,14.0895 10.9105,14 10.8,14H6.2Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
</vector>

View file

@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M6,2C4.8954,2 4,2.8954 4,4V20C4,21.1046 4.8954,22 6,22H18C19.1046,22 20,21.1046 20,20V8H16C14.8954,8 14,7.1046 14,6V2H6ZM9,9H7V11H9V9ZM7,13H9V15H7V13ZM7,17H9V19H7V17ZM11,11V9H17V11H11ZM17,15V13H11V15H17ZM17,19V17H11V19H17Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
<path
android:pathData="M14,2L20,8H16C14.8954,8 14,7.1046 14,6V2Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M17,9H11V11H17V9Z"
android:strokeAlpha="0.2"
android:fillColor="#ffffff"
android:fillAlpha="0.2"/>
<path
android:pathData="M11,13H17V15H11V13Z"
android:strokeAlpha="0.2"
android:fillColor="#ffffff"
android:fillAlpha="0.2"/>
<path
android:pathData="M11,17H17V19H11V17Z"
android:strokeAlpha="0.2"
android:fillColor="#ffffff"
android:fillAlpha="0.2"/>
</vector>

View file

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M2,12C2,16.9406 5.5829,21.0444 10.2922,21.8547C10.1025,21.2707 10,20.6473 10,20C10,17.913 11.0655,16.0749 12.6822,15L11.0001,15L11,11.9338L12.7455,10.8865C13.2136,10.6056 13.5,10.0998 13.5,9.554L13.5,9.25C13.5,8.5597 12.9403,8 12.25,8H12C11.4477,8 11,8.4477 11,9H9C9,7.3432 10.3431,6 12,6H12.25C14.0449,6 15.5,7.4551 15.5,9.25L15.5,9.554C15.4999,10.8024 14.845,11.9592 13.7745,12.6015L13,13.0662L13.0001,14.8027C13.8826,14.2922 14.9072,14 16,14H21.8C21.9311,13.3538 22,12.6849 22,12C22,6.4771 17.5228,2 12,2C6.4771,2 2,6.4771 2,12Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M16,16H17V18H16C14.8954,18 14,18.8954 14,20C14,21.1046 14.8954,22 16,22H17V24H16C13.7909,24 12,22.2091 12,20C12,17.7909 13.7909,16 16,16Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M20,22H19V24H20C22.2091,24 24,22.2091 24,20C24,17.7909 22.2091,16 20,16H19V18H20C21.1046,18 22,18.8954 22,20C22,21.1046 21.1046,22 20,22Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M16,20C16,19.4477 16.4477,19 17,19H19C19.5523,19 20,19.4477 20,20C20,20.5523 19.5523,21 19,21H17C16.4477,21 16,20.5523 16,20Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M8,5C8,3.8954 8.8954,3 10,3H14C15.1046,3 16,3.8954 16,5V8H20V19C20,20.1046 19.1046,21 18,21H6C4.8954,21 4,20.1046 4,19V8H8V5ZM14,5V8H10V5H14ZM10,18V11L15.5,14L10,18Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M10,3C8.8954,3 8,3.8954 8,5V8H4V19C4,20.1046 4.8954,21 6,21H18C19.1046,21 20,20.1046 20,19V8H16V5C16,3.8954 15.1046,3 14,3H10ZM14,8V5H10V8H14ZM6,10H18V19H6V10Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M14,2L20,8H16C14.8954,8 14,7.1046 14,6V2Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M4,4C4,2.8954 4.8954,2 6,2H14V6C14,7.1046 14.8954,8 16,8H20V20C20,21.1046 19.1046,22 18,22H6C4.8954,22 4,21.1046 4,20V4ZM11,18H13V13H15L12,9L9,13H11V18Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,37 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,5C12.5523,5 13,4.5523 13,4H17V8.0549C16.6717,8.0186 16.338,8 16,8C11.0294,8 7,12.0294 7,17V4H11C11,4.5523 11.4477,5 12,5Z"
android:strokeAlpha="0.3"
android:fillColor="#ffffff"
android:fillAlpha="0.3"/>
<path
android:pathData="M7,17C7,18.0519 7.1805,19.0617 7.5121,20H7V17Z"
android:strokeAlpha="0.3"
android:fillColor="#ffffff"
android:fillAlpha="0.3"/>
<path
android:pathData="M17,2.01L7,2C5.9,2 5,2.9 5,4V20C5,21.1 5.9,22 7,22H8.5155C8.1025,21.383 7.7638,20.7121 7.5121,20H7V4H11C11,4.5523 11.4477,5 12,5C12.5523,5 13,4.5523 13,4H17V8.0549C17.6935,8.1316 18.3632,8.287 19,8.5121V4C19,2.9 18.1,2.01 17,2.01Z"
android:strokeAlpha="0.7"
android:fillColor="#ffffff"
android:fillAlpha="0.7"/>
<path
android:pathData="M16,21C18.2091,21 20,19.2091 20,17C20,14.7909 18.2091,13 16,13C13.7909,13 12,14.7909 12,17H14L11,20L8,17H10C10,13.6863 12.6863,11 16,11C19.3137,11 22,13.6863 22,17C22,20.3137 19.3137,23 16,23C14.598,23 13.3082,22.5191 12.2868,21.7132L13.7159,20.2841C14.3635,20.7354 15.1508,21 16,21Z"
android:fillType="evenOdd">
<aapt:attr name="android:fillColor">
<gradient
android:gradientRadius="6.36396"
android:centerX="16"
android:centerY="17"
android:type="radial">
<item android:offset="0" android:color="#FFFFFFFF"/>
<item android:offset="0.8125" android:color="#FFFFFFFF"/>
<item android:offset="1" android:color="#00FFFFFF"/>
</gradient>
</aapt:attr>
</path>
</vector>

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,0.9999L16,4.9999L12,8.9999L12,6C8.6863,6 6,8.6863 6,12C6,12.7351 6.1322,13.4394 6.3741,14.0903L4.8574,15.6071C4.309,14.5232 4,13.2977 4,12C4,7.5817 7.5817,4 12,4V0.9999Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M12,15.0001L12,18C15.3137,18 18,15.3137 18,12C18,11.2649 17.8678,10.5606 17.6258,9.9097L19.1426,8.3929C19.691,9.4768 20,10.7023 20,12C20,16.4183 16.4183,20 12,20V23.0001L8,19.0001L12,15.0001Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M6,3C4.8954,3 4,3.8954 4,5V7H20C20,5.8954 19.1046,5 18,5H13L11.4,3H6Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M2,7C2,5.8954 2.8954,5 4,5H10L12,7H20C21.1046,7 22,7.8954 22,9V19C22,20.1046 21.1046,21 20,21H4C2.8954,21 2,20.1046 2,19V7ZM17,12C17,13.1046 16.1046,14 15,14C13.8954,14 13,13.1046 13,12C13,10.8954 13.8954,10 15,10C16.1046,10 17,10.8954 17,12ZM10,17.5V19H20V17.5C20,15.5 17,15 15,15C13,15 10,15.5 10,17.5Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:bottomLeftRadius="@dimen/list_item_button_padding"
android:topLeftRadius="@dimen/list_item_button_padding" />
<solid android:color="@color/list_background_color_dark" />
</shape>

View file

@ -0,0 +1,11 @@
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/active_buttons_and_links_trans_light">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<corners
android:bottomLeftRadius="@dimen/list_item_button_padding"
android:topLeftRadius="@dimen/list_item_button_padding" />
<solid android:color="@color/active_color_primary_light" />
</shape>
</item>
</ripple>

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/background">
<shape android:shape="rectangle">
<solid android:color="#4d007eb3" />
<corners android:radius="30dp" />
</shape>
</item>
<item android:id="@+id/progress">
<shape android:shape="rectangle">
<solid android:color="@color/color_white" />
<corners android:radius="30dp" />
</shape>
</item>
</layer-list>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<item android:id="@+id/thump">
<shape android:shape="oval">
<size
android:width="12dp"
android:height="12dp" />
<solid android:color="@color/profile_icon_color_blue_light" />
</shape>
</item>
</layer-list>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="2dp"
android:height="2dp" />
<solid android:color="#17181A" />
</shape>

View file

@ -9,8 +9,8 @@
<gradient
android:angle="90"
android:startColor="#1A000000"
android:centerColor="#00FFFFFF"
android:endColor="#00FFFFFF" />
android:centerColor="#00000000"
android:endColor="#00000000" />
</shape>
</item>
@ -23,8 +23,8 @@
<gradient
android:angle="90"
android:startColor="#0D000000"
android:centerColor="#00FFFFFF"
android:endColor="#00FFFFFF" />
android:centerColor="#00000000"
android:endColor="#00000000" />
</shape>
</item>

View file

@ -50,6 +50,7 @@
android:layout_height="match_parent"
android:layout_gravity="start"
android:layout_marginTop="@dimen/dashboard_map_toolbar"
android:background="?attr/activity_background_basic"
android:visibility="gone">
<net.osmand.plus.views.controls.DynamicListView

View file

@ -16,20 +16,34 @@
android:focusable="true"
android:orientation="vertical"
android:clickable="true"
tools:background="@drawable/bg_bottom_menu_dark">
tools:ignore="UselessParent">
<ProgressBar
android:id="@+id/snap_to_road_progress_bar"
style="?android:attr/progressBarStyleHorizontal"
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:visibility="gone"
tools:visibility="visible" />
android:layout_height="wrap_content">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@drawable/bg_contextmenu_shadow_top_light" />
<ProgressBar
android:id="@+id/snap_to_road_progress_bar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:background="?attr/list_background_color"
android:visibility="invisible"
tools:visibility="visible" />
</FrameLayout>
<LinearLayout
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:background="?attr/list_background_color">
<RelativeLayout
android:id="@+id/up_down_row"
@ -53,6 +67,19 @@
android:background="@null"
tools:src="@drawable/ic_action_ruler"/>
<include
layout="@layout/custom_icon_radio_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/content_padding_half"
android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
android:layout_marginRight="@dimen/content_padding_half"
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
android:background="@null" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/up_down_button"
android:layout_width="wrap_content"
@ -65,6 +92,7 @@
android:layout_marginRight="@dimen/bottom_sheet_content_margin"
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
android:background="@null"
android:visibility="gone"
tools:src="@drawable/ic_action_arrow_down"/>
<TextView
@ -160,7 +188,9 @@
android:paddingRight="@dimen/measurement_tool_text_button_padding_small"
android:text="@string/shared_string_options"
android:textColor="?attr/color_dialog_buttons"
osmand:typeface="@string/font_roboto_medium" />
osmand:typeface="@string/font_roboto_medium"
android:paddingEnd="@dimen/measurement_tool_text_button_padding_small"
android:paddingStart="@dimen/measurement_tool_text_button_padding_small" />
<RelativeLayout
android:layout_width="wrap_content"
@ -195,11 +225,13 @@
<include
android:id="@+id/add_point_button"
layout="@layout/bottom_sheet_dialog_button"
android:layout_width="@dimen/measurement_tool_button_width"
android:layout_width="wrap_content"
android:layout_height="@dimen/measurement_tool_button_height"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" />
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:minWidth="@dimen/measurement_tool_button_width" />
</RelativeLayout>
<RelativeLayout
@ -211,14 +243,15 @@
<include
android:id="@+id/apply_move_point_button"
layout="@layout/bottom_sheet_dialog_button"
android:layout_width="wrap_content"
android:layout_height="@dimen/measurement_tool_button_height"
android:layout_width="@dimen/measurement_tool_button_width"
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
android:layout_marginRight="@dimen/measurement_tool_button_margin"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
layout="@layout/bottom_sheet_dialog_button" />
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
android:layout_marginRight="@dimen/measurement_tool_button_margin"
android:minWidth="@dimen/measurement_tool_button_width" />
<net.osmand.plus.widgets.TextViewEx

View file

@ -659,6 +659,7 @@
<!-- CENTER -->
<FrameLayout
android:id="@+id/top_controls_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dp"
android:layout_marginRight="-8dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="-8dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:scaleType="centerInside"
android:duplicateParentState="true"/>

View file

@ -17,7 +17,9 @@
android:layout_marginRight="@dimen/content_padding"
android:layout_marginBottom="@dimen/content_padding_small"
android:tint="?attr/default_icon_color"
osmand:srcCompat="@drawable/ic_action_user_account" />
osmand:srcCompat="@drawable/ic_action_user_account"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding" />
<LinearLayout
android:layout_width="wrap_content"
@ -26,7 +28,9 @@
android:layout_marginTop="@dimen/subHeaderPadding"
android:layout_marginRight="@dimen/content_padding"
android:layout_marginBottom="@dimen/subHeaderPadding"
android:orientation="vertical">
android:orientation="vertical"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/account_title"

View file

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:osmand="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:focusable="true"
android:focusableInTouchMode="true" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/name_text_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/favorite_category_name"
android:paddingStart="@dimen/content_padding"
android:paddingLeft="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding"
android:paddingRight="@dimen/content_padding"
app:startIconDrawable="@drawable/ic_action_folder"
app:boxBackgroundColor="?attr/text_input_background"
app:boxStrokeColor="@color/osmand_orange"
app:hintTextColor="@color/text_color_secondary_light">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/name_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:lineSpacingMultiplier="@dimen/bottom_sheet_text_spacing_multiplier" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<net.osmand.plus.widgets.TextViewEx
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="@dimen/context_menu_first_line_top_margin"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="@dimen/context_menu_first_line_top_margin"
android:text="@string/select_color"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium"
android:paddingEnd="@dimen/content_padding"
android:paddingStart="@dimen/content_padding" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/color_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:letterSpacing="@dimen/description_letter_spacing"
android:paddingLeft="@dimen/content_padding"
android:paddingTop="@dimen/context_menu_first_line_top_margin"
android:paddingRight="@dimen/content_padding"
android:paddingBottom="@dimen/context_menu_first_line_top_margin"
android:text="@string/select_color"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding" />
</LinearLayout>
<LinearLayout
android:id="@+id/select_color"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/content_padding_small"
android:layout_marginLeft="@dimen/content_padding_small"
android:layout_marginTop="@dimen/context_menu_padding_margin_tiny"
android:layout_marginBottom="@dimen/content_padding_half"
android:orientation="horizontal" />
</LinearLayout>

View file

@ -86,6 +86,8 @@
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/content_padding_small"
android:layout_marginRight="@dimen/content_padding_small"
android:paddingBottom="@dimen/content_padding" />
android:paddingBottom="@dimen/content_padding"
android:layout_marginStart="@dimen/content_padding_small"
android:layout_marginEnd="@dimen/content_padding_small" />
</LinearLayout>

View file

@ -62,18 +62,12 @@
osmand:typeface="@string/font_roboto_medium"
tools:text="Normal" />
<SeekBar
android:id="@+id/seek_bar_arrival"
style="@style/Widget.AppCompat.SeekBar.Discrete"
<com.google.android.material.slider.Slider
android:id="@+id/arrival_slider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/pages_item_margin"
android:maxHeight="2dp"
android:paddingTop="11dp"
android:paddingBottom="11dp"
osmand:tickMark="@drawable/seekbar_tickmark_announcement_time"
tools:max="3"
tools:progress="1" />
android:layout_marginLeft="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding" />
<View
android:id="@+id/divider"

View file

@ -3,14 +3,13 @@
xmlns:osmand="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
tools:background="@drawable/btn_background_inactive_dark">
<LinearLayout
android:id="@+id/button_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground"
android:gravity="center_vertical"
android:minHeight="@dimen/bottom_sheet_list_item_height"
android:orientation="horizontal"
@ -20,7 +19,6 @@
android:paddingEnd="@dimen/content_padding_small"
android:paddingRight="@dimen/content_padding_small"
android:paddingBottom="@dimen/text_margin_small"
tools:background="@drawable/btn_background_inactive_dark"
tools:ignore="UselessParent">
<LinearLayout

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:osmand="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="@dimen/dialog_button_height"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginLeft="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding"
android:orientation="vertical">
<LinearLayout
android:id="@+id/button_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:gravity="center"
android:orientation="horizontal"
tools:ignore="UselessParent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/button_icon"
android:layout_width="@dimen/map_widget_icon"
android:layout_height="@dimen/map_widget_icon"
android:layout_marginEnd="@dimen/content_padding_small"
android:layout_marginRight="@dimen/content_padding_small"
android:tint="?attr/active_color_basic"
tools:srcCompat="@drawable/ic_action_appearance" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/context_menu_controller_height"
android:layout_marginRight="@dimen/context_menu_controller_height"
android:letterSpacing="@dimen/description_letter_spacing"
android:textColor="?attr/active_color_basic"
android:textSize="@dimen/default_desc_text_size"
osmand:typeface="@string/font_roboto_medium"
tools:text="Button" />
</LinearLayout>
</LinearLayout>

View file

@ -8,7 +8,9 @@
android:paddingBottom="@dimen/content_padding_small"
android:minHeight="@dimen/card_row_min_height"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:paddingEnd="@dimen/content_padding"
android:paddingStart="@dimen/content_padding">
<TextView
android:id="@+id/description"

View file

@ -57,7 +57,9 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/content_padding_half"
android:layout_marginLeft="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding">
android:layout_marginRight="@dimen/content_padding"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding">
<LinearLayout
android:id="@+id/text"

View file

@ -13,11 +13,11 @@
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding"
android:minHeight="@dimen/bottom_sheet_list_item_height"
android:paddingStart="@dimen/content_padding"
android:paddingLeft="@dimen/content_padding"
android:paddingRight="@dimen/content_padding"
tools:background="@drawable/rectangle_rounded_right"
android:paddingEnd="@dimen/content_padding"
android:paddingStart="@dimen/content_padding">
android:paddingRight="@dimen/content_padding"
tools:background="@drawable/rectangle_rounded_right">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/title"
@ -41,7 +41,8 @@
android:background="@null"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
android:focusableInTouchMode="false"
android:saveEnabled="false" />
</LinearLayout>

View file

@ -7,4 +7,6 @@
android:paddingLeft="@dimen/content_padding"
android:paddingRight="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_small"
android:paddingBottom="@dimen/content_padding_small" />
android:paddingBottom="@dimen/content_padding_small"
android:paddingEnd="@dimen/content_padding"
android:paddingStart="@dimen/content_padding" />

View file

@ -11,7 +11,9 @@
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="@dimen/content_padding"
android:paddingRight="@dimen/content_padding">
android:paddingRight="@dimen/content_padding"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding">
<net.osmand.plus.widgets.TextViewEx
android:id="@android:id/title"
@ -43,6 +45,8 @@
android:layout_marginLeft="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding" />
</LinearLayout>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_sheet_large_list_item_height"
@ -8,6 +7,7 @@
android:orientation="vertical">
<LinearLayout
android:id="@+id/descriptionContainer"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_sheet_large_list_item_height"
android:gravity="center_vertical"

View file

@ -1,63 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:gravity="center_vertical"
android:minHeight="@dimen/bottom_sheet_selected_item_title_height"
android:paddingLeft="@dimen/content_padding"
android:paddingRight="@dimen/content_padding"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:gravity="center_vertical"
android:minHeight="@dimen/bottom_sheet_selected_item_title_height"
android:paddingStart="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding">
android:paddingLeft="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding"
android:paddingRight="@dimen/content_padding">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon"
android:layout_width="@dimen/standard_icon_size"
android:layout_height="@dimen/standard_icon_size"
android:layout_gravity="center_vertical"
android:layout_marginEnd="@dimen/bottom_sheet_icon_margin"
android:layout_marginRight="@dimen/bottom_sheet_icon_margin"
tools:src="@drawable/list_destination"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon"
android:layout_width="@dimen/standard_icon_size"
android:layout_height="@dimen/standard_icon_size"
android:layout_gravity="center_vertical"
android:layout_marginEnd="@dimen/bottom_sheet_icon_margin"
android:layout_marginRight="@dimen/bottom_sheet_icon_margin"
tools:src="@drawable/list_destination" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="@style/TextAppearance.ListItemTitle"
tools:text="Some title"/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="@style/TextAppearance.ListItemTitle"
tools:text="Some title" />
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:textAppearance="@style/TextAppearance.ContextMenuSubtitle"
android:textColor="@null"
tools:text="Some description"/>
</LinearLayout>
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:textAppearance="@style/TextAppearance.ContextMenuSubtitle"
android:textColor="@null"
tools:text="Some description" />
</LinearLayout>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/compound_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
android:background="@null"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"/>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/compound_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
android:background="@null"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:saveEnabled="false" />
</LinearLayout>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:minHeight="@dimen/bottom_sheet_selected_item_title_height"
android:paddingStart="@dimen/content_padding"
android:paddingLeft="@dimen/content_padding"
android:paddingEnd="@dimen/content_padding"
android:paddingRight="@dimen/content_padding">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/title"
style="@style/TextAppearance.ListItemTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
tools:text="Some title" />
<TextView
android:id="@+id/description"
style="@style/TextAppearance.ContextMenuSubtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:letterSpacing="@dimen/description_letter_spacing"
android:maxLines="1"
tools:text="Some description" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon"
android:layout_width="@dimen/standard_icon_size"
android:layout_height="@dimen/standard_icon_size"
android:layout_gravity="center_vertical"
tools:src="@drawable/list_destination" />
</LinearLayout>

View file

@ -90,7 +90,9 @@
android:paddingLeft="@dimen/content_padding"
android:paddingRight="@dimen/content_padding"
android:layout_width="wrap_content"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:paddingEnd="@dimen/content_padding"
android:paddingStart="@dimen/content_padding">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/end_button_icon"

View file

@ -90,7 +90,9 @@
android:layout_gravity="center"
android:layout_marginLeft="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding"
tools:src="@drawable/ic_action_info_dark" />
tools:src="@drawable/ic_action_info_dark"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginStart="@dimen/content_padding" />
</LinearLayout>

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