From 23873dccdbb411a719f21b53e36ec5096c56e85d Mon Sep 17 00:00:00 2001 From: johan12345 Date: Thu, 8 Jun 2023 13:04:36 +0200 Subject: [PATCH] add setting to configure map scale bar --- .../vonforst/evmap/fragment/MapFragment.kt | 21 +++++++++++++++++++ .../evmap/storage/PreferenceDataSource.kt | 3 +++ app/src/main/res/values-de/strings.xml | 5 +++++ app/src/main/res/values/arrays.xml | 12 +++++++++++ app/src/main/res/values/strings.xml | 5 +++++ app/src/main/res/xml/settings_ui.xml | 7 +++++++ 6 files changed, 53 insertions(+) diff --git a/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt b/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt index ab9814fe..4dea3635 100644 --- a/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt +++ b/app/src/main/java/net/vonforst/evmap/fragment/MapFragment.kt @@ -895,6 +895,27 @@ class MapFragment : Fragment(), OnMapReadyCallback, MapsActivity.FragmentCallbac map.projection.visibleRegion.latLngBounds, map.cameraPosition.zoom ) } + + binding.scaleView.apply { + when (prefs.mapScale) { + "both" -> { + visibility = View.VISIBLE + metersAndMiles() + } + + "meters" -> { + visibility = View.VISIBLE + metersOnly() + } + + "miles" -> { + visibility = View.VISIBLE + milesOnly() + } + + "off" -> visibility = View.GONE + } + } vm.mapPosition.observe(viewLifecycleOwner) { binding.scaleView.update(map.cameraPosition.zoom, map.cameraPosition.target.latitude) } diff --git a/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt b/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt index 7cbb88d0..d593c53f 100644 --- a/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt +++ b/app/src/main/java/net/vonforst/evmap/storage/PreferenceDataSource.kt @@ -261,4 +261,7 @@ class PreferenceDataSource(val context: Context) { set(value) { sp.edit().putBoolean("dev_mode_enabled", value).apply() } + + val mapScale: String + get() = sp.getString("map_scale", null) ?: "both" } \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 75dfd23f..78fa0158 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -314,4 +314,9 @@ Blockiergebühr: %s Durchschnittliche Auslastung Website + Kartenmaßstab + Meter und Meilen + Meter + Meilen + aus \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index ca4ec507..502b0da9 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -66,4 +66,16 @@ goingelectric openchargemap + + @string/pref_map_scale_both + @string/pref_map_scale_meters + @string/pref_map_scale_miles + @string/pref_map_scale_off + + + both + meters + miles + off + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f3815da6..21226e88 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -314,4 +314,9 @@ Blocking fee: %s Average Utilization Website + Map scale bar + meters and miles + meters + miles + off \ No newline at end of file diff --git a/app/src/main/res/xml/settings_ui.xml b/app/src/main/res/xml/settings_ui.xml index d6d3a276..89081a96 100644 --- a/app/src/main/res/xml/settings_ui.xml +++ b/app/src/main/res/xml/settings_ui.xml @@ -22,6 +22,13 @@ android:summaryOn="@string/pref_map_rotate_gestures_on" android:summaryOff="@string/pref_map_rotate_gestures_off" android:defaultValue="true" /> +