From 9d85becdcbbbd8d29373a18a42bfb9a0e56ead70 Mon Sep 17 00:00:00 2001 From: nazar-kutz Date: Thu, 6 Feb 2025 18:35:47 +0200 Subject: [PATCH] Fix "Route Information" widget after 1st UI Review --- .../widget_route_information_medium.xml | 12 +++++-- .../widget_route_information_small_duo.xml | 31 +++++++++++++------ .../osmand/plus/utils/OsmAndFormatter.java | 13 +++++--- .../widgets/TimeToNavigationPointWidget.java | 1 - 4 files changed, 39 insertions(+), 18 deletions(-) diff --git a/OsmAnd/res/layout/widget_route_information_medium.xml b/OsmAnd/res/layout/widget_route_information_medium.xml index 34e09b07de8..c423ad4f4a1 100644 --- a/OsmAnd/res/layout/widget_route_information_medium.xml +++ b/OsmAnd/res/layout/widget_route_information_medium.xml @@ -88,18 +88,21 @@ android:background="?android:listDivider" /> - @@ -108,6 +111,7 @@ android:id="@+id/secondary_value_2" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="center_vertical" android:textColor="?android:textColorSecondary" android:textSize="16sp" tools:text="9 h 23 m" /> @@ -116,10 +120,12 @@ android:id="@+id/tertiary_value_2" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="bottom" + android:layout_marginTop="-1dp" android:textColor="?android:textColorSecondary" android:textSize="16sp" tools:text="629 km" /> - + diff --git a/OsmAnd/res/layout/widget_route_information_small_duo.xml b/OsmAnd/res/layout/widget_route_information_small_duo.xml index 1567089c410..92fe00c8ac4 100644 --- a/OsmAnd/res/layout/widget_route_information_small_duo.xml +++ b/OsmAnd/res/layout/widget_route_information_small_duo.xml @@ -7,6 +7,8 @@ android:orientation="horizontal"> + + @@ -25,11 +27,10 @@ - - @@ -38,6 +39,7 @@ android:id="@+id/primary_value_1" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="top" android:textColor="?android:textColorPrimary" android:textSize="16sp" tools:text="20:33" /> @@ -45,12 +47,14 @@ @@ -59,6 +63,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginHorizontal="4dp" + android:gravity="bottom" android:text="•" android:textColor="?android:textColorSecondary" android:textSize="14sp" @@ -68,36 +73,38 @@ android:id="@+id/tertiary_value_1" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:gravity="bottom" android:textColor="?android:textColorSecondary" android:textSize="14sp" tools:text="331 km" /> - + - @@ -105,12 +112,14 @@ @@ -119,6 +128,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginHorizontal="4dp" + android:gravity="bottom" android:text="•" android:textColor="?android:textColorSecondary" android:textSize="14sp" @@ -128,13 +138,14 @@ android:id="@+id/tertiary_value_2" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:gravity="bottom" android:textColor="?android:textColorSecondary" android:textSize="14sp" tools:text="629 km" /> - + diff --git a/OsmAnd/src/net/osmand/plus/utils/OsmAndFormatter.java b/OsmAnd/src/net/osmand/plus/utils/OsmAndFormatter.java index 6ad1f04753d..9e1cd511728 100644 --- a/OsmAnd/src/net/osmand/plus/utils/OsmAndFormatter.java +++ b/OsmAnd/src/net/osmand/plus/utils/OsmAndFormatter.java @@ -27,6 +27,7 @@ import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.SwissGridApproximation; +import net.osmand.plus.helpers.LocaleHelper; import net.osmand.plus.settings.backend.ApplicationMode; import net.osmand.plus.settings.backend.OsmandSettings; import net.osmand.plus.settings.backend.preferences.OsmandPreference; @@ -42,6 +43,7 @@ import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.MessageFormat; +import java.text.NumberFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; @@ -112,17 +114,20 @@ public static void setTwelveHoursFormatting(boolean setTwelveHoursFormat, @NonNu } public static String getFormattedDuration(long seconds, @NonNull OsmandApplication app) { + LocaleHelper localeHelper = app.getLocaleHelper(); + Locale locale = localeHelper.getPreferredLocale() != null ? localeHelper.getPreferredLocale() : localeHelper.getDefaultLocale(); + NumberFormat numberFormat = NumberFormat.getInstance(locale); long hours = seconds / (60 * 60); long minutes = (seconds / 60) % 60; if (hours > 0) { - return hours + " " + return numberFormat.format(hours) + " " + app.getString(R.string.osmand_parking_hour) - + (minutes > 0 ? " " + minutes + " " + + (minutes > 0 ? " " + numberFormat.format(minutes) + " " + app.getString(R.string.shared_string_minute_lowercase) : ""); } else if (minutes > 0) { - return minutes + " " + app.getString(R.string.shared_string_minute_lowercase); + return numberFormat.format(minutes) + " " + app.getString(R.string.shared_string_minute_lowercase); } else { - return "<1 " + app.getString(R.string.shared_string_minute_lowercase); + return "<" + numberFormat.format(1) + " " + app.getString(R.string.shared_string_minute_lowercase); } } diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/TimeToNavigationPointWidget.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/TimeToNavigationPointWidget.java index 56b4da50057..18859b77dda 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/TimeToNavigationPointWidget.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/TimeToNavigationPointWidget.java @@ -13,7 +13,6 @@ import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.settings.backend.ApplicationMode; import net.osmand.plus.settings.backend.preferences.OsmandPreference; -import net.osmand.plus.utils.OsmAndFormatter; import net.osmand.plus.views.layers.base.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.mapwidgets.WidgetType; import net.osmand.plus.views.mapwidgets.WidgetsPanel;