diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/routeinfo/RouteInfoWidget.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/routeinfo/RouteInfoWidget.java index 5cf2d3641d6..de068c49d06 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/routeinfo/RouteInfoWidget.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/routeinfo/RouteInfoWidget.java @@ -55,6 +55,7 @@ public class RouteInfoWidget extends MapWidget implements ISupportVerticalPanel, private TextState textState; private final RouteInfoCalculator calculator; private List cachedRouteInfo; + private RouteInfoDisplayMode cachedDisplayMode; private int cachedContentLayoutId; private Integer cachedMetricSystem; private boolean forceUpdate = false; @@ -252,6 +253,11 @@ private boolean isUpdateNeeded(@NonNull List routeInfo) { if (metricSystemChanged) { return true; } + RouteInfoDisplayMode displayMode = widgetState.getDisplayMode(); + if (cachedDisplayMode != displayMode) { + cachedDisplayMode = displayMode; + return true; + } if (Algorithms.isEmpty(cachedRouteInfo) || isDataChanged(cachedRouteInfo.get(0), routeInfo.get(0))) { return true; } diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgetstates/RouteInfoWidgetState.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgetstates/RouteInfoWidgetState.java index 92333d75a01..e4a2f6a176c 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgetstates/RouteInfoWidgetState.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgetstates/RouteInfoWidgetState.java @@ -21,6 +21,11 @@ public RouteInfoWidgetState(@NonNull OsmandApplication app, @Nullable String cus displayModePref = registerDisplayModePreference(customId); } + @NonNull + public RouteInfoDisplayMode getDisplayMode() { + return getDisplayMode(settings.getApplicationMode()); + } + @NonNull public RouteInfoDisplayMode getDisplayMode(@NonNull ApplicationMode appMode) { return displayModePref.getModeValue(appMode);