From 50c56e2051948446c782357fcded51ff4290bdbb Mon Sep 17 00:00:00 2001 From: androiddevkotlin <64539346+androiddevkotlin@users.noreply.github.com> Date: Mon, 18 Jan 2021 18:28:45 +0200 Subject: [PATCH 01/32] Fix UI 1 part Trip recording --- ...h_switch_divider_and_additional_button.xml | 6 + OsmAnd/res/layout/trip_recording_fragment.xml | 170 ++++++++++-------- .../monitoring/TripRecordingBottomSheet.java | 6 +- 3 files changed, 106 insertions(+), 76 deletions(-) diff --git a/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml b/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml index f0ff17170d..ac484e30f3 100644 --- a/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml +++ b/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml @@ -6,6 +6,10 @@ android:layout_height="wrap_content" android:gravity="center_vertical" 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" android:baselineAligned="false"> + xmlns:app="http://schemas.android.com/apk/res-auto" + 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:orientation="vertical"> - + - + - + - + - + - + + - - + - + - + + + + diff --git a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java index f33f7dfa38..4f581b51b7 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java @@ -31,6 +31,7 @@ import net.osmand.plus.UiUtilities.DialogButtonType; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.MenuBottomSheetDialogFragment; import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithDescription; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerItem; import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerSpaceItem; import net.osmand.plus.helpers.AndroidUiHelper; import net.osmand.plus.helpers.FontCache; @@ -50,6 +51,7 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { private ImageView upDownBtn; private SwitchCompat confirmEveryRun; + private RangeSlider intervalSlider; private TextView intervalValueView; private boolean infoExpanded; @@ -110,8 +112,9 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { intervalValueView = itemView.findViewById(R.id.interval_value); updateIntervalLegend(); - RangeSlider intervalSlider = itemView.findViewById(R.id.interval_slider); + intervalSlider = itemView.findViewById(R.id.interval_slider); intervalSlider.setValueTo(secondsLength + minutesLength - 1); + intervalSlider.setVisibility(View.GONE); intervalSlider.addOnChangeListener(new RangeSlider.OnChangeListener() { @Override @@ -218,6 +221,7 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { private void toggleInfoView() { infoExpanded = !infoExpanded; + AndroidUiHelper.updateVisibility(intervalSlider, infoExpanded); AndroidUiHelper.updateVisibility(confirmEveryRun, infoExpanded); updateUpDownBtn(); } From 1c8c45dbad1ef2cc7a2f4dbed5a84b465b79da57 Mon Sep 17 00:00:00 2001 From: androiddevkotlin <64539346+androiddevkotlin@users.noreply.github.com> Date: Tue, 19 Jan 2021 12:16:39 +0200 Subject: [PATCH 02/32] Fix UI 2 part Trip recording --- ...h_switch_divider_and_additional_button.xml | 16 ++++---- OsmAnd/res/layout/trip_recording_fragment.xml | 41 +++++++++++-------- .../monitoring/TripRecordingBottomSheet.java | 3 -- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml b/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml index ac484e30f3..7e522baa0d 100644 --- a/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml +++ b/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml @@ -1,16 +1,14 @@ + android:paddingLeft="@dimen/content_padding"> @@ -46,8 +44,8 @@ android:layout_gravity="center_vertical" android:layout_marginStart="@dimen/bottom_sheet_content_margin" android:layout_marginLeft="@dimen/bottom_sheet_content_margin" - android:layout_marginEnd="@dimen/content_padding_half" - android:layout_marginRight="@dimen/content_padding_half" + android:layout_marginEnd="@dimen/content_padding" + android:layout_marginRight="@dimen/content_padding" tools:checked="true" /> diff --git a/OsmAnd/res/layout/trip_recording_fragment.xml b/OsmAnd/res/layout/trip_recording_fragment.xml index cf50719dad..62bde11259 100644 --- a/OsmAnd/res/layout/trip_recording_fragment.xml +++ b/OsmAnd/res/layout/trip_recording_fragment.xml @@ -15,9 +15,9 @@ android:paddingStart="@dimen/content_padding" android:paddingLeft="@dimen/content_padding" android:paddingTop="@dimen/content_padding_small" - android:paddingBottom="@dimen/content_padding_small" android:paddingEnd="@dimen/content_padding" android:paddingRight="@dimen/content_padding" + android:paddingBottom="@dimen/content_padding_small" android:text="@string/monitoring_settings" android:textSize="@dimen/default_list_text_size" osmand:typeface="@string/font_roboto_medium" /> @@ -68,7 +68,6 @@ android:orientation="vertical" android:paddingStart="@dimen/content_padding" android:paddingLeft="@dimen/content_padding" - android:paddingTop="@dimen/bottom_sheet_content_margin" android:paddingEnd="@dimen/content_padding" android:paddingRight="@dimen/content_padding"> @@ -78,30 +77,36 @@ android:layout_height="wrap_content" android:contentDescription="@string/save_track_interval_globally" android:stepSize="1" + app:haloRadius="@dimen/content_padding_small" app:labelBehavior="gone" - tools:visibility="visible"/> + app:thumbColor="@color/profile_icon_color_blue_light" + app:thumbRadius="@dimen/content_padding_small_half" + app:trackColorActive="@color/profile_icon_color_blue_light" + app:trackColorInactive="#4D007EB3" + app:trackHeight="@dimen/slider_track_height" + tools:visibility="visible" /> - + diff --git a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java index 4f581b51b7..acad56bfb0 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java @@ -68,11 +68,8 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { .setCustomView(itemView) .create()); - int padding = getResources().getDimensionPixelSize(R.dimen.content_padding_small); final int paddingSmall = getResources().getDimensionPixelSize(R.dimen.content_padding_small); - items.add(new DividerSpaceItem(context, padding)); - LinearLayout showTrackOnMapView = itemView.findViewById(R.id.show_track_on_map); TextView showTrackOnMapTitle = showTrackOnMapView.findViewById(R.id.title); showTrackOnMapTitle.setText(R.string.show_track_on_map); From bb10787d1ce0f48971601fff841d15ca151816fd Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Tue, 19 Jan 2021 21:53:12 +0200 Subject: [PATCH 03/32] Fix travel guides navigation --- .../main/java/net/osmand/data/Amenity.java | 1 + .../WikivoyageArticleNavigationFragment.java | 18 +-- .../plus/wikivoyage/data/TravelArticle.java | 1 + .../plus/wikivoyage/data/TravelObfHelper.java | 111 +++++++++--------- 4 files changed, 67 insertions(+), 64 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/data/Amenity.java b/OsmAnd-java/src/main/java/net/osmand/data/Amenity.java index 3ef6a54652..14d0abab79 100644 --- a/OsmAnd-java/src/main/java/net/osmand/data/Amenity.java +++ b/OsmAnd-java/src/main/java/net/osmand/data/Amenity.java @@ -41,6 +41,7 @@ public class Amenity extends MapObject { public static final String OSM_DELETE_TAG = "osmand_change"; public static final String IMAGE_TITLE = "image_title"; public static final String IS_PART = "is_part"; + public static final String IS_PARENT_OF = "is_parent_of"; public static final String IS_AGGR_PART = "is_aggr_part"; public static final String CONTENT_JSON = "content_json"; public static final String ROUTE_ID = "route_id"; diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleNavigationFragment.java b/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleNavigationFragment.java index 960608a784..1018874d26 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleNavigationFragment.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleNavigationFragment.java @@ -104,7 +104,7 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { WikivoyageSearchResult articleItem = listAdapter.getArticleItem(groupPosition, childPosition); - sendResults(articleItem.getArticleId()); + sendResults(articleItem.getArticleTitle()); dismiss(); return true; } @@ -113,10 +113,10 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr @Override public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { WikivoyageSearchResult articleItem = (WikivoyageSearchResult) listAdapter.getGroup(groupPosition); - if (Algorithms.isEmpty(articleItem.getArticleRouteId())) { + if (Algorithms.isEmpty(articleItem.getArticleTitle())) { Toast.makeText(getContext(), R.string.wiki_article_not_found, Toast.LENGTH_LONG).show(); } else { - sendResults(articleItem.getArticleId()); + sendResults(articleItem.getArticleTitle()); dismiss(); } return true; @@ -150,14 +150,14 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr return nightMode ? R.color.wikivoyage_bottom_bar_bg_dark : R.color.list_background_color_light; } - private void sendResults(TravelArticleIdentifier articleId) { - WikivoyageArticleDialogFragment.showInstance(getMyApplication(), getFragmentManager(), articleId, selectedLang); + private void sendResults(String title) { + WikivoyageArticleDialogFragment.showInstanceByTitle(getMyApplication(), getFragmentManager(), title, selectedLang); } public static boolean showInstance(@NonNull FragmentManager fm, - @Nullable Fragment targetFragment, - @NonNull TravelArticleIdentifier articleId, - @NonNull String selectedLang) { + @Nullable Fragment targetFragment, + @NonNull TravelArticleIdentifier articleId, + @NonNull String selectedLang) { try { Bundle args = new Bundle(); args.putParcelable(ARTICLE_ID_KEY, articleId); @@ -239,7 +239,7 @@ public class WikivoyageArticleNavigationFragment extends MenuBottomSheetDialogFr boolean isLastChild, View convertView, ViewGroup parent) { WikivoyageSearchResult articleItem = getArticleItem(groupPosition, childPosition); String childTitle = articleItem.getArticleTitle(); - boolean selected = articleItem.getArticleId().equals(articleId) || parentsList.contains(childTitle); + boolean selected = childTitle.equals(article.getTitle()) || parentsList.contains(childTitle); if (convertView == null) { convertView = LayoutInflater.from(context) diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelArticle.java b/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelArticle.java index 0989a7c2e1..cf38b7265f 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelArticle.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelArticle.java @@ -31,6 +31,7 @@ public class TravelArticle { String title; String content; String isPartOf; + String isParentOf = ""; double lat = Double.NaN; double lon = Double.NaN; String imageTitle; diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java b/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java index 983663f3d1..6a3e156e5f 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/data/TravelObfHelper.java @@ -172,6 +172,7 @@ public class TravelObfHelper implements TravelHelper { res.title = Algorithms.isEmpty(title) ? amenity.getName() : title; res.content = amenity.getDescription(lang); res.isPartOf = Algorithms.emptyIfNull(amenity.getTagContent(Amenity.IS_PART, lang)); + res.isParentOf = Algorithms.emptyIfNull(amenity.getTagContent(Amenity.IS_PARENT_OF, lang)); res.lat = amenity.getLocation().getLatitude(); res.lon = amenity.getLocation().getLongitude(); res.imageTitle = Algorithms.emptyIfNull(amenity.getTagContent(Amenity.IMAGE_TITLE, null)); @@ -400,64 +401,29 @@ public class TravelObfHelper implements TravelHelper { Map> navMap = new HashMap<>(); Set headers = new LinkedHashSet<>(); Map headerObjs = new HashMap<>(); - Map> amenityMap = new HashMap<>(); - for (BinaryMapIndexReader reader : getReaders()) { - try { - SearchRequest req = BinaryMapIndexReader.buildSearchPoiRequest(0, - Integer.MAX_VALUE, 0, Integer.MAX_VALUE, -1, getSearchFilter(false), new ResultMatcher() { - - @Override - public boolean publish(Amenity amenity) { - String isPartOf = amenity.getTagContent(Amenity.IS_PART, lang); - if (Algorithms.stringsEqual(title, isPartOf)) { - return true; - } else if (parts != null && parts.length > 0) { - String title = amenity.getName(lang); - title = Algorithms.isEmpty(title) ? amenity.getName() : title; - for (int i = 0; i < parts.length; i++) { - String part = parts[i]; - if (i == 0 && Algorithms.stringsEqual(part, title) || Algorithms.stringsEqual(part, isPartOf)) { - return true; - } - } - } - return false; - } - - @Override - public boolean isCancelled() { - return false; - } - }); - List amenities = reader.searchPoi(req); - if (!Algorithms.isEmpty(amenities)) { - amenityMap.put(reader.getFile(), amenities); - } - } catch (Exception e) { - LOG.error(e.getMessage(), e); - } - } if (parts != null && parts.length > 0) { headers.addAll(Arrays.asList(parts)); - headers.add(title); } - if (!Algorithms.isEmpty(amenityMap)) { - for (Entry> entry : amenityMap.entrySet()) { - File file = entry.getKey(); - for (Amenity amenity : entry.getValue()) { - Set nameLangs = getLanguages(amenity); - if (nameLangs.contains(lang)) { - TravelArticle a = readArticle(file, amenity, lang, false); - WikivoyageSearchResult rs = new WikivoyageSearchResult(a, new ArrayList<>(nameLangs)); - List l = navMap.get(rs.isPartOf); - if (l == null) { - l = new ArrayList<>(); - navMap.put(rs.isPartOf, l); - } - l.add(rs); - if (headers.contains(a.getTitle())) { - headerObjs.put(a.getTitle(), rs); - } + + for (String header : headers) { + TravelArticle parentArticle = getParentArticleByTitle(header, lang); + if (parentArticle == null) { + continue; + } + navMap.put(header, new ArrayList()); + String[] isParentOf = parentArticle.isParentOf.split(";"); + for (String childTitle : isParentOf) { + if (!childTitle.isEmpty()) { + WikivoyageSearchResult searchResult = new WikivoyageSearchResult("", childTitle, null, + null, Collections.singletonList(lang)); + List resultList = navMap.get(header); + if (resultList == null) { + resultList = new ArrayList<>(); + navMap.put(header, resultList); + } + resultList.add(searchResult); + if (headers.contains(childTitle)) { + headerObjs.put(childTitle, searchResult); } } } @@ -482,6 +448,41 @@ public class TravelObfHelper implements TravelHelper { return res; } + private TravelArticle getParentArticleByTitle(final String title, final String lang) { + TravelArticle article = null; + final List amenities = new ArrayList<>(); + for (BinaryMapIndexReader reader : getReaders()) { + try { + SearchRequest req = BinaryMapIndexReader.buildSearchPoiRequest( + 0, 0, title, 0, Integer.MAX_VALUE, 0, Integer.MAX_VALUE, getSearchFilter(false), + new ResultMatcher() { + boolean done = false; + + @Override + public boolean publish(Amenity amenity) { + if (Algorithms.stringsEqual(title, Algorithms.emptyIfNull(amenity.getName(lang)))) { + amenities.add(amenity); + done = true; + } + return false; + } + + @Override + public boolean isCancelled() { + return done; + } + }, null); + reader.searchPoiByName(req); + } catch (IOException e) { + LOG.error(e.getMessage()); + } + if (!Algorithms.isEmpty(amenities)) { + article = readArticle(reader.getFile(), amenities.get(0), lang, false); + } + } + return article; + } + @Override public TravelArticle getArticleById(@NonNull TravelArticleIdentifier articleId, @NonNull String lang) { TravelArticle article = getCachedArticle(articleId, lang, true); From a1aeb9953b4de1e84f32405f1d984a2d0ce33df8 Mon Sep 17 00:00:00 2001 From: androiddevkotlin <64539346+androiddevkotlin@users.noreply.github.com> Date: Wed, 20 Jan 2021 21:40:54 +0200 Subject: [PATCH 04/32] Fix rtl, icon, color tick, visible container --- ...eet_with_switch_divider_and_additional_button.xml | 12 +++++++----- OsmAnd/res/layout/trip_recording_fragment.xml | 2 +- .../plus/monitoring/TripRecordingBottomSheet.java | 10 ++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml b/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml index 7e522baa0d..681c03e560 100644 --- a/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml +++ b/OsmAnd/res/layout/bottom_sheet_with_switch_divider_and_additional_button.xml @@ -8,6 +8,8 @@ android:gravity="center_vertical" android:minHeight="@dimen/bottom_sheet_selected_item_title_height" android:paddingStart="@dimen/content_padding" + android:paddingEnd="@dimen/content_padding" + android:paddingRight="@dimen/content_padding" android:paddingLeft="@dimen/content_padding"> @@ -66,11 +68,11 @@ diff --git a/OsmAnd/res/layout/trip_recording_fragment.xml b/OsmAnd/res/layout/trip_recording_fragment.xml index 62bde11259..f34545e7f2 100644 --- a/OsmAnd/res/layout/trip_recording_fragment.xml +++ b/OsmAnd/res/layout/trip_recording_fragment.xml @@ -83,6 +83,7 @@ app:thumbRadius="@dimen/content_padding_small_half" app:trackColorActive="@color/profile_icon_color_blue_light" app:trackColorInactive="#4D007EB3" + app:tickColorInactive="#007EB3" app:trackHeight="@dimen/slider_track_height" tools:visibility="visible" /> @@ -97,7 +98,6 @@ android:text="@string/confirm_every_run" android:textColor="?android:textColorPrimary" android:textSize="@dimen/default_list_text_size" - android:visibility="gone" osmand:typeface="@string/font_roboto_regular" tools:visibility="visible" /> diff --git a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java index acad56bfb0..54b444ff30 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java @@ -31,8 +31,6 @@ import net.osmand.plus.UiUtilities.DialogButtonType; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.MenuBottomSheetDialogFragment; import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithDescription; -import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerItem; -import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerSpaceItem; import net.osmand.plus.helpers.AndroidUiHelper; import net.osmand.plus.helpers.FontCache; import net.osmand.plus.settings.backend.OsmandSettings; @@ -53,7 +51,7 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { private SwitchCompat confirmEveryRun; private RangeSlider intervalSlider; private TextView intervalValueView; - + private LinearLayout container; private boolean infoExpanded; @Override @@ -109,9 +107,10 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { intervalValueView = itemView.findViewById(R.id.interval_value); updateIntervalLegend(); + container = itemView.findViewById(R.id.always_ask_and_range_slider_container); intervalSlider = itemView.findViewById(R.id.interval_slider); intervalSlider.setValueTo(secondsLength + minutesLength - 1); - intervalSlider.setVisibility(View.GONE); + container.setVisibility(View.GONE); intervalSlider.addOnChangeListener(new RangeSlider.OnChangeListener() { @Override @@ -218,8 +217,7 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { private void toggleInfoView() { infoExpanded = !infoExpanded; - AndroidUiHelper.updateVisibility(intervalSlider, infoExpanded); - AndroidUiHelper.updateVisibility(confirmEveryRun, infoExpanded); + AndroidUiHelper.updateVisibility(container, infoExpanded); updateUpDownBtn(); } From 84deb83900649a8026a5f7a3d90e0137758f9b96 Mon Sep 17 00:00:00 2001 From: androiddevkotlin <64539346+androiddevkotlin@users.noreply.github.com> Date: Wed, 20 Jan 2021 22:36:53 +0200 Subject: [PATCH 05/32] Always ask color text --- OsmAnd/res/layout/trip_recording_fragment.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/layout/trip_recording_fragment.xml b/OsmAnd/res/layout/trip_recording_fragment.xml index f34545e7f2..8c43e98d5f 100644 --- a/OsmAnd/res/layout/trip_recording_fragment.xml +++ b/OsmAnd/res/layout/trip_recording_fragment.xml @@ -96,7 +96,7 @@ android:paddingLeft="@dimen/content_padding_small" android:paddingRight="@dimen/content_padding_small" android:text="@string/confirm_every_run" - android:textColor="?android:textColorPrimary" + android:textColor="?attr/color_dialog_buttons" android:textSize="@dimen/default_list_text_size" osmand:typeface="@string/font_roboto_regular" tools:visibility="visible" /> From d7466a2a3aaf9392251713bb00166296681c5b7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Babos=20G=C3=A1bor?= Date: Tue, 19 Jan 2021 13:32:00 +0000 Subject: [PATCH 06/32] Translated using Weblate (Hungarian) Currently translated at 99.9% (3642 of 3645 strings) --- OsmAnd/res/values-hu/strings.xml | 109 +++++++++++++++++++------------ 1 file changed, 67 insertions(+), 42 deletions(-) diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index 64d40e287c..47f1522f96 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -266,7 +266,7 @@ Hely pozíció elküldése Hely megosztása \'\'{0}\'\' GPX-útpont hozzáadva - Útpont hozzáadása a rögzített GPX-útvonalhoz + Útpont hozzáadása felvett GPX nyomvonalhoz Közigazgatás Akadály Oktatás @@ -545,7 +545,7 @@ Beállítások Jelenlegi nyomvonal mentése GPX fájlba most. Jelenlegi nyomvonal mentése - A navigáció alatti útvonalrögzítéshez adja meg a naplózási intervallumot + A navigáció alatti nyomvonalfelvételhez adja meg a naplózási intervallumot Naplózási intervallum navigáció közben Navigáció közben a GPX útvonal automatikusan mentésre kerül az OsmAnd „tracks” könyvtárába. Térképcsempe újratöltése @@ -852,7 +852,7 @@ %1$s köztes célpont Kérlek engedélyezd a GPS-t a beállításokban Célpont irányának megjelenítése - A pozíciónaplózási szolgáltatások (GPX naplózás, online útvonalrögzítés) használatához engedélyed az „Útvonalrögzítés” bővítményt + A pozíciónaplózási szolgáltatások (GPX naplózás, online útvonalrögzítés) használatához engedélyed az „Utazás felvétele” bővítményt Esetleg nem optimális útvonal kiszámítása nagyobb távolságokra Útszínséma kiválasztása: Útszín sémája @@ -954,8 +954,8 @@ OsmAnd+ térkép és navigáció Utcanév Házszám - Útvonalrögzítés - Az útvonalaid felvételének beállításai. + Utazás felvétele + Az utazások felvételének beállításai. Az alkalmazás megjelenésének testreszabása. Téma Akadálymentesítési lehetőségek @@ -1296,7 +1296,7 @@ Ez a bővítmény aktiválja a nyomvonalak rögzítésének és mentésének lehetőségét, ha megnyomja a GPX naplózó gombot a térképképernyőn, valamint képes minden navigációs útvonalat automatikusan egy GPX-fájlba naplózni. \n \nA rögzített nyomvonalak megoszthatók az ismerősökkel, vagy használhatók az OSM hozzájárulásoknál. A sportolók a rögzített nyomvonalakat az edzéseik megfigyeléséhez használhatják. Néhány alapvető nyomvonalelemzés közvetlenül az OsmAnd programon belül is végrehajtható, mint például köridők, átlagsebesség stb., és természetesen a nyomvonalak később harmadik féltől származó elemzőeszközökkel is elemezhetők. - Útvonalrögzítés + Utazás felvétele ó Időtartam Távolság @@ -1435,7 +1435,7 @@ Nyomvonal pontok Kijelölve Az átnevezés nem sikerült. - Jelenleg rögzülő nyomvonal + Jelenleg felvett nyomvonal Vissza a térképhez Helyzet:\n Szélesség %1$s\n Hosszúság %2$s Útvonal pontok @@ -1660,11 +1660,11 @@ perc/mérföld perc/km m/s - Útvonalrögzítés + Utazás felvétele Navigáció Háttérben fut Pozíciószimuláció leállítása. - Szimuláció megtervezett útvonallal vagy felvett GPX-szel. + Szimuláció megtervezett útvonallal vagy felvett GPX nyomvonallal. GPX-fájl helyszínekkel. Helyszín Autószállító vonat nélkül @@ -1889,8 +1889,8 @@ elem eltávolítva Típus Kiindulópont - Felvétel vágás - Felvétel automatikus darabolása + Felvétel vágása + Felvétel automatikus elvágása Klipp hossz Tárolási méret Közreműködők száma @@ -1908,8 +1908,8 @@ Érvénytelen karakter a fájlnévben Az alkalmazás már tud írni a külső tárolóra, de ehhez egy kézi újraindítás szükséges. Klipek elvágása, ha a felhasznált hely túllépi a tárolási méretet. - A felvett klipek maximális hossza. - Az összes klip által elfoglalható hely. + A felvett klipek legnagyobb hossza. + Az összes felvett klip által elfoglalható hely. Kérjük, vegyen fel jelölőket a térképen Nem találhatók útpontok Relatív irány @@ -2036,12 +2036,12 @@ A mappához ön is adhat nyomvonalfájlokat Továbbiak hozzáadása… Megjelenés - Gyors rögzítés bekapcsolása - Egy útvonalrögzítés megkezdését lehetővé tevő rendszerértesítés megjelenítése. + Gyors felvétel bekapcsolása + Az utazásfelvétel megkezdését lehetővé tevő rendszerértesítés megjelenítése. Értesítések Szünet Túra - Felvett + Felvéve Felvétel Legkisebb naplózási sebesség Szűrő: Ez alatti sebességnél nem rögzít pontot. @@ -2307,8 +2307,8 @@ Korrigált távolság Engedélyek Nem sikerült a fájl importálása. Győződjék meg arról, hogy az OsmAndnak van engedélye a fájl olvasására. - Rögzített nyomvonalak tárolása havi könyvtárakban - Rögzített nyomvonalak tárolása havi bontású alkönyvtárakban (pl. 2018-01). + Felvett nyomvonalak tárolása havi mappákban + Felvett nyomvonalak tárolása havi bontású almappákban (pl. 2018-01). Visszaállítás Újratöltés Csempék újratöltése naprakész adatok megjelenítéséhez. @@ -2435,7 +2435,7 @@ Hibás formátum Út OSM-objektum létrehozása vagy módosítása - Hozzon létre vagy módosítson OSM POI-kat, nyisson vagy kommenteljen OSM-jegyzeteket, és működjék közre rögzített GPX-nyomvonalakkal. + Hozzon létre vagy módosítson OSM POI-kat, nyisson vagy kommenteljen OSM-jegyzeteket, és működjék közre felvett GPX-nyomvonalakkal. Törölve Szerkesztve Hozzáadva @@ -2720,7 +2720,7 @@ guarani GPS navigáció \n • Válassz az offline (nincs roamingdíj külföldön) vagy online (gyorsabb) mód között -\n • Kanyaronkénti hangutasítások vezetnek végig az úton (rögzített és előállított hangok) +\n • Kanyaronkénti hangutasítások vezetnek végig az úton (felvett és előállított hangok) \n • Az útvonalterv újratervezésre kerül, ha eltérsz attól \n • Sávvezérlés, utcanevek, és becsült érkezési idő segít az úton \n • Az út biztonságosabbá tételéhez a nappali/éjszakai mód automatikusan vált @@ -3105,9 +3105,9 @@ Domborzatárnyékolás megjelenítése/elrejtése Nyomvonal tárolási könyvtára A nyomvonalak a \'rec\' könyvtárban tárolhatók, havi vagy napi bontás szerinti könyvtárakban. - Nyomvonalak rögzítése a \'rec\' könyvtárba - Nyomvonalak rögzítése napi bontású könyvtárakba - Nyomvonalak rögzítése alkönyvtárakba a rögzítés napja szerint (pl. 2018-01-01). + Nyomvonalak felvétele a \'rec\' mappába + Nyomvonalak felvétele napi bontású mappákba + Nyomvonalak rögzítése a rögzítés napja szerinti almappákba (pl. 2018-01-01). Profil exportálása OsmAnd profil: %1$s \'%1$s\' már létezik. Felülírja\? @@ -3211,7 +3211,7 @@ Kezdő Könnyű Kapcsolat - Pozíció szimulálása egy rögzített GPX-nyomvonal felhasználásával. + Pozíció szimulálása egy felvett GPX nyomvonal felhasználásával. Kerékpárút-hálózatok csomópontjainak megjelenítése Törölje ezt: %1$s\? Ponthálózatok @@ -3222,7 +3222,7 @@ Új bővítmény hozzáadva Szegmensek összekapcsolása Irány belefoglalása - Rögzítéskor menti az egyes útpontok irányát is. + Felvételkor az egyes útpontok irányát is menti. Pozíció ikon haladás közben Pozíció ikon álló helyzetben Az Alkalmaz-ra koppintva a törölt profilok végérvényesen elvesznek. @@ -3332,10 +3332,10 @@ Képméret, hang- és videominőség Bejelentkezés, jelszó, offline szerkesztés Ikonalak, -szín és -méret kiválasztása - Lehetővé teszi az útvonal rögzítésével az aktuális pozíció megosztását. + Az utazás felvételével lehetővé teszi az aktuális pozíció megosztását. Online nyomvonalrögzítés Naplózás pontossága - Az összes rögzített nyomvonal megtalálható a %1$s helyen vagy a fájlkezelővel az OsmAnd mappában. + Az összes felvett nyomvonal megtalálható a %1$s helyen vagy a fájlkezelővel az OsmAnd mappában. Az összes OSM-jegyzetét megtalálja a %1$s helyen. Videojegyzetek Fényképes jegyzetek @@ -3376,7 +3376,7 @@ Visszaállítja a profil összes beállítását\? Új profil mentése Profil biztonsági mentése sikertelen. - Biztosan törölni szeretné a rögzített adatokat\? + Biztosan törölni szeretné a felvett adatokat\? Adatok importálása innen: %1$s Importálás A lejtőkről többet olvashat itt: %1$s. @@ -3428,7 +3428,7 @@ Nyolcszög Négyzet Min - Rögzített adatok törlése + Felvett adatok törlése Engedélyezésével domborzatárnyékolás vagy lejtőtérkép jeleníthető meg. Ezekről a térképfajtákról többet olvashat a honlapunkon. Túrasízés Motoros szán @@ -3704,10 +3704,10 @@ \n \n Válassza ki, hogy a nyomvonalon milyen távolság- vagy időintervallumok jelzései jelenjenek meg. - Ez a szűrő kiküszöböli az ismétlődő pontok rögzítését ott, ahol túl kevés tényleges mozgás történhetett, így szebb lesz a később utólag fel nem dolgozott nyomvonalak térbeli megjelenése. + Ez a szűrő kiküszöböli az ismétlődő pontok felvételét ott, ahol túl kevés tényleges mozgás történhetett, így szebb lesz a később utólag fel nem dolgozott nyomvonalak térbeli megjelenése. Felvétel vágása A nyomvonal naplózása szünetelni fog, amikor az alkalmazást (újabb alkalmazásokkal) kilövik. (Ilyenkor az OsmAnd háttérjelzése is eltűnik az Android értesítési sávjáról.) - Javaslat: Először próbálja meg a mozgásérzékelést használni a legkisebb elmozdulást naplózó szűrővel (B). Ez jobb eredményeket hozhat, és kevesebb adatot veszít. Ha a nyomvonalak alacsony sebességnél továbbra is zajosak, próbálkozzon itt nullától eltérő értékekkel. Felhívjuk figyelmét, hogy egyes (hálózatalapú módszereket használó) mérőeszközök egyáltalán nem adnak sebességértéket, így ebben az esetben semmi sem fog rögzülni. + Javaslat: Először próbálja meg a mozgásérzékelést használni a legkisebb elmozdulást naplózó szűrővel (B). Ez jobb eredményeket hozhat, és kevesebb adatot veszít. Ha a nyomvonalak alacsony sebességnél továbbra is zajosak, próbálkozzon itt nullától eltérő értékekkel. Felhívjuk figyelmét, hogy egyes (hálózatalapú módszereket használó) mérőeszközök egyáltalán nem adnak sebességértéket, így ebben az esetben semmi sem lesz felvéve. Utcaszintű képek Csak az út vonala lesz elmentve, az útpontok törlődnek. Kiindulás és érkezés ikonjainak megjelenítése @@ -3718,7 +3718,7 @@ Minden korábbi szakasz újra lesz számítva a kiválasztott profilnak megfelelően. Térkép frissítése Előző szakasz - Ez csak a minimális pontosságúnak megjelölt mért pontokat rögzíti (méterben/lábban, ahogy azt az Android a lapkakészletnek közvetíti). Ez pontosság (accuracy) a mérések valódi helyzethez való közelsége, és nem kapcsolódik közvetlenül az ismételt mérések szórásának pontosságához (precision). + Ez csak a minimális pontosságúnak megjelölt mért pontokat veszi fel (méterben/lábban, ahogy azt az Android a lapkakészletnek közvetíti). Ez pontosság (accuracy) a mérések valódi helyzethez való közelsége, és nem kapcsolódik közvetlenül az ismételt mérések szórásának pontosságához (precision). Nyomvonal követése REC Rendszer alapértelmezett értékei @@ -3728,8 +3728,8 @@ Útpont hozzáadása a nyomvonalhoz Nyomvonal rögzítése GPX-fájlba Nyomvonalak - Nyomvonalfájlok importálása vagy rögzítése - Ez egy alacsonysebesség-leválasztó szűrő, amely egy bizonyos sebesség alatt nem rögzít pontokat. Ezáltal a rögzített nyomvonalak simábbnak néznek ki a térképen. + Nyomvonalfájlok importálása vagy felvétele + Ez egy alacsonysebesség-leválasztó szűrő, amely egy bizonyos sebesség alatt nem vesz fel pontokat. Ezáltal a felvett nyomvonalak simábbnak néznek ki a térképen. Az OsmAnd ellenőrizze %1$s-t, hogy vannak-e másolatok az alkalmazás meglévő elemeivel. \n \nEz eltarthat egy ideig. @@ -3740,7 +3740,7 @@ Mellékhatás: A pontosság szerinti szűrés eredményeként egyes pontok teljesen hiányozhatnak pl. hidak vagy fák alatt, magas épületek között, vagy bizonyos időjárási körülmények között. Küszöbtávolság Nyomvonal kezdete - Nyomvonal automatikus rögzítése navigáció közben + Nyomvonal automatikus felvétele navigáció közben Mellékhatás: A nyomvonalból hiányozni fog minden olyan szakasz, ahol a legkisebb sebesség feltétele nem teljesült (pl. egy meredek dombra tolja fel a kerékpárt). Nem lesz információ az állásokról sem, például a pihenőkről. Ez hatással van minden elemzésre és utófeldolgozásra, például amikor megpróbálja meghatározni az utazás teljes hosszát, a mozgásban töltött időt vagy az átlagsebességét. Adjon hozzá legalább két pontot. Csatolás az utakhoz @@ -3762,8 +3762,8 @@ Útpont hozzáadása a nyomvonalhoz Útvonaltípus módosítása ez után: Útvonal követése - Ajánlás: Nehéz megjósolni, hogy mi fog rögzülni és mi nem, így talán a legjobb ezt a szűrőt kikapcsolni. - Utazás rögzítése + Ajánlás: Nehéz megjósolni, hogy mi lesz a felvételen és mi nem, így talán a legjobb ezt a szűrőt kikapcsolni. + Utazás felvétele Nem sikerült elemezni a következő térképmegjelenítési szándékot: „%s”. Meglévő nyomvonal megnyitása Tömör @@ -3771,14 +3771,14 @@ Csak a következő szakasz lesz újraszámítva a kiválasztott profilnak megfelelően. Ezután a beállítás használatához igazítsa a nyomvonalat a legközelebbi úthoz az egyik navigációs profil segítségével. Egyedi - Utazás rögzítésének szüneteltetése + Utazás felvételének szüneteltetése Mentés új nyomvonalfájlként Utoljára szerkesztve - Adja meg az általános nyomvonalrögzítés naplózási intervallumát (bekapcsolva a térképen található „Utazás rögzítése” widgettel). + Adja meg az általános nyomvonalfelvétel naplózási intervallumát (bekapcsolva a térképen található „Utazás felvétele” widgettel). Válassza ki a kívánt felosztási lehetőséget: idő vagy távolság szerint. - Utazás rögzítésének folytatása + Utazás felvételének folytatása Navigációs profil - Megjegyzés a „sebesség > 0” ellenőrzéséhez: A legtöbb GPS lapkakészlet (chipset) csak akkor mutat sebességértéket, ha az algoritmus megállapítja, hogy mozgásban van. Ha nincs mozgás, akkor nem mutatnak sebességet. Ezért ebben a szűrőben a „> 0” beállítás bizonyos értelemben a GPS lapkakészlet mozgásérzékelését használja. De – még ha a rögzítés ideje alatt itt nem is szűrjük – a GPX elemzése során mégis használjuk ezt a funkciót a korrigált távolság meghatározásához, vagyis az abban a mezőben megjelenített érték a mozgás közben rögzített távolság. + Megjegyzés a „sebesség > 0” ellenőrzéséhez: A legtöbb GPS lapkakészlet (chipset) csak akkor mutat sebességértéket, ha az algoritmus megállapítja, hogy mozgásban van. Ha nincs mozgás, akkor nem mutatnak sebességet. Ezért ebben a szűrőben a „> 0” beállítás bizonyos értelemben a GPS lapkakészlet mozgásérzékelését használja. De – még ha a felvétel ideje alatt itt nem is szűrjük – a GPX elemzése során mégis használjuk ezt a funkciót a korrigált távolság meghatározásához, vagyis az abban a mezőben megjelenített érték a mozgás közben rögzített távolság. Csak a kijelölt szakasz lesz újraszámítva a kiválasztott profilnak megfelelően. Biztosan elveti az összes módosítást a tervezett útvonalon\? Válassza ki a követendő nyomvonalfájlt @@ -3793,7 +3793,7 @@ Legközelebbi pont Nyomvonalfájlok hozzáadása Fordított irány esetén - Mellékhatások: A nyugalmi periódusok egyáltalán nem vagy csak egy ponttal rögzülnek. Kiszűrhetők a kis (valós) mozgások (pl. az út során egy átvezető út jelzése céljából megtett kitérők). A fájl kevesebb információt tartalmaz az utófeldolgozáshoz és rosszabb a statisztikája, mivel a felvételkor kiszűri a nyilvánvalóan felesleges pontokat, miközben megtarthatja a rossz vétel vagy a GPS lapkakészlet által okozott hibás mintázatok. + Mellékhatások: A nyugalmi periódusok egyáltalán nem vagy csak egy ponttal lesznek felvéve. Kiszűrhetők a kis (valós) mozgások (pl. az út során egy átvezető út jelzése céljából megtett kitérők). A fájl kevesebb információt tartalmaz az utófeldolgozáshoz és rosszabb a statisztikája, mivel a felvételkor kiszűri a nyilvánvalóan felesleges pontokat, miközben megtarthatja a rossz vétel vagy a GPS lapkakészlet által okozott hibás mintázatok. Minden későbbi szakasz %s nyomvonalfájl kijelölve Jelölje ki azt a nyomvonalfájlt, amelyhez az új szakasz hozzáadódjék. @@ -3966,4 +3966,29 @@ Nyomvonal szerkesztése Nyomvonal átnevezése Mappa módosítása + Felvétel indítása + mp. + Túlhaladás + Megközelítés + Hosszú felkészülés + Felkészülés + Letérés az útvonalról + Érkezés a célponthoz + Bekanyarodás + Idő- és távolságintervallumok + Hegyi kerékpár + Versenykerékpár + Nyomvonal megjelenítése a térképen + Kerekesszék + Túrázás + Gyaloglás + E-kerékpározás + Hegyi kerékpározás + Verenykerékpározás + Rendes kerékpározás + Tgk. + Nehéz tgk. + Kisteherautó + Szerverhiba: %1$s + Ez a név már létezik \ No newline at end of file From 3c2a94109857157e716a28dec6c8230b700be143 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Tue, 19 Jan 2021 11:39:27 +0000 Subject: [PATCH 07/32] Translated using Weblate (French) Currently translated at 99.6% (3634 of 3645 strings) --- OsmAnd/res/values-fr/strings.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index e5f41539c2..11268680f0 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3957,4 +3957,26 @@ Sélectionnez le dossier Sélectionnez un dossier ou créez-en un nouveau Vide + Approche + Préparation + Longue préparation + Arrivé à destination + Tourner + Afficher la trace sur la carte + Trottinette + Camionnette + Envoyer vers OpenStreetMap + Modifier la trace + Renommer la trace + Modifier le dossier + sec + Démarrer l\'enregistrement + Fauteuil roulant + Randonnée + Marche + Camion + Vélo de course + VTT + Erreur serveur : %1$s + Ce nom existe déjà \ No newline at end of file From 74b41fce882736630b011b0bf7128ebfc9837a7f Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 19 Jan 2021 09:30:28 +0000 Subject: [PATCH 08/32] Translated using Weblate (German) Currently translated at 99.8% (3638 of 3645 strings) --- OsmAnd/res/values-de/strings.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 494ad991ff..6d53fd5262 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3977,4 +3977,25 @@ Track editieren Track umbenennen Ordner ändern + Abbiegung + Zeit- und Distanzintervalle + Der Ansagezeitpunkt der verschiedenen Sprachansagen hängt vom Ansagetyp, der aktuellen Navigationsgeschwindigkeit und der Standard-Navigationsgeschwindigkeit ab. + Ansagezeitpunkt + Aufzeichnung starten + Track auf der Karte anzeigen + Rollstuhl + Wandern + Fußgänger + E-Bike fahren + Straßenradsport + Bergradsport + Normales Radfahren + Lkw + Kleintransporter + Lkw + Motorroller + Rennrad + Mountainbike + Server-Fehler: %1$s + Der Name ist bereits vorhanden \ No newline at end of file From 8feeb2081d027d3aa36fb9ed74d2944fa0ee3749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Tue, 19 Jan 2021 06:29:57 +0000 Subject: [PATCH 09/32] Translated using Weblate (Turkish) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-tr/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 344183c102..2785932852 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -3973,4 +3973,32 @@ Yolu düzenle Yolu yeniden adlandır Klasörü değiştir + sn + Geçme + Yaklaşma + Hazırlık + Uzun hazırlık + Güzergah dışı + Hedefe varış + Dönüş + Zaman ve mesafe aralıkları + Farklı sesli komutların duyuru zamanı komut türüne, geçerli navigasyon hızına ve öntanımlı navigasyon hızına bağlıdır. + Duyuru zamanı + Kaydı başlat + Yolu haritada göster + Tekerlekli sandalye + Yürüyüş + Yürüme + Elektrikli bisiklet + Dağ bisikleti + Yol bisikleti + Genel bisiklet + Ağır yük aracı + Dağ bisikleti + Küçük kamyon + Kamyon + Mobilet + Yarış bisikleti + Sunucu hatası: %1$s + Ad zaten var \ No newline at end of file From 033935943c56f2b1fa75da0faac3f6c25481721d Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Tue, 19 Jan 2021 07:20:24 +0000 Subject: [PATCH 10/32] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-uk/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 6910c9a902..ecb41bb50d 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -3971,4 +3971,32 @@ Редагувати трек Перейменувати трек Змінити теку + с + Проходження + Наближення + Завчасне приготування + Приготуватися + По за маршрутом + Прибуття до місця призначення + Поворот + Інтервали часу та відстаней + Час оголошення різних голосових підказок залежить від типу запиту, поточної швидкості навігації та типової швидкості переходів. + Час оголошення + Почати запис + Показати трек на мапі + Інвалідний візок + Піша прогулянка + Ходьба + Електричний велосипед + Гірський велосипед + Дорожній велосипед + Звичайний велосипед + Вантажівка + Невелика вантажівка + Вантажівка + Скутер + Гоночний велосипед + Гірський велосипед + Помилка сервера: %1$s + Назва вже існує \ No newline at end of file From 9745c23b42fbb3b4677d4ce16f4d6f933bd958b3 Mon Sep 17 00:00:00 2001 From: ace shadow Date: Wed, 20 Jan 2021 00:32:42 +0000 Subject: [PATCH 11/32] Translated using Weblate (Slovak) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-sk/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index 6d3fbf6d12..e1da748102 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -3967,4 +3967,32 @@ Upraviť stopu Premenovať stopu Zmeniť priečinok + sek. + Pri bode trasy + Priblíženie sa + Pripraviť sa neskôr + Pripraviť sa + Mimo trasy + Dosiahnutie cieľa + Intervaly času a vzdialenosti + Čas oznamu rôznych hlasových pokynov závisí od typu pokynu, aktuálnej rýchlosti navigácie a predvolenej rýchlosti navigácie. + Čas oznamu + Začať záznam + Zobraziť stopu na mape + Invalidný vozík + Turistika + Chôdza + Elektrické bicyklovanie + Horské bicyklovanie + Cestné bicyklovanie + Bežné bicyklovanie + Nákladné auto + Malé nákladné auto + Kamión + Skúter + Závodný bicykel + Horský bicykel + Chyba servera: %1$s + Názov už existuje + Odbočiť \ No newline at end of file From 964b89701e6ae23160e5b442fdce770c6f8c2aa3 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 19 Jan 2021 11:54:39 +0000 Subject: [PATCH 12/32] Translated using Weblate (Hebrew) Currently translated at 99.5% (3627 of 3645 strings) --- OsmAnd/res/values-iw/strings.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/OsmAnd/res/values-iw/strings.xml b/OsmAnd/res/values-iw/strings.xml index 7ca3bcdb8d..f4360809bc 100644 --- a/OsmAnd/res/values-iw/strings.xml +++ b/OsmAnd/res/values-iw/strings.xml @@ -3975,4 +3975,15 @@ עריכת מסלול שינוי שם מסלול החלפת תיקייה + זמן ההכרזה + התחלת הקלטה + כסא גלגלים + הליכה + משאית קטנה + משאית + קטנוע + אופנוע מרוצים + אופני הרים + שגיאת שרת: %1$s + השם כבר קיים \ No newline at end of file From cc93512dfc02c12a3952339a1f2d6c94b4c4d59f Mon Sep 17 00:00:00 2001 From: Ahmad Alfrhood Date: Tue, 19 Jan 2021 09:09:50 +0000 Subject: [PATCH 13/32] Translated using Weblate (Arabic) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-ar/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 9bd65acc41..ef68e3055c 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -4035,4 +4035,32 @@ تحرير المسار تسمية المسار تغيير المجلد + ثانية + تمرير + طريقة + تحضير طويل + إعداد + إيقاف المسار + الوصول إلى الوجهة + منعطف + الوقت والمسافة + وقت الإعلان عن مختلف المطالبات الصوتية يعتمد على نوع موجه، وسرعة التنقل الحالية وسرعة التنقل الافتراضية. + وقت الإعلان + بدء التسجيل + عرض المسار على الخريطة + منحدرات + مشي + مشي + ركوب الدراجات الكهربائية + ركوب الدراجات الجبلية + ركوب الدراجات على الطرق + ركوب الدراجات + مركبات الحمولة الثقيلة + شاحنة صغيرة + شاحنة + سكوتر + سباق الدراجات + MTB + خطأ في الخادم: %1$s + الاسم موجود بالفعل \ No newline at end of file From 29d060c64b25c18ba2d2fbaf227cef680db1671e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Kotr=C4=8D?= Date: Wed, 20 Jan 2021 20:05:39 +0000 Subject: [PATCH 14/32] Translated using Weblate (Czech) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-cs/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index 6f001d5965..8ad497f92c 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -3972,4 +3972,32 @@ Editovat stopu Přejmenovat stopu Změnit složku + sek. + Míjení + Přiblížení + Dlouhá příprava + Příprava + Odchýlení od trasy + Dosažení cíle + Odbočit + Intervaly času a vzdálenosti + Čas oznámení různých hlasových pokynů závisí na typu pokynu, aktuální rychlosti navigace a výchozí rychlosti navigace. + Čas oznámení + Spustit záznam + Zobrazit stopu na mapě + Invalidní vozík + Turistika + Chůze + Jízda na elektrokole + Horská cyklistika + Silniční cyklistika + Běžná cyklistika + Nákladní auto + Malé nákladní auto + Kamion + Skútr + Závodní kolo + Horské kolo + Chyba serveru: %1$s + Název již existuje \ No newline at end of file From fbe684924ead9721397857d9903226f823862c9e Mon Sep 17 00:00:00 2001 From: ace shadow Date: Wed, 20 Jan 2021 00:33:36 +0000 Subject: [PATCH 15/32] Translated using Weblate (Slovak) Currently translated at 95.4% (3704 of 3881 strings) --- OsmAnd/res/values-sk/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sk/phrases.xml b/OsmAnd/res/values-sk/phrases.xml index 7848da6dee..bb55a5a250 100644 --- a/OsmAnd/res/values-sk/phrases.xml +++ b/OsmAnd/res/values-sk/phrases.xml @@ -133,7 +133,7 @@ Kontrola vozidla (technická/emisná) Autoumyváreň Benzínová pumpa;Čerpacia stanica - Nabíjacia stanica + Nabíjacia stanica pre vozidlá Servisná rampa na auto Stlačený vzduch Parkovisko From 2ca9e6df882cbcbe70a6d95d1de8bd3887ebaf67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Tue, 19 Jan 2021 09:41:17 +0000 Subject: [PATCH 16/32] Translated using Weblate (Estonian) Currently translated at 100.0% (3881 of 3881 strings) --- OsmAnd/res/values-et/phrases.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-et/phrases.xml b/OsmAnd/res/values-et/phrases.xml index 684815e89c..94a665876a 100644 --- a/OsmAnd/res/values-et/phrases.xml +++ b/OsmAnd/res/values-et/phrases.xml @@ -643,7 +643,7 @@ Jet A-1 kütus Mäekuru Paatide bensiinijaam - Laadimisjaam + Laadimisjaam;Elektriautode laadimisjaam;Elektriauto laadimine;Laadimispunkt;Elektriautode laadimispunkt Parvlaev Üheksa kurikaga keegel Kümne kurikaga keegel @@ -3877,4 +3877,8 @@ Ei Jäätmejaam Avalik pesumaja + Ujumiskoht + Tunnel nahkhiirtele + Sild nahkhiirtele + Metsloomade teeületuskoht \ No newline at end of file From 7e4eba8afff5bc7a10a8ad357c502671d19066e3 Mon Sep 17 00:00:00 2001 From: Franco Date: Tue, 19 Jan 2021 18:49:24 +0000 Subject: [PATCH 17/32] Translated using Weblate (Spanish (Argentina)) Currently translated at 99.8% (3641 of 3645 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 799a1f7e8a..15fb02f566 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -3975,4 +3975,32 @@ Editar traza Renombrar traza Cambiar carpeta + seg + Pasando + Acercarse + Preparación larga + Preparar + Fuera de la ruta + Has llegado al destino + Giro + Intervalos de tiempo y distancia + El tiempo de anuncio de las diferentes indicaciones por voz depende del tipo de mensaje, la velocidad de navegación actual y la velocidad de navegación predefinida. + Tiempo de anuncio + Iniciar grabación + Mostrar traza en el mapa + Silla de ruedas + Senderismo + Peatón + Ciclismo eléctrico + Ciclismo de montaña + Ciclismo de ruta + Ciclismo regular + Vehículos pesados + Camión pequeño + Camión + Motoneta + Bicicleta de carreras + Bicicleta de montaña + Error de servidor: %1$s + El nombre ya existe \ No newline at end of file From baa66b8d4b7da0c7042d7e6b0e2296a1a2eddea7 Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Wed, 20 Jan 2021 00:49:44 +0000 Subject: [PATCH 18/32] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 0b5a8b33f2..27b74056cb 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3967,4 +3967,32 @@ Editar trilha Renomear trilha Mudar pasta + seg + Passando + Aproximação + Longa preparação + Preparar + Fora da rota + Chegue ao destino + Virar + Intervalos de tempo e distância + O tempo de anúncio de diferentes comandos de voz depende do tipo de prompt, velocidade de navegação atual e velocidade de navegação padrão. + Hora do anúncio + Comece a gravar + Mostrar trilha no mapa + Cadeira de rodas + Caminhada + Caminhando + Ciclismo elétrico + Mountain bike + Ciclismo regular + Ciclismo regular + Veículos de carga pesada + Caminhão pequeno + Caminhão + Lambreta + Bicicleta de corrida + MTB + Erro de servidor: %1$s + O nome já existe \ No newline at end of file From 12027a4429561d6072987884a35fc0684201865e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Tue, 19 Jan 2021 09:35:30 +0000 Subject: [PATCH 19/32] Translated using Weblate (Estonian) Currently translated at 98.3% (3586 of 3645 strings) --- OsmAnd/res/values-et/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-et/strings.xml b/OsmAnd/res/values-et/strings.xml index 2ccf7cc2fe..5068575a75 100644 --- a/OsmAnd/res/values-et/strings.xml +++ b/OsmAnd/res/values-et/strings.xml @@ -3946,4 +3946,6 @@ Pööra kõik punktid ümber Vali rakenduse käivitamisel kasutatav profiil. Viimati kasutatud + Serveri viga: %1$s + Selline nimi on juba olemas \ No newline at end of file From d29a379c73a4f6dfce2c2878e9cdf0c7f5554dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Tue, 19 Jan 2021 06:33:19 +0000 Subject: [PATCH 20/32] Translated using Weblate (Turkish) Currently translated at 80.8% (3138 of 3881 strings) --- OsmAnd/res/values-tr/phrases.xml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-tr/phrases.xml b/OsmAnd/res/values-tr/phrases.xml index 558e72a682..2fe8bccf32 100644 --- a/OsmAnd/res/values-tr/phrases.xml +++ b/OsmAnd/res/values-tr/phrases.xml @@ -194,7 +194,7 @@ Gaz istasyonu;Benzin istasyonu;Dolum istasyonu;Petrol istasyonu Dizel GTL dizel - TIR dizel + Ağır yük aracı dizeli Bio dizel LPG 80 Oktan @@ -215,7 +215,7 @@ Biyogaz Sıvı hidrojen Elektrik - Şarj istasyonu + Şarj istasyonu; Elektrikli araç şarj istasyonu; EA şarj istasyonu; Elektrikli şarj noktası; Şarj noktası; Elektronik şarj istasyonu; Elektrikli araç besleme ekipmanı Araç rampa Basınçlı hava Otopark @@ -1187,7 +1187,7 @@ Sürüş paylaşım noktası Park ve sürüş Mofa erişimi - Ağır vasıta erişimi + Ağır yük aracı erişimi Hafif ticari araç erişimi Demirleme yeri Yükleme şamandırası @@ -1436,7 +1436,7 @@ Evet Ses: hayır Sadece yürümeye izin verildiğinde - Ağır vasıta geçiş ücreti + Ağır yük aracı geçiş ücreti Kurtarma istasyonu Çapalar Servis alanı @@ -3133,4 +3133,9 @@ Dolap türü: kablo tv Dolap türü: telefon Dolap türü: elektrik + Ağır yük aracı erişimi: uygun değil + Ağır yük aracı erişimi: önerilmiyor + Ağır yük aracı erişimi: tarım + Ağır yük aracı erişimi: hayır + Ağır yük aracı erişimi: özel \ No newline at end of file From 7903aa9819962eba30726aa40cf41af67bf66935 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Wed, 20 Jan 2021 21:05:31 +0000 Subject: [PATCH 21/32] Translated using Weblate (Esperanto) Currently translated at 99.4% (3624 of 3645 strings) --- OsmAnd/res/values-eo/strings.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index db0a01c2ab..86f48ed9a0 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3972,4 +3972,11 @@ Redakti spuron Renomi spuron Ŝanĝi dosierujon + Kamioneto + Kamiono + Skotero + Biciklo vetkura + Montbiciklo + Servila eraro: %1$s + Tiu ĉi nomo jam estas uzata \ No newline at end of file From b2cb061673200d1a593b7706a0b71bfe009ff0e6 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Tue, 19 Jan 2021 02:39:50 +0000 Subject: [PATCH 22/32] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index dbb7f64fa0..b0a914696c 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -3965,4 +3965,32 @@ 編輯軌跡 重新命名軌跡 變更資料夾 + + 通過 + 接近 + 長準備 + 準備 + 偏離路線 + 抵達目的地 + 轉彎 + 時間與距離間隔 + 不同語音提示的公告時間取決於提示類型、目前的導航速度與預設的導航速度。 + 公告時間 + 開始錄製 + 在地圖上顯示軌跡 + 輪椅 + 健行 + 步行 + 電動自行車 + 山地自行車 + 公路自行車 + 一般自行車 + 大貨車 + 小貨車 + 卡車 + 速克達 + 競賽摩托車 + 登山車 + 伺服器錯誤:%1$s + 名稱已存在 \ No newline at end of file From 01387ef52ec711ff374c59890a90dcddc49f7d06 Mon Sep 17 00:00:00 2001 From: letypequividelespoubelles Date: Wed, 20 Jan 2021 21:31:44 +0000 Subject: [PATCH 23/32] Translated using Weblate (French) Currently translated at 99.7% (3635 of 3645 strings) --- OsmAnd/res/values-fr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 11268680f0..e861227156 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3979,4 +3979,5 @@ VTT Erreur serveur : %1$s Ce nom existe déjà + Poids lourds \ No newline at end of file From 04bd5b45e269209ee3eb5ee872955eb28933b623 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Wed, 20 Jan 2021 21:34:08 +0000 Subject: [PATCH 24/32] Translated using Weblate (Esperanto) Currently translated at 99.6% (3634 of 3645 strings) --- OsmAnd/res/values-eo/strings.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 86f48ed9a0..ab5f495fee 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3979,4 +3979,14 @@ Montbiciklo Servila eraro: %1$s Tiu ĉi nomo jam estas uzata + Ekigi registri + Montri kurson sur mapo + Rulseĝo + Marŝado + Irado + Elektra biciklado + Montara biciklado + Ŝosea biciklado + Kutima biciklado + Peza kamiono \ No newline at end of file From 1b2e5991002995cce4120a61a4fda885975132da Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Thu, 21 Jan 2021 07:01:16 +0000 Subject: [PATCH 25/32] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3645 of 3645 strings) --- OsmAnd/res/values-uk/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index ecb41bb50d..03e0e54d9d 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -3111,7 +3111,7 @@ Дім на колесах Показати на мапі зони низьких викидів. Не впливає на маршрутизацію. Показати зони низьких викидів - Враховувати часові обмеження + Враховувати тимчасові обмеження Усталений Маршрут: відстань %1$s, час навігації %2$s \nРозрахунок: %3$.1f с, %4$d доріг, %5$d тайлів) Окситанська From c69676372fdf2aef3f556b2e6941a41ee667caf1 Mon Sep 17 00:00:00 2001 From: Ahmad Alfrhood Date: Thu, 21 Jan 2021 06:26:02 +0000 Subject: [PATCH 26/32] Translated using Weblate (Arabic) Currently translated at 92.8% (3602 of 3881 strings) --- OsmAnd/res/values-ar/phrases.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OsmAnd/res/values-ar/phrases.xml b/OsmAnd/res/values-ar/phrases.xml index 398583adbf..86450cf7d9 100644 --- a/OsmAnd/res/values-ar/phrases.xml +++ b/OsmAnd/res/values-ar/phrases.xml @@ -3669,4 +3669,10 @@ محطة نقل نفايات ميزان المركبات مكتب الحارس + خدمات المواطن + تأشيرات الهجرة + تأشيرات لغير المهاجرين + اتصال + قنصلية + سفارة \ No newline at end of file From 1fd47a6f148c3f021190ea3667ccb46b129113c9 Mon Sep 17 00:00:00 2001 From: max-klaus Date: Thu, 21 Jan 2021 13:17:41 +0300 Subject: [PATCH 27/32] Fix srtm/depth features --- .../OsmandInAppPurchaseActivity.java | 2 +- .../chooseplan/ChoosePlanDialogFragment.java | 2 +- .../ChoosePlanFreeBannerDialogFragment.java | 3 +- ...ChoosePlanHillshadeSrtmDialogFragment.java | 60 ++---------------- .../ChoosePlanSeaDepthMapsDialogFragment.java | 63 +++---------------- .../ChoosePlanWikipediaDialogFragment.java | 1 - .../osmand/plus/dialogs/ConfigureMapMenu.java | 2 +- .../plus/download/DownloadActivity.java | 7 ++- .../plus/download/DownloadResources.java | 4 +- .../plus/download/ui/ItemViewHolder.java | 3 +- .../plus/inapp/InAppPurchaseHelper.java | 8 ++- .../controllers/MapDataMenuController.java | 2 +- .../plus/resources/ResourceManager.java | 2 +- .../plus/srtmplugin/ContourLinesMenu.java | 2 +- .../osmand/plus/srtmplugin/SRTMPlugin.java | 10 +-- .../views/corenative/NativeCoreContext.java | 2 +- build.gradle | 2 +- 17 files changed, 39 insertions(+), 136 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/OsmandInAppPurchaseActivity.java b/OsmAnd/src/net/osmand/plus/activities/OsmandInAppPurchaseActivity.java index 6cc1b222bb..ee7b882c54 100644 --- a/OsmAnd/src/net/osmand/plus/activities/OsmandInAppPurchaseActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/OsmandInAppPurchaseActivity.java @@ -204,7 +204,7 @@ public class OsmandInAppPurchaseActivity extends AppCompatActivity implements In } onInAppPurchaseItemPurchased(sku); fireInAppPurchaseItemPurchasedOnFragments(fragmentManager, sku, active); - if (purchaseHelper != null && purchaseHelper.getContourLines().getSku().equals(sku)) { + if (purchaseHelper != null && purchaseHelper.getFullVersion().getSku().equals(sku)) { if (!(this instanceof MapActivity)) { finish(); } diff --git a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java index 6547ae01db..256a845dc7 100644 --- a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java @@ -118,7 +118,7 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment case SEA_DEPTH_MAPS: return InAppPurchaseHelper.isDepthContoursPurchased(ctx); case CONTOUR_LINES_HILLSHADE_MAPS: - return OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null; + return OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(ctx); } return false; } diff --git a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanFreeBannerDialogFragment.java b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanFreeBannerDialogFragment.java index bfdeb1b632..aa5a41a1a8 100644 --- a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanFreeBannerDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanFreeBannerDialogFragment.java @@ -30,7 +30,8 @@ public class ChoosePlanFreeBannerDialogFragment extends ChoosePlanDialogFragment private final OsmAndFeature[] planTypeFeatures = { OsmAndFeature.WIKIPEDIA_OFFLINE, - OsmAndFeature.WIKIVOYAGE_OFFLINE, + OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS, + OsmAndFeature.SEA_DEPTH_MAPS, OsmAndFeature.UNLIMITED_DOWNLOADS, OsmAndFeature.MONTHLY_MAP_UPDATES, }; diff --git a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanHillshadeSrtmDialogFragment.java b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanHillshadeSrtmDialogFragment.java index d3a48a5a15..b204557717 100644 --- a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanHillshadeSrtmDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanHillshadeSrtmDialogFragment.java @@ -1,16 +1,6 @@ package net.osmand.plus.chooseplan; -import android.app.Activity; -import android.view.View; - -import androidx.annotation.Nullable; - -import net.osmand.plus.R; -import net.osmand.plus.activities.OsmandInAppPurchaseActivity; -import net.osmand.plus.inapp.InAppPurchaseHelper; -import net.osmand.plus.inapp.InAppPurchases.InAppPurchase; - -public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanDialogFragment { +public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanFreeBannerDialogFragment { public static final String TAG = ChoosePlanHillshadeSrtmDialogFragment.class.getSimpleName(); private final OsmAndFeature[] osmLiveFeatures = { @@ -29,6 +19,10 @@ public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanDialogFragm private final OsmAndFeature[] planTypeFeatures = { OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS, + OsmAndFeature.SEA_DEPTH_MAPS, + OsmAndFeature.WIKIPEDIA_OFFLINE, + OsmAndFeature.UNLIMITED_DOWNLOADS, + OsmAndFeature.MONTHLY_MAP_UPDATES, }; private final OsmAndFeature[] selectedPlanTypeFeatures = {}; @@ -51,48 +45,4 @@ public class ChoosePlanHillshadeSrtmDialogFragment extends ChoosePlanDialogFragm public OsmAndFeature[] getSelectedPlanTypeFeatures() { return selectedPlanTypeFeatures; } - - @Override - public int getPlanTypeHeaderImageId() { - return R.drawable.img_logo_38dp_contour_lines; - } - - @Override - public String getPlanTypeHeaderTitle() { - return getString(R.string.srtm_plugin_name); - } - - @Override - public String getPlanTypeHeaderDescription() { - return getString(R.string.paid_plugin); - } - - @Override - public String getPlanTypeButtonDescription() { - return getString(R.string.in_app_purchase_desc); - } - - @Override - public void setPlanTypeButtonClickListener(View button) { - button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Activity activity = getActivity(); - if (activity != null) { - OsmandInAppPurchaseActivity.purchaseContourLines(activity); - dismiss(); - } - } - }); - } - - @Nullable - @Override - public InAppPurchase getPlanTypePurchase() { - InAppPurchaseHelper purchaseHelper = getOsmandApplication().getInAppPurchaseHelper(); - if (purchaseHelper != null) { - return purchaseHelper.getContourLines(); - } - return null; - } } diff --git a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanSeaDepthMapsDialogFragment.java b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanSeaDepthMapsDialogFragment.java index 211c788c38..8a07c25bef 100644 --- a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanSeaDepthMapsDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanSeaDepthMapsDialogFragment.java @@ -1,21 +1,11 @@ package net.osmand.plus.chooseplan; -import android.app.Activity; -import android.view.View; - -import androidx.annotation.Nullable; - -import net.osmand.plus.R; -import net.osmand.plus.activities.OsmandInAppPurchaseActivity; -import net.osmand.plus.inapp.InAppPurchaseHelper; -import net.osmand.plus.inapp.InAppPurchases.InAppPurchase; - -public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanDialogFragment { +public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanFreeBannerDialogFragment { public static final String TAG = ChoosePlanSeaDepthMapsDialogFragment.class.getSimpleName(); private final OsmAndFeature[] osmLiveFeatures = { - OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS, OsmAndFeature.SEA_DEPTH_MAPS, + OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS, OsmAndFeature.WIKIPEDIA_OFFLINE, OsmAndFeature.WIKIVOYAGE_OFFLINE, OsmAndFeature.DAILY_MAP_UPDATES, @@ -23,12 +13,16 @@ public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanDialogFragme OsmAndFeature.UNLOCK_ALL_FEATURES, }; private final OsmAndFeature[] selectedOsmLiveFeatures = { - OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS, OsmAndFeature.SEA_DEPTH_MAPS, + OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS, }; private final OsmAndFeature[] planTypeFeatures = { OsmAndFeature.SEA_DEPTH_MAPS, + OsmAndFeature.CONTOUR_LINES_HILLSHADE_MAPS, + OsmAndFeature.WIKIPEDIA_OFFLINE, + OsmAndFeature.UNLIMITED_DOWNLOADS, + OsmAndFeature.MONTHLY_MAP_UPDATES, }; private final OsmAndFeature[] selectedPlanTypeFeatures = {}; @@ -51,47 +45,4 @@ public class ChoosePlanSeaDepthMapsDialogFragment extends ChoosePlanDialogFragme public OsmAndFeature[] getSelectedPlanTypeFeatures() { return selectedPlanTypeFeatures; } - - @Override - public int getPlanTypeHeaderImageId() { - return R.drawable.img_logo_38dp_sea_depth; - } - - @Override - public String getPlanTypeHeaderTitle() { - return getString(R.string.index_item_depth_contours_osmand_ext); - } - - @Override - public String getPlanTypeHeaderDescription() { - return getString(R.string.in_app_purchase); - } - - @Override - public String getPlanTypeButtonDescription() { - return getString(R.string.in_app_purchase_desc); - } - - @Override - public void setPlanTypeButtonClickListener(View button) { - button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Activity activity = getActivity(); - if (activity != null) { - OsmandInAppPurchaseActivity.purchaseDepthContours(activity); - } - } - }); - } - - @Nullable - @Override - public InAppPurchase getPlanTypePurchase() { - InAppPurchaseHelper purchaseHelper = getOsmandApplication().getInAppPurchaseHelper(); - if (purchaseHelper != null) { - return purchaseHelper.getDepthContours(); - } - return null; - } } diff --git a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanWikipediaDialogFragment.java b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanWikipediaDialogFragment.java index 8729bdbbeb..a6b222734e 100644 --- a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanWikipediaDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanWikipediaDialogFragment.java @@ -19,7 +19,6 @@ public class ChoosePlanWikipediaDialogFragment extends ChoosePlanFreeBannerDialo private final OsmAndFeature[] planTypeFeatures = { OsmAndFeature.WIKIPEDIA_OFFLINE, - OsmAndFeature.WIKIVOYAGE_OFFLINE, OsmAndFeature.UNLIMITED_DOWNLOADS, OsmAndFeature.MONTHLY_MAP_UPDATES, }; diff --git a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java index ca7382dd6e..7a0bcb0e79 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java @@ -251,7 +251,7 @@ public class ConfigureMapMenu { OsmandPlugin.registerLayerContextMenu(activity.getMapView(), adapter, activity); boolean srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null - && !InAppPurchaseHelper.isSubscribedToLiveUpdates(app); + && !InAppPurchaseHelper.isContourLinesPurchased(app); if (srtmDisabled) { SRTMPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class); if (srtmPlugin != null) { diff --git a/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java b/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java index 52bb44bf5f..d076f329f0 100644 --- a/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java +++ b/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java @@ -684,11 +684,12 @@ public class DownloadActivity extends AbstractDownloadActivity implements Downlo } public void initAppStatusVariables() { + OsmandApplication app = getMyApplication(); srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null - && !InAppPurchaseHelper.isSubscribedToLiveUpdates(getMyApplication()); + && !InAppPurchaseHelper.isContourLinesPurchased(app); nauticalPluginDisabled = OsmandPlugin.getEnabledPlugin(NauticalMapsPlugin.class) == null; - freeVersion = Version.isFreeVersion(getMyApplication()); - OsmandPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class); + freeVersion = Version.isFreeVersion(app); + SRTMPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class); srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation(); } diff --git a/OsmAnd/src/net/osmand/plus/download/DownloadResources.java b/OsmAnd/src/net/osmand/plus/download/DownloadResources.java index f28310645e..4f820bac2a 100644 --- a/OsmAnd/src/net/osmand/plus/download/DownloadResources.java +++ b/OsmAnd/src/net/osmand/plus/download/DownloadResources.java @@ -352,9 +352,7 @@ public class DownloadResources extends DownloadResourceGroup { continue; } if (ii.getType() == DownloadActivityType.DEPTH_CONTOUR_FILE) { - if (InAppPurchaseHelper.isDepthContoursPurchased(app) - || InAppPurchaseHelper.isSubscribedToLiveUpdates(app) - || nauticalMaps.size() == 0) { + if (InAppPurchaseHelper.isDepthContoursPurchased(app) || nauticalMaps.size() == 0) { nauticalMaps.addItem(ii); } continue; diff --git a/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java b/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java index 9ad1a0f89e..70041a525e 100644 --- a/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java +++ b/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java @@ -134,8 +134,7 @@ public class ItemViewHolder { srtmDisabled = context.isSrtmDisabled(); nauticalPluginDisabled = context.isNauticalPluginDisabled(); srtmNeedsInstallation = context.isSrtmNeedsInstallation(); - depthContoursPurchased = InAppPurchaseHelper.isDepthContoursPurchased(context.getMyApplication()) - || InAppPurchaseHelper.isSubscribedToLiveUpdates(context.getMyApplication()); + depthContoursPurchased = InAppPurchaseHelper.isDepthContoursPurchased(context.getMyApplication()); } public void bindIndexItem(final IndexItem indexItem) { diff --git a/OsmAnd/src/net/osmand/plus/inapp/InAppPurchaseHelper.java b/OsmAnd/src/net/osmand/plus/inapp/InAppPurchaseHelper.java index ec13eba2bd..48fd643099 100644 --- a/OsmAnd/src/net/osmand/plus/inapp/InAppPurchaseHelper.java +++ b/OsmAnd/src/net/osmand/plus/inapp/InAppPurchaseHelper.java @@ -153,11 +153,15 @@ public abstract class InAppPurchaseHelper { } public static boolean isDepthContoursPurchased(@NonNull OsmandApplication ctx) { - return Version.isDeveloperBuild(ctx) || ctx.getSettings().DEPTH_CONTOURS_PURCHASED.get(); + return Version.isDeveloperBuild(ctx) + || Version.isPaidVersion(ctx) + || ctx.getSettings().DEPTH_CONTOURS_PURCHASED.get(); } public static boolean isContourLinesPurchased(@NonNull OsmandApplication ctx) { - return Version.isDeveloperBuild(ctx) || ctx.getSettings().CONTOUR_LINES_PURCHASED.get(); + return Version.isDeveloperBuild(ctx) + || Version.isPaidVersion(ctx) + || ctx.getSettings().CONTOUR_LINES_PURCHASED.get(); } public InAppPurchases getInAppPurchases() { diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java index ac6b8287b4..22d6d97830 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java @@ -85,7 +85,7 @@ public class MapDataMenuController extends MenuController { } srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null - && !InAppPurchaseHelper.isSubscribedToLiveUpdates(app); + && !InAppPurchaseHelper.isContourLinesPurchased(app); OsmandPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class); srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation(); diff --git a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java index db1c3c96d6..47b4b037df 100644 --- a/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java +++ b/OsmAnd/src/net/osmand/plus/resources/ResourceManager.java @@ -639,7 +639,7 @@ public class ResourceManager { collectFiles(context.getAppPath(IndexConstants.WIKI_INDEX_DIR), IndexConstants.BINARY_MAP_INDEX_EXT, files); collectFiles(context.getAppPath(IndexConstants.WIKIVOYAGE_INDEX_DIR), IndexConstants.BINARY_TRAVEL_GUIDE_MAP_INDEX_EXT, files); } - if (OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isSubscribedToLiveUpdates(context)) { + if (OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(context)) { collectFiles(context.getAppPath(IndexConstants.SRTM_INDEX_DIR), IndexConstants.BINARY_MAP_INDEX_EXT, files); } diff --git a/OsmAnd/src/net/osmand/plus/srtmplugin/ContourLinesMenu.java b/OsmAnd/src/net/osmand/plus/srtmplugin/ContourLinesMenu.java index 0f12c0a85d..03c6fde1f2 100644 --- a/OsmAnd/src/net/osmand/plus/srtmplugin/ContourLinesMenu.java +++ b/OsmAnd/src/net/osmand/plus/srtmplugin/ContourLinesMenu.java @@ -52,7 +52,7 @@ public class ContourLinesMenu { final OsmandApplication app = mapActivity.getMyApplication(); final OsmandSettings settings = app.getSettings(); final SRTMPlugin plugin = OsmandPlugin.getPlugin(SRTMPlugin.class); - final boolean srtmEnabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isSubscribedToLiveUpdates(app); + final boolean srtmEnabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(app); final RenderingRuleProperty contourLinesProp = app.getRendererRegistry().getCustomRenderingRuleProperty(CONTOUR_LINES_ATTR); final RenderingRuleProperty colorSchemeProp = app.getRendererRegistry().getCustomRenderingRuleProperty(CONTOUR_LINES_SCHEME_ATTR); diff --git a/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java b/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java index b6f22610e0..dcf9101695 100644 --- a/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java +++ b/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java @@ -14,14 +14,11 @@ import androidx.core.content.ContextCompat; import net.osmand.AndroidUtils; import net.osmand.data.LatLon; -import net.osmand.plus.settings.backend.ApplicationMode; import net.osmand.plus.ContextMenuAdapter; import net.osmand.plus.ContextMenuItem; import net.osmand.plus.DialogListItemAdapter; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; -import net.osmand.plus.settings.backend.OsmandSettings; -import net.osmand.plus.settings.backend.CommonPreference; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.dashboard.DashboardOnMap; @@ -31,6 +28,9 @@ import net.osmand.plus.download.DownloadResources; import net.osmand.plus.download.IndexItem; import net.osmand.plus.inapp.InAppPurchaseHelper; import net.osmand.plus.quickaction.QuickActionType; +import net.osmand.plus.settings.backend.ApplicationMode; +import net.osmand.plus.settings.backend.CommonPreference; +import net.osmand.plus.settings.backend.OsmandSettings; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.render.RenderingRuleProperty; import net.osmand.util.Algorithms; @@ -88,13 +88,13 @@ public class SRTMPlugin extends OsmandPlugin { @Override public boolean needsInstallation() { - return super.needsInstallation() && !InAppPurchaseHelper.isSubscribedToLiveUpdates(app); + return super.needsInstallation() + && !InAppPurchaseHelper.isContourLinesPurchased(app); } @Override protected boolean pluginAvailable(OsmandApplication app) { return super.pluginAvailable(app) - || InAppPurchaseHelper.isSubscribedToLiveUpdates(app) || InAppPurchaseHelper.isContourLinesPurchased(app); } diff --git a/OsmAnd/src/net/osmand/plus/views/corenative/NativeCoreContext.java b/OsmAnd/src/net/osmand/plus/views/corenative/NativeCoreContext.java index d3685fc048..02a8e07a2a 100644 --- a/OsmAnd/src/net/osmand/plus/views/corenative/NativeCoreContext.java +++ b/OsmAnd/src/net/osmand/plus/views/corenative/NativeCoreContext.java @@ -61,7 +61,7 @@ public class NativeCoreContext { ObfsCollection obfsCollection = new ObfsCollection(); obfsCollection.addDirectory(directory.getAbsolutePath(), false); - if(OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isSubscribedToLiveUpdates(app)) { + if (OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) != null || InAppPurchaseHelper.isContourLinesPurchased(app)) { obfsCollection.addDirectory(app.getAppPath(IndexConstants.SRTM_INDEX_DIR).getAbsolutePath(), false); } diff --git a/build.gradle b/build.gradle index 2f7736470a..e59a694b17 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { } dependencies { //classpath 'com.android.tools.build:gradle:2.+' - classpath 'com.android.tools.build:gradle:4.1.1' + classpath 'com.android.tools.build:gradle:4.1.2' classpath 'com.google.gms:google-services:3.0.0' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" From b523294d6d2d6a67528ae9488aa442831ec6e36c Mon Sep 17 00:00:00 2001 From: Kseniia Date: Thu, 21 Jan 2021 15:49:04 +0200 Subject: [PATCH 28/32] fix turn angle for roundabout --- .../main/java/net/osmand/router/RouteResultPreparation.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java index 4df69c3adc..36c3f55586 100644 --- a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java +++ b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java @@ -1189,6 +1189,7 @@ public class RouteResultPreparation { RouteSegmentResult last = rr; RouteSegmentResult firstRoundabout = rr; RouteSegmentResult lastRoundabout = rr; + for (int j = i; j < result.size(); j++) { RouteSegmentResult rnext = result.get(j); last = rnext; @@ -1218,9 +1219,9 @@ public class RouteResultPreparation { // usually covers less than expected float turnAngleBasedOnCircle = (float) -MapUtils.degreesDiff(firstRoundabout.getBearingBegin(), lastRoundabout.getBearingEnd() + 180); if(Math.abs(turnAngleBasedOnOutRoads - turnAngleBasedOnCircle) > 180) { - t.setTurnAngle(turnAngleBasedOnCircle ) ; + t.setTurnAngle(turnAngleBasedOnCircle) ; } else { - t.setTurnAngle((turnAngleBasedOnCircle + turnAngleBasedOnOutRoads) / 2) ; + t.setTurnAngle(turnAngleBasedOnOutRoads) ; } return t; } From 97e6395def13159ce3c81ea61dd63c2923a8013b Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Thu, 21 Jan 2021 17:49:04 +0100 Subject: [PATCH 29/32] fix bug cause roundabout based on circle is completely incorrect --- .../net/osmand/router/RouteResultPreparation.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java index 36c3f55586..d98aa37825 100644 --- a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java +++ b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java @@ -1187,14 +1187,11 @@ public class RouteResultPreparation { RouteSegmentResult rr) { int exit = 1; RouteSegmentResult last = rr; - RouteSegmentResult firstRoundabout = rr; - RouteSegmentResult lastRoundabout = rr; for (int j = i; j < result.size(); j++) { RouteSegmentResult rnext = result.get(j); last = rnext; if (rnext.getObject().roundabout()) { - lastRoundabout = rnext; boolean plus = rnext.getStartPointIndex() < rnext.getEndPointIndex(); int k = rnext.getStartPointIndex(); if (j == i) { @@ -1216,13 +1213,7 @@ public class RouteResultPreparation { TurnType t = TurnType.getExitTurn(exit, 0, leftSide); // usually covers more than expected float turnAngleBasedOnOutRoads = (float) MapUtils.degreesDiff(last.getBearingBegin(), prev.getBearingEnd()); - // usually covers less than expected - float turnAngleBasedOnCircle = (float) -MapUtils.degreesDiff(firstRoundabout.getBearingBegin(), lastRoundabout.getBearingEnd() + 180); - if(Math.abs(turnAngleBasedOnOutRoads - turnAngleBasedOnCircle) > 180) { - t.setTurnAngle(turnAngleBasedOnCircle) ; - } else { - t.setTurnAngle(turnAngleBasedOnOutRoads) ; - } + t.setTurnAngle(turnAngleBasedOnOutRoads) ; return t; } From d7828b4bf0504f3581a53f388b52c53c2542c708 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Thu, 21 Jan 2021 17:55:43 +0100 Subject: [PATCH 30/32] fix bug cause roundabout based on circle is completely incorrect --- .../net/osmand/router/RouteResultPreparation.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java index d98aa37825..44c48f69ec 100644 --- a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java +++ b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java @@ -1187,11 +1187,14 @@ public class RouteResultPreparation { RouteSegmentResult rr) { int exit = 1; RouteSegmentResult last = rr; + RouteSegmentResult firstRoundabout = rr; + RouteSegmentResult lastRoundabout = rr; for (int j = i; j < result.size(); j++) { RouteSegmentResult rnext = result.get(j); last = rnext; if (rnext.getObject().roundabout()) { + lastRoundabout = rnext; boolean plus = rnext.getStartPointIndex() < rnext.getEndPointIndex(); int k = rnext.getStartPointIndex(); if (j == i) { @@ -1213,7 +1216,13 @@ public class RouteResultPreparation { TurnType t = TurnType.getExitTurn(exit, 0, leftSide); // usually covers more than expected float turnAngleBasedOnOutRoads = (float) MapUtils.degreesDiff(last.getBearingBegin(), prev.getBearingEnd()); - t.setTurnAngle(turnAngleBasedOnOutRoads) ; + float turnAngleBasedOnCircle = (float) -MapUtils.degreesDiff(firstRoundabout.getBearingBegin(), lastRoundabout.getBearingEnd() + 180); + if (Math.abs(turnAngleBasedOnOutRoads) > 120) { + // correctly identify if angle is +- 180, so we approach from left or right side + t.setTurnAngle(turnAngleBasedOnCircle) ; + } else { + t.setTurnAngle(turnAngleBasedOnOutRoads) ; + } return t; } From 6906b04a537f781f2dacd73e9e7c339510871081 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Thu, 21 Jan 2021 18:42:40 +0100 Subject: [PATCH 31/32] Fix non-transitive comparision https://github.com/osmandapp/OsmAnd/issues/10626 --- .../java/net/osmand/search/SearchUICore.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java b/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java index 37c16393fa..0e542891d8 100644 --- a/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java +++ b/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java @@ -954,17 +954,15 @@ public class SearchUICore { break; } case COMPARE_AMENITY_TYPE_ADDITIONAL: { - if(o1.object instanceof AbstractPoiType && o2.object instanceof AbstractPoiType ) { - boolean additional1 = ((AbstractPoiType) o1.object).isAdditional(); - boolean additional2 = ((AbstractPoiType) o2.object).isAdditional(); - if (additional1 != additional2) { - // -1 - means 1st is less than 2nd - return additional1 ? 1 : -1; - } + boolean additional1 = o1.object instanceof AbstractPoiType && ((AbstractPoiType) o1.object).isAdditional(); + boolean additional2 = o2.object instanceof AbstractPoiType && ((AbstractPoiType) o2.object).isAdditional(); + if (additional1 != additional2) { + // -1 - means 1st is less than 2nd + return additional1 ? 1 : -1; } break; } - case COMPARE_DISTANCE_TO_PARENT_SEARCH_RESULT: + case COMPARE_DISTANCE_TO_PARENT_SEARCH_RESULT: double ps1 = o1.parentSearchResult == null ? 0 : o1.parentSearchResult.getSearchDistance(c.loc); double ps2 = o2.parentSearchResult == null ? 0 : o2.parentSearchResult.getSearchDistance(c.loc); if (ps1 != ps2) { @@ -1042,12 +1040,17 @@ public class SearchUICore { @Override public int compare(SearchResult o1, SearchResult o2) { - for(ResultCompareStep step : ResultCompareStep.values()) { + List steps = new ArrayList<>(); + for (ResultCompareStep step : ResultCompareStep.values()) { int r = step.compare(o1, o2, this); - if(r != 0) { + steps.add(step); + if (r != 0) { + // debug crashes and identify non-transitive comparision + // LOG.debug(String.format("%d: %s o1='%s' o2='%s'", r, steps, o1, o2)); return r; } } + // LOG.debug(String.format("EQUAL: o1='%s' o2='%s'", o1, o2)); return 0; } From bc6afe286e09b45aec255fd2c1acfaf9879bf40b Mon Sep 17 00:00:00 2001 From: WaldiS Date: Thu, 21 Jan 2021 16:30:03 +0000 Subject: [PATCH 32/32] Translated using Weblate (Polish) Currently translated at 99.2% (3618 of 3645 strings) --- OsmAnd/res/values-pl/strings.xml | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 840fa52189..4be69e1a63 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -3963,4 +3963,37 @@ Wybierz folder Wybierz folder lub dodaj nowy Opróżnij + Analiza według przedziałów (przedział podziału) + Prześlij do OpenStreetMap + Edytuj trasę + Zmień nazwę trasy + Zmień folder + sek + Omijanie + Podejście + Długie przygotowanie + Przygotuj + Poza trasą + Przyjedź do miejsca docelowego + Zakręt + Odstępy czasowe i odległościowe + Czas ogłaszania różnych komunikatów głosowych zależy od rodzaju komunikatu, aktualnej prędkości nawigacji i domyślnej prędkości nawigacji. + Czas ogłoszenia + Rozpocznij nagrywanie + Pokaż trasę na mapie + Wózek inwalidzki + Wędrówki + Pieszo + Jazda na rowerze elektrycznym + Kolarstwo górskie + Kolarstwo szosowe + Regularna jazda na rowerze + HGV + Mała ciężarówka + Ciężarówka + Skuter + Rower wyścigowy + MTB + Błąd serwera: %1$s + Taka nazwa już istnieje \ No newline at end of file