From ffb50f1c7822c229723c06fef6b1efd2aa805e65 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 30 Mar 2020 12:42:54 +0300 Subject: [PATCH 01/21] Fix UI, fix rtl, fix icon size --- OsmAnd/assets/poi_categories.json | 25 ----------- OsmAnd/res/layout/favorites_list_item.xml | 19 ++++---- .../res/layout/point_editor_fragment_new.xml | 9 ++-- OsmAnd/res/values/styles.xml | 2 + .../plus/base/FavoriteImageDrawable.java | 23 +++++++--- .../editors/PointEditorFragmentNew.java | 16 ++++++- .../editors/WptPtEditorFragmentNew.java | 10 +++-- .../net/osmand/plus/widgets/FlowLayout.java | 43 +++++++++++-------- 8 files changed, 81 insertions(+), 66 deletions(-) delete mode 100644 OsmAnd/assets/poi_categories.json diff --git a/OsmAnd/assets/poi_categories.json b/OsmAnd/assets/poi_categories.json deleted file mode 100644 index f386828f4d..0000000000 --- a/OsmAnd/assets/poi_categories.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "categories": { - "special": { - "icons": [ - "special_star", - "special_star_stroked", - "special_marker", - "special_flag_stroke", - "special_house", - "special_building" - ] - }, - "amenity": { - "icons": [ - "amenity_bar", - "amenity_cafe", - "amenity_atm", - "amenity_biergarten", - "amenity_cinema", - "amenity_fire_station", - "amenity_parking" - ] - } - } -} \ No newline at end of file diff --git a/OsmAnd/res/layout/favorites_list_item.xml b/OsmAnd/res/layout/favorites_list_item.xml index d54fb5c371..7ce1d0f3f2 100644 --- a/OsmAnd/res/layout/favorites_list_item.xml +++ b/OsmAnd/res/layout/favorites_list_item.xml @@ -49,11 +49,12 @@ + android:scaleType="center" + android:layout_marginRight="@dimen/list_header_settings_top_margin" + android:layout_marginEnd="@dimen/list_header_settings_top_margin" /> + android:paddingEnd="@dimen/list_content_padding"> + android:layout_marginStart="2dp" /> + android:layout_marginStart="4dp" /> + android:layout_marginStart="2dp" /> @@ -129,7 +130,7 @@ android:background="?attr/dashboard_button" android:src="@drawable/ic_action_test_light" android:visibility="gone" - android:layout_marginStart="@dimen/dashFavIconMargin" /> + android:layout_marginStart="@dimen/dashFavIconMargin" /> @@ -134,7 +135,7 @@ android:layout_height="wrap_content" android:inputType="textMultiLine" android:maxLines="4" - android:minHeight="50dp" + android:minHeight="60dp" android:paddingStart="12dp" android:paddingLeft="12dp" android:paddingRight="12dp" diff --git a/OsmAnd/res/values/styles.xml b/OsmAnd/res/values/styles.xml index e458172437..c3e1eeb4d4 100644 --- a/OsmAnd/res/values/styles.xml +++ b/OsmAnd/res/values/styles.xml @@ -101,11 +101,13 @@ diff --git a/OsmAnd/src/net/osmand/plus/base/FavoriteImageDrawable.java b/OsmAnd/src/net/osmand/plus/base/FavoriteImageDrawable.java index d4e908a195..490e7c538f 100644 --- a/OsmAnd/src/net/osmand/plus/base/FavoriteImageDrawable.java +++ b/OsmAnd/src/net/osmand/plus/base/FavoriteImageDrawable.java @@ -8,7 +8,6 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.Paint; -import android.graphics.PixelFormat; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; @@ -98,9 +97,11 @@ public class FavoriteImageDrawable extends Drawable { super.onBoundsChange(bounds); Rect bs = new Rect(bounds); if (!withShadow && !synced) { - uiBackgroundIcon.setBounds(bounds); - bs.inset(bs.width() / 5, bs.height() / 5); - uiListIcon.setBounds(bs); + uiBackgroundIcon.setBounds(0, 0, uiBackgroundIcon.getIntrinsicWidth(), uiBackgroundIcon.getIntrinsicHeight()); + int offsetX = bounds.centerX() - uiListIcon.getIntrinsicWidth() / 2; + int offsetY = bounds.centerY() - uiListIcon.getIntrinsicHeight() / 2; + uiListIcon.setBounds(offsetX, offsetY, uiListIcon.getIntrinsicWidth() + offsetX, + uiListIcon.getIntrinsicHeight() + offsetY); } else if (withShadow) { bs.inset(bs.width() / 3, bs.height() / 3); favIcon.setBounds(bs); @@ -109,12 +110,22 @@ public class FavoriteImageDrawable extends Drawable { @Override public int getIntrinsicHeight() { - return synced ? syncedShadow.getHeight() : favBackgroundCenter.getHeight(); + if (synced) { + return syncedShadow.getHeight(); + } else if (withShadow) { + return favBackgroundCenter.getHeight(); + } + return uiBackgroundIcon.getIntrinsicHeight(); } @Override public int getIntrinsicWidth() { - return synced ? syncedShadow.getWidth() : favBackgroundCenter.getWidth(); + if (synced) { + return syncedShadow.getWidth(); + } else if (withShadow) { + return favBackgroundCenter.getWidth(); + } + return uiBackgroundIcon.getIntrinsicWidth(); } @Override diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java index 61136d3c7d..d1f00c9a77 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java @@ -105,7 +105,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { toolbar.setBackgroundColor(ContextCompat.getColor(requireContext(), nightMode ? R.color.app_bar_color_dark : R.color.list_background_color_light)); toolbar.setTitle(getToolbarTitle()); - Drawable icBack = app.getUIUtilities().getIcon(R.drawable.ic_arrow_back, + Drawable icBack = app.getUIUtilities().getIcon(AndroidUtils.getNavigationIconResId(app), nightMode ? R.color.active_buttons_and_links_text_dark : R.color.description_font_and_bottom_sheet_icons); toolbar.setNavigationIcon(icBack); toolbar.setNavigationContentDescription(R.string.access_shared_string_navigate_up); @@ -471,9 +471,15 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { oldIcon.findViewById(R.id.outline).setVisibility(View.INVISIBLE); ImageView background = oldIcon.findViewById(R.id.background); setIconSelectorBackground(background); + ImageView iconView = oldIcon.findViewById(R.id.icon); + iconView.setImageDrawable(UiUtilities.tintDrawable(ContextCompat.getDrawable(app, selectedIcon), + ContextCompat.getColor(app, R.color.icon_color_default_light))); } View icon = rootView.findViewWithTag(iconRes); if (icon != null) { + ImageView iconView = icon.findViewById(R.id.icon); + iconView.setImageDrawable(UiUtilities.tintDrawable(ContextCompat.getDrawable(app, iconRes), + ContextCompat.getColor(app, R.color.color_white))); icon.findViewById(R.id.outline).setVisibility(View.VISIBLE); ImageView backgroundCircle = icon.findViewById(R.id.background); AndroidUtils.setBackground(backgroundCircle, @@ -760,6 +766,14 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { Drawable iconAdd = app.getUIUtilities().getIcon(R.drawable.ic_action_add, activeColorResId); ((ImageView) view.findViewById(R.id.groupIcon)).setImageDrawable(iconAdd); ((TextView) view.findViewById(R.id.groupName)).setText(requireMyApplication().getString(R.string.add_group)); + GradientDrawable rectContourDrawable = (GradientDrawable) ContextCompat.getDrawable(app, + R.drawable.bg_select_group_button_outline); + if (rectContourDrawable != null) { + int strokeColor = ContextCompat.getColor(app, nightMode ? R.color.stroked_buttons_and_links_outline_dark + : R.color.stroked_buttons_and_links_outline_light); + rectContourDrawable.setStroke(AndroidUtils.dpToPx(app, 1), strokeColor); + ((ImageView) view.findViewById(R.id.outlineRect)).setImageDrawable(rectContourDrawable); + } } ((TextView) view.findViewById(R.id.groupName)).setTextColor(getResources().getColor(activeColorResId)); return new GroupsViewHolder(view); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/WptPtEditorFragmentNew.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/WptPtEditorFragmentNew.java index a4b3d17dab..d61a47caad 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/WptPtEditorFragmentNew.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/WptPtEditorFragmentNew.java @@ -347,7 +347,7 @@ public class WptPtEditorFragmentNew extends PointEditorFragmentNew { if (categoriesMap != null) { categoriesMap.put(name, color); } - this.color = color; + this.color = this.color == 0 ? color : this.color; super.setCategory(name, color); } @@ -411,12 +411,16 @@ public class WptPtEditorFragmentNew extends PointEditorFragmentNew { @Override public int getDefaultColor() { - return 0; + return defaultColor; } @Override public int getPointColor() { - return color == 0 ? defaultColor : color; + if (color != 0) { + return color; + } else { + return getCategoryColor(getCategoryTextValue()); + } } @Override diff --git a/OsmAnd/src/net/osmand/plus/widgets/FlowLayout.java b/OsmAnd/src/net/osmand/plus/widgets/FlowLayout.java index 2c19103613..c59ebb37fa 100644 --- a/OsmAnd/src/net/osmand/plus/widgets/FlowLayout.java +++ b/OsmAnd/src/net/osmand/plus/widgets/FlowLayout.java @@ -1,19 +1,20 @@ package net.osmand.plus.widgets; import android.content.Context; +import android.os.Build; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; - public class FlowLayout extends ViewGroup { private int line_height; + private boolean rtl = false; public static class LayoutParams extends ViewGroup.LayoutParams { - public final int horizontal_spacing; - public final int vertical_spacing; + final int horizontal_spacing; + final int vertical_spacing; /** * @param horizontal_spacing Pixels between items, horizontally @@ -36,24 +37,22 @@ public class FlowLayout extends ViewGroup { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - assert (MeasureSpec.getMode(widthMeasureSpec) != MeasureSpec.UNSPECIFIED); + if ((MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.UNSPECIFIED)) throw new AssertionError(); final int width = MeasureSpec.getSize(widthMeasureSpec) - getPaddingLeft() - getPaddingRight(); int height = MeasureSpec.getSize(heightMeasureSpec) - getPaddingTop() - getPaddingBottom(); final int count = getChildCount(); int line_height = 0; - int xpos = getPaddingLeft(); int ypos = getPaddingTop(); - int childHeightMeasureSpec; + if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST) { childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST); } else { childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); } - for (int i = 0; i < count; i++) { final View child = getChildAt(i); if (child.getVisibility() != GONE) { @@ -61,20 +60,17 @@ public class FlowLayout extends ViewGroup { child.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST), childHeightMeasureSpec); final int childw = child.getMeasuredWidth(); line_height = Math.max(line_height, child.getMeasuredHeight() + lp.vertical_spacing); - if (xpos + childw > width) { xpos = getPaddingLeft(); ypos += line_height; } - xpos += childw + lp.horizontal_spacing; } } - this.line_height = line_height; + this.line_height = line_height; if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.UNSPECIFIED) { height = ypos + line_height; - } else if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST) { if (ypos + line_height < height) { height = ypos + line_height; @@ -95,23 +91,34 @@ public class FlowLayout extends ViewGroup { @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + rtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL; + } final int count = getChildCount(); final int width = r - l; - int xpos = getPaddingLeft(); + int xpos = rtl ? width - getPaddingRight() : getPaddingLeft(); int ypos = getPaddingTop(); - for (int i = 0; i < count; i++) { final View child = getChildAt(i); if (child.getVisibility() != GONE) { final int childw = child.getMeasuredWidth(); final int childh = child.getMeasuredHeight(); final LayoutParams lp = (LayoutParams) child.getLayoutParams(); - if (xpos + childw > width) { - xpos = getPaddingLeft(); - ypos += line_height; + if (rtl) { + if (xpos - childw < l) { + xpos = width - getPaddingRight(); + ypos += line_height; + } + child.layout(xpos - childw, ypos, xpos, ypos + childh); + xpos -= childw - lp.horizontal_spacing; + } else { + if (xpos + childw > width) { + xpos = getPaddingLeft(); + ypos += line_height; + } + child.layout(xpos, ypos, xpos + childw, ypos + childh); + xpos += childw + lp.horizontal_spacing; } - child.layout(xpos, ypos, xpos + childw, ypos + childh); - xpos += childw + lp.horizontal_spacing; } } } From 5863d257f6bf1f4b12d881690b2ea0eefb233779 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 30 Mar 2020 15:37:37 +0300 Subject: [PATCH 02/21] Fix replace --- OsmAnd/src/net/osmand/plus/dialogs/FavoriteDialogs.java | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/FavoriteDialogs.java b/OsmAnd/src/net/osmand/plus/dialogs/FavoriteDialogs.java index d52e5dccf9..5945bfcd7a 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/FavoriteDialogs.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/FavoriteDialogs.java @@ -78,6 +78,7 @@ public class FavoriteDialogs { } FavouritePoint point = (FavouritePoint) args.getSerializable(KEY_FAVORITE); if (helper.editFavourite(fp, point.getLatitude(), point.getLongitude())) { + helper.deleteFavourite(point); if (activity instanceof MapActivity) { ((MapActivity) activity).getContextMenu() .show(new LatLon(point.getLatitude(), point.getLongitude()), fp.getPointDescription(activity), fp); From a6366bfe17528bf1c2a2a5feb21a4a67b9a4a15f Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 30 Mar 2020 15:52:10 +0300 Subject: [PATCH 03/21] Add contour shapes for favorites UI backgrounds --- .../res/drawable/bg_point_circle_contour.xml | 18 +++++++++++------- .../res/drawable/bg_point_octagon_contour.xml | 11 +++++++++++ .../res/drawable/bg_point_square_contour.xml | 9 +++++---- 3 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 OsmAnd/res/drawable/bg_point_octagon_contour.xml diff --git a/OsmAnd/res/drawable/bg_point_circle_contour.xml b/OsmAnd/res/drawable/bg_point_circle_contour.xml index 46d0f51ec8..26127a55d4 100644 --- a/OsmAnd/res/drawable/bg_point_circle_contour.xml +++ b/OsmAnd/res/drawable/bg_point_circle_contour.xml @@ -1,7 +1,11 @@ - - - - + + + diff --git a/OsmAnd/res/drawable/bg_point_octagon_contour.xml b/OsmAnd/res/drawable/bg_point_octagon_contour.xml new file mode 100644 index 0000000000..7c9c52528e --- /dev/null +++ b/OsmAnd/res/drawable/bg_point_octagon_contour.xml @@ -0,0 +1,11 @@ + + + diff --git a/OsmAnd/res/drawable/bg_point_square_contour.xml b/OsmAnd/res/drawable/bg_point_square_contour.xml index 1f492681f1..a09dff2ce4 100644 --- a/OsmAnd/res/drawable/bg_point_square_contour.xml +++ b/OsmAnd/res/drawable/bg_point_square_contour.xml @@ -1,10 +1,11 @@ + android:viewportWidth="48" + android:viewportHeight="48"> + android:fillColor="#00000000" + android:strokeColor="#727272"/> From e7e543fff47a847d8a63fa7f8d8a5ce4bb04dfd5 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 30 Mar 2020 16:57:09 +0300 Subject: [PATCH 04/21] Fix check GPX duplicate category --- .../plus/mapcontextmenu/editors/PointEditorFragmentNew.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java index d1f00c9a77..6c0f2b67f7 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java @@ -147,7 +147,6 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { public void onClick(View v) { DialogFragment dialogFragment = createSelectCategoryDialog(); if (dialogFragment != null) { - dialogFragment.show(getChildFragmentManager(), SelectCategoryDialogFragment.TAG); } } @@ -788,7 +787,8 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { PointEditor editor = getEditor(); if (editor != null) { EditCategoryDialogFragment dialogFragment = - EditCategoryDialogFragment.createInstance(editor.getFragmentTag(), getCategories(), false); + EditCategoryDialogFragment.createInstance(editor.getFragmentTag(), getCategories(), + !editor.getFragmentTag().equals(FavoritePointEditor.TAG)); dialogFragment.show(requireActivity().getSupportFragmentManager(), EditCategoryDialogFragment.TAG); } } From 594b2d9a683e1553fde24d75d849e1c0089c7464 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 30 Mar 2020 18:52:28 +0300 Subject: [PATCH 05/21] Add cancel dialog --- .../FavoritePointEditorFragmentNew.java | 10 +++++ .../editors/PointEditorFragmentNew.java | 38 +++++++++++++++++-- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/FavoritePointEditorFragmentNew.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/FavoritePointEditorFragmentNew.java index f4b6c09e64..a7dfd2569f 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/FavoritePointEditorFragmentNew.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/FavoritePointEditorFragmentNew.java @@ -223,6 +223,16 @@ public class FavoritePointEditorFragmentNew extends PointEditorFragmentNew { @Override protected boolean wasSaved() { + final FavouritePoint favorite = getFavorite(); + if (favorite != null) { + final FavouritePoint point = new FavouritePoint(favorite.getLatitude(), favorite.getLongitude(), + getNameTextValue(), getCategoryTextValue()); + point.setDescription(getDescriptionTextValue()); + point.setColor(color); + point.setBackgroundType(backgroundType); + point.setIconId(iconId); + return isChanged(favorite, point); + } return saved; } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java index 6c0f2b67f7..465053e058 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java @@ -1,6 +1,8 @@ package net.osmand.plus.mapcontextmenu.editors; import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; import android.graphics.drawable.Drawable; import android.graphics.drawable.GradientDrawable; import android.os.Build; @@ -22,6 +24,7 @@ import android.widget.TextView; import androidx.annotation.ColorInt; import androidx.annotation.ColorRes; import androidx.annotation.DrawableRes; +import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.Toolbar; import androidx.annotation.NonNull; @@ -62,6 +65,8 @@ import static net.osmand.util.Algorithms.capitalizeFirstLetter; public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { + public static final String TAG = "PointEditorFragmentNew"; + private View view; private EditText nameEdit; private TextView addDelDescription; @@ -112,7 +117,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - dismiss(); + showExitDialog(); } }); @@ -165,8 +170,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - cancelled = true; - dismiss(); + showExitDialog(); } }); @@ -734,6 +738,34 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { return getPaintedContentIcon(iconId, color); } + private void showExitDialog() { + hideKeyboard(); + if (!wasSaved()) { + AlertDialog.Builder dismissDialog = createWarningDialog(getActivity(), + R.string.shared_string_dismiss, R.string.exit_without_saving, R.string.shared_string_cancel); + dismissDialog.setPositiveButton(R.string.shared_string_exit, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + cancelled = true; + dismiss(); + } + }); + dismissDialog.show(); + } else { + cancelled = true; + dismiss(); + } + } + + private AlertDialog.Builder createWarningDialog(Activity activity, int title, int message, int negButton) { + Context themedContext = UiUtilities.getThemedContext(activity, nightMode); + AlertDialog.Builder warningDialog = new AlertDialog.Builder(themedContext); + warningDialog.setTitle(getString(title)); + warningDialog.setMessage(getString(message)); + warningDialog.setNegativeButton(negButton, null); + return warningDialog; + } + class GroupAdapter extends RecyclerView.Adapter { private static final int VIEW_TYPE_FOOTER = 1; From da0f697fc012a5f75bae6ab9342d1c25171faf18 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 30 Mar 2020 19:07:42 +0300 Subject: [PATCH 06/21] Add octagon --- OsmAnd/res/values/strings.xml | 2 +- OsmAnd/src/net/osmand/data/FavouritePoint.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index cfc57b3cb0..ac593d3837 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -13,7 +13,7 @@ --> Min Square - Rhomb + Octagon Circle Select shape Select group diff --git a/OsmAnd/src/net/osmand/data/FavouritePoint.java b/OsmAnd/src/net/osmand/data/FavouritePoint.java index bf7d0da095..e735b54de1 100644 --- a/OsmAnd/src/net/osmand/data/FavouritePoint.java +++ b/OsmAnd/src/net/osmand/data/FavouritePoint.java @@ -295,7 +295,7 @@ public class FavouritePoint implements Serializable, LocationPoint { public enum BackgroundType { CIRCLE("circle", R.string.shared_string_circle, R.drawable.bg_point_circle), - RHOMB("rhomb", R.string.shared_string_rhomb, R.drawable.bg_point_rhomb), + OCTAGON("octagon", R.string.shared_string_octagon, R.drawable.bg_point_octagon), SQUARE("square", R.string.shared_string_square, R.drawable.bg_point_square); private String typeName; From e59da59b53670c0f33c2d060156d192ff297e602 Mon Sep 17 00:00:00 2001 From: Hinagiku Zeppeki Date: Mon, 30 Mar 2020 11:13:21 +0000 Subject: [PATCH 07/21] Translated using Weblate (Japanese) Currently translated at 99.3% (3774 of 3798 strings) --- OsmAnd/res/values-ja/phrases.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-ja/phrases.xml b/OsmAnd/res/values-ja/phrases.xml index 5ce0487084..52cf2b007c 100644 --- a/OsmAnd/res/values-ja/phrases.xml +++ b/OsmAnd/res/values-ja/phrases.xml @@ -2218,8 +2218,8 @@ フォトスタジオ・写真館 宗教関連用品店 香辛料販売店 - インターネット接続 - 通常は有料 - インターネット接続 - 通常は無料 + インターネット接続: 通常は有料 + インターネット接続: 通常は無料 アフリカーンス語 wiki アルザス語 wiki アゼルバイジャン語 wiki @@ -3780,4 +3780,15 @@ スキューバダイビングセンター SMS 水場へのアクセス方法 + 歩行が許可されている場合のみ + インターネット接続料金 + 不可 + + 不可 + + 避難所タイプ + 避難所 + 水場の耐久性: 永続使用可 + 水場の耐久性: 緊急時用 + ビデオ通話 \ No newline at end of file From 4bb9e9afe028c1257e26c6e23e644d2e5d43490d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sveinn=20=C3=AD=20Felli?= Date: Mon, 30 Mar 2020 08:12:29 +0000 Subject: [PATCH 08/21] Translated using Weblate (Icelandic) Currently translated at 99.9% (3245 of 3246 strings) --- OsmAnd/res/values-is/strings.xml | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-is/strings.xml b/OsmAnd/res/values-is/strings.xml index f00e5f2781..c7c9955649 100644 --- a/OsmAnd/res/values-is/strings.xml +++ b/OsmAnd/res/values-is/strings.xml @@ -3053,7 +3053,7 @@ Stendur fyrir svæði: %1$s x %2$s Gerð leiðsagnar Leigubíll Neðanjarðarlest - Hestar + Ríðandi Þyrla Skíði Skíði @@ -3490,7 +3490,7 @@ Stendur fyrir svæði: %1$s x %2$s Aukaverkanir: Tímabil í hvíld eru alls ekki skráð eða þá með aðeins einum punkti. Litlar (raunverulegar) hreyfingar (t.d. til hliðar, til að merkja mögulega hliðarleiðir leiðar) gætu síast í burtu. Skráin þín inniheldur minni upplýsingar til eftirvinnslu, og er með verri tölfræði þar sem umframpunktar eru síaðir út á meðan skráningu stendur, á meðan mögulega er verið að geyma skemmdar upplýsingar vegna lélegrar móttöku eða truflana í GPS kubbasetti. Ábending: Stilling upp á 5 metra gæti virkað vel ef þú hefur ekki þörf fyrir meiri nákvæmni og ef þú vilt koma í veg fyrir að verið sé að skrá gögn á meðan staldrað er við. Endurraða flokkum - Þú getur bætt við sérsniðnum flokkum, falið flokka sem þér finnast ekki nauðsynlegir og breytt röðun listans. Listann má flytja inn og út með forsniðum. + Þú getur falið flokka sem þér finnast ekki nauðsynlegir og breytt röðun listans. Listann má flytja inn og út með forsniðum. Þú getur bætt við nýjum sérsniðnum flokki með því að velja einn eða nokkra nauðsynlega flokka. Tiltækt Bæta við sérsniðnum flokki @@ -3587,4 +3587,32 @@ Stendur fyrir svæði: %1$s x %2$s Atriðum bætt við Innflutningi lokið Öll gögn úr %1$s voru flutt inn, þú getur notað hnappana hér fyrir neðan til að opna nauðsynlega hluta forritsins til að sýsla með gögnin. + %1$s af %2$s + Yfirborð + Hæðaskyggingakort styðst við dökka skugga til að sýna brekkur, tinda og láglendi. + Til að sýna brekkur eru notuð litasjónhrif á yfirborðið. + Stilltu lágmarks og hámarks aðdráttarstig þess að lagið verður birt. + Viðbótarkort þarf til að skoða hæðaskyggingar á kortinu. + Viðbótarkort þarf til að skoða brekkur á kortinu. + Þú getur lesið meira um brekkur á %1$s. + Gegnsæi + Aðdráttarstig + Skýring + Virkja til að sjá hæðaskyggingar eða brekkur á korti. Þú getur lesið meira um þessa eiginleika á vefnum okkar + Hæðaskygging + Brekkur + Birta/fela yfirborð + Fela yfirborð + Sýna yfirborð + Hnappur til að birta eða fela yfirborðslag á kortinu. + Endurreikna leið ef farið er út af fyrirfram gefinni leið + Veldu þá vegalengd sem þarf til að leiðin verði endurreiknuð. + Leiðin verður endurreiknuð ef vegalengd frá leiðinni að núverandi staðsetningu er lengri en uppgefið gildi. + Eyða lýsingu + Bæta við lýsingu + Veldu hóp + Veldu lögun + Hringur + Tígull + Ferningur \ No newline at end of file From 9d5209d66640fb71f212e4a8929ec802ba814e0f Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 30 Mar 2020 19:58:47 +0300 Subject: [PATCH 09/21] Fix back button cancel --- .../osmand/plus/activities/MapActivity.java | 19 +++++++++++++++++++ .../editors/PointEditorFragmentNew.java | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 76e2f25588..3b3764f615 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -112,6 +112,9 @@ import net.osmand.plus.mapcontextmenu.AdditionalActionsBottomSheetDialogFragment import net.osmand.plus.mapcontextmenu.MapContextMenu; import net.osmand.plus.mapcontextmenu.MenuController.MenuState; import net.osmand.plus.mapcontextmenu.builders.cards.dialogs.ContextMenuCardDialogFragment; +import net.osmand.plus.mapcontextmenu.editors.FavoritePointEditor; +import net.osmand.plus.mapcontextmenu.editors.PointEditorFragmentNew; +import net.osmand.plus.mapcontextmenu.editors.WptPtEditor; import net.osmand.plus.mapcontextmenu.other.DestinationReachedMenu; import net.osmand.plus.mapcontextmenu.other.TrackDetailsMenu; import net.osmand.plus.mapmarkers.MapMarkersDialogFragment; @@ -700,6 +703,13 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven return; } } + + PointEditorFragmentNew pointEditorFragmentNew = getPointEditorFragmentNew(); + if (pointEditorFragmentNew != null) { + pointEditorFragmentNew.showExitDialog(); + return; + } + if (mapContextMenu.isVisible() && mapContextMenu.isClosable()) { if (mapContextMenu.getCurrentMenuState() != MenuState.HEADER_ONLY && !isLandscapeLayout()) { mapContextMenu.openMenuHeaderOnly(); @@ -2459,6 +2469,15 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven return getFragment(ImportCompleteFragment.TAG); } + public PointEditorFragmentNew getPointEditorFragmentNew() { + PointEditorFragmentNew pointEditorFragmentNew; + pointEditorFragmentNew = getFragment(FavoritePointEditor.TAG); + if (pointEditorFragmentNew == null) { + pointEditorFragmentNew = getFragment(WptPtEditor.TAG); + } + return pointEditorFragmentNew; + } + public void backToConfigureProfileFragment() { FragmentManager fragmentManager = getSupportFragmentManager(); int backStackEntryCount = fragmentManager.getBackStackEntryCount(); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java index 465053e058..4b7efa6696 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/editors/PointEditorFragmentNew.java @@ -738,7 +738,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment { return getPaintedContentIcon(iconId, color); } - private void showExitDialog() { + public void showExitDialog() { hideKeyboard(); if (!wasSaved()) { AlertDialog.Builder dismissDialog = createWarningDialog(getActivity(), From ff5baebcd38fd95546510378b2538f407c220f4c Mon Sep 17 00:00:00 2001 From: max-klaus Date: Mon, 30 Mar 2020 23:41:28 +0300 Subject: [PATCH 10/21] Fix turn lanes highlight --- .../osmand/plus/views/mapwidgets/RouteInfoWidgetsFactory.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/RouteInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/RouteInfoWidgetsFactory.java index 0cb329a88e..d6dea3f496 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/RouteInfoWidgetsFactory.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/RouteInfoWidgetsFactory.java @@ -407,7 +407,7 @@ public class RouteInfoWidgetsFactory { @Override public boolean updateInfo(DrawSettings drawSettings) { float mx = 0; - if ((rh == null || !rh.isFollowingMode() || rh.isDeviatedFromRoute() || !rh.isCurrentGPXRouteV2()) + if ((rh == null || !rh.isFollowingMode() || rh.isDeviatedFromRoute() || (rh.getCurrentGPXRoute() != null && !rh.isCurrentGPXRouteV2())) && trackingUtilities.isMapLinkedToLocation()) { RouteDataObject ro = locationProvider.getLastKnownRouteSegment(); if(ro != null) { @@ -811,7 +811,7 @@ public class RouteInfoWidgetsFactory { int[] loclanes = null; int dist = 0; // TurnType primary = null; - if ((rh == null || !rh.isFollowingMode() || rh.isDeviatedFromRoute() || !rh.isCurrentGPXRouteV2()) + if ((rh == null || !rh.isFollowingMode() || rh.isDeviatedFromRoute() || (rh.getCurrentGPXRoute() != null && !rh.isCurrentGPXRouteV2())) && trackingUtilities.isMapLinkedToLocation() && settings.SHOW_LANES.get()) { RouteDataObject ro = locationProvider.getLastKnownRouteSegment(); Location lp = locationProvider.getLastKnownLocation(); From 3dbd252c3e469c82292e4eaf604ed7cf762ca842 Mon Sep 17 00:00:00 2001 From: ssantos Date: Mon, 30 Mar 2020 17:13:02 +0000 Subject: [PATCH 11/21] Translated using Weblate (Portuguese) Currently translated at 88.5% (2874 of 3246 strings) --- OsmAnd/res/values-pt/strings.xml | 226 +++++++++++++++++++++++++++---- 1 file changed, 203 insertions(+), 23 deletions(-) diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml index 028668e7b9..b62dc5bc29 100644 --- a/OsmAnd/res/values-pt/strings.xml +++ b/OsmAnd/res/values-pt/strings.xml @@ -365,7 +365,7 @@ Nó não pode ser encontrado ou POI não é um único nó Eliminar {0} (comentário)\? Eliminar POI - Eliminar + Apagar POI eliminado Adicionar Modificar @@ -1088,7 +1088,7 @@ Motocicleta Barco Aeronave - Vai eliminar %1$d alterações do OpenStreetMap. Tem a certeza\? + Tem certeza de que deseja apagar %1$d alterações no OSM\? Eliminar tudo Wikipédia (off-line) Marca Marítima @@ -2040,7 +2040,7 @@ Largura das curvas de nível Largura das curvas de nível Água - Esconder água + Ocultar água Pesquisa antiga Mostrar pesquisa antiga Adicionar pesquisa antiga à lista da gaveta @@ -3053,7 +3053,7 @@ Tipo de navegação Táxi Autocarro de vaivem - Metrô + Metropolitano Cavalo Helicóptero Você pode adicionar sua própria versão modificada do ficheiro routing.xml em ..osmand/routing @@ -3134,28 +3134,28 @@ Novo perfil Travou A última execução de OsmAnd falhou. Por favor ajude-nos a melhorar o OsmAnd enviando-nos uma mensagem de erro. - UFO - "- Perfis de app: crie o seu perfil personalizado para as suas necessidades, com um ícone e cor personalizados -\n + OVNI + - Perfis de app: crie o seu perfil personalizado para as suas necessidades, com um ícone e cor personalizados +\n \n - Adaptar predefinições para perfis e velocidades mínimas/máximas -\n +\n \n - Um widget para as coordenadas atuais adicionado -\n -\n - Opções para mostrar a bússola no mapa com uma régua de raio adicionados -\n -\n - Registo de caminho de fundo corrigido -\n -\n - Descarregamento de mapas em segundo plano melhorado -\n +\n +\n - Opções para mostrar a bússola no mapa com uma régua de raio adicionados +\n +\n - Registo de caminho de fundo corrigido +\n +\n - Descarregamento de mapas em segundo plano melhorado +\n \n- Opção \'Ativar ecrã\' retornada -\n +\n \n - A seleção da língua na Wikipedia corrigida -\n +\n \n - Comportamento fixo do botão da bússola durante a navegação -\n +\n \n - Correções de outros bugs \n -\n" +\n Transportador pessoal Monoroda Scooter @@ -3382,8 +3382,8 @@ Descarregando %s Grosso Para desertos e outras áreas pouco povoadas. Exibe mais detalhes numa escala de visualização. - Selecione o ícone de navegação - Selecione o ícone do mapa + Ícone de posição durante a movimentação + Ícone de posição em repouso Depois de tocar em Aplicar, os perfis eliminados serão completamente perdidos. Perfil principal Selecione a cor @@ -3433,8 +3433,188 @@ Editar lista de perfis Perfil selecionado Tocar em %1$s descartará todas as suas alterações. - Todas as configurações de perfil serão redefinidas para o estado após a instalação. - Redefinir todas as configurações de perfil para o padrão\? + Redefinir todas as configurações de perfil para as predefinicões de instalação. + Redefinir todas as configurações de perfil\? %1$s %2$s %1$s: %2$s + OSM + Mostrar apenas à noite + Avaliar + Terreno + Mapa de sombras de relevo usando sombras escuras para mostrar pistas, picos e planícies. + Pistas são visualizações coloridas no terreno. + Defina os níveis de zoom mínimos e máximos em que a camada será exibida. + Mapas adicionais são necessários para ver sombras de relevo no mapa. + Mapas adicionais são necessários para ver Pistas no mapa. + Pode ler mais sobre Inclinações em %1$s. + Transparência + Níveis de zoom + Legenda + Ativar ver o mapa de colinas ou encostas. Pode ler mais sobre este tipo de mapa no nosso site + Sombras de relevo + %1$s de %2$s + Pistas + Mostrar/ocultar terreno + Ocultar terreno + Mostrar terreno + Um botão para mostrar ou esconder a camada do terreno no mapa. + Apagar descrição + Adicionar descrição + Selecione o grupo + Selecione a forma + Círculo + Paralelograma + Mín + Quadrado + Recalcular rota em caso de desvio + Selecione a distância após a qual o percurso será recalculado. + A rota será recalculada se a distância da rota até o local atual for maior que o valor selecionado. + Todos os dados do %1$s são importados. Pode usar os botões abaixo para abrir a parte necessária da aplicação para gerá-lo. + Importação concluída + Itens adicionados + OsmAnd verifica %1$s para duplicatas com itens existentes na aplicação. +\n +\nPode levar algum tempo. + Importando + Importando dados de %1$s + Tem certeza de que deseja limpar os dados gravados\? + Não foi possível fazer o backup do perfil. + Gravando novo perfil + Restaurar todas as configurações de perfil\? + Todas as configurações de perfil serão restauradas ao seu estado original após a criação/importação deste perfil. + Importar ficheiro de renderização + Estilo de renderização + Selecione os dados a serem importados. + Alguns itens já existem + OsmAnd já possui elementos com os mesmos nomes dos importados. +\n +\nSelecione uma ação. + Os itens importados serão adicionados com prefixo + Manter os dois + Substituir tudo + Os itens atuais serão substituídos pelos itens do ficheiro + Listado %1$s já existe no OsmAnd. + Perfis + Ações rápidas + Nada selecionado + Tipos de POI + Preparando + Ângulo mínimo entre minha localização e rota + Segmento reto adicional entre minha localização e a rota calculada será exibida até que a rota seja recalculada + Ângulo + Ângulo: %s° + Perfil personalizado + A rota será recalculada se a distância até à rota for maior que o parâmetro especificado + Distância mínima para recalcular a rota + Desativar recálculo + App predefinido (%s) + Antártida + Pode selecionar dados adicionais para exportar junto com o perfil. + O perfil importado contém dados adicionais. Clique em Importar para importar apenas dados do perfil ou selecione dados adicionais a serem importados. + Incluir dados adicionais + Roteamento + %1$s — %2$s — %3$s + Menu + Este plugin é uma aplicação separada, precisará removê-lo separadamente se não planeja usá-lo mais. +\n +\nO plug-in permanecerá no aparelho após a remoção do OsmAnd. + Plugin desativado + Abrir configurações + Forneça um nome para o perfil + Classificar por categoria + Direto ao ponto + Copiar coordenadas + • Perfis: agora pode alterar a ordem, definir o ícone para o mapa, alterar todas as configurações dos perfis básicos e restaurá-los para as predefinições +\n +\n  • Número de saída adicionado na navegação +\n +\n  • Configurações de plug-in reformuladas +\n +\n  • Ecrã Configurações retrabalhadas para acesso rápido a todos os perfis +\n +\n  • Opção adicionada para copiar configurações de outro perfil +\n +\n  • Adicionado capacidade de alterar um pedido ou ocultar categorias de PI na Pesquisa +\n +\n  • Ícones de POI corretamente alinhados no mapa +\n +\n  • Dados do pôr-do-sol/nascer do sol adicionados para configurar o mapa +\n +\n  • Adicionado ícones Casa/Trabalho no mapa +\n +\n  • Adicionado suporte para descrição de múltiplas linhas em Configurações +\n +\n  • Adicionado transliteração correta no mapa do Japão +\n +\n  • Adicionado mapa da Antártica +\n +\n + Limpar dados gravados + Desativado por predefinição, se OsmAnd estiver sendo executado em primeiro plano, o ecrã não atingirá o tempo limite. +\n +\nSe ativado, o OsmAnd usará as configurações de tempo limite do sistema. + Usar tempo limite do ecrã do sistema + Modo de acessibilidade desativado no seu sistema. + Nascer do sol em %1$s + Pôr do sol em %1$s + %1$s/%2$s + Todas as configurações de perfil restauradas para o estado predefinido. + Todas as configurações de plug-in restauradas para o estado predefinido. + Adicionar categoria personalizada + Disponível + Redefinir como predifinição redefinirá a ordem de classificação para o estado predefinido após a instalação. + Pode adicionar uma nova categoria personalizada selecionando uma ou algumas categorias necessárias. + Altere a ordem de classificação da lista, oculte categorias desnecessárias. Pode importar ou exportar todas as alterações com perfis. + Reorganizar categorias + Autorização bem sucedida + Som do obturador da câmera + Usar app do sistema + Divisão do gravador + Redefinir as configurações do plug-in para a predefinição + Deslocamento mínimo + Precisão mínima + Velocidade mínima + Notificação + Especificar o endereço web com a sintaxe de parâmetros: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}. + Endereço da Web + Intervalo de rastreamento + Buffer de tempo + Recomendação: Uma configuração de 5 metros pode funcionar bem se não precisar capturar detalhes mais refinados do que isso e não desejar capturar dados explicitamente enquanto estiver em repouso. + Efeitos colaterais: Períodos em repouso não são registados em absoluto ou em apenas um ponto cada. Pequenos movimentos (do mundo real) (por exemplo, de lado, para marcar um possível desvio na sua viagem) podem ser filtrados. Seu ficheiro contém menos informações para pós-processamento e possui estatísticas piores ao filtrar pontos obviamente redundantes no tempo de gravação, mantendo potencialmente artefatos causados por má recepção ou efeitos de chipset GPS. + Esse filtro evita que pontos duplicados sejam gravados onde muito pouco movimento real possa ter ocorrido, cria uma aparência espacial mais agradável das faixas que não são processadas posteriormente. + Observação: se o GPS estava desligado imediatamente antes de uma gravação, o primeiro ponto medido pode ter uma precisão diminuída; portanto, no nosso código, podemos esperar um segundo antes da gravação de um ponto (ou gravar o melhor de três pontos consecutivos, etc.), mas isso ainda não foi implementado. + Recomendação: É difícil prever o que será gravado e o que não será, talvez seja melhor desativar esse filtro. + Efeito colateral: como resultado da filtragem por precisão, os pontos podem estar totalmente ausentes por ex. debaixo de pontes, sob árvores, entre prédios altos ou com certas condições climáticas. + Isso registrará apenas os pontos medidos com uma indicação de precisão mínima (em metros/pés, conforme relatado pelo Android para o seu chipset). A precisão refere-se à dispersão de medidas repetidas e não está diretamente relacionada à precisão, que define que perto suas medidas estão da sua posição real. + Observação: verificação de velocidade > 0: A maioria dos chipsets GPS relata uma velocidade apenas se o algoritmo determinar que esteja em movimento e nenhum se não estiver. Portanto, o uso da configuração > 0 neste filtro usa a deteção de movimento do chipset GPS. Mas mesmo que não seja filtrado no momento da gravação, ainda usamos esse recurso na nossa análise GPX para determinar a Distância corrigida, ou seja, o valor exibido nesse campo é a distância registrada enquanto estiver em movimento. + Recomendação: Tente usar a deteção de movimento através do filtro de deslocamento mínimo de registro (B) primeiro, pode produzir melhores resultados e você perderá menos dados. Se suas faixas permanecerem barulhentas em baixas velocidades, tente valores diferentes de zero. Observe que algumas medições podem não relatar nenhuma velocidade (alguns métodos baseados em rede); nesse caso, não gravaria nada. + Efeito colateral: sua faixa estará ausente de todas as seções em que o critério de velocidade mínima não foi atendido (por exemplo, onde empurra sua bicicleta por uma colina íngreme). Além disso, não haverá informações sobre períodos de descanso, como intervalos. Isso afeta qualquer análise ou pós-processamento, como ao tentar determinar a duração total da sua viagem, o tempo em movimento ou a sua velocidade média. + Este é um filtro de corte de baixa velocidade para não registar pontos abaixo de uma determinada velocidade. Isso pode fazer com que as faixas gravadas pareçam mais suaves quando visualizadas no mapa. + É necessária permissão para usar esta opção. + Não foi possível analisar a intenção geográfica \'%s\'. + Verifique e compartilhe logs detalhados da aplicação + Ícone mostrado em repouso. + Ícone mostrado ao navegar ou mover. + Pode ver todos os erros de OSM do editor carregado em %1$s. Os pontos enviados não são exibidos no OsmAnd. + Edição OSM + Essas configurações aplicam-se a todos os perfis. + Utilizador e palavra-passe + Anunciar + Recálculo da rota + Notas fotográficas + Notas de vídeo + Pode encontrar todas as suas anotações em %1$s. + Pode encontrar todas as suas faixas gravadas em %1$ss ou na pasta OsmAnd usando o gerador de ficheiros. + Precisão de registo + Rastreamento online + Permite compartilhar a localização atual usando a gravação de viagem. + Escolha ícone, cor e nome + Entrada, palavra-passe, edição offline + Tamanho da imagem, qualidade de áudio e vídeo + Navegação, precisão de registo + Importar perfil + Importar ficheiro de roteamento + Importar do ficheiro + Selecione um ficheiro de extensão %1$s suportado. + Nenhuma regra de roteamento em \'%1$s\'. Por favor, escolha outro ficheiro. \ No newline at end of file From 266f8f0f5fe26535936dd7704c2b79fbb01d4b24 Mon Sep 17 00:00:00 2001 From: Tymofij Lytvynenko Date: Mon, 30 Mar 2020 22:00:59 +0000 Subject: [PATCH 12/21] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3246 of 3246 strings) --- OsmAnd/res/values-uk/strings.xml | 40 ++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index b0f41824b2..1000fff242 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -635,9 +635,9 @@ Виберіть перехрестя Найближчі послуги Огляд мапи - Автомобіль + Водіння Велосипед - Пішохід + Ходіння В центрі Внизу Широта та довгота введення у вибраному форматі (D - градуси, M - хвилини, S - секунди) @@ -3052,7 +3052,7 @@ Приміський автобус Метро Кінь - Гелікоптер + Вертиліт Ви можете додати власну модифіковану версію файлу routing.xml до теки ..osmand/routing Лижі Лижі @@ -3109,8 +3109,8 @@ \n• Інші виправлення помилок \n \n - Персональний транспортер - Моноколесо + Особистий перевізник + Одноколісний Самокат Поземна точність: %1$s, прямовисна точність: %2$s Поземна точність: %s @@ -3193,7 +3193,7 @@ Відкрити трек Трек %s збережено Об\'єднати прогалини - Житель табору + Табірник Дім на колесах Показати на мапі зони низьких викидів. Не впливає на маршрутизацію. Показати зони низьких викидів @@ -3307,7 +3307,7 @@ Обмеження ширини Вкажіть дозволену межу ширини транспортного засобу на маршрутах. Уникати певних маршрутів та типів доріг - Мотовсюдихід + Поруч Повітряна дорога З\'єднання Розрахувати @@ -3571,4 +3571,30 @@ Маршрут буде перераховано, якщо відстань від маршруту до поточного місця розташування перевищує вибране значення. Виберіть відстань, після якого маршрут буде перераховано. Перерахунок маршруту у випадку відхилення + Хв + Місцевість + Мапа пагорбів використовує темні відтінки для показу схилів, вершин і низин. + Схил - це кольорове відмальовування на місцевості. + Встановіть найменший та найбільший рівні масштабування, при якому шар буде відображатися. + Потрібні додаткові мапи для перегляду пагорбів. + Для перегляду схилів потрібні додаткові мапи. + Ви можете прочитати більше про схили в %1$s. + Прозорість + Рівні масштабування + Позначення + Увімкнути для перегляду мапи пагорбів або схилів. Докладніше про ці види мап ви можете прочитати на нашому сайті + Пагорб + %1$s з %2$s + Схили + Показати/приховати місцевість + Сховати місцевість + Показати місцевість + Кнопка для відображення або приховування шару місцевості на мапі. + Видалити опис + Додати опис + Вибрати групу + Вибрати фігуру + Коло + Ромб + Площа \ No newline at end of file From 82218fd08dce7005a7b3d310bd28c869eedb835b Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 30 Mar 2020 17:34:38 +0000 Subject: [PATCH 13/21] Translated using Weblate (Danish) Currently translated at 89.0% (2890 of 3246 strings) --- OsmAnd/res/values-da/strings.xml | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 0301e70b2e..d4a456ee44 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -1209,7 +1209,7 @@ Proportional hukommelse %4$s MB (Android grænse %5$s MB, Dalvik %6$s MB).Bygninger Gang- og cykelstier Tekst - Skov og beplantning + Skov og beplantning Bygninger på zoomniveau 15 Flere detaljer Færre detaljer @@ -3112,7 +3112,7 @@ Repræsenterer område: %1$s x %2$s Langrend / nordisk ski Spor til nordisk eller langrend. Langrend ski - Spor til langrend ski + Spor til langrend ski. Slæde Pister til kælkning. Tillad mellemliggende ruter @@ -3122,7 +3122,7 @@ Repræsenterer område: %1$s x %2$s Tillad ekspert ruter Ekstremt vanskelige ruter, med farlige forhindringer og omgivelser. Tillad kun skøjteløb ruter - Ruter forberedt til freestyle eller kun skøjteløb uden klassiske spor + Ruter forberedt til freestyle eller kun skøjteløb uden klassiske spor. Tillad kun klassiske ruter Ruter forberedt til den klassiske stil uden skøjtebaner. Omfatter ruter udarbejdet af en mindre snescooter med løsere pister og spor lavet manuelt af skiløbere. Foretrukket sværhedsgrad @@ -3205,7 +3205,7 @@ Repræsenterer område: %1$s x %2$s Spor %s er gemt Forbind mellemrum Campingvogn - Autocamper + Autocamper (RV) Vis miljøzoner på kortet. Påvirker ikke routing. Vis Miljøzoner Overvej midlertidige begrænsninger @@ -3527,4 +3527,24 @@ Repræsenterer område: %1$s x %2$s Importerer data fra %1$s Importerer Importen er fuldført + Kontrol af %1$s for dubletter med eksisterende elementer i programmet. +\n +\nDet kan tage lidt tid. + Genberegn rute i tilfælde af afvigelse + Vælg afstanden, hvorefter ruten genberegnes. + Ruten genberegnes, hvis afstanden fra ruten til den aktuelle placering er større end den valgte værdi. + %1$s af %2$s + Skråninger + Vis/skjul terræn + Skjul terræn + Vis terræn + En knap der viser eller skjuler terrænlag på kortet. + Slet beskrivelse + Tilføj beskrivelse + Vælg gruppe + Vælg form + Cirkel + Rhombe + Firkant + Min \ No newline at end of file From 7c3d608fffe84d6953760ef89b7812da6116edea Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 30 Mar 2020 17:27:22 +0000 Subject: [PATCH 14/21] Translated using Weblate (Danish) Currently translated at 99.6% (3785 of 3798 strings) --- OsmAnd/res/values-da/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index b8631ff9c5..2b7cf718ba 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -3823,4 +3823,7 @@ Vandniveau: over gennemsnitlige vandstand Vandniveau: under gennemsnitlig vandstand Obstruktion + Netværk til påfyldning af drikkevand + Påfyldning af drikkevand: nej + Påfyldning af drikkevand: ja \ No newline at end of file From 9172fa78b7702bfd00fa6595d3f5ebb67560a777 Mon Sep 17 00:00:00 2001 From: ssantos Date: Mon, 30 Mar 2020 17:44:49 +0000 Subject: [PATCH 15/21] Translated using Weblate (Portuguese) Currently translated at 99.0% (3761 of 3798 strings) --- OsmAnd/res/values-pt/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-pt/phrases.xml b/OsmAnd/res/values-pt/phrases.xml index 572e50ceee..f75dc4d647 100644 --- a/OsmAnd/res/values-pt/phrases.xml +++ b/OsmAnd/res/values-pt/phrases.xml @@ -1991,7 +1991,7 @@ Monotrilho Funicular Balsa - Metrô + Metropolitano Rota ferroviária Objeto histórico Vigilância: sim @@ -3543,7 +3543,7 @@ Sim Trem Ônibus - Metrô + Metropolitano Via para veículos com alta ocupação Bonde Balsa From d8e7268be84a9a6869f2de74df6feffd3abc2aca Mon Sep 17 00:00:00 2001 From: jan madsen Date: Mon, 30 Mar 2020 17:30:02 +0000 Subject: [PATCH 16/21] Translated using Weblate (Danish) Currently translated at 98.8% (264 of 267 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/da/ --- OsmAnd-telegram/res/values-da/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd-telegram/res/values-da/strings.xml b/OsmAnd-telegram/res/values-da/strings.xml index a6a4a396dc..7ed4c1644b 100644 --- a/OsmAnd-telegram/res/values-da/strings.xml +++ b/OsmAnd-telegram/res/values-da/strings.xml @@ -12,7 +12,7 @@ Sidste tilgængelige placering Delingsstatus Deling: %1$s - aktiveret + Aktiveret Status Ingen GPX-forbindelse Ingen internetforbindelse @@ -243,7 +243,7 @@ Minimum logningshastighed Filter: ingen logning under den valgte hastighed GPX-indstillinger - Vi har ikke indsamlet data for den valgte dag + Der er ikke indsamlet data for den valgte dag Ingen data Slut Start From 6065c884290e4c6e5b3e57d2e01ba362fa7ff346 Mon Sep 17 00:00:00 2001 From: Gilbert Lowel Date: Mon, 30 Mar 2020 17:13:19 +0000 Subject: [PATCH 17/21] Translated using Weblate (Dutch) Currently translated at 97.0% (3149 of 3246 strings) --- OsmAnd/res/values-nl/strings.xml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml index ac990ab2c1..87795446e2 100644 --- a/OsmAnd/res/values-nl/strings.xml +++ b/OsmAnd/res/values-nl/strings.xml @@ -87,7 +87,7 @@ Wis de bewerking OpenStreetMap asynchroon wijzigen: Lokaal opgeslagen OSM-Interessepunten/Opmerkingen - Beheer OSM-Interessepunten/Opmerkingen die lokaal zijn bewaard. + Toon en beheer OSM-Interessepunten/Opmerkingen die lokaal zijn bewaard. Specificeer interval voor online tracking. Interval voor online tracking Specificeer het webadres met parameters: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}. @@ -633,7 +633,7 @@ Activeer in een land waar men links rijdt. Vertrekpunt is nog niet bepaald. Downloaden afbreken? - De basiskaart is nodig voor de goede werking van OsmAnd en is al geselecteerd om te downloaden. + "De basiskaart, nodig voor de goede werking van OsmAnd, is al geselecteerd om te downloaden." Activeer de \'Online Kaarten\' plug-in om andere kaartbronnen te kunnen selecteren Online (raster-) kaarten Gebruik online kaarten (download en bewaar deze op SD-kaart). @@ -887,10 +887,10 @@ Proportioneel werkgeheugen %4$s MB (Android limiet %5$s MB, Dalvik %6$s MB).Audio/video-instellingen Fout opgetreden bij opnemen Camera is niet beschikbaar - Overweeg om de plug-in \"Hoogtelijnen\" te kopen in de Play-store om verdere ontwikkeling te ondersteunen. + Overweeg om de plug-in \"Hoogtelijnen\" te kopen, in de Play-store, om verdere ontwikkeling te ondersteunen. Hoogtelijnen-Plugin Volgorde wijzigen - De Dropbox plug-in kan tracks en audio-/videonotities synchroniseren met je Dropbox-account. + Synchroniseren tracks en audio-/videonotities met je Dropbox-account. Dropbox plug-in Toon Foto %1$s %2$s @@ -2151,7 +2151,7 @@ voor Gebied: %1$s x %2$s Kies een categorie (optie). POI-lijst Je kunt één of meerdere POI-categorieën kiezen om weer te geven. - Druk knop om door de onderstaande lijst te bladeren. + Een knop om door de onderstaande lijst te bladeren. Kaartstijl toevoegen Alle parameters invullen Kaartstijlen @@ -3316,7 +3316,7 @@ voor Gebied: %1$s x %2$s Online volgen Opnamenauwkeurigheid U kan al uw opgenomen tracks terugvinden bij %1$s of in OsmAnd-map met een bestand verkenner. - U kan al uw notities terugvinden bij %1$s + U kan al uw notities terugvinden in %1$s Videonotities Fotonotities Route herberekening @@ -3349,7 +3349,7 @@ voor Gebied: %1$s x %2$s Camera sluiter geluid Toestemming is gelukt Herschik categorieën - Je kan eigen categorieën toevoegen, categorieën die niet nuttig zijn verbergen en de sorteervolgorde van de lijst wijzigen. De lijst kan met profielen geïmporteerd en geëxporteerd worden. + Wijzig de sorteervolgorde van een lijst, verberg onnodige categorieën. U kunt alle wijzigingen in profielen, exporteren of importeren. Je kan een nieuwe eigen categorie toevoegen door een of meerdere benodigde categorieën te kiezen. Herstel naar standaard zal de sorteervolgorde terugzetten zoals die was bij installatie. Beschikbaar @@ -3410,4 +3410,17 @@ voor Gebied: %1$s x %2$s Alle profielinstellingen herstellen\? Slaat nieuw profiel op Kan profiel niet back-uppen. + %1$s of %2$s + Hellingen + Toon/Verberg de omgeving + Verberg de omgeving + Toon de omgeving + Een knop om een laag op de kaart weer te geven of te verbergen. + Verwijder een beschrijving + Voeg een beschrijving toe + Selecteer groep + Selecteer vorm + cirkel + Ruit + Min \ No newline at end of file From 95834812dd36a8e3fe57db54c50fde68fe91692a Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 31 Mar 2020 06:29:03 +0000 Subject: [PATCH 18/21] Translated using Weblate (Hebrew) Currently translated at 97.9% (3180 of 3246 strings) --- OsmAnd/res/values-he/strings.xml | 34 +++++++++++++++++++------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 6adf01ebdf..99bcd17fb9 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -831,7 +831,8 @@ המסנן ‚%1$s’ נוצר דוא״ל רחוב:\n {0}, {1} - OsmAnd+‎ ‏(OSM הכוונת ניווט אוטומטית) + OsmAnd+‎ ‏(OSM הכוונת ניווט אוטומטית) +\n \n OsmAnd+‎ הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתוני OSM. ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה. \n \n OsmAnd+‎ הנה הגרסה בתשלום של היישום, רכישת גרסה זו מהווה הבעת תמיכה במיזם, מימון פיתוח של תכונות חדשות ומבטיחה קבלת עדכונים במהירות. @@ -3401,10 +3402,10 @@ להעדיף מסלולים ברמת הקושי הזו, למרות שניתוב דרך מסלולים קשים או קלים יותר עדיין אפשרי אם מדובר במסלולים יותר קצרים. מסלולי גלישה חופשית ומחוץ לסימון הם מסלולים ומעברים בלתי רשמיים. בדרך כלל לא עברו גרומינג, אינם מתוחזקים באופן רשמי ואינם מפוקחים בשעות הערב. הכניסה על אחריותך בלבד. עבה - למדבריות ואזורים נוספים עם אוכלוסיה דלילה. מציג פרטים נוספים בהתאם לתקריב. - בחירת סמל ניווט - בחירת סמל מפה - לאחר לחיצה על ‚החלה’, הפרופילים שנמחקו יאבדו לעד. + למדבריות ואזורים נוספים עם אוכלוסיה דלילה. פירוט מורחב. + סמל מיקום בזמן תזוזה + סמל מיקום בעת מנוחה + נגיעה ב־‚החלה’ תמחק את הפרופילים שהוסרו לצמיתות. פרופיל ראשי בחירת צבע לא ניתן למחוק את פרופילי בררת המחדל של OsmAnd, אך ניתן להשבית אותם במסך הקודם או להעביר אותם לתחתית. @@ -3414,13 +3415,13 @@ נא לבחור סמל, צבע ושם עריכת רשימת הפרופילים פרופיל נבחר - לחיצה על %1$s תוביל לאבדן כל השינויים שערכת. - כל הגדרות הפרופיל יאופסו למצב כמו שלאחר ההתקנה. - לאפס את הגדרות הפרופיל לבררת המחדל\? + נגיעה ב־%1$s תוביל לאבדן כל השינויים שערכת. + איפוס כל הגדרות הפרופיל לבררות המחדל של ההתקנה. + לאפס את הגדרות הפרופיל\? %1$s:‏ %2$s %1$s %2$s אין כללי ניווט ב־‚%1$s’. נא לבחור בקובץ אחר. - סוג הקובץ אינו נתמך. עליך לבחור קובץ עם הסיומת %1$s. + נא לבחור קובץ נתמך בסיומת %1$s במקום. ייבוא מקובץ ייבוא קובץ ניווט ייבוא פרופיל @@ -3436,16 +3437,16 @@ חישוב מסלול מחדש הכרזה שם משתמש וססמה - הגדרות התוסף הזה הן גלובליות וחלות על כל הפרופילים. - עריכה של OpenStreetMap + הגדרות אלו חלות על כל הפרופילים. + עריכה של OSM OSM - הסמל יופיע רק בזמן הניווט או בזמן תזוזה. - סמל המפה מופיע במפה בלבד והוא מתחלף בעת הניווט לסמל הניווט. + סמל שמופיע רק בעת ניווט או תזוזה. + סמל שמופיע במנוחה. דירוג לבדוק ולשתף תיעוד מפורט של יומני היישומון נדרשת הרשאה כדי להשתמש באפשרות הזו. סידור הקטגוריות מחדש - ניתן להוסיף קטגוריות מותאמות אישית, להסתיר קטגוריות שאינן נחוצות לך ולשנות את סדר הרשימה. ניתן לייבא את הרשימה ולייצא אותה עם פרופילים. + ניתן להחליף את סדר הרשימה ולהסתיר קטגוריות בלתי נחוצות. כמו כן, אפשר לייבא או לייצא את כל השינויים עם פרופילים. ניתן להוסיף קטגוריה חדשה מותאמת אישית על ידי בחירה בקטגוריה נחוצה אחת או יותר. איפוס לבררת מחדל יחזיר את הסדר למצב בררת המחדל כמו לאחר ההתקנה. זמין @@ -3575,4 +3576,9 @@ מעויני ריבועי מזערי + הצגת העריכות או הבאגים שלא הועלו תחת %1$s. הנקודות שהועלו לא תופענה עוד. + מפת הצללה עם צבעי הצללה כהים כדי להדגיש מדרונות, פסגות ועמקים. + מתומן + הערות ה־OSM שלך הן תחת %1$s. + המסלולים המוקלטים שלך נמצאים תחת %1$s, או בתיקייה של OsmAnd. \ No newline at end of file From 08df1e37e14ac9c9961075f99ca28c32ee07e71a Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Tue, 31 Mar 2020 06:07:38 +0000 Subject: [PATCH 19/21] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3246 of 3246 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 693dfe0bfe..a46c9b681c 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -3150,9 +3150,9 @@ \n • 其他臭蟲修復 \n \n - 個人運輸 + 個人運輸工具 單輪 - 摩托車 + 速克達 水平精度:%1$s,垂直:%2$s 水平精度:%s 越野 @@ -3201,7 +3201,7 @@ 路徑:距離 %s,路徑時間 %s \n計算:%.1f 秒,%d 路,%d 圖磚) Occitan - 休旅車 + 旅行車 皮卡車 @@ -3597,4 +3597,5 @@ 圓形 菱形 方形 + 八邊形 \ No newline at end of file From dc24e98a76bf254b8fd10099f9a9599270fa0916 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Tue, 31 Mar 2020 07:39:05 +0000 Subject: [PATCH 20/21] Translated using Weblate (French) Currently translated at 100.0% (3246 of 3246 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 2e65500aa5..2a8da1b567 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3577,4 +3577,5 @@ représentant la zone : %1$s x %2$s Cercle Losange Carré + Octogone \ No newline at end of file From b01e67013add3572b546e835140855d8c84cae9c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 31 Mar 2020 11:29:00 +0300 Subject: [PATCH 21/21] Add two icons for App profiles: Snowmobile and Ski Touring --- OsmAnd/res/drawable/ic_action_ski_touring.xml | 11 +---------- OsmAnd/res/drawable/ic_action_snowmobile.xml | 14 ++++++++++++++ OsmAnd/res/values/strings.xml | 2 ++ .../src/net/osmand/plus/profiles/ProfileIcons.java | 4 +++- 4 files changed, 20 insertions(+), 11 deletions(-) create mode 100644 OsmAnd/res/drawable/ic_action_snowmobile.xml diff --git a/OsmAnd/res/drawable/ic_action_ski_touring.xml b/OsmAnd/res/drawable/ic_action_ski_touring.xml index 3ae35b6887..e1d7bd367b 100644 --- a/OsmAnd/res/drawable/ic_action_ski_touring.xml +++ b/OsmAnd/res/drawable/ic_action_ski_touring.xml @@ -4,16 +4,7 @@ android:viewportWidth="24" android:viewportHeight="24"> - - - diff --git a/OsmAnd/res/drawable/ic_action_snowmobile.xml b/OsmAnd/res/drawable/ic_action_snowmobile.xml new file mode 100644 index 0000000000..0ed2b39f87 --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_snowmobile.xml @@ -0,0 +1,14 @@ + + + + diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index cfc57b3cb0..cb6a5d3d9b 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,8 @@ Thx - Hardy --> + Snowmobile + Ski touring Min Square Rhomb diff --git a/OsmAnd/src/net/osmand/plus/profiles/ProfileIcons.java b/OsmAnd/src/net/osmand/plus/profiles/ProfileIcons.java index dde1f07da1..0b6c6e150b 100644 --- a/OsmAnd/src/net/osmand/plus/profiles/ProfileIcons.java +++ b/OsmAnd/src/net/osmand/plus/profiles/ProfileIcons.java @@ -34,7 +34,9 @@ public enum ProfileIcons { CAMPER(R.drawable.ic_action_camper, R.string.app_mode_camper, "ic_action_camper"), PICKUP_TRUCK(R.drawable.ic_action_pickup_truck, R.string.app_mode_pickup_truck, "ic_action_pickup_truck"), WAGON(R.drawable.ic_action_wagon, R.string.app_mode_wagon, "ic_action_wagon"), - UTV(R.drawable.ic_action_utv, R.string.app_mode_utv, "ic_action_utv"), + UTV(R.drawable.ic_action_ski_touring, R.string.app_mode_utv, "ic_action_ski_touring"), + SKI_TOURING(R.drawable.ic_action_utv, R.string.app_mode_ski_touring, "ic_action_utv"), + SNOWMOBILE(R.drawable.ic_action_snowmobile, R.string.app_mode_ski_snowmobile, "ic_action_snowmobile"), OSM(R.drawable.ic_action_openstreetmap_logo, R.string.app_mode_osm, "ic_action_openstreetmap_logo"); @DrawableRes