diff --git a/android/app/src/main/java/app/organicmaps/routing/NavigationController.java b/android/app/src/main/java/app/organicmaps/routing/NavigationController.java
index 4bea93ece..9d9ba58f5 100644
--- a/android/app/src/main/java/app/organicmaps/routing/NavigationController.java
+++ b/android/app/src/main/java/app/organicmaps/routing/NavigationController.java
@@ -1,7 +1,9 @@
package app.organicmaps.routing;
+import static androidx.core.content.ContextCompat.getString;
import static app.organicmaps.sdk.util.Utils.dimen;
+import android.content.SharedPreferences;
import android.location.Location;
import android.text.TextUtils;
import android.view.View;
@@ -13,6 +15,7 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.lifecycle.ViewModelProvider;
+import androidx.preference.PreferenceManager;
import app.organicmaps.MwmApplication;
import app.organicmaps.R;
import app.organicmaps.maplayer.MapButtonsViewModel;
@@ -58,6 +61,7 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
private final NavMenu mNavMenu;
View.OnClickListener mOnSettingsClickListener;
+ private final boolean speedLimitEnabled;
private void addWindowsInsets(@NonNull View topFrame)
{
@@ -72,6 +76,8 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
public NavigationController(AppCompatActivity activity, View.OnClickListener onSettingsClickListener,
NavMenu.OnMenuSizeChangedListener onMenuSizeChangedListener)
{
+ SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(activity);
+ speedLimitEnabled = sharedPreferences.getBoolean(getString(activity, R.string.pref_speedlimit),true);
mMapButtonsViewModel = new ViewModelProvider(activity).get(MapButtonsViewModel.class);
mFrame = activity.findViewById(R.id.navigation_frame);
@@ -97,6 +103,16 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
mSpeedLimit = topFrame.findViewById(R.id.nav_speed_limit);
mCurrentSpeed = topFrame.findViewById(R.id.nav_current_speed);
+ if (speedLimitEnabled)
+ {
+ UiUtils.show(mSpeedLimit);
+ UiUtils.show(mCurrentSpeed);
+ }
+ else
+ {
+ UiUtils.hide(mSpeedLimit);
+ UiUtils.hide(mCurrentSpeed);
+ }
View mTopbar = topFrame.findViewById(R.id.statutbar);
ViewCompat.setOnApplyWindowInsetsListener(mTopbar,(v, windowInsets) -> {
@@ -136,7 +152,8 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
mLanesView.setLanes(info.lanes);
- updateSpeedWidgets(info);
+ if (speedLimitEnabled)
+ updateSpeedWidgets(info);
}
private void updatePedestrian(@NonNull RoutingInfo info)
@@ -144,7 +161,8 @@ public class NavigationController implements TrafficManager.TrafficCallback, Nav
mNextTurnDistance.setText(Utils.formatDistance(mFrame.getContext(), info.distToTurn));
info.pedestrianTurnDirection.setTurnDrawable(mNextTurnImage);
- updateSpeedWidgets(info);
+ if (speedLimitEnabled)
+ updateSpeedWidgets(info);
}
public void updateNorth()
diff --git a/android/app/src/main/res/drawable/ic_speed.xml b/android/app/src/main/res/drawable/ic_speed.xml
new file mode 100644
index 000000000..e21967ffa
--- /dev/null
+++ b/android/app/src/main/res/drawable/ic_speed.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/android/app/src/main/res/values-fr/strings.xml b/android/app/src/main/res/values-fr/strings.xml
index 5a40b5cb9..3ce694794 100644
--- a/android/app/src/main/res/values-fr/strings.xml
+++ b/android/app/src/main/res/values-fr/strings.xml
@@ -926,4 +926,6 @@
Serveur de cartes personnalisé
Veuillez saisir une URL complète commençant par http:// ou https://
Serveur pour télécharger les cartes. Laissez vide pour utiliser le serveur par défaut CoMaps.
+ Compteur de vitesse
+ Affichage de la vitesse durant la navigation
diff --git a/android/app/src/main/res/values/donottranslate.xml b/android/app/src/main/res/values/donottranslate.xml
index 47475bd26..99ccd3a9f 100644
--- a/android/app/src/main/res/values/donottranslate.xml
+++ b/android/app/src/main/res/values/donottranslate.xml
@@ -45,6 +45,7 @@
pref_power
CustomMapDownloadUrl
pref_advanced
+ pref_speedlimit
%1$s: %2$s
%2$s :%1$s
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index b0185acc9..5a0f96d74 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -975,4 +975,6 @@
Override the default map download server used for map downloads. Leave empty to use CoMaps default server.
Not set
Please enter a URL starting with http:// or https://
+ Speed limit
+ Show speed during navigation
diff --git a/android/app/src/main/res/xml/prefs_main.xml b/android/app/src/main/res/xml/prefs_main.xml
index d568ea6c2..4cc7c9ccb 100644
--- a/android/app/src/main/res/xml/prefs_main.xml
+++ b/android/app/src/main/res/xml/prefs_main.xml
@@ -143,6 +143,14 @@
+