From 4a8803b3416d87dc54207b1c1f850085aa543362 Mon Sep 17 00:00:00 2001 From: jensMF Date: Thu, 10 Oct 2019 11:03:46 +0200 Subject: [PATCH 01/60] changed saveDataToGpx so that it saves the dateDirectory in filenames, too --- .../net/osmand/plus/activities/SavingTrackHelper.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java b/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java index a8cce1df62..c1d1b65f5e 100644 --- a/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java +++ b/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java @@ -204,23 +204,21 @@ public class SavingTrackHelper extends SQLiteOpenHelper { File fout = new File(dir, f + ".gpx"); //$NON-NLS-1$ if (!data.get(f).isEmpty()) { WptPt pt = data.get(f).findPointToShow(); - File targetDir = dir; + String fileName = f + "_" + new SimpleDateFormat("HH-mm_EEE", Locale.US).format(new Date(pt.time)); //$NON-NLS-1$ if (ctx.getSettings().STORE_TRACKS_IN_MONTHLY_DIRECTORIES.get()) { SimpleDateFormat dateDirFormat = new SimpleDateFormat("yyyy-MM"); String dateDirName = dateDirFormat.format(new Date(pt.time)); File dateDir = new File(dir, dateDirName); dateDir.mkdirs(); if (dateDir.exists()) { - targetDir = dateDir; + fileName = dateDirName + File.separator + fileName; } } - - String fileName = f + "_" + new SimpleDateFormat("HH-mm_EEE", Locale.US).format(new Date(pt.time)); //$NON-NLS-1$ filenames.add(fileName); - fout = new File(targetDir, fileName + ".gpx"); //$NON-NLS-1$ + fout = new File(dir, fileName + ".gpx"); //$NON-NLS-1$ int ind = 1; while (fout.exists()) { - fout = new File(targetDir, fileName + "_" + (++ind) + ".gpx"); //$NON-NLS-1$ //$NON-NLS-2$ + fout = new File(dir, fileName + "_" + (++ind) + ".gpx"); //$NON-NLS-1$ //$NON-NLS-2$ } } From db279b440e89a0705ae88912ea27f1e8dbfc77db Mon Sep 17 00:00:00 2001 From: jensMF Date: Thu, 10 Oct 2019 12:09:32 +0200 Subject: [PATCH 02/60] added possibility to store tracks in folders per day and changed options menu accordingly (#5) --- OsmAnd/res/values-de/strings.xml | 5 +++ OsmAnd/res/values/strings.xml | 5 +++ .../src/net/osmand/plus/OsmandSettings.java | 6 ++- .../plus/activities/SavingTrackHelper.java | 8 +++- .../OnSaveCurrentTrackFragment.java | 2 +- .../SettingsMonitoringActivity.java | 40 ++++++++++++------- 6 files changed, 47 insertions(+), 19 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index e3bb0900e8..7d20dacd63 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -2460,8 +2460,13 @@ Abgedeckte Fläche: %1$s x %2$s max/min Zurücksetzen Aufstieg/Abstieg + Track Speicherort + Tracks können im Rec Ordner oder in Monats- bzw. Tagesordnern gespeichert werden. + Aufgezeichnete Tracks im Rec Ordner speichern Aufgezeichnete Tracks in Monatsordnern speichern Aufgezeichnete Tracks in nach Aufzeichnungsmonat benannten Unterordnern speichern (z. B. 2018-01). + Aufgezeichnete Tracks in Tagesordnern speichern + Aufgezeichnete Tracks in nach Aufzeichnungstag benannten Unterordnern speichern (z. B. 2018-01). Zirkel %1$d von %2$d Zeit in Bewegung diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index b7b9d29317..b1f8f701a1 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -739,8 +739,13 @@ Show \'Navigation finished\' dialog Start/stop navigation Tap this button to start or end the navigation. + Track Storage Directory + Tracks can be stored in rec folder or in monthly or daily folders. + Store recorded tracks in rec folder Store recorded tracks in monthly folders Store recorded tracks in sub-folders per recording month (like 2018-01). + Store recorded tracks in daily folders + Store recorded tracks in sub-folders per recording day (like 2018-01-01). Reset Reload Reload tiles to see up to date data. diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 8d67e643e7..623e9f13fe 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -1505,9 +1505,13 @@ public class OsmandSettings { SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.PEDESTRIAN, false); } + public static final Integer REC_DIRECTORY = 0; + public static final Integer MONTHLY_DIRECTORY = 1; + public static final Integer DAILY_DIRECTORY = 2; + public final CommonPreference DISABLE_RECORDING_ONCE_APP_KILLED = new BooleanPreference("disable_recording_once_app_killed", false).makeGlobal(); - public final CommonPreference STORE_TRACKS_IN_MONTHLY_DIRECTORIES = new BooleanPreference("store_tracks_in_monthly_directories", false).makeGlobal(); + public final CommonPreference TRACK_STORAGE_DIRECTORY = new IntPreference("track_storage_directory", 0).makeGlobal(); // this value string is synchronized with settings_pref.xml preference name public final OsmandPreference FAST_ROUTE_MODE = new BooleanPreference("fast_route_mode", true).makeProfile(); diff --git a/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java b/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java index c1d1b65f5e..90116408f9 100644 --- a/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java +++ b/OsmAnd/src/net/osmand/plus/activities/SavingTrackHelper.java @@ -186,7 +186,7 @@ public class SavingTrackHelper extends SQLiteOpenHelper { return false; } - + /** * @return warnings, filenames */ @@ -205,8 +205,12 @@ public class SavingTrackHelper extends SQLiteOpenHelper { if (!data.get(f).isEmpty()) { WptPt pt = data.get(f).findPointToShow(); String fileName = f + "_" + new SimpleDateFormat("HH-mm_EEE", Locale.US).format(new Date(pt.time)); //$NON-NLS-1$ - if (ctx.getSettings().STORE_TRACKS_IN_MONTHLY_DIRECTORIES.get()) { + Integer track_storage_directory = ctx.getSettings().TRACK_STORAGE_DIRECTORY.get(); + if (track_storage_directory != OsmandSettings.REC_DIRECTORY) { SimpleDateFormat dateDirFormat = new SimpleDateFormat("yyyy-MM"); + if (track_storage_directory == OsmandSettings.DAILY_DIRECTORY) { + dateDirFormat = new SimpleDateFormat("yyyy-MM-dd"); + } String dateDirName = dateDirFormat.format(new Date(pt.time)); File dateDir = new File(dir, dateDirName); dateDir.mkdirs(); diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OnSaveCurrentTrackFragment.java b/OsmAnd/src/net/osmand/plus/monitoring/OnSaveCurrentTrackFragment.java index e7957ddc02..3704a780d8 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OnSaveCurrentTrackFragment.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OnSaveCurrentTrackFragment.java @@ -42,7 +42,7 @@ public class OnSaveCurrentTrackFragment extends BottomSheetDialogFragment { dismiss(); } - final File f = new File (app.getAppCustomization().getTracksDir() +"/"+ savedGpxName + ".gpx"); + final File f = new File (app.getAppCustomization().getTracksDir(), savedGpxName + ".gpx"); final boolean nightMode = !app.getSettings().isLightContent(); final int themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme; View mainView = View diff --git a/OsmAnd/src/net/osmand/plus/monitoring/SettingsMonitoringActivity.java b/OsmAnd/src/net/osmand/plus/monitoring/SettingsMonitoringActivity.java index 5a7cb43cd4..d65e21418e 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/SettingsMonitoringActivity.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/SettingsMonitoringActivity.java @@ -16,17 +16,21 @@ import android.preference.PreferenceCategory; import android.preference.PreferenceScreen; import android.view.Window; +import static net.osmand.plus.OsmandSettings.DAILY_DIRECTORY; +import static net.osmand.plus.OsmandSettings.MONTHLY_DIRECTORY; +import static net.osmand.plus.OsmandSettings.REC_DIRECTORY; + public class SettingsMonitoringActivity extends SettingsBaseActivity { private CheckBoxPreference routeServiceEnabled; private BroadcastReceiver broadcastReceiver; - + public static final int[] BG_SECONDS = new int[]{0, 30, 60, 90}; public static final int[] BG_MINUTES = new int[]{2, 3, 5, 10, 15, 30, 60, 90}; private static final int[] SECONDS = OsmandMonitoringPlugin.SECONDS; private static final int[] MINUTES = OsmandMonitoringPlugin.MINUTES; private static final int[] MAX_INTERVAL_TO_SEND_MINUTES = OsmandMonitoringPlugin.MAX_INTERVAL_TO_SEND_MINUTES; - + public SettingsMonitoringActivity() { super(true); } @@ -39,7 +43,7 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { setProgressVisibility(false); getToolbar().setTitle(R.string.monitoring_settings); PreferenceScreen grp = getPreferenceScreen(); - + createLoggingSection(grp); createLiveSection(grp); createNotificationSection(grp); @@ -87,15 +91,15 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { R.string.save_track_to_gpx_descrp)); cat.addPreference(createTimeListPreference(settings.SAVE_TRACK_INTERVAL, SECONDS, MINUTES, 1000, R.string.save_track_interval, R.string.save_track_interval_descr)); - String[] names; + String[] names; Float[] floatValues; floatValues = new Float[] {0.f, 2.0f, 5.0f, 10.0f, 20.0f, 30.0f, 50.0f}; names = new String[floatValues.length]; names[0] = getString(R.string.shared_string_not_selected); for(int i = 1; i < floatValues.length; i++) { - names[i] = floatValues[i].intValue() + " " + getString(R.string.m); + names[i] = floatValues[i].intValue() + " " + getString(R.string.m); } - cat.addPreference(createListPreference(settings.SAVE_TRACK_MIN_DISTANCE, names, floatValues, + cat.addPreference(createListPreference(settings.SAVE_TRACK_MIN_DISTANCE, names, floatValues, R.string.save_track_min_distance, R.string.save_track_min_distance_descr)); floatValues = new Float[] {0.f, 1.0f, 2.0f, 5.0f, 10.0f, 15.0f, 20.0f, 50.0f, 100.0f}; names = new String[floatValues.length]; @@ -103,7 +107,7 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { for(int i = 1; i < floatValues.length; i++) { names[i] = floatValues[i].intValue() + " " + getString(R.string.m) + " (" + Math.round(floatValues[i]/0.3048f) + " " + getString(R.string.foot) + ")"; } - cat.addPreference(createListPreference(settings.SAVE_TRACK_PRECISION, names, floatValues, + cat.addPreference(createListPreference(settings.SAVE_TRACK_PRECISION, names, floatValues, R.string.save_track_precision, R.string.save_track_precision_descr)); floatValues = new Float[] {0.f, 0.000001f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f}; names = new String[floatValues.length]; @@ -113,14 +117,20 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { names[i] = floatValues[i].intValue() + " " + getString(R.string.km_h); floatValues[i] = floatValues[i] / 3.6f; } - cat.addPreference(createListPreference(settings.SAVE_TRACK_MIN_SPEED, names, floatValues, + cat.addPreference(createListPreference(settings.SAVE_TRACK_MIN_SPEED, names, floatValues, R.string.save_track_min_speed, R.string.save_track_min_speed_descr)); cat.addPreference(createCheckBoxPreference(settings.AUTO_SPLIT_RECORDING, R.string.auto_split_recording_title, R.string.auto_split_recording_descr)); cat.addPreference(createCheckBoxPreference(settings.DISABLE_RECORDING_ONCE_APP_KILLED, R.string.disable_recording_once_app_killed, R.string.disable_recording_once_app_killed_descrp)); - cat.addPreference(createCheckBoxPreference(settings.STORE_TRACKS_IN_MONTHLY_DIRECTORIES, R.string.store_tracks_in_monthly_directories, - R.string.store_tracks_in_monthly_directories_descrp)); + + Integer[] intValues = new Integer[]{REC_DIRECTORY, MONTHLY_DIRECTORY, DAILY_DIRECTORY}; + names = new String[intValues.length]; + names[0] = getString(R.string.store_tracks_in_rec_directory); + names[1] = getString(R.string.store_tracks_in_monthly_directories); + names[2] = getString(R.string.store_tracks_in_daily_directories); + cat.addPreference(createListPreference(settings.TRACK_STORAGE_DIRECTORY, names, intValues, + R.string.track_storage_directory, R.string.track_storage_directory_descrp)); } @@ -129,7 +139,7 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { cat = new PreferenceCategory(this); cat.setTitle(R.string.live_monitoring_m); grp.addPreference(cat); - + cat.addPreference(createEditTextPreference(settings.LIVE_MONITORING_URL, R.string.live_monitoring_url, R.string.live_monitoring_url_descr)); final CheckBoxPreference liveMonitoring = createCheckBoxPreference(settings.LIVE_MONITORING, R.string.live_monitoring_m, @@ -154,12 +164,12 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { public void updateAllSettings() { super.updateAllSettings(); - + if(routeServiceEnabled != null) { routeServiceEnabled.setChecked(getMyApplication().getNavigationService() != null); } } - + private void saveCurrentTracks(final SavingTrackHelper helper) { setProgressVisibility(true); getMyApplication().getTaskManager().runInBackground(new OsmAndTaskRunnable() { @@ -178,7 +188,7 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { }, (Void) null); } - + @Override protected void onDestroy() { super.onDestroy(); @@ -187,7 +197,7 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity { broadcastReceiver = null; } } - + From 884af56321a67f797562c4c119f1c115c0accfbe Mon Sep 17 00:00:00 2001 From: Chumva Date: Tue, 15 Oct 2019 18:57:15 +0300 Subject: [PATCH 03/60] Fix #7354 --- .../net/osmand/plus/views/RulerControlLayer.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java index 6c610dde71..87c2a15d0d 100644 --- a/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/RulerControlLayer.java @@ -64,6 +64,7 @@ public class RulerControlLayer extends OsmandMapLayer { private QuadPoint cacheCenter; private float cacheMapDensity; private OsmandSettings.OsmandPreference mapDensity; + private OsmandSettings.MetricsConstants cacheMetricSystem; private int cacheIntZoom; private double cacheTileX; private double cacheTileY; @@ -127,7 +128,8 @@ public class RulerControlLayer extends OsmandMapLayer { public void initLayer(final OsmandMapTileView view) { app = mapActivity.getMyApplication(); this.view = view; - mapDensity = mapActivity.getMyApplication().getSettings().MAP_DENSITY; + mapDensity = app.getSettings().MAP_DENSITY; + cacheMetricSystem = app.getSettings().METRIC_SYSTEM.get(); cacheMapDensity = mapDensity.get(); cacheDistances = new ArrayList<>(); cacheCenter = new QuadPoint(); @@ -443,10 +445,13 @@ public class RulerControlLayer extends OsmandMapLayer { updateCenter(tb, center); } - boolean move = tb.getZoom() != cacheIntZoom || Math.abs(tb.getCenterTileX() - cacheTileX) > 1 || - Math.abs(tb.getCenterTileY() - cacheTileY) > 1 || mapDensity.get() != cacheMapDensity; + OsmandSettings.MetricsConstants currentMetricSystem = app.getSettings().METRIC_SYSTEM.get(); + boolean updateCache = tb.getZoom() != cacheIntZoom || Math.abs(tb.getCenterTileX() - cacheTileX) > 1 + || Math.abs(tb.getCenterTileY() - cacheTileY) > 1 || mapDensity.get() != cacheMapDensity + || cacheMetricSystem != currentMetricSystem; - if (!tb.isZoomAnimated() && move) { + if (!tb.isZoomAnimated() && updateCache) { + cacheMetricSystem = currentMetricSystem; cacheIntZoom = tb.getZoom(); cacheTileX = tb.getCenterTileX(); cacheTileY = tb.getCenterTileY(); From fb6bcdd1445ca466fba476d773b8390580788113 Mon Sep 17 00:00:00 2001 From: Nazar Date: Wed, 16 Oct 2019 15:02:03 +0300 Subject: [PATCH 04/60] Fix #7601 --- .../wikivoyage/article/WikivoyageArticleDialogFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java b/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java index 2b3d93d559..c27858ce3d 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/article/WikivoyageArticleDialogFragment.java @@ -92,8 +92,9 @@ public class WikivoyageArticleDialogFragment extends WikiArticleBaseDialogFragme setupToolbar((Toolbar) mainView.findViewById(R.id.toolbar)); + int appBarTextColor = nightMode ? R.color.wikivoyage_app_bar_text_dark : R.color.wikivoyage_app_bar_text_light; articleToolbarText = (TextView) mainView.findViewById(R.id.article_toolbar_text); - articleToolbarText.setTextColor(ContextCompat.getColor(getContext(), R.color.text_color_primary_dark)); + articleToolbarText.setTextColor(ContextCompat.getColor(getContext(), appBarTextColor)); ColorStateList selectedLangColorStateList = AndroidUtils.createPressedColorStateList( getContext(), nightMode, R.color.icon_color_default_light, R.color.wikivoyage_active_light, From 9b1d9e23a5b3eca060b652aeb133316b9214bfb8 Mon Sep 17 00:00:00 2001 From: Chumva Date: Wed, 16 Oct 2019 16:08:38 +0300 Subject: [PATCH 05/60] Add safe mode pref to development plugin settings --- .../plus/development/SettingsDevelopmentActivity.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java index 432fb53164..996a1be09b 100644 --- a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java +++ b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java @@ -17,6 +17,7 @@ import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.activities.SettingsBaseActivity; +import net.osmand.plus.render.NativeOsmandLibrary; import net.osmand.util.SunriseSunset; import java.text.SimpleDateFormat; @@ -37,6 +38,15 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { cat.addPreference(createCheckBoxPreference(settings.USE_OPENGL_RENDER, R.string.use_opengl_render,R.string.use_opengl_render_descr)); + CheckBoxPreference nativeCheckbox = createCheckBoxPreference(settings.SAFE_MODE, R.string.safe_mode, + R.string.safe_mode_description); + // disable the checkbox if the library cannot be used + if ((NativeOsmandLibrary.isLoaded() && !NativeOsmandLibrary.isSupported()) || settings.NATIVE_RENDERING_FAILED.get()) { + nativeCheckbox.setEnabled(false); + nativeCheckbox.setChecked(true); + } + cat.addPreference(nativeCheckbox); + PreferenceCategory navigation = new PreferenceCategory(this); navigation.setTitle(R.string.routing_settings); cat.addPreference(navigation); From e0809531150c897576787175ce37db394adbc9a5 Mon Sep 17 00:00:00 2001 From: Chumva Date: Wed, 16 Oct 2019 16:13:40 +0300 Subject: [PATCH 06/60] Add driving style pref to route parameters screen --- .../settings/RouteParametersFragment.java | 74 +++++++++++-------- 1 file changed, 44 insertions(+), 30 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java b/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java index 6c4dd6ba70..17dfca3136 100644 --- a/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java @@ -15,7 +15,6 @@ import net.osmand.plus.OsmandSettings.BooleanPreference; import net.osmand.plus.R; import net.osmand.plus.activities.SettingsBaseActivity; import net.osmand.plus.activities.SettingsNavigationActivity; -import net.osmand.plus.routepreparationmenu.RoutingOptionsHelper; import net.osmand.plus.routing.RouteProvider; import net.osmand.plus.settings.preferences.ListPreferenceEx; import net.osmand.plus.settings.preferences.MultiSelectBooleanPreference; @@ -30,6 +29,7 @@ import java.util.Map; import java.util.Set; import static net.osmand.plus.activities.SettingsNavigationActivity.getRouter; +import static net.osmand.plus.routepreparationmenu.RoutingOptionsHelper.DRIVING_STYLE; public class RouteParametersFragment extends BaseSettingsFragment { @@ -43,6 +43,7 @@ public class RouteParametersFragment extends BaseSettingsFragment { private List avoidParameters = new ArrayList(); private List preferParameters = new ArrayList(); + private List drivingStyleParameters = new ArrayList(); private List reliefFactorParameters = new ArrayList(); private List otherRoutingParameters = new ArrayList(); @@ -130,14 +131,19 @@ public class RouteParametersFragment extends BaseSettingsFragment { preferParameters.add(routingParameter); } else if (RELIEF_SMOOTHNESS_FACTOR.equals(routingParameter.getGroup())) { reliefFactorParameters.add(routingParameter); + } else if (DRIVING_STYLE.equals(routingParameter.getGroup())) { + drivingStyleParameters.add(routingParameter); } else if (!param.equals(GeneralRouter.USE_SHORTEST_WAY) && !param.equals(GeneralRouter.VEHICLE_HEIGHT) && !param.equals(GeneralRouter.VEHICLE_WEIGHT) - && !param.equals(GeneralRouter.VEHICLE_WIDTH) - && !RoutingOptionsHelper.DRIVING_STYLE.equals(routingParameter.getGroup())) { + && !param.equals(GeneralRouter.VEHICLE_WIDTH)) { otherRoutingParameters.add(routingParameter); } } + if (drivingStyleParameters.size() > 0) { + ListPreferenceEx drivingStyleRouting = createRoutingBooleanListPreference(DRIVING_STYLE, drivingStyleParameters); + screen.addPreference(drivingStyleRouting); + } if (avoidParameters.size() > 0) { MultiSelectBooleanPreference avoidRouting = new MultiSelectBooleanPreference(app); avoidRouting.setKey(AVOID_ROUTING_PARAMETER_PREFIX); @@ -179,27 +185,8 @@ public class RouteParametersFragment extends BaseSettingsFragment { screen.addPreference(preferRouting); } if (reliefFactorParameters.size() > 0) { - String defaultTitle = Algorithms.capitalizeFirstLetterAndLowercase(RELIEF_SMOOTHNESS_FACTOR.replace('_', ' ')); - String title = SettingsBaseActivity.getRoutingStringPropertyName(app, RELIEF_SMOOTHNESS_FACTOR, defaultTitle); - - Object[] entryValues = new Object[reliefFactorParameters.size()]; - String[] entries = new String[entryValues.length]; - - String selectedParameterId = null; - for (int i = 0; i < reliefFactorParameters.size(); i++) { - GeneralRouter.RoutingParameter parameter = reliefFactorParameters.get(i); - entryValues[i] = parameter.getId(); - entries[i] = SettingsNavigationActivity.getRoutinParameterTitle(app, parameter); - if (SettingsNavigationActivity.isRoutingParameterSelected(settings, am, parameter)) { - selectedParameterId = parameter.getId(); - } - } - - ListPreferenceEx reliefFactorRouting = createListPreferenceEx(RELIEF_SMOOTHNESS_FACTOR, entries, entryValues, title, R.layout.preference_with_descr); - reliefFactorRouting.setPersistent(false); - reliefFactorRouting.setValue(selectedParameterId); + ListPreferenceEx reliefFactorRouting = createRoutingBooleanListPreference(RELIEF_SMOOTHNESS_FACTOR, reliefFactorParameters); reliefFactorRouting.setDescription(R.string.relief_smoothness_factor_descr); - reliefFactorRouting.setIconSpaceReserved(true); screen.addPreference(reliefFactorRouting); } @@ -243,13 +230,12 @@ public class RouteParametersFragment extends BaseSettingsFragment { public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); - if (RELIEF_SMOOTHNESS_FACTOR.equals(key)) { - if (newValue instanceof String) { - String selectedParameterId = (String) newValue; - for (GeneralRouter.RoutingParameter parameter : reliefFactorParameters) { - String parameterId = parameter.getId(); - SettingsNavigationActivity.setRoutingParameterSelected(settings, getSelectedAppMode(), parameterId, parameter.getDefaultBoolean(), parameterId.equals(selectedParameterId)); - } + if ((RELIEF_SMOOTHNESS_FACTOR.equals(key) || DRIVING_STYLE.equals(key)) && newValue instanceof String) { + String selectedParameterId = (String) newValue; + List routingParameters = DRIVING_STYLE.equals(key) ? drivingStyleParameters : reliefFactorParameters; + for (GeneralRouter.RoutingParameter parameter : routingParameters) { + String parameterId = parameter.getId(); + SettingsNavigationActivity.setRoutingParameterSelected(settings, getSelectedAppMode(), parameterId, parameter.getDefaultBoolean(), parameterId.equals(selectedParameterId)); } return true; } @@ -257,6 +243,32 @@ public class RouteParametersFragment extends BaseSettingsFragment { return super.onPreferenceChange(preference, newValue); } + private ListPreferenceEx createRoutingBooleanListPreference(String groupKey, List routingParameters) { + String defaultTitle = Algorithms.capitalizeFirstLetterAndLowercase(groupKey.replace('_', ' ')); + String title = SettingsBaseActivity.getRoutingStringPropertyName(app, groupKey, defaultTitle); + ApplicationMode am = settings.getApplicationMode(); + + Object[] entryValues = new Object[routingParameters.size()]; + String[] entries = new String[entryValues.length]; + + String selectedParameterId = null; + for (int i = 0; i < routingParameters.size(); i++) { + GeneralRouter.RoutingParameter parameter = routingParameters.get(i); + entryValues[i] = parameter.getId(); + entries[i] = SettingsNavigationActivity.getRoutinParameterTitle(app, parameter); + if (SettingsNavigationActivity.isRoutingParameterSelected(settings, am, parameter)) { + selectedParameterId = parameter.getId(); + } + } + + ListPreferenceEx routingListPref = createListPreferenceEx(groupKey, entries, entryValues, title, R.layout.preference_with_descr); + routingListPref.setPersistent(false); + routingListPref.setValue(selectedParameterId); + routingListPref.setIcon(getRoutingPrefIcon(groupKey)); + + return routingListPref; + } + private void clearParameters() { avoidParameters.clear(); preferParameters.clear(); @@ -270,6 +282,8 @@ public class RouteParametersFragment extends BaseSettingsFragment { return getIcon(R.drawable.ic_action_private_access); case AVOID_ROUTING_PARAMETER_PREFIX: return getContentIcon(R.drawable.ic_action_alert); + case DRIVING_STYLE: + return getContentIcon(R.drawable.ic_action_bicycle_dark); case "fast_route_mode": return getIcon(R.drawable.ic_action_fastest_route); case "enable_time_conditional_routing": From e51e19ee22e6c59594059dfbfe1c9c279e6e390c Mon Sep 17 00:00:00 2001 From: Chumva Date: Wed, 16 Oct 2019 16:45:33 +0300 Subject: [PATCH 07/60] Fix #7602 --- OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java index efc0376ffa..0f803f960f 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java @@ -158,6 +158,7 @@ public class TrackBitmapDrawer { .setLocation(clat, clon) .setZoom(15) .density(density) + .setMapDensity(density) .setPixelDimensions(widthPixels, heightPixels, 0.5f, 0.5f); rotatedTileBox = boxBuilder.build(); From cdede9d97e03fa5edb7c10b239e107be8972852f Mon Sep 17 00:00:00 2001 From: Chumva Date: Wed, 16 Oct 2019 17:14:37 +0300 Subject: [PATCH 08/60] Add speed system pref --- OsmAnd/res/xml/general_profile_settings.xml | 5 +++++ .../GeneralProfileSettingsFragment.java | 20 ++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/xml/general_profile_settings.xml b/OsmAnd/res/xml/general_profile_settings.xml index eedbd410af..bf059a374d 100644 --- a/OsmAnd/res/xml/general_profile_settings.xml +++ b/OsmAnd/res/xml/general_profile_settings.xml @@ -53,6 +53,11 @@ android:layout="@layout/preference_with_descr" android:title="@string/angular_measeurement" /> + + diff --git a/OsmAnd/src/net/osmand/plus/settings/GeneralProfileSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/GeneralProfileSettingsFragment.java index 447c5e8a36..ba5299fc04 100644 --- a/OsmAnd/src/net/osmand/plus/settings/GeneralProfileSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/GeneralProfileSettingsFragment.java @@ -48,6 +48,7 @@ public class GeneralProfileSettingsFragment extends BaseSettingsFragment impleme setupUnitsOfLengthPref(); setupCoordinatesFormatPref(); setupAngularUnitsPref(); + setupSpeedSystemPref(); setupKalmanFilterPref(); setupMagneticFieldSensorPref(); @@ -202,7 +203,24 @@ public class GeneralProfileSettingsFragment extends BaseSettingsFragment impleme ListPreferenceEx angularUnits = (ListPreferenceEx) findPreference(settings.ANGULAR_UNITS.getId()); angularUnits.setEntries(entries); angularUnits.setEntryValues(entryValues); - angularUnits.setIcon(getContentIcon(R.drawable.ic_action_angular_unit)); + angularUnits.setIcon(getIcon(R.drawable.ic_action_angular_unit)); + } + + private void setupSpeedSystemPref() { + OsmandSettings.SpeedConstants[] speedConstants = OsmandSettings.SpeedConstants.values(); + String[] entries = new String[speedConstants.length]; + Integer[] entryValues = new Integer[speedConstants.length]; + + for (int i = 0; i < entries.length; i++) { + entries[i] = speedConstants[i].toHumanString(app); + entryValues[i] = speedConstants[i].ordinal(); + } + + ListPreferenceEx speedSystem = (ListPreferenceEx) findPreference(settings.SPEED_SYSTEM.getId()); + speedSystem.setEntries(entries); + speedSystem.setEntryValues(entryValues); + speedSystem.setDescription(R.string.default_speed_system_descr); + speedSystem.setIcon(getContentIcon(R.drawable.ic_action_speed)); } private void setupKalmanFilterPref() { From 207221066a66c46d93298a7f9586045164250e37 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 17 Oct 2019 11:25:19 +0300 Subject: [PATCH 09/60] Fix hdpi icons size --- .../ic_action_openstreetmap_logo.png | Bin 801 -> 694 bytes OsmAnd/res/drawable-hdpi/ic_action_utv.png | Bin 586 -> 452 bytes .../drawable-hdpi/ic_action_width_limit.png | Bin 554 -> 438 bytes OsmAnd/res/drawable-hdpi/ic_sdcard.png | Bin 382 -> 344 bytes OsmAnd/res/drawable-hdpi/map_action_utv.png | Bin 0 -> 452 bytes .../drawable-large-hdpi/map_action_utv.png | Bin 0 -> 685 bytes .../drawable-large-xhdpi/map_action_utv.png | Bin 0 -> 1038 bytes OsmAnd/res/drawable-large/map_action_utv.png | Bin 0 -> 586 bytes .../drawable-mdpi/ic_action_width_limit.png | Bin 411 -> 360 bytes OsmAnd/res/drawable-mdpi/map_action_utv.png | Bin 0 -> 392 bytes .../drawable-xhdpi/ic_action_width_limit.png | Bin 711 -> 658 bytes OsmAnd/res/drawable-xhdpi/map_action_utv.png | Bin 0 -> 685 bytes .../drawable-xxhdpi/ic_action_width_limit.png | Bin 988 -> 966 bytes OsmAnd/res/drawable-xxhdpi/map_action_utv.png | Bin 0 -> 1038 bytes .../ic_action_width_limit.png | Bin 1380 -> 1330 bytes .../res/drawable-xxxhdpi/map_action_utv.png | Bin 0 -> 1377 bytes 16 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 OsmAnd/res/drawable-hdpi/ic_action_openstreetmap_logo.png mode change 100755 => 100644 OsmAnd/res/drawable-hdpi/ic_action_utv.png mode change 100755 => 100644 OsmAnd/res/drawable-hdpi/ic_action_width_limit.png create mode 100644 OsmAnd/res/drawable-hdpi/map_action_utv.png create mode 100755 OsmAnd/res/drawable-large-hdpi/map_action_utv.png create mode 100755 OsmAnd/res/drawable-large-xhdpi/map_action_utv.png create mode 100755 OsmAnd/res/drawable-large/map_action_utv.png create mode 100755 OsmAnd/res/drawable-mdpi/map_action_utv.png create mode 100755 OsmAnd/res/drawable-xhdpi/map_action_utv.png create mode 100755 OsmAnd/res/drawable-xxhdpi/map_action_utv.png create mode 100755 OsmAnd/res/drawable-xxxhdpi/map_action_utv.png diff --git a/OsmAnd/res/drawable-hdpi/ic_action_openstreetmap_logo.png b/OsmAnd/res/drawable-hdpi/ic_action_openstreetmap_logo.png old mode 100755 new mode 100644 index a1a2c1b0611131334d788fdee612a7d32b47fce5..9eb04b9eafe838d573d7e042965fdd2d32ce24f0 GIT binary patch literal 694 zcmV;n0!jUeP)aFcY*JG;GifC=<{Tx&hq)n4oOXFahZVHWM@(2>I$>6xFpAC_T92?{slu zNq#$)6bIlRe+&h`LBtJRT9PeEP0|!a(F&cCE|VZ*l8VGXYl6IyII?TxU}S58{y5ls zz55iQHC<-Hj|&5}!I=Ra+F<8`%_I=-`6fa)Cp{3M1zsLKk|W6&E{}@eT#3#azJ@l~ zeuTE4^%VB6DF>76r6sfjmU~CCl*`V18ItFWkJlWbHR|w=`>4qR(|gl$-7EMS9LX(D z3FNqfE|Pq7)rWq%uBhKPA0xg>$js(lu{wt7``5CG&75Q|e8==QDKaJI@g!_)Mt{Lq zG19+E5vnkc8PnI~Ex+;0#2e@(Vws0DVOq2HokHJ};e&2Pzk>v!DP$mOn`QzY2I2%- zS@T8-!zi$yb6U{hl-^MR9!yB+G@wJx+GEysNh^$prNolyYl1*V<&O2)9HEtB02wvQ zgs#PY&YDMb$`qkF>aY}cJ~^(jo4rL*(`&z_ c{_(r<37^88vn#)Ung9R*07*qoM6N<$g6+&V4FCWD literal 801 zcmV++1K#|JP)DJ769?adJNO~T>XOdn@;@xfhen`4A zGoBlB_ovaGevCo8liaTHl)HbG^eQ#Fi^%{700!IpL_-23MdhzJ!N{2iQRoEH(Ywc*~I+1V^8KDhg@4S91e z=`4pJ#)3;9CB0cdc4cM_k4KU)L-wgLAu+Cp$cyIgOI#h1{js0`a#VZA-O0?7VF12P z-{*kco7ury_-;D5a9BJP+VdskqDgm2pUmu{ybK)#d~JX~{#T-3)PmQ+!GXx(O$55O zb2Gz>gXQdF6}eO9%aFn=Tq*s?Og#Hg8QeWbVpS4)#B&h4i3#Qie^SEe?u4_>M!4CO zq@FUX~G4 z_e?fTfvWq|MZZa!(lL7qlIN7olhmQ;NsOGW^}@S$3Dls|6`tg5s>6}HBC^MoroEMf zrq#B(OPK03g|SKF5Ky)}Wy1%U%ep2;8zPbSV}PcZ&*~H%D9B4Tgs(I6$T*S#K$M|u zUAu%OvNwQG=)B52W2iVGo7=ID$Uaq&=g6J`p*8S{P_ca>y&ps{LWNi0=UU=)?Gm!$ zGS3{K-Uu$Xs|9(aQ?bhIsht9f6VuTw(F0V?sjM+2WLxo246@8AcZUa*nqor-ci#md z=2^}@cb_`Vlua5MwhLR;sUAh&DzHrQ5z#j&u-gL0wLnAiDNuxp^V+6IbLwF^n)d=m z(=PLwZ&DH>1Ir}_!dEUM$|VMuALX>t9Iw*lM_C-nQ!YQs#R-DhT%0UQLhmwn*>3;u fr*^seO~(EU&LM9!)h`w100000NkvXXu0mjf)2Dv@ diff --git a/OsmAnd/res/drawable-hdpi/ic_action_utv.png b/OsmAnd/res/drawable-hdpi/ic_action_utv.png old mode 100755 new mode 100644 index c6e51e8629aa2ae4af6d683a63c1c35c9efe0fbb..7c34c8c3266b072cd355b7f468e8aeef69f7182d GIT binary patch literal 452 zcmV;#0XzPQP)x|3WQ1e`vVpS!BPiA(a*i=Zav;C_+;It5y!Tok z1|XBkWTqhE4)vTNfe&Ha7wD<1sS1=x4V93_0k**Iv~^0+EW}n`=}J%_&CsXw{~8M{ zisE8_F3zJptc~4e=j?c~pS&#fG!(D~JY9RQ1R`;oGUuHWo75Yln%nEw6C5!LogWNC z+5Y48QX&+?kPry4aR(G25t2ZCahx;984$6Sp`bY&%H1j6owPs^G6e78X0LC1Ox!>V z4wGgu9m=Ap_cW%c9RH|?Mn3%;5PAk!j8LBZ( zgVT>^j7p*zGi3ZgHZd}mpvPr;jpm%82eIcUYwn{)Q<9-NP)6~$Y!yv>PGyJ&l)R*g uuS~>Nnk+!OGGj{lKKXFlLNk-eq;dxdw}iK=^|3+#0000}!3_NeZ2y_FO0J;H8089W(0G)s`0c8SU0?Gz#03)!$p@XDK(=>4&d=$}0Ri&52 zzMSo|4I8*@12JI>${Up}Q~!f0l7|5F^R8Djd-NVo&$)Ao8`!tG%A&8vubD#FiISnoq~A z1SWY3;BF{eRZt{%030O_lma6d9%;v3o+Ft>c08w7-0T8gbROb60!x>xY z6#;tzFkc6<1S-v++`kyQY=uvkNS*_jHXcx{&R$T_hpI{;c`5-Uc?00W!RW7oO8qSW z0(b@R5W?=jRMxSfOnDr(&L|berJ^Z;D)qR7&K6Sw6caq|N$-kP?9!=_xB@Ey?PCMKJ!9b7%qAq$kbW`Midnip#AeP^t?$WK_avEx zzx19Jo88sdJ9B#~x>|ifBsHq2nQC;2I;HV<+6ySjpDvqjMeoU@pPt=<@-nz(>Q6KE Y32>wWG^P^?UH||907*qoM6N<$f(0)6=>Px# diff --git a/OsmAnd/res/drawable-hdpi/ic_action_width_limit.png b/OsmAnd/res/drawable-hdpi/ic_action_width_limit.png old mode 100755 new mode 100644 index 46461d5fbec5b3446e7255dac5a840983f3394f4..9e26514e13c48647a83761b6bb160116cf99d034 GIT binary patch literal 438 zcmV;n0ZIOeP)~vhyZ9b z8jXfdN~wpP!85(J`Ge~K`z;4OxZ>>WynKsKZ4|KO}sHdP0UHYhdHPu*#{GGoxb zLzJX#fBK07*qoM6N<$f-63^8~^|S literal 554 zcmV+_0@eMAP)qEX$HS&kKzeDCL~{yWMW< zqA0GfSg;Qx%d(aC{+Ec>U8Fn!oQP=K2l$Hj&be;@NQfv9$1267U^bg=t&J?R_ntxc zDTrvtUj(?Tj)*&Jk;aQ61prrTVZ&8+I?wZqs4KR~yjW5^zhR>$ zFrUv?_xl~a_d>K>v!z~dKu8&NVF;;)jcJ+|i1@|eYzcoVOUpG|>b2GU-o&7sGl-P6 z(dMe!d168@$GfcSJXzah-cVA3jW$;msN_l3knEIoohNJCGo%9fO|V;uDCL4YIp=-= zU}KaWY~KYDKlRDcxl-VT_Z}s0x-PAQYe|wU7mEcSjHMUNSW*q!^v+@$CIB@0lVDgIqe!*crb(Gx)r$UC zx54J$+Qt}Ct+urRKUI??N=-_|DiAwv%G9J(tOBv)9_n3BH3X0O0000007*qoM6N<$f*TM9BLDyZ diff --git a/OsmAnd/res/drawable-hdpi/ic_sdcard.png b/OsmAnd/res/drawable-hdpi/ic_sdcard.png index b8b5e255747d584baa362b6151166e84a7765b7b..c72f6aec9924fd7f7d73a57b25930c20a1cb16a2 100644 GIT binary patch delta 268 zcmeyzbc1O^Xg$MQPZ!6K3dXlH8aWRc2)NcCVJvCxd*C6vP}-u&s?nlR*`i7L3U5iX z@j?#6YcZ3(y}7?D1iY(y_?1bOb3;nUie*N3-mXwM=$qi~{j}oNMrXZkKOCO!RAhg( z>v6DigS}wUg7-_UoI5;DTzj*(N@K(hRSV4(C=2G$Ku1 zp_4s%UA9X!nzt?|td^I~%vVwtks+T0@&vKd@CSzqtL!x|4zoK;Y@> L$Lg}qDWM4fXmfa~ delta 306 zcmV-20nPr{0{#M!Reu2!NklU}m97wv z3)a9APuiaA5-XuIryp%c;~G~9Qkt`F7AM3d&eb{vex|3WQ1e`vVpS!BPiA(a*i=Zav;C_+;It5y!Tok z1|XBkWTqhE4)vTNfe&Ha7wD<1sS1=x4V93_0k**Iv~^0+EW}n`=}J%_&CsXw{~8M{ zisE8_F3zJptc~4e=j?c~pS&#fG!(D~JY9RQ1R`;oGUuHWo75Yln%nEw6C5!LogWNC z+5Y48QX&+?kPry4aR(G25t2ZCahx;984$6Sp`bY&%H1j6owPs^G6e78X0LC1Ox!>V z4wGgu9m=Ap_cW%c9RH|?Mn3%;5PAk!j8LBZ( zgVT>^j7p*zGi3ZgHZd}mpvPr;jpm%82eIcUYwn{)Q<9-NP)6~$Y!yv>PGyJ&l)R*g uuS~>Nnk+!OGGj{lKKXFlLNk-eq;dxdw}iK=^|3+#0000*^HAx}t`Jz4d9|ORyGdN^m$bd5fgM^#`bZ`Hk8DQok0H4nAjfrUPJfp0UG4myW zC#Uf_5sjT^6a$F!0^wcmEEL@VW)}H~jJ(U81v5ZQ|3s8^4l|ztcvIA_EMysO8;t1R z6h&qh009Zhv|p#Z1VHP5LPYnuTB@Ce5&*4#vjl2pAq$|1+G$gHHZE_j{*?@4cVP)Y z`og<>5|MoGT}gm0r)%gpk_GK-7El)e_u>OH0Jpi(Qduzdl2oR>0KumPfENI>KA5Hq zzXCYU2+;Z`zYWm#B?-gK;3 z8)a4>h}7^qH4fAOkRBk;n%)RzfZ%Dn74+_>v0qNJP&q5YK46 zAfgjFi>V;tBZ{6g_C5nYF7ru1 TPoe4900000NkvXXu0mjfNh2%O literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large-xhdpi/map_action_utv.png b/OsmAnd/res/drawable-large-xhdpi/map_action_utv.png new file mode 100755 index 0000000000000000000000000000000000000000..e93b45be5ca536025611e2b70334a867f33de224 GIT binary patch literal 1038 zcmV+p1o8WcP)Sz_#2YZkhRP@NeuMKLQZo0Mh8T zii$=6f_uTuMz>W|WD01d_!EO4t|DtdYs8-z&~O!514_l8FU^^O~7&6o4LuqXWM8+fWsm0V>3w$ISe<7ZAp6r6Nl}srYlp%%>VS0njEYvII0F z{={InP?05|A@OGq(CR8u0TPiHMD#qIoKuHGb^K{i(LE6%NBfCyX2##D)(of;%4C#D z{Ap0pJ`6RmDnN};Vk1@OpVZP9Vo^>p&A@5_NvBTFnfa=7Y;sswupipzGIMeM#SUSM z?FEG4cSLkeL^l>OK}6mW(Pu3jj6W1W@my4}MC20@b*C)*P!ADM7p!nf|3*a5ER-`n zBghfOzt>Vp+@{Sddr5EL%b;-;qqh#9}yI9GFE&g8xXSdVU zSSKQyZNBCw*6dRary5X=_2KY_svq*REgNz%Krp#Ct5Q(QY&QgD3T8eEv`oIG?~0&? zfawAhCjBP3(R41s=@_5yOLb=v8F^2(SS{$WGqw0tE*4I*s2G;w3$kV0GR$=tMdn>2 z*b8Q!^D>Q{-GIVL7Mb(Xjl$A%QJe=Ps0zh)Kvieni3yxci=nl%3s6{*Ukz}k-vOl4 z$oLU%HoKRVor|aKoQ{?8W4^B%l&mLOYMS)rt2KsGNcMmbC9l4Lr)(O8ER(^ki`jD^e4R!ubVfq3&e0W`Y)dHc3_| z!@~*zQt56A#Vg#$t6w|mfi}X$XC`(w0n!?N zjN=_pVbvUv1JXIRE65e(3epj91?l*C3~~jzf^-C2K{|f_0Ouh8SZ|R+F8}}l07*qo IM6N<$f?a3Ru>b%7 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_action_utv.png b/OsmAnd/res/drawable-large/map_action_utv.png new file mode 100755 index 0000000000000000000000000000000000000000..c6e51e8629aa2ae4af6d683a63c1c35c9efe0fbb GIT binary patch literal 586 zcmV-Q0=4~#P)}!3_NeZ2y_FO0J;H8089W(0G)s`0c8SU0?Gz#03)!$p@XDK(=>4&d=$}0Ri&52 zzMSo|4I8*@12JI>${Up}Q~!f0l7|5F^R8Djd-NVo&$)Ao8`!tG%A&8vubD#FiISnoq~A z1SWY3;BF{eRZt{%030O_lma6d9%;v3o+Ft>c08w7-0T8gbROb60!x>xY z6#;tzFkc6<1S-v++`kyQY=uvkNS*_jHXcx{&R$T_hpI{;c`5-Uc?00W!RW7oO8qSW z0(b@R5W?=jRMxSfOnDr(&L|berJ^Z;D)qR7&K6Sw6caq|N$-kP?9!=_xB@Ey?PCMKJ!9b7%qAq$kbW`Midnip#AeP^t?$WK_avEx zzx19Jo88sdJ9B#~x>|ifBsHq2nQC;2I;HV<+6ySjpDvqjMeoU@pPt=<@-nz(>Q6KE Y32>wWG^P^?UH||907*qoM6N<$f(0)6=>Px# literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/ic_action_width_limit.png b/OsmAnd/res/drawable-mdpi/ic_action_width_limit.png index d462b875386e546b9b8115b0e0eede9071130ed4..a55525dc2b4f1eaf150fd652c5a3d49c788999e5 100755 GIT binary patch delta 333 zcmV-T0kZy^1Ly*fB!4eSL_t(YOYM~FZNfkhgl9TPI)GBr0aO4~7CHzWq?EXWq=P}T zy0umooQ)#$i<6L9c^@<1o=mKKxN?8I2FwzE9wJFQl9yRY3lbz9NuHfLI*{}WU`z6E zL65sBk~RRoNp7bD1mHq)pVg9n0Jy+Ei*f8z;~|^*g``gac7G7!s{;@4*(WMVws`<> zYVTa^Q{ywqh>Zq78hyHoXBHr8giaDBUn{BF1bwH)w9q zql6nYTNcQbM;MJz_=zgA3Y(ENwx8eU5eNr=cyNDs32YL69-_Lg^QLJon4 z);dX@92jGM`@YYdbGIEm7E`LKN}2hGh_bl=1Hgrd&RT7Zxqkvc8pm-u3vY4471n~k-rx-nzJYX05?Sy6nLI8 z*?3N|hzV~+BaS6!O+fBFsfq=Yg z|2&2F_?o6zooc?Ky0?RCh(-$@JrxxZz4@U+6rtTm8;AL2S>|oq`rpp;es=$vc&+y3 eV3X|Oi2eX2yVe;RCF5fN0000M?syR zRTVV_w#POtNN)2kB|QMR2T)ZpAdqwk;39Nx@EytHk_DNH9}@xC1VX?6M^2y&YzJTk z;Dcme)j-nx`RkK)mVujUS`_tGs!rUqKM?8i*@;sz1ue-)8PHO m)z(PTWZmJ9*1Yc7E&2ns0Eig`)kw4e0000Jw4<&yPa^u*3A3JFg?tI~$#}7S$Yb)3l=n6Depd-{+z~=2;f#wo6I(R$< zh-in1$Hu~}vYm+D5b;Ah&lDh{UjW!5;@>J!R5~T14FG&0;(vB70Rn&{BJL~CT4fs% zy#oL%Fe)+Qp%5h^`UU`&Rn`U(fB2syH{11^vY#v(vQf~H zvz8>lK0=g;h@0tEMRx~K=VKNlsh54g_&!16!ziDP&94^*s9z(vXHgB0m` zVmM1U*Y=G6poh-xY7mk*GL*bNNFV00=PkKKwSC0DojTS@O9I(c^7!@1qkxN!E=|S7#oNR84;zWd zMX4qMS7wud*9ZFPFlmn(mcLwCl$ItCqGJ*mp1Yd=(#KttKvH5fm6jwhi;m*e>w{sw z2hZ#5{c__aVo_R>z$`jbmAj-(qg0we5jvL)a?Y1brIG}ACm45QIR^@2Wi!6P z^agX3rYD$gvj{X$VHpZd)_TNfQ^>o3mdKy{NGV3R^9S!dekcMyyMmqk1C*)`hRympEq6Cz0DFu;-*d0 ztc@{$wbq*{0R{k`wbqY`zGhjbl==+-mDc(y>0AY@09Y&*k6#5Pi;gkI3V>h%0Pyw^ zN=m6009dpe!qXUzx#4q`|wQIPZSNe(4pge#R#x_h$z){-67&H=Liv>T!Z-; z3$%Ay>nDyqhkuT<#R?EnVuBokpiX<|qTLtoi{KIwEkHtv!DPUI;?)Nw+7WTnw(W@o z|2}nmOk;b%-;YI!>x0YXg2tFD{{22->@5F66{DK?3Q2A%aeZJHxrsrUwx}@n5&s-I z$vxl&F`7zTAN226!eQV}(ZNpnr&EXSlhOksN?afGFMki?l?328AMBKW37uP1!0s_B zx6rW8-zZ=zh|Yhd)E@xY3KdN60RT85;!ip)Xde*AoiPUe^Mcyx{I9C&VYOP>A@IP7 zNJc1TR{Mw7R8!O2rG3Ay>n$SMN{pUV0pdx?T^l?B?>9$jta9_;t(8zp5x}D3rzZB` z>eq_*AAf6?P>L2Hq2mh>`e3NqlwE3A4y9NDB09d)gv%R*B*yxnD8&evM8}EX`oQOV z$}UxaLn&B5Xofy=ek+@gQmB9+bZ!-3$UY9G5CJdTffeFp&Uf5Y(pvxU{fzz-bDu8e z3@m1Ei_-CUy!zzx{XT5PWaKNnTPpC`RVWoG6)4EeKtU)of!WJT1+r6^xxw96;6LhD V+CUJ$KGgsK002ovPDHLkV1h^DN`L?W diff --git a/OsmAnd/res/drawable-xhdpi/map_action_utv.png b/OsmAnd/res/drawable-xhdpi/map_action_utv.png new file mode 100755 index 0000000000000000000000000000000000000000..6bf13b2a852ddd0872bdd107387c039bbb977ef8 GIT binary patch literal 685 zcmV;e0#f~nP)*^HAx}t`Jz4d9|ORyGdN^m$bd5fgM^#`bZ`Hk8DQok0H4nAjfrUPJfp0UG4myW zC#Uf_5sjT^6a$F!0^wcmEEL@VW)}H~jJ(U81v5ZQ|3s8^4l|ztcvIA_EMysO8;t1R z6h&qh009Zhv|p#Z1VHP5LPYnuTB@Ce5&*4#vjl2pAq$|1+G$gHHZE_j{*?@4cVP)Y z`og<>5|MoGT}gm0r)%gpk_GK-7El)e_u>OH0Jpi(Qduzdl2oR>0KumPfENI>KA5Hq zzXCYU2+;Z`zYWm#B?-gK;3 z8)a4>h}7^qH4fAOkRBk;n%)RzfZ%Dn74+_>v0qNJP&q5YK46 zAfgjFi>V;tBZ{6g_C5nYF7ru1 TPoe4900000NkvXXu0mjfNh2%O literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_width_limit.png b/OsmAnd/res/drawable-xxhdpi/ic_action_width_limit.png index 2448d652245613a3a112c44301fb55b8cd0ad6ec..ae27e1df8647fed6e88be8ccc8ff9f49e8ba9b1b 100755 GIT binary patch delta 944 zcmV;h15fISejwtjljBKive zkBIp1bCh{3OCovzfOkZEoCSyg;0+Oz&o>j#8_9>oAd9Ul0dh&r<3j`gskQDtGy}ZgJ6l7jcw=}M z>*pKpY91dN_)nd4m(GlI1%S4OP-ECi2Dzl>DQ4h5b$_1Shm3gBe>@9u20*6NJaQQL zPX%cAAtPS(A8ps_nREs~!(GktA#Pp)KufoEWd2 zzli8d*#!9S@HrEpa1YXCZ<(=Fw1AJa{5qvq|ok@T7Q6s?5)B46V^y-s{wK+R{+{C#|<;^ z97@~Q-3wH5Fr~HmQ!CeiWc5Qc7h_v%;k|$E zKvJc)3ZN-zb;()2B3-Rc#Si!K5}-AZD*&37RtJ#fLo=82JnSJB7cUZ}wgRBTNtMJb zAAh>=lYtLS`A^R-X;+H^bXZzm>R&sqms$j%khHE{xOcw3fs6nYl9o5&Tg0_eI||U< zNlWmft${oO5ce(WHO4Jg{ERuP)DZEjG`{tHkosBL8HwIfLtiXo5;is6?YlnhD+#Slma#qdiHN+|{k$K zH|SB~o}k%!VX&Yf8UjUfh8jvmjPWuViNnYLKPf>{@GnU~GM_X71_UUC0Wlz2h_HfK zL98Ge0ag%=A7>CNh!sR5zzU-A;|yX2v4Us>SV1&?oIz6+bbmM;_NUY7oyPxbT-`KH z)wXRH>Nct%rPSZ+^}6f2?(=I*b6S^8(`=0~zqQu8TtG$$@vgOgoi_B>xJoJYQwULM zt%G7oDaZm6tJUiDS*>QRWsI?a#AHB1h|g!VnzNP=VoL>NuYWqLIcvEfpeX2mj~uHh zr9Rxs43lWRUVm?o$K#*j-};rb^`l>A{UsK({*8y$Dh4RWYIR+AQpz8GV^YdDe>)8| z>#obJ@3hu$(AMBvt0W+_)e@5)O~RMDH$ilL2xbUYY&^2X++Y~1C2TXYLClW*c<6d5 z<*sepOG-g0wH5<}wHhXeQu*U1I?SOQ@PXX99|%L)Sbt&{^Tz{sHB1hrRy34DIo9)mq@bat^8O4LWsKNxG3J_m*7 z617??hkyDTRS+DPL$Uf;{$Q=O1fZzZQaRK&c7ISr{M`9wR3FP9thJT`6qPwLh#!HR z3oiEjrIh+5gxDkC-%I8SX?yRBl=6G*6dTK-NaLL`Muwi_V)e1-ud1qEHk*yz1YR(Z zW&>2>4B{pLgz;#e(Aafd@1>MhN#JiTK;RQJ=6`Ww0O|a;%k+L+BS{{XJ3nP3|LRwGx1` zt$&5hq0E=_VycR5KQXJ30a2Q=jiquWbe_qr$K;T!30aK_XtJbp8eg*3w;BZy$y!TJ zI%h23YLfv`t(DXC(zQdYO$GFH*76s@S#1iSkJM|7rB{2d@toDP*55*7M86M8eU>&? zv;XV9)@tYTIrzCDf5Zu_3Ik$5G~=>@SU*9mAQ}Ny5RD&a5G#lkL?gfoqVeMlVg<2+ oXarb6G=7{xtRPkpjR0`Sz_#2YZkhRP@NeuMKLQZo0Mh8T zii$=6f_uTuMz>W|WD01d_!EO4t|DtdYs8-z&~O!514_l8FU^^O~7&6o4LuqXWM8+fWsm0V>3w$ISe<7ZAp6r6Nl}srYlp%%>VS0njEYvII0F z{={InP?05|A@OGq(CR8u0TPiHMD#qIoKuHGb^K{i(LE6%NBfCyX2##D)(of;%4C#D z{Ap0pJ`6RmDnN};Vk1@OpVZP9Vo^>p&A@5_NvBTFnfa=7Y;sswupipzGIMeM#SUSM z?FEG4cSLkeL^l>OK}6mW(Pu3jj6W1W@my4}MC20@b*C)*P!ADM7p!nf|3*a5ER-`n zBghfOzt>Vp+@{Sddr5EL%b;-;qqh#9}yI9GFE&g8xXSdVU zSSKQyZNBCw*6dRary5X=_2KY_svq*REgNz%Krp#Ct5Q(QY&QgD3T8eEv`oIG?~0&? zfawAhCjBP3(R41s=@_5yOLb=v8F^2(SS{$WGqw0tE*4I*s2G;w3$kV0GR$=tMdn>2 z*b8Q!^D>Q{-GIVL7Mb(Xjl$A%QJe=Ps0zh)Kvieni3yxci=nl%3s6{*Ukz}k-vOl4 z$oLU%HoKRVor|aKoQ{?8W4^B%l&mLOYMS)rt2KsGNcMmbC9l4Lr)(O8ER(^ki`jD^e4R!ubVfq3&e0W`Y)dHc3_| z!@~*zQt56A#Vg#$t6w|mfi}X$XC`(w0n!?N zjN=_pVbvUv1JXIRE65e(3epj91?l*C3~~jzf^-C2K{|f_0Ouh8SZ|R+F8}}l07*qo IM6N<$f?a3Ru>b%7 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxxhdpi/ic_action_width_limit.png b/OsmAnd/res/drawable-xxxhdpi/ic_action_width_limit.png index e44daa91d12f0f248e78d642080de6181949ad9d..7bd5635afd8b0c967c034e8170755ae749f3c1f9 100755 GIT binary patch delta 1312 zcma)*eLT~70LQ<-ZEWUup00V#ovVptCnS=zF&Zz{g)7E9WH}FYn#bdJ?%(_CKL5S{c)$PqjFM&KB5NUGF@WtI zl5t?VLVfh*RugtMJO$qfuE<`OjVdLu1h&i{BTd1>kIe%b?z#)~sonLpi`B*lQ$Id& zHIljMd)AZLeJXVZ4U7k{0AW~y9G`s#aH(9yz03pvx!VuFWVj%pf|8n2Wx)d7WcM9C zFbyQ?Ra{NfH$fVNxb7|&JW0WW#^07h|M3+l-k;8Frw&ytXO?xKVXJ|KRC;rMM%clrT^Xh5b znCuv*F|djQ2W^pL??$mv?hApBkfhGJg;VN!^Ou05s=@qfIh0h{C?@C0b>TP>g#s+m zU(FOnl$)hl=xTVmzp-=2&`r!C_n8(=v{{umACYW-@Lq5cYnF^bzY+^2nKbDWx< z?4h?C>I&K(c2Hxa@@{M&n#IEf^Gs>6p?L#ac9Go7V$Ssav{;50hB?$ZKtD@J(&E}r zz})3!SF>x)>X{OFVlO!f)Z#y*jb1Lq56|5{Jkq{u95?&%IP37S^QeD=5iR#s`uk1} zl2MHHonR(9K3=}VCc6GWm50orc-8|Ymc8T{?eQe1t!1Mkuzm_iQ6_#bV+vCc29}Q5 zf?^7klj3P41opgYoAqF&k=IRSDh07g3-)GBu7Lw#l%h?c_?#x6CRF5NS$F_Kbg9<|kjiHlQ}RuqG(Q zu^SlMz#zp+qu8e&n=TpQ&7?Xg^-&%ZFeYcbS<1<_YXRt)-Zj1Qv^+0tD$IK5G7 z)YwtwVC(c8oj2@S7+eu@CjXEbD245Xn?ZwI7pNCkeB{E}Ip;)HH$nSGPb5rYYW$IO z(e?>loy)XaQwuhv+aK?{9?&%EI&uY(V`4)@6BygjChjN%I2t@Mcxt4?Z@KR5^$Y^b z@sd}_j}g6Uz}M^q{hnjH+euc*qU>4rFA-Wck9J-%@fC>GSVR%sFmAoI6x(3?{h_cl zTkxV_z`Lk|=;{M&xWl!L=i()g^f0C`4R}Ok&Q66es~?4lA^>6O|Ed`4EXsv zJ5{!-=A1HDBMDZqsuBr|v`gyi?b@4v72v}?X+nR1}(1Q=f^!u{utA!E8ddQ^8 z+I?j(xpyG?U!b3Es3q^>4p6%E`LWE$M+eiiZ$57<2ZxwoshZM7U}+#=c^gfHL^@<- z=0sWCVsF{hiv)HmZQe(_NL#Oi40xv>2^S)(;s_d)3q7dQkF0@ig& zzA189#+MTSIX<)iNJ{lIn?SH#T`Ylrb4$1rg!u3%*1$ggk-z|~>#U_h;dDdQ9v}+l zwv!Ybp7a0?oRNL$2e_R%Ix}Eb8tROb?lYH^{hzeOT6>w;-(q?3owk$>))wF!$gcO{ G=llc5Z(FPY delta 1362 zcma)(eLRy10LS<2VbgG48aL+SCDmt4mzTpTFEe&WD)W-c>ne0&^ID&b^*o8V8Jmwn zOKd9Jxk{nDbTKA+6U(_v$jc&cg(7)byYAon>wbTKzu$j;wV1aUz9pni^zrftIur4} z%p-Ylx7LLx`(kPt34D`@VRKiH;rs~`!e-)?cldheDStt^a3H2oj%RuC%55<2=9Jt$ z3srggYOAUa^wW=9QL0jF-TigxA4gF*Go-Ur+csEAdUy!N({I8_tQv%~^e~`UiU64K zU1aC1A(-|1H2grc@@ADf{~RbQGr| zqSl6)4FmHlIZcm>40?a;u4rgzcpw{FU=>>9cCZ=-hfjyE)G-Dh+(4yTWSKDr&)U6y zMy+B9CP#GJs~Cd=o&`ZY(8e{$bUUtSu{b$|d8zHZ~xr?FGW6{+eU7u{Y?od5rJ)e0`WoFlKd&ZT{ z4@o5=y=*wN-O-k99g8WGm-bnSetw8tQ=1FbgA2Ey2pP+9`dwYP`OoW0O)*m9DLMj- zhw5#6i|qmw2bwo21~$;uO*7{YPt))CZ=D7o$9zJHX~>ScFMgsEJJcpzY_L8Z!o62# zz#x|r)t?zq9A4UN0FZXcfb3g^z}%VdROi6dkOGzt{|$%Wkz<0^+9R`cFr9Sgl=llD~@07HmRJxuHcV1WeO`p|*Iz2bU)slKt9tJk+<-75>KT9Yf`AK5q zDVn-|A0snOXEENZK3D+%td;O8@lg+3sA|CZEk<(6d317!Yz{PjiC)V$iJaf$wwiwR zn9C!`isi-uqS6A{uSN;a6WE(QGqm z1 zUedIeJ31^rXr0Ja{D$eCy;%9U9iibWyS8->TsR**_KLEiG9gmsGbrJd5ogOBD7FqY z<|R`zEAMH;a)+V%>pGBDeuOd4nBSS?Uta~pFWF3kvh_U+E=g5(r&K#Hw^QXOQQp0E zLY+I2ja;?pMJOJHrp6hWQ+hJp5{r2QXv3QCsd8gfuH5oH*k1BMoa+0#Z ziVuD~F@rPWtJsxK;!$bW8Pf3p!zEx*r)DiI?~A(=hf)Yt0S9|6r$B07n;UJpmqrM1 z5E`-?+4M190&iz5e;y)v3p@*pfrEZ}@6zZWz7{M2)5;3_>sed0!Rl){uZOm6K%1!j z+P#D^UtQc01(tIXFU&NJN-43A;Z_PzBo-WK`;)&TXyOX5Dft$hlSZRcZOiTj&k5B> zr8}Xw6T4H`kaB@rd7t6l!zkVe)q7kKwmRF7W!j3SR#($L`ziS-jg)kp1jZvUHyod9 z_XZf2{jH72erY_3`o&7~#ViV@#A>I2^%vFOodU_C`U_1!$kWVE&47>=A{#>Nh;B<8 zM$ibijxyom+R;Cl2*Sm`Y@NxzM-n4^oe|i*aiw_S4I5I;|L!Z%_}cLTtK;J$#JBlS L4|v_C&@=x5uDOhM diff --git a/OsmAnd/res/drawable-xxxhdpi/map_action_utv.png b/OsmAnd/res/drawable-xxxhdpi/map_action_utv.png new file mode 100755 index 0000000000000000000000000000000000000000..8d9b9aab8e23858f028caa628cbdb91b5519261e GIT binary patch literal 1377 zcma)+dpOg30LH&#vsq`F+c8Wo%P5ZImWRy7+{$G(G@Y;>O_6dLrPIpDVdpDTyu$Wl=}2qO39CGF?LTH-37nTxkb;%+&XEiXZ6mdQDz#IwnPX;or_gQgaDgvD0n`AnxN0ywgBPCYThh)VU|SftHP9- z)Q3*1B8VX4JCwoS7Up*}M5^u(cO#B?=VvC&bsR$K*;MRk*?TF+iJMRvLph$H%JY%7 z>K0xa0(wcJqBb;nClrM3_aJ}(7YYZIO6-#dIloi_&hc#*(^?Aun`v7>hQer^pT!#By#9 zy@u$`1ftjRYI7u`Z=XJrnwB>fJjf$6 zw~oqJGiYV6k??lvD#gVdT)2Ogl8xRf+oy}-&-((?#Tsm)aZGm!$)An))6jNARo|01 zX69zKl$&vCYR@<|-7_exXviWt z1^i=22M)bx&0q|IvF9Q_F(STK-&+@3hxa=vd|H*xnd?<+9FqQNlaAo!jC(v4gw0L0 z=_>|YfwVG`Pd)cCf--eVVLsB*D%CZig~hDn(`!~|8N(#(PO#fRYT|0knb+6K!&t&H zlC7pnYU9f{Kgn3PWt5#1&;5!dTz=8#w^lVD;VC=}Uf0%=wT)b0H`CH}@Pj=3s_ z$Hf|8!Opj(+$6y4UWT&CLWrH&V(uGat?c2N)MGc3yQUs?v|0kX3zy36{sf6Xj;5yL z$~5<5v7yHV=X)eZJKK9Cd%U?~rR(9Mp+=R6<$;MqMHUuX8`<9vpjlA{Z=aj+aEP(@ zGnOa+27U*Rcg@xjgL=Xzf|S7r2ODKXr@{cucKNajZ$KLAOeyQE9=y<7g?n%-1pz>#d;XaMXxPnx?4?WgVJ1B-PHNr zCe8^Vk43K#`RgTG>=1tZUnrbSxiNDGs`Kt6`qsd8+xAvtP~@7nE7+IhCQ_|9wT_by zk+Nm^*kaLrOy{$6~cLsF)F^jqk+ zCc2;kRZ4;Pzijmd Date: Thu, 17 Oct 2019 14:54:01 +0300 Subject: [PATCH 10/60] Remove profile default value dependency from browse map profile --- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 34436b51d5..c3d363b889 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -45,17 +45,11 @@ import net.osmand.util.Algorithms; import org.json.JSONException; import org.json.JSONObject; -import java.io.BufferedOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; @@ -158,7 +152,6 @@ public class OsmandSettings { private PreferencesDataStore dataStore; private SettingsAPI settingsAPI; private Object globalPreferences; - private Object defaultProfilePreferences; private Object profilePreferences; private ApplicationMode currentMode; private Map> registeredPreferences = @@ -187,7 +180,6 @@ public class OsmandSettings { private void initPrefs() { globalPreferences = settingsAPI.getPreferenceObject(getSharedPreferencesName(null)); - defaultProfilePreferences = getProfilePreferences(ApplicationMode.DEFAULT); currentMode = readApplicationMode(); profilePreferences = getProfilePreferences(currentMode); registeredPreferences.put(APPLICATION_MODE.getId(), APPLICATION_MODE); @@ -587,11 +579,7 @@ public class OsmandSettings { if (pt != null) { return getProfileDefaultValue(pt); } - if (settingsAPI.contains(defaultProfilePreferences, getId())) { - return getValue(defaultProfilePreferences, defaultValue); - } else { - return defaultValue; - } + return defaultValue; } protected T getDefaultValue() { From 0c6db2fc4f322be78b15ad944495cdccae23fcb8 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Thu, 17 Oct 2019 15:46:55 +0300 Subject: [PATCH 11/60] Add string --- OsmAnd/res/values/phrases.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml index 6ee73537a6..8e1cd7ce73 100644 --- a/OsmAnd/res/values/phrases.xml +++ b/OsmAnd/res/values/phrases.xml @@ -4110,4 +4110,6 @@ Charge + Pet grooming + From df00cb66b5b0c6d39c232e5ceb9503ba4f5f70f6 Mon Sep 17 00:00:00 2001 From: MadWasp79 Date: Thu, 17 Oct 2019 16:57:22 +0300 Subject: [PATCH 12/60] lower tertiary roads value in speak_priority --- .../src/main/java/net/osmand/router/RouteResultPreparation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java index a729fc3345..a26220193c 100644 --- a/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java +++ b/OsmAnd-java/src/main/java/net/osmand/router/RouteResultPreparation.java @@ -1026,7 +1026,7 @@ public class RouteResultPreparation { return MAX_SPEAK_PRIORITY; } if (highway.endsWith("_link") || highway.endsWith("unclassified") || highway.endsWith("road") - || highway.endsWith("living_street") || highway.endsWith("residential") ) { + || highway.endsWith("living_street") || highway.endsWith("residential") || highway.endsWith("tertiary") ) { return 1; } return 0; From 46c3277e51a0a910903e69b4c2775c06dfd4c76b Mon Sep 17 00:00:00 2001 From: scai Date: Wed, 16 Oct 2019 11:03:52 +0000 Subject: [PATCH 13/60] Translated using Weblate (German) Currently translated at 100.0% (3019 of 3019 strings) --- OsmAnd/res/values-de/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index d00065fe74..e32d924c44 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3329,4 +3329,7 @@ Abgedeckte Fläche: %1$s x %2$s Breitenbegrenzung Geben Sie die zulässige Fahrzeugbreitenbegrenzung auf Routen an. Vermeiden von bestimmten Routen und Straßentypen + Nebeneinander + Seilbahn + Verbindung \ No newline at end of file From f7df3a73c1c5ef2cc97f47723f40c7e025981baa Mon Sep 17 00:00:00 2001 From: Verdulo Date: Wed, 16 Oct 2019 19:50:48 +0000 Subject: [PATCH 14/60] Translated using Weblate (Esperanto) Currently translated at 100.0% (3019 of 3019 strings) --- OsmAnd/res/values-eo/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 04a720cd02..b5def27c02 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3287,7 +3287,7 @@ Indikas lokon: %1$s x %2$s" glitveturado (tirata de hundoj) glitveturado (motora) marŝado - konekto + ligilo ski‑ekskurso alpa (malsuprenira) nordia (skikurada) @@ -3304,4 +3304,7 @@ Indikas lokon: %1$s x %2$s" Limigo de larĝo Difini permesatan limigon de larĝo de veturilo. Eviti difinitajn kursojn kaj specojn de vojoj + Ĉiuteren‑veturilo (UTV) + kablovojo + ligilo \ No newline at end of file From 662324e3ee5368cad01cacf2a896dc0e5df59806 Mon Sep 17 00:00:00 2001 From: Evgenii Martynenko Date: Wed, 16 Oct 2019 16:22:01 +0000 Subject: [PATCH 15/60] Translated using Weblate (Russian) Currently translated at 96.3% (2908 of 3019 strings) --- OsmAnd/res/values-ru/strings.xml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index 03258f785c..a63403b799 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -3059,11 +3059,11 @@ Переместить карты Не перемещать Маршрут пешком составляет примерно %1$s и он может быть быстрее, чем на общественном транспорте - Политика конфиденциальности + политикой конфиденциальности Помогите нам сделать OsmAnd лучше! - Разрешить OsmAnd собирать и обрабатывать анонимные данные об использовании приложения. Мы не собираем и не храним данные о вашем местоположении или о местоположениях, которые вы просматриваете на карте. -\n -\nВы всегда можете изменить свой выбор в Настройки > Конфиденциальность и безопасность. + "Разрешите OsmAnd собирать и обрабатывать анонимные данные об использовании приложения. Мы не собираем и не храним данные о вашем местоположении или о любых местах, которые вы просматриваете на карте. +\n +\nВы можете изменить свой выбор в любое время в Настройки > Конфиденциальность и безопасность." Выберите тип данных, которыми вы хотите поделиться: Загруженные карты Посещаемые экраны @@ -3071,7 +3071,7 @@ Список данных, которыми вы хотите поделиться с OsmAnd. Мы собираем эти данные, чтобы понять, какие регионы и страны наиболее популярны. Мы собираем эти данные, чтобы понять какие функции OsmAnd наиболее популярны. - Нажимая кнопку \"Разрешить\", вы соглашаетесь с нашими %1$s + Нажимая кнопку \"Разрешить\", вы соглашаетесь с нашей %1$s Конфиденциальность и безопасность Нет, спасибо Разрешить @@ -3224,7 +3224,7 @@ Профиль изменён на\"%s\" Все приведенные ниже настройки относятся только к выбранному профилю. Единицы измерения и форматы - иконки, виджеты + Внешний вид карты Список установленных плагинов Тема приложения, единицы измерения, регион Создание, импорт и редактирование профилей @@ -3239,7 +3239,7 @@ Внешний вид Настроить навигацию Оповещения будут отображаться в левом нижнем углу экрана во время навигации. - Влияет на всё приложение + Влияют на всё приложение Настройки OsmAnd Копировать из другого профиля Включить экран @@ -3258,4 +3258,15 @@ Язык и вывод Переместите файлы данных OsmAnd в новое место назначения\? \n%1$s > %2$s + По умолчанию + %1$s • Использовано %2$s ГБ + "Свободно %1$s • %2$s / %3$s ГБ" + Введите путь к папке + Выберите папку + Вставить путь к папке с данными OsmAnd + Изменить папку данных OsmAnd\? + Переместить в новое место назначения + Внутреннее хранилище, скрытое от пользователя и других приложений, поэтому никто, кроме OsmAnd не может получить доступ к вашим данным + Изменение папку хранения данных + Избегать определенные маршруты и типы дорог \ No newline at end of file From d0783d899d9e767573f159609ab9e47cd8588766 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Thu, 17 Oct 2019 14:12:05 +0000 Subject: [PATCH 16/60] Translated using Weblate (Catalan) Currently translated at 97.9% (2957 of 3019 strings) --- OsmAnd/res/values-ca/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index 11d6c3f692..cd5001b4a9 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -3276,4 +3276,9 @@ Abasta l\'àrea: %1$s x %2$s Voleu canviar la carpeta de dades de OsmAnd\? Desplaça a la nova destinació Evita determinades rutes i tipus de carretera + Emmagatzematge intern, amagat a l\'usuari i a les altres aplicacions, de manera que només OsmAnd pot accedir a les vostres dades + Canvia la carpeta d\'emmagatzematge de dades + Parc de neu + Trineu + Costat a costat \ No newline at end of file From b90a91ae61d8cd7c2e2b0b92f3585a08ee77167d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Sok=C3=B3=C5=82?= Date: Thu, 17 Oct 2019 14:40:08 +0000 Subject: [PATCH 17/60] Translated using Weblate (Polish) Currently translated at 99.4% (3001 of 3019 strings) --- OsmAnd/res/values-pl/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 00e945b4eb..be52d3f393 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -3299,11 +3299,11 @@ Reprezentuje obszar: %1$s x %2$s Pobierz szczegółową mapę %S, aby zobaczyć ten obszar. Przenieść pliki danych OsmAnd do nowego położenia\? \n%1$s > %2$s - "%1$s • Użyto %2$s GB" + %1$s • Zajęte %2$s GB Wolne %1$s • %2$s / %3$s GB Proszę wprowadzić ścieżkę do katalogu - Wybierz folder - Wklej ścieżkę do folderu z danymi OsmAnd + Wybierz katalog + Wklej ścieżkę do katalogu z danymi OsmAnd Zmienić katalog danych OsmAnd\? Przenieś do nowego miejsca przeznaczenia Wewnętrzna pamięć masowa, ukryta przed użytkownikiem i innymi aplikacjami, dzięki czemu nikt oprócz OsmAnd nie może uzyskać dostępu do Twoich danych From 6ff8920bbc875e2e13f203724e6f798758ee5f17 Mon Sep 17 00:00:00 2001 From: Len Aye Date: Wed, 16 Oct 2019 12:16:05 +0000 Subject: [PATCH 18/60] Translated using Weblate (Burmese) Currently translated at 5.6% (169 of 3019 strings) --- OsmAnd/res/values-my/strings.xml | 37 +++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-my/strings.xml b/OsmAnd/res/values-my/strings.xml index bb220ca8bf..9391f3c81c 100644 --- a/OsmAnd/res/values-my/strings.xml +++ b/OsmAnd/res/values-my/strings.xml @@ -134,4 +134,39 @@ ဝါရင့် အစွန်းရောက် နှင်းတောင် ski အခက်အခဲ - + ပန်းခရမ်းရောင် + မြေပုံတည်နေရာကိုပြောင်းလဲရန်နောက်တစ်ကြိမ်အသာပုတ်ပါ + မူလအရှိန် settings များကိုပြောင်းမြည် + အနှေး /အမြန်နှုန်း ကိုသတ်မှတ်ပါ + ပရိုဖိုင်းအသစ် + OsmAnd ၏နောက်ဆုံးပစ်လွှတ်မှုမအောင်မြင်ပါ ကျေးဇူးပြုပြီးကျွန်ုပ်တို့က OsmAnd ကိုတိုးတက်စေရန်အမှားသတင်းစကားကိုဝေမျှပါ။ + နေ့ + နေ့ရက်များ + နေ့ရက်များ + အပတ် + အပတ်များ + အပတ်များ + + လများ + လများ + နှစ် + နှစ်များ + နှစ်များ + သုံးလ + ပြီးရင် %1$s + ကြေးပေးသွင်းမှုကိုပယ်ဖျက်ပါ + OsmA အပြင်အဆင်များ + အခြားပရိုဖိုင်းမှကူးယူပါ + မျက်နှာပြင်ဖွင့်ပါ + လမ်းညွှန်နေစဉ်မြေပုံ + လမ်းညွှန်နေစဉ်မြေပုံ + အခြား + အလေးချိန်၊ အမြင့်၊ အမြန်နှုန်း + ယာဉ်သတ်မှတ်ချက်များ + အသံကြေငြာချက်များသည် လမ်းညွှန်အတွင်းသာလာမြည်။ + လမ်းညွှန်ညွှန်ကြားချက်နှင့်ကြေငြာ + အသံကြေငြာ + ဖန်သားပြင်သတိပေးချက်များ + လမ်းကြောင်း parameters များကိုပြုပြင်ပါ + လမ်းကြောင်း parameters များ + \ No newline at end of file From f59b6e9a8aaa27a3a7fb7cd17399d52bf988a3fc Mon Sep 17 00:00:00 2001 From: scai Date: Wed, 16 Oct 2019 11:02:58 +0000 Subject: [PATCH 19/60] Translated using Weblate (German) Currently translated at 100.0% (3709 of 3709 strings) --- OsmAnd/res/values-de/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index fd6d16c80c..9d6b5ae56e 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -3728,4 +3728,5 @@ Bodenleger Backstube Möbeltischler + Gebühr \ No newline at end of file From 28ac40821b4f8520ab1d873338604c7bfa7af1a2 Mon Sep 17 00:00:00 2001 From: Decebal Udrea Date: Thu, 17 Oct 2019 09:20:47 +0000 Subject: [PATCH 20/60] Translated using Weblate (French) Currently translated at 97.7% (3623 of 3709 strings) --- OsmAnd/res/values-fr/phrases.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/OsmAnd/res/values-fr/phrases.xml b/OsmAnd/res/values-fr/phrases.xml index 48722b30ba..6f1428418c 100644 --- a/OsmAnd/res/values-fr/phrases.xml +++ b/OsmAnd/res/values-fr/phrases.xml @@ -3632,4 +3632,14 @@ Oui Accès conçu pour les fauteuils roulants Oui + suspendu + accès-voiture : + accès-voiture : privé + accès-voiture : impossible + accès-voiture : possible + accès-voiture : clients + accès-voiture : autorisé + Accès-voiture : privé + Accès-véhicules : livraison + Accès-véhicules : agricoles \ No newline at end of file From 9b6ce51f947c6d4a8335d9ae97968301322708cd Mon Sep 17 00:00:00 2001 From: Chumva Date: Thu, 17 Oct 2019 18:23:27 +0300 Subject: [PATCH 21/60] Make several prefs profile dependent --- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 17 +++++++++-------- .../net/osmand/plus/poi/PoiFiltersHelper.java | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index c3d363b889..e323b54661 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -388,6 +388,7 @@ public class OsmandSettings { if (aidlApi != null) { aidlApi.loadConnectedApps(); OsmandPlugin.updateActivatedPlugins(ctx); + ctx.poiFilters.loadSelectedPoiFilters(); } fireEvent(oldMode); @@ -1348,9 +1349,9 @@ public class OsmandSettings { } - public final OsmandPreference SHOW_POI_LABEL = new BooleanPreference("show_poi_label", false).makeGlobal(); + public final OsmandPreference SHOW_POI_LABEL = new BooleanPreference("show_poi_label", false).makeProfile(); - public final OsmandPreference SHOW_MAPILLARY = new BooleanPreference("show_mapillary", false).makeGlobal(); + public final OsmandPreference SHOW_MAPILLARY = new BooleanPreference("show_mapillary", false).makeProfile(); public final OsmandPreference MAPILLARY_FIRST_DIALOG_SHOWN = new BooleanPreference("mapillary_first_dialog_shown", false).makeGlobal(); public final OsmandPreference ONLINE_PHOTOS_ROW_COLLAPSED = new BooleanPreference("mapillary_menu_collapsed", false).makeGlobal(); public final OsmandPreference WEBGL_SUPPORTED = new BooleanPreference("webgl_supported", true).makeGlobal(); @@ -1786,15 +1787,15 @@ public class OsmandSettings { public final OsmandPreference BT_SCO_DELAY = new IntPreference("bt_sco_delay", 1500).makeGlobal().cache(); // this value string is synchronized with settings_pref.xml preference name - public final CommonPreference MAP_ONLINE_DATA = new BooleanPreference("map_online_data", false).makeGlobal(); + public final CommonPreference MAP_ONLINE_DATA = new BooleanPreference("map_online_data", false).makeProfile(); public final CommonPreference CONTOUR_LINES_ZOOM = new StringPreference("contour_lines_zoom", null).makeGlobal().cache(); // this value string is synchronized with settings_pref.xml preference name - public final CommonPreference MAP_OVERLAY = new StringPreference("map_overlay", null).makeGlobal().cache(); + public final CommonPreference MAP_OVERLAY = new StringPreference("map_overlay", null).makeProfile().cache(); // this value string is synchronized with settings_pref.xml preference name - public final CommonPreference MAP_UNDERLAY = new StringPreference("map_underlay", null).makeGlobal().cache(); + public final CommonPreference MAP_UNDERLAY = new StringPreference("map_underlay", null).makeProfile().cache(); // this value string is synchronized with settings_pref.xml preference name public final CommonPreference MAP_OVERLAY_TRANSPARENCY = new IntPreference("overlay_transparency", @@ -1806,7 +1807,7 @@ public class OsmandSettings { // this value string is synchronized with settings_pref.xml preference name public final CommonPreference MAP_TILE_SOURCES = new StringPreference("map_tile_sources", - TileSourceManager.getMapnikSource().getName()).makeGlobal(); + TileSourceManager.getMapnikSource().getName()).makeProfile(); public final CommonPreference LAYER_TRANSPARENCY_SEEKBAR_MODE = new EnumIntPreference<>("layer_transparency_seekbar_mode", LayerTransparencySeekbarMode.UNDEFINED, LayerTransparencySeekbarMode.values()); @@ -1834,7 +1835,7 @@ public class OsmandSettings { MAP_MARKERS_MODE.setModeDefaultValue(ApplicationMode.PEDESTRIAN, MapMarkersMode.TOOLBAR); } - public final OsmandPreference SHOW_MAP_MARKERS = new BooleanPreference("show_map_markers", true).makeGlobal(); + public final OsmandPreference SHOW_MAP_MARKERS = new BooleanPreference("show_map_markers", true).makeProfile(); public final OsmandPreference SHOW_COORDINATES_WIDGET = new BooleanPreference("show_coordinates_widget", false).makeProfile().cache(); @@ -2902,7 +2903,7 @@ public class OsmandSettings { public final OsmandPreference LAST_SELECTED_GPX_TRACK_FOR_NEW_POINT = new StringPreference("last_selected_gpx_track_for_new_point", null).makeGlobal().cache(); // Avoid using this property, probably you need to use PoiFiltersHelper.getSelectedPoiFilters() - public final OsmandPreference SELECTED_POI_FILTER_FOR_MAP = new StringPreference("selected_poi_filter_for_map", null).makeGlobal().cache(); + public final OsmandPreference SELECTED_POI_FILTER_FOR_MAP = new StringPreference("selected_poi_filter_for_map", null).makeProfile().cache(); public Set getSelectedPoiFilters() { Set result = new LinkedHashSet<>(); diff --git a/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java b/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java index e2aa0d5d20..5356fedfa2 100644 --- a/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java +++ b/OsmAnd/src/net/osmand/plus/poi/PoiFiltersHelper.java @@ -369,6 +369,7 @@ public class PoiFiltersHelper { } public void loadSelectedPoiFilters() { + selectedPoiFilters.clear(); Set filters = application.getSettings().getSelectedPoiFilters(); for (String f : filters) { PoiUIFilter filter = getFilterById(f); From 4295bf89cc6d3ecc9b23a4f89ef2081e404fcceb Mon Sep 17 00:00:00 2001 From: Chumva Date: Thu, 17 Oct 2019 18:35:37 +0300 Subject: [PATCH 22/60] Replace fast_route_mode pref by short_way for car based profiles --- OsmAnd/res/drawable-large/map_action_utv.png | Bin 586 -> 452 bytes .../plus/settings/RouteParametersFragment.java | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/drawable-large/map_action_utv.png b/OsmAnd/res/drawable-large/map_action_utv.png index c6e51e8629aa2ae4af6d683a63c1c35c9efe0fbb..7c34c8c3266b072cd355b7f468e8aeef69f7182d 100755 GIT binary patch literal 452 zcmV;#0XzPQP)x|3WQ1e`vVpS!BPiA(a*i=Zav;C_+;It5y!Tok z1|XBkWTqhE4)vTNfe&Ha7wD<1sS1=x4V93_0k**Iv~^0+EW}n`=}J%_&CsXw{~8M{ zisE8_F3zJptc~4e=j?c~pS&#fG!(D~JY9RQ1R`;oGUuHWo75Yln%nEw6C5!LogWNC z+5Y48QX&+?kPry4aR(G25t2ZCahx;984$6Sp`bY&%H1j6owPs^G6e78X0LC1Ox!>V z4wGgu9m=Ap_cW%c9RH|?Mn3%;5PAk!j8LBZ( zgVT>^j7p*zGi3ZgHZd}mpvPr;jpm%82eIcUYwn{)Q<9-NP)6~$Y!yv>PGyJ&l)R*g uuS~>Nnk+!OGGj{lKKXFlLNk-eq;dxdw}iK=^|3+#0000}!3_NeZ2y_FO0J;H8089W(0G)s`0c8SU0?Gz#03)!$p@XDK(=>4&d=$}0Ri&52 zzMSo|4I8*@12JI>${Up}Q~!f0l7|5F^R8Djd-NVo&$)Ao8`!tG%A&8vubD#FiISnoq~A z1SWY3;BF{eRZt{%030O_lma6d9%;v3o+Ft>c08w7-0T8gbROb60!x>xY z6#;tzFkc6<1S-v++`kyQY=uvkNS*_jHXcx{&R$T_hpI{;c`5-Uc?00W!RW7oO8qSW z0(b@R5W?=jRMxSfOnDr(&L|berJ^Z;D)qR7&K6Sw6caq|N$-kP?9!=_xB@Ey?PCMKJ!9b7%qAq$kbW`Midnip#AeP^t?$WK_avEx zzx19Jo88sdJ9B#~x>|ifBsHq2nQC;2I;HV<+6ySjpDvqjMeoU@pPt=<@-nz(>Q6KE Y32>wWG^P^?UH||907*qoM6N<$f(0)6=>Px# diff --git a/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java b/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java index 17dfca3136..c4ab399b6c 100644 --- a/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/RouteParametersFragment.java @@ -119,7 +119,7 @@ public class RouteParametersFragment extends BaseSettingsFragment { clearParameters(); if (router != null) { Map parameters = router.getParameters(); - if (parameters.containsKey(GeneralRouter.USE_SHORTEST_WAY)) { + if (!am.isDerivedRoutingFrom(ApplicationMode.CAR)) { screen.addPreference(fastRoute); } for (Map.Entry e : parameters.entrySet()) { @@ -133,7 +133,7 @@ public class RouteParametersFragment extends BaseSettingsFragment { reliefFactorParameters.add(routingParameter); } else if (DRIVING_STYLE.equals(routingParameter.getGroup())) { drivingStyleParameters.add(routingParameter); - } else if (!param.equals(GeneralRouter.USE_SHORTEST_WAY) + } else if ((!param.equals(GeneralRouter.USE_SHORTEST_WAY) || am.isDerivedRoutingFrom(ApplicationMode.CAR)) && !param.equals(GeneralRouter.VEHICLE_HEIGHT) && !param.equals(GeneralRouter.VEHICLE_WEIGHT) && !param.equals(GeneralRouter.VEHICLE_WIDTH)) { @@ -272,6 +272,7 @@ public class RouteParametersFragment extends BaseSettingsFragment { private void clearParameters() { avoidParameters.clear(); preferParameters.clear(); + drivingStyleParameters.clear(); reliefFactorParameters.clear(); otherRoutingParameters.clear(); } @@ -280,6 +281,8 @@ public class RouteParametersFragment extends BaseSettingsFragment { switch (prefId) { case GeneralRouter.ALLOW_PRIVATE: return getIcon(R.drawable.ic_action_private_access); + case GeneralRouter.USE_SHORTEST_WAY: + return getContentIcon(R.drawable.ic_action_fuel); case AVOID_ROUTING_PARAMETER_PREFIX: return getContentIcon(R.drawable.ic_action_alert); case DRIVING_STYLE: From d5735c366acd36f863a31e39a6e7a7123bf12622 Mon Sep 17 00:00:00 2001 From: Chumva Date: Fri, 18 Oct 2019 12:56:03 +0300 Subject: [PATCH 23/60] Fix #7368 --- .../osmand/plus/activities/SettingsNavigationActivity.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/activities/SettingsNavigationActivity.java b/OsmAnd/src/net/osmand/plus/activities/SettingsNavigationActivity.java index 3f7f7ce571..1c39792cf2 100644 --- a/OsmAnd/src/net/osmand/plus/activities/SettingsNavigationActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/SettingsNavigationActivity.java @@ -745,6 +745,13 @@ public class SettingsNavigationActivity extends SettingsBaseActivity { case NAUTICALMILES_PER_HOUR: ratio[0] = 3600 / OsmAndFormatter.METERS_IN_ONE_NAUTICALMILE; break; + case MINUTES_PER_MILE: + ratio[0] = 3600 / OsmAndFormatter.METERS_IN_ONE_MILE; + speedUnits = activity.getString(R.string.mile_per_hour); + break; + case METERS_PER_SECOND: + ratio[0] = 1; + break; } float settingsMinSpeed = settings.MIN_SPEED.get(); From 9d50cf4f15d063cffb32023f5d9daa1533383899 Mon Sep 17 00:00:00 2001 From: Nazar Date: Fri, 18 Oct 2019 13:41:53 +0300 Subject: [PATCH 24/60] Fix #7606 --- .../osmand/plus/OsmAndLocationSimulation.java | 4 +- .../plus/activities/MapActivityLayers.java | 17 ++-- .../osmand/plus/dialogs/ConfigureMapMenu.java | 81 ++++++++++--------- .../net/osmand/plus/helpers/GpxUiHelper.java | 27 ++++--- .../other/RoutePreferencesMenu.java | 2 +- .../MeasurementToolFragment.java | 2 +- .../RouteOptionsBottomSheet.java | 2 +- 7 files changed, 78 insertions(+), 57 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmAndLocationSimulation.java b/OsmAnd/src/net/osmand/plus/OsmAndLocationSimulation.java index a5ed402e78..0fee27c79f 100644 --- a/OsmAnd/src/net/osmand/plus/OsmAndLocationSimulation.java +++ b/OsmAnd/src/net/osmand/plus/OsmAndLocationSimulation.java @@ -16,6 +16,7 @@ import android.widget.Toast; import net.osmand.CallbackWithObject; import net.osmand.GPXUtilities; import net.osmand.Location; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.helpers.GpxUiHelper; import net.osmand.plus.routing.RouteProvider.GPXRouteParamsBuilder; @@ -78,6 +79,7 @@ public class OsmAndLocationSimulation { public void onClick(DialogInterface dialog, int which) { boolean gpxNavigation = radioGPX.isChecked(); if (gpxNavigation) { + boolean nightMode = ma instanceof MapActivity ? app.getDaynightHelper().isNightModeForMapControls() : !app.getSettings().isLightContent(); GpxUiHelper.selectGPXFile(ma, false, false, new CallbackWithObject() { @Override public boolean processResult(GPXUtilities.GPXFile[] result) { @@ -88,7 +90,7 @@ public class OsmAndLocationSimulation { } return true; } - }); + }, nightMode); } else { List currentRoute = app.getRoutingHelper().getCurrentCalculatedRoute(); if (currentRoute.isEmpty()) { diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java index 71849b7298..e64769f88a 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java @@ -5,6 +5,7 @@ import android.content.DialogInterface; import android.graphics.drawable.Drawable; import android.support.annotation.Nullable; import android.support.v7.app.AlertDialog; +import android.support.v7.view.ContextThemeWrapper; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; @@ -91,6 +92,9 @@ public class MapActivityLayers { private MapWidgetRegistry mapWidgetRegistry; private QuickActionRegistry quickActionRegistry; private MeasurementToolLayer measurementToolLayer; + + private boolean nightMode; + private int themeRes; private StateChangedListener transparencyListener; @@ -98,6 +102,8 @@ public class MapActivityLayers { this.activity = activity; this.mapWidgetRegistry = new MapWidgetRegistry(activity.getMyApplication()); this.quickActionRegistry = new QuickActionRegistry(activity.getMyApplication().getSettings()); + this.nightMode = activity.getMyApplication().getDaynightHelper().isNightModeForMapControls(); + this.themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme; } public QuickActionRegistry getQuickActionRegistry() { @@ -266,7 +272,7 @@ public class MapActivityLayers { return true; } }; - return GpxUiHelper.selectGPXFiles(files, activity, callbackWithObject); + return GpxUiHelper.selectGPXFiles(files, activity, callbackWithObject, themeRes); } @@ -283,8 +289,8 @@ public class MapActivityLayers { } list.add(poiFilters.getCustomPOIFilter()); - final ArrayAdapter listAdapter = adapter.createListAdapter(activity, app.getSettings().isLightContent()); - AlertDialog.Builder builder = new AlertDialog.Builder(activity); + final ArrayAdapter listAdapter = adapter.createListAdapter(activity, !nightMode); + AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes)); final ListView listView = new ListView(activity); listView.setDivider(null); listView.setClickable(true); @@ -361,9 +367,8 @@ public class MapActivityLayers { addFilterToList(adapter, list, f, false); } - final ArrayAdapter listAdapter = - adapter.createListAdapter(activity, app.getSettings().isLightContent()); - AlertDialog.Builder builder = new AlertDialog.Builder(activity); + final ArrayAdapter listAdapter = adapter.createListAdapter(activity, !nightMode); + AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes)); builder.setAdapter(listAdapter, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { diff --git a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java index 4f8cc4bb93..8b1d2a47fe 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java @@ -9,6 +9,7 @@ import android.support.annotation.NonNull; import android.support.annotation.StringRes; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; +import android.support.v7.view.ContextThemeWrapper; import android.support.v7.widget.AppCompatCheckedTextView; import android.support.v7.widget.SwitchCompat; import android.view.LayoutInflater; @@ -114,6 +115,8 @@ public class ConfigureMapMenu { public ContextMenuAdapter createListAdapter(final MapActivity ma) { OsmandApplication app = ma.getMyApplication(); + boolean nightMode = app.getDaynightHelper().isNightModeForMapControls(); + int themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme; ContextMenuAdapter adapter = new ContextMenuAdapter(); adapter.setDefaultLayoutId(R.layout.list_item_icon_and_menu); adapter.addItem(new ContextMenuItem.ItemBuilder() @@ -138,8 +141,8 @@ public class ConfigureMapMenu { } } } - createLayersItems(customRules, adapter, ma); - createRenderingAttributeItems(customRules, adapter, ma); + createLayersItems(customRules, adapter, ma, themeRes); + createRenderingAttributeItems(customRules, adapter, ma, themeRes, nightMode); return adapter; } @@ -284,7 +287,7 @@ public class ConfigureMapMenu { } } - private void createLayersItems(List customRules, ContextMenuAdapter adapter, final MapActivity activity) { + private void createLayersItems(List customRules, ContextMenuAdapter adapter, final MapActivity activity, final int themeRes) { final OsmandApplication app = activity.getMyApplication(); final OsmandSettings settings = app.getSettings(); LayerMenuListener l = new LayerMenuListener(activity, adapter); @@ -398,7 +401,7 @@ public class ConfigureMapMenu { } private void showTransportDialog(final ArrayAdapter ad, final int pos) { - final AlertDialog.Builder b = new AlertDialog.Builder(activity); + final AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes)); b.setTitle(activity.getString(R.string.rendering_category_transport)); final int[] iconIds = new int[transportPrefs.size()]; @@ -425,7 +428,7 @@ public class ConfigureMapMenu { } } - adapter = new ArrayAdapter(activity, R.layout.popup_list_item_icon24_and_menu, R.id.title, vals) { + adapter = new ArrayAdapter(new ContextThemeWrapper(activity, themeRes), R.layout.popup_list_item_icon24_and_menu, R.id.title, vals) { @NonNull @Override public View getView(final int position, View convertView, ViewGroup parent) { @@ -545,7 +548,8 @@ public class ConfigureMapMenu { } private void createRenderingAttributeItems(List customRules, - final ContextMenuAdapter adapter, final MapActivity activity) { + final ContextMenuAdapter adapter, final MapActivity activity, + final int themeRes, final boolean nightMode) { adapter.addItem(new ContextMenuItem.ItemBuilder().setTitleId(R.string.map_widget_map_rendering, activity) .setId(MAP_RENDERING_CATEGORY_ID) .setCategory(true).setLayout(R.layout.list_group_title_with_switch).createItem()); @@ -570,7 +574,7 @@ public class ConfigureMapMenu { public boolean onContextMenuClick(final ArrayAdapter ad, int itemId, final int pos, boolean isChecked, int[] viewCoordinates) { final OsmandMapTileView view = activity.getMapView(); - AlertDialog.Builder bld = new AlertDialog.Builder(view.getContext()); + AlertDialog.Builder bld = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes)); bld.setTitle(R.string.daynight); final String[] items = new String[OsmandSettings.DayNightMode.values().length]; for (int i = 0; i < items.length; i++) { @@ -608,7 +612,7 @@ public class ConfigureMapMenu { final int pos, boolean isChecked, int[] viewCoordinates) { final OsmandMapTileView view = activity.getMapView(); final OsmandSettings.OsmandPreference mapDensity = view.getSettings().MAP_DENSITY; - final AlertDialog.Builder bld = new AlertDialog.Builder(view.getContext()); + AlertDialog.Builder bld = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes)); int p = (int) (mapDensity.get() * 100); final TIntArrayList tlist = new TIntArrayList(new int[]{25, 33, 50, 75, 100, 125, 150, 200, 300, 400}); final List values = new ArrayList<>(); @@ -658,7 +662,7 @@ public class ConfigureMapMenu { }).createItem()); ContextMenuItem props; - props = createRenderingProperty(customRules, adapter, activity, R.drawable.ic_action_intersection, ROAD_STYLE_ATTR, ROAD_STYLE_ID); + props = createRenderingProperty(customRules, adapter, activity, R.drawable.ic_action_intersection, ROAD_STYLE_ATTR, ROAD_STYLE_ID, themeRes); if (props != null) { adapter.addItem(props); } @@ -671,7 +675,7 @@ public class ConfigureMapMenu { public boolean onContextMenuClick(final ArrayAdapter ad, int itemId, final int pos, boolean isChecked, int[] viewCoordinates) { final OsmandMapTileView view = activity.getMapView(); - AlertDialog.Builder b = new AlertDialog.Builder(view.getContext()); + AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes)); // test old descr as title b.setTitle(R.string.text_size); final Float[] txtValues = new Float[]{0.75f, 1f, 1.25f, 1.5f, 2f, 3f}; @@ -711,7 +715,7 @@ public class ConfigureMapMenu { public boolean onContextMenuClick(final ArrayAdapter ad, int itemId, final int pos, boolean isChecked, int[] viewCoordinates) { final OsmandMapTileView view = activity.getMapView(); - final AlertDialog.Builder b = new AlertDialog.Builder(view.getContext()); + AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes)); b.setTitle(activity.getString(R.string.map_locale)); @@ -735,7 +739,7 @@ public class ConfigureMapMenu { } }; - final ArrayAdapter singleChoiceAdapter = new ArrayAdapter(activity, R.layout.single_choice_switch_item, R.id.text1, txtValues) { + final ArrayAdapter singleChoiceAdapter = new ArrayAdapter(new ContextThemeWrapper(view.getContext(), themeRes), R.layout.single_choice_switch_item, R.id.text1, txtValues) { @NonNull @Override public View getView(int position, View convertView, ViewGroup parent) { @@ -794,17 +798,17 @@ public class ConfigureMapMenu { }).createItem()); props = createProperties(customRules, null, R.string.rendering_category_transport, R.drawable.ic_action_bus_dark, - "transport", null, adapter, activity, true, TRANSPORT_RENDERING_ID); + "transport", null, adapter, activity, true, TRANSPORT_RENDERING_ID, themeRes, nightMode); if (props != null) { adapter.addItem(props); } props = createProperties(customRules, null, R.string.rendering_category_details, R.drawable.ic_action_layers_dark, - "details", null, adapter, activity, true, DETAILS_ID); + "details", null, adapter, activity, true, DETAILS_ID, themeRes, nightMode); if (props != null) { adapter.addItem(props); } props = createProperties(customRules, null, R.string.rendering_category_hide, R.drawable.ic_action_hide, - "hide", null, adapter, activity, true, HIDE_ID); + "hide", null, adapter, activity, true, HIDE_ID, themeRes, nightMode); if (props != null) { adapter.addItem(props); } @@ -816,7 +820,7 @@ public class ConfigureMapMenu { } } props = createProperties(customRules, customRulesIncluded, R.string.rendering_category_routes, R.drawable.ic_action_map_routes, - "routes", null, adapter, activity, true, ROUTES_ID); + "routes", null, adapter, activity, true, ROUTES_ID, themeRes, nightMode); if (props != null) { adapter.addItem(props); } @@ -824,7 +828,7 @@ public class ConfigureMapMenu { if (getCustomRenderingPropertiesSize(customRules) > 0) { adapter.addItem(new ContextMenuItem.ItemBuilder().setTitleId(R.string.rendering_category_others, activity) .setCategory(true).setLayout(R.layout.list_group_title_with_switch).createItem()); - createCustomRenderingProperties(adapter, activity, customRules); + createCustomRenderingProperties(adapter, activity, customRules, themeRes); } } @@ -879,7 +883,9 @@ public class ConfigureMapMenu { final ContextMenuAdapter adapter, final MapActivity activity, final boolean useDescription, - final String id) { + final String id, + final int themeRes, + final boolean nightMode) { final List ps = new ArrayList<>(); final List> prefs = new ArrayList<>(); @@ -928,7 +934,7 @@ public class ConfigureMapMenu { activity.getMapLayers().updateLayers(activity.getMapView()); } else { showPreferencesDialog(adapter, a, pos, activity, activity.getString(strId), ps, prefs, - useDescription, defaultSettings, true, customRulesIncluded); + useDescription, defaultSettings, true, customRulesIncluded, themeRes, nightMode); } return false; } @@ -968,7 +974,7 @@ public class ConfigureMapMenu { public boolean onRowItemClick(ArrayAdapter a, View view, int itemId, int pos) { showPreferencesDialog(adapter, a, pos, activity, activity.getString(strId), ps, prefs, - useDescription, defaultSettings, false, customRulesIncluded); + useDescription, defaultSettings, false, customRulesIncluded, themeRes, nightMode); return false; } }); @@ -1010,9 +1016,11 @@ public class ConfigureMapMenu { final boolean useDescription, ListStringPreference defaultSettings, boolean useDefault, - final List customRulesIncluded) { + final List customRulesIncluded, + final int themeRes, + final boolean nightMode) { - AlertDialog.Builder bld = new AlertDialog.Builder(activity); + AlertDialog.Builder bld = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes)); boolean[] checkedItems = new boolean[prefs.size()]; final boolean[] tempPrefs = new boolean[prefs.size()]; for (int i = 0; i < prefs.size(); i++) { @@ -1095,8 +1103,7 @@ public class ConfigureMapMenu { final OsmandSettings.CommonPreference pref = activity.getMyApplication().getSettings() .getCustomRenderProperty(p.getAttrName()); - LayoutInflater inflater = activity.getLayoutInflater(); - View spinnerView = inflater.inflate(R.layout.spinner_rule_layout, null); + View spinnerView = View.inflate(new ContextThemeWrapper(activity, themeRes), R.layout.spinner_rule_layout, null); TextView title = (TextView) spinnerView.findViewById(R.id.title); final Spinner spinner = (Spinner) spinnerView.findViewById(R.id.spinner); TextView description = (TextView) spinnerView.findViewById(R.id.description); @@ -1125,7 +1132,7 @@ public class ConfigureMapMenu { p.getPossibleValues()[j]); } - StringSpinnerArrayAdapter arrayAdapter = new StringSpinnerArrayAdapter(activity); + StringSpinnerArrayAdapter arrayAdapter = new StringSpinnerArrayAdapter(activity, nightMode); for (String val : possibleValuesString) { arrayAdapter.add(val); } @@ -1189,10 +1196,10 @@ public class ConfigureMapMenu { } private void createCustomRenderingProperties(final ContextMenuAdapter adapter, final MapActivity activity, - List customRules) { + List customRules, final int themeRes) { for (final RenderingRuleProperty p : customRules) { if (isPropertyAccepted(p)) { - adapter.addItem(createRenderingProperty(adapter, activity, 0, p, CUSTOM_RENDERING_ITEMS_ID_SCHEME + p.getName())); + adapter.addItem(createRenderingProperty(adapter, activity, 0, p, CUSTOM_RENDERING_ITEMS_ID_SCHEME + p.getName(), themeRes)); } } } @@ -1209,17 +1216,19 @@ public class ConfigureMapMenu { private ContextMenuItem createRenderingProperty(final List customRules, final ContextMenuAdapter adapter, final MapActivity activity, - @DrawableRes final int icon, final String attrName, String id) { + @DrawableRes final int icon, final String attrName, String id, + final int themeRes) { for (final RenderingRuleProperty p : customRules) { if (p.getAttrName().equals(attrName)) { - return createRenderingProperty(adapter, activity, icon, p, id); + return createRenderingProperty(adapter, activity, icon, p, id, themeRes); } } return null; } private ContextMenuItem createRenderingProperty(final ContextMenuAdapter adapter, final MapActivity activity, - @DrawableRes final int icon, final RenderingRuleProperty p, final String id) { + @DrawableRes final int icon, final RenderingRuleProperty p, final String id, + final int themeRes) { final OsmandMapTileView view = activity.getMapView(); String propertyName = SettingsActivity.getStringPropertyName(view.getContext(), p.getAttrName(), p.getName()); @@ -1259,7 +1268,7 @@ public class ConfigureMapMenu { @Override public boolean onContextMenuClick(final ArrayAdapter ad, final int itemId, final int pos, boolean isChecked, int[] viewCoordinates) { - AlertDialog.Builder b = new AlertDialog.Builder(view.getContext()); + AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes)); // test old descr as title b.setTitle(propertyDescr); @@ -1310,13 +1319,13 @@ public class ConfigureMapMenu { private class StringSpinnerArrayAdapter extends ArrayAdapter { - private boolean lightTheme; + private boolean nightMode; - public StringSpinnerArrayAdapter(Context context) { + public StringSpinnerArrayAdapter(Context context, boolean nightMode) { super(context, android.R.layout.simple_spinner_item); setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); OsmandApplication app = (OsmandApplication )getContext().getApplicationContext(); - lightTheme = app.getSettings().isLightContent(); + this.nightMode = nightMode; } @Override @@ -1325,7 +1334,7 @@ public class ConfigureMapMenu { String text = getItem(position); label.setText(text); - label.setTextColor(!lightTheme ? + label.setTextColor(nightMode ? ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_dark) : ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_light)); return label; } @@ -1336,7 +1345,7 @@ public class ConfigureMapMenu { String text = getItem(position); label.setText(text); - label.setTextColor(!lightTheme ? + label.setTextColor(nightMode ? ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_dark) : ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_light)); return label; diff --git a/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java b/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java index 5350a4b1ad..4f1a852cfd 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java @@ -23,6 +23,7 @@ import android.support.v7.widget.SwitchCompat; import android.text.SpannableString; import android.text.style.StyleSpan; import android.util.TypedValue; +import android.view.ContextThemeWrapper; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; @@ -219,7 +220,8 @@ public class GpxUiHelper { } public static AlertDialog selectGPXFiles(List selectedGpxList, final Activity activity, - final CallbackWithObject callbackWithObject) { + final CallbackWithObject callbackWithObject, + int dialogThemeRes) { OsmandApplication app = (OsmandApplication) activity.getApplication(); final File dir = app.getAppPath(IndexConstants.GPX_INDEX_DIR); final List allGpxList = getSortedGPXFilesInfo(dir, selectedGpxList, false); @@ -229,11 +231,13 @@ public class GpxUiHelper { allGpxList.add(0, new GPXInfo(activity.getString(R.string.show_current_gpx_title), 0, 0)); final ContextMenuAdapter adapter = createGpxContextMenuAdapter(allGpxList, selectedGpxList, true); - return createDialog(activity, true, true, true, callbackWithObject, allGpxList, adapter); + return createDialog(activity, true, true, true, callbackWithObject, allGpxList, adapter, dialogThemeRes); } public static AlertDialog selectGPXFile(final Activity activity, - final boolean showCurrentGpx, final boolean multipleChoice, final CallbackWithObject callbackWithObject) { + final boolean showCurrentGpx, final boolean multipleChoice, + final CallbackWithObject callbackWithObject, boolean nightMode) { + int dialogThemeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme; OsmandApplication app = (OsmandApplication) activity.getApplication(); final File dir = app.getAppPath(IndexConstants.GPX_INDEX_DIR); final List list = getSortedGPXFilesInfo(dir, null, false); @@ -246,7 +250,7 @@ public class GpxUiHelper { } final ContextMenuAdapter adapter = createGpxContextMenuAdapter(list, null, showCurrentGpx); - return createDialog(activity, showCurrentGpx, multipleChoice, false, callbackWithObject, list, adapter); + return createDialog(activity, showCurrentGpx, multipleChoice, false, callbackWithObject, list, adapter, dialogThemeRes); } return null; } @@ -439,11 +443,12 @@ public class GpxUiHelper { final boolean showAppearanceSetting, final CallbackWithObject callbackWithObject, final List list, - final ContextMenuAdapter adapter) { + final ContextMenuAdapter adapter, + final int themeRes) { final OsmandApplication app = (OsmandApplication) activity.getApplication(); final DateFormat dateFormat = android.text.format.DateFormat.getMediumDateFormat(activity); final File dir = app.getAppPath(IndexConstants.GPX_INDEX_DIR); - AlertDialog.Builder builder = new AlertDialog.Builder(activity); + AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes)); final int layout = R.layout.gpx_track_item; final Map gpxAppearanceParams = new HashMap<>(); @@ -479,7 +484,7 @@ public class GpxUiHelper { View v = convertView; boolean checkLayout = getItemViewType(position) == 0; if (v == null) { - v = activity.getLayoutInflater().inflate(layout, null); + v = View.inflate(new ContextThemeWrapper(activity, themeRes), layout, null); } if (dataItems == null) { @@ -546,7 +551,7 @@ public class GpxUiHelper { if (trackWidthProp == null || trackColorProp == null) { builder.setTitle(R.string.show_gpx); } else { - final View apprTitleView = activity.getLayoutInflater().inflate(R.layout.select_gpx_appearance_title, null); + final View apprTitleView = View.inflate(new ContextThemeWrapper(activity, themeRes), R.layout.select_gpx_appearance_title, null); final OsmandSettings.CommonPreference prefWidth = app.getSettings().getCustomRenderProperty(CURRENT_TRACK_WIDTH_ATTR); @@ -558,14 +563,14 @@ public class GpxUiHelper { apprTitleView.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - final ListPopupWindow popup = new ListPopupWindow(activity); + final ListPopupWindow popup = new ListPopupWindow(new ContextThemeWrapper(activity, themeRes)); popup.setAnchorView(apprTitleView); popup.setContentWidth(AndroidUtils.dpToPx(activity, 200f)); popup.setModal(true); popup.setDropDownGravity(Gravity.RIGHT | Gravity.TOP); popup.setVerticalOffset(AndroidUtils.dpToPx(activity, -48f)); popup.setHorizontalOffset(AndroidUtils.dpToPx(activity, -6f)); - final GpxAppearanceAdapter gpxApprAdapter = new GpxAppearanceAdapter(activity, + final GpxAppearanceAdapter gpxApprAdapter = new GpxAppearanceAdapter(new ContextThemeWrapper(activity, themeRes), gpxAppearanceParams.containsKey(CURRENT_TRACK_COLOR_ATTR) ? gpxAppearanceParams.get(CURRENT_TRACK_COLOR_ATTR) : prefColor.get(), GpxAppearanceAdapter.GpxAppearanceAdapterType.TRACK_WIDTH_COLOR); popup.setAdapter(gpxApprAdapter); @@ -669,7 +674,7 @@ public class GpxUiHelper { if (position == 0 && showCurrentGpx && item.getSelected()) { OsmandMonitoringPlugin monitoringPlugin = OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class); if (monitoringPlugin == null) { - AlertDialog.Builder confirm = new AlertDialog.Builder(activity); + AlertDialog.Builder confirm = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes)); confirm.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/other/RoutePreferencesMenu.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/other/RoutePreferencesMenu.java index 44b9a1aa32..7f0826304e 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/other/RoutePreferencesMenu.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/other/RoutePreferencesMenu.java @@ -376,7 +376,7 @@ public class RoutePreferencesMenu { mapActivity.getRoutingHelper().recalculateRouteDueToSettingsChange(); return true; } - }); + }, app.getDaynightHelper().isNightModeForMapControls()); } private void updateSpinnerItems(final TextView gpxSpinner) { diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java index 8590bb43a4..d356fc0c82 100644 --- a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java +++ b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementToolFragment.java @@ -885,7 +885,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment { } }; - return GpxUiHelper.selectGPXFile(mapActivity, false, false, callbackWithObject); + return GpxUiHelper.selectGPXFile(mapActivity, false, false, callbackWithObject, nightMode); } private void applyMovePointMode() { diff --git a/OsmAnd/src/net/osmand/plus/routepreparationmenu/RouteOptionsBottomSheet.java b/OsmAnd/src/net/osmand/plus/routepreparationmenu/RouteOptionsBottomSheet.java index dbe9633c44..3b11ca88a4 100644 --- a/OsmAnd/src/net/osmand/plus/routepreparationmenu/RouteOptionsBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/routepreparationmenu/RouteOptionsBottomSheet.java @@ -412,7 +412,7 @@ public class RouteOptionsBottomSheet extends MenuBottomSheetDialogFragment { routingHelper.recalculateRouteDueToSettingsChange(); return true; } - }); + }, nightMode); } private void showOptionsMenu(final TextView gpxSpinner) { From ba405fa7bfc46581b3cf2ddaaa824cce2f619346 Mon Sep 17 00:00:00 2001 From: Chumva Date: Fri, 18 Oct 2019 14:57:11 +0300 Subject: [PATCH 25/60] Fix setting metric and speed systems mode value --- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index e323b54661..cbadef91c3 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -279,7 +279,7 @@ public class OsmandSettings { } } if (metricSystem != null) { - METRIC_SYSTEM.set(metricSystem); + METRIC_SYSTEM.setModeValue(mode, metricSystem); return true; } } else if (preference == SPEED_SYSTEM) { @@ -298,7 +298,7 @@ public class OsmandSettings { } } if (speedSystem != null) { - SPEED_SYSTEM.set(speedSystem); + SPEED_SYSTEM.setModeValue(mode, speedSystem); return true; } } else if (preference instanceof BooleanPreference) { From b1ddc1b1279271915a876d1bc35d86ab59ecdbf7 Mon Sep 17 00:00:00 2001 From: Chumva Date: Fri, 18 Oct 2019 15:19:57 +0300 Subject: [PATCH 26/60] Fix #7378 --- .../src/net/osmand/plus/base/MapViewTrackingUtilities.java | 6 +++--- OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java b/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java index 9cf4e72a28..e07e04d1d4 100644 --- a/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java +++ b/OsmAnd/src/net/osmand/plus/base/MapViewTrackingUtilities.java @@ -128,7 +128,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc myLocation != null && isSmallSpeedForDirectionOfMovement(myLocation, speedForDirectionOfMovement); if ((settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_COMPASS || (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING && smallSpeedForDirectionOfMovement)) && !routePlanningMode) { if (Math.abs(MapUtils.degreesDiff(mapView.getRotate(), -val)) > 1.0) { - mapView.setRotate(-val); + mapView.setRotate(-val, false); } } else if (showViewAngle && headingChanged) { mapView.refreshMap(); @@ -208,7 +208,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc mapView.getAnimatedDraggingThread().startZooming(zoom.first, zoom.second, false); } if (rotation != null) { - mapView.setRotate(rotation); + mapView.setRotate(rotation, false); } mapView.setLatLon(location.getLatitude(), location.getLongitude()); } @@ -264,7 +264,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc public void updateSettings(){ if (mapView != null) { if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_NONE || routePlanningMode) { - mapView.setRotate(0); + mapView.setRotate(0, true); } mapView.setMapPosition(settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING && !routePlanningMode diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index 9909badc2c..a84587cc3d 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -399,10 +399,10 @@ public class OsmandMapTileView implements IMapDownloaderCallback { return getZoom() > LOWEST_ZOOM_TO_ROTATE; } - public void setRotate(float rotate) { + public void setRotate(float rotate, boolean force) { if (isMapRotateEnabled()) { float diff = MapUtils.unifyRotationDiff(rotate, getRotate()); - if (Math.abs(diff) > 5) { // check smallest rotation + if (Math.abs(diff) > 5 || force) { // check smallest rotation animatedDraggingThread.startRotate(rotate); } } From 17b9972a1c17e31a72fda16224987309b9a88362 Mon Sep 17 00:00:00 2001 From: Chumva Date: Fri, 18 Oct 2019 18:32:09 +0300 Subject: [PATCH 27/60] Remove unnecessary changes --- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index cbadef91c3..7285d5835a 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -151,6 +151,7 @@ public class OsmandSettings { private final OsmandApplication ctx; private PreferencesDataStore dataStore; private SettingsAPI settingsAPI; + private Object defaultProfilePreferences; private Object globalPreferences; private Object profilePreferences; private ApplicationMode currentMode; @@ -180,6 +181,7 @@ public class OsmandSettings { private void initPrefs() { globalPreferences = settingsAPI.getPreferenceObject(getSharedPreferencesName(null)); + defaultProfilePreferences = getProfilePreferences(ApplicationMode.DEFAULT); currentMode = readApplicationMode(); profilePreferences = getProfilePreferences(currentMode); registeredPreferences.put(APPLICATION_MODE.getId(), APPLICATION_MODE); @@ -580,7 +582,11 @@ public class OsmandSettings { if (pt != null) { return getProfileDefaultValue(pt); } - return defaultValue; + if (settingsAPI.contains(defaultProfilePreferences, getId())) { + return getValue(defaultProfilePreferences, defaultValue); + } else { + return defaultValue; + } } protected T getDefaultValue() { From a24be8727926ac114312b44022522e28a4acf39e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1ns?= Date: Thu, 17 Oct 2019 20:34:59 +0000 Subject: [PATCH 28/60] Translated using Weblate (Galician) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-gl/strings.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml index 132052e7b0..fd6fb80d41 100644 --- a/OsmAnd/res/values-gl/strings.xml +++ b/OsmAnd/res/values-gl/strings.xml @@ -3335,7 +3335,7 @@ Lon %2$s Mover os ficheiros de datos do OsmAnd ó novo destino\? \n%1$s > %2$s %1$s • Empregado %2$s GB - Libre %1$s • %2$s / %3$s GB + Libre %1$s GB • Total %2$s GB Insire a ruta do cartafol Escoller cartafol Colar ou pegar a ruta do cartafol cos datos do OsmAnd @@ -3364,4 +3364,15 @@ Lon %2$s Límite de largura Especifica o límite permitido de largura do vehículo nas rutas. Evitar certas rutas e tipos de estradas + Lado a lado + Vía aeroportuaria + Conexión + Calcular + Uso do OsmAnd + Teselas + Mapas + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From ca1ed04027b3ef2b5493dc4d34bf86ed3e70d411 Mon Sep 17 00:00:00 2001 From: Oguz Ersen Date: Thu, 17 Oct 2019 18:16:43 +0000 Subject: [PATCH 29/60] Translated using Weblate (Turkish) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-tr/strings.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index e21b385308..482fc1ea1c 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -3244,7 +3244,7 @@ OsmAnd veri dosyaları yeni hedefe taşınsın mı\? \n%1$s > %2$s %1$s • Kullanılan %2$s GB - Boş %1$s • %2$s / %3$s GB + Boş %1$s GB • Toplam %2$s GB Klasörün yolunu girin Klasör seç OsmAnd verilerinin bulunduğu klasörün yolunu yapıştırın @@ -3273,4 +3273,15 @@ Genişlik sınırı Rotalarda izin verilen araç genişlik sınırını belirtin. Belirli rotalardan ve yol türlerinden kaçının + Yan yana + Hava yolu + Bağlantı + Hesapla + OsmAnd Kullanımı + Döşemeler + Haritalar + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 0c7b3276950a0becad41bd8179798797a98fa709 Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Fri, 18 Oct 2019 01:03:48 +0000 Subject: [PATCH 30/60] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 874b03711f..17c6fd9df4 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3280,7 +3280,7 @@ Pôr do Sol: %2$s Mover arquivos de dados OsmAnd para o novo destino\? \n%1$s > %2$s %1$s • Usado %2$s GB - Livre %1$s • %2$s / %3$s GB + Livre %1$s GB • Total %2$s GB Digite o caminho para a pasta Selecionar pasta Cole o caminho para a pasta com os dados OsmAnd @@ -3312,4 +3312,12 @@ Pôr do Sol: %2$s Lado a lado Maneira aérea Conexão + Calcular + Uso do Osmand + Azulejos + Mapas + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 1b5ef5ca243747f7b9d79a25133c5f02f484bf03 Mon Sep 17 00:00:00 2001 From: IgorEliezer Date: Fri, 18 Oct 2019 02:26:57 +0000 Subject: [PATCH 31/60] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 17c6fd9df4..5ba11a4786 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -349,7 +349,7 @@ A fonte da quadrícula %1$s foi salva Moderadores de tráfego Rota a partir daqui - Explorar + Explorar mapa Dados de Áudio/Vídeo Confirma que quer parar a navegação? h @@ -359,7 +359,7 @@ Todos Marcos do trajeto Baixar mapas que faltam %1$s (%2$d MB)? - Explorar + Explorar mapa Carro Bicicleta A pé @@ -2582,7 +2582,7 @@ Pôr do Sol: %2$s Notas OSM Abre amanhã às Rótulos POI - desligado + fechado Inverno e esqui Vista de turismo Náutico From 5950e2e4995eef9eb943e342698f82ecc3be088a Mon Sep 17 00:00:00 2001 From: nautilusx Date: Thu, 17 Oct 2019 15:52:04 +0000 Subject: [PATCH 32/60] Translated using Weblate (German) Currently translated at 99.9% (3026 of 3027 strings) --- OsmAnd/res/values-de/strings.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index e32d924c44..5c9a04c476 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3300,7 +3300,7 @@ Abgedeckte Fläche: %1$s x %2$s OsmAnd-Datendateien an das neue Ziel verschieben\? \n%1 s > %2 s %1$s • Verwendet %2$s GB - Frei %1$s • %2$s / %3$s GB + Frei %1$s GB • Insgesamt %2$s GB Geben Sie den Pfad zum Ordner ein Ordner auswählen Einfügen des Pfades zum Ordner mit OsmAnd-Daten @@ -3332,4 +3332,11 @@ Abgedeckte Fläche: %1$s x %2$s Nebeneinander Seilbahn Verbindung + Berechnen + OsmAnd Nutzung + Karten + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 4e26db0fd4662d73587f250daeb1868c13bd043d Mon Sep 17 00:00:00 2001 From: jan madsen Date: Thu, 17 Oct 2019 15:59:23 +0000 Subject: [PATCH 33/60] Translated using Weblate (Danish) Currently translated at 98.2% (2972 of 3027 strings) --- OsmAnd/res/values-da/strings.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 2e42f22d48..a3835c0a68 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -3300,7 +3300,7 @@ Repræsenterer område: %1$s x %2$s Flyt datafiler til den nye destination\? \n%1$s>%2$s %1$s • Anvendt %2$s GB - Tilgængeligt %1$s • %2$s / %3$s GB + Tilgængeligt %1$s GB • Total %2$s GB Indtast sti til mappen Vælg mappe Indsæt sti til mappen med data @@ -3332,4 +3332,12 @@ Repræsenterer område: %1$s x %2$s Side om side Lift Forbindelse + Beregn + OsmAnd brug + Fliser + Kort + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 816aeb378294d52e5561f13e6a2f63eefcd26c5e Mon Sep 17 00:00:00 2001 From: Verdulo Date: Thu, 17 Oct 2019 19:00:44 +0000 Subject: [PATCH 34/60] Translated using Weblate (Esperanto) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-eo/strings.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index b5def27c02..ae2e371d28 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3275,7 +3275,7 @@ Indikas lokon: %1$s x %2$s" Ĉu movi datum‑dosierojn OsmAnd al la nova loko\? \n%1$s → %2$s %1$s • uzita: %2$s GB - Libera: %1$s • %2$s / %3$s GB + Libera: %1$s GB • Tute: %2$s GB Entajpu dosier‑indikon Elektu dosierujon Algluu dosier‑indikon por dosierujo de OsmAnd‑datumoj @@ -3307,4 +3307,12 @@ Indikas lokon: %1$s x %2$s" Ĉiuteren‑veturilo (UTV) kablovojo ligilo + Kalkuli + Uzado de OsmAnd + Kaheloj + Mapoj + %1$s TB + %1$s GB + %1$s MB + %1$s kB \ No newline at end of file From ab162b40a552fb39596f6319ac10d7cc67642988 Mon Sep 17 00:00:00 2001 From: ssantos Date: Fri, 18 Oct 2019 15:56:41 +0000 Subject: [PATCH 35/60] Translated using Weblate (Portuguese) Currently translated at 99.9% (3026 of 3027 strings) --- OsmAnd/res/values-pt/strings.xml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml index 4140b04972..b71156ce94 100644 --- a/OsmAnd/res/values-pt/strings.xml +++ b/OsmAnd/res/values-pt/strings.xml @@ -208,7 +208,7 @@ Interseção : {0} x {1} dans {2} Edifício : {0}, {1}, {2} Favorito - Apagar tudo + Limpar tudo Histórico Enviando dados… Enviando… @@ -3291,7 +3291,7 @@ Mover ficheiros de dados OsmAnd para o novo destino\? \n%1$s > %2$s %1$s • Usado %2$s GB - Livre %1$s • %2$s / %3$s GB + Livre %1$s GB • Total %2$s GB Insira o caminho para a pasta Selecionar pasta Colar caminho para a pasta com dados OsmAnd @@ -3320,4 +3320,14 @@ Limite de largura Especifique o limite permitido de largura do veículo nas rotas. Evitar determinadas categorias de rotas e estradas + Lado a Lado + Conexão + Calcular + Uso de OsmAnd + Azulejos + Mapas + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 0bb4df3651032c9a7982bdf7d47ca79e5a96f4d9 Mon Sep 17 00:00:00 2001 From: WaldiS Date: Fri, 18 Oct 2019 20:56:08 +0000 Subject: [PATCH 36/60] Translated using Weblate (Polish) Currently translated at 99.3% (3005 of 3027 strings) --- OsmAnd/res/values-pl/strings.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index be52d3f393..2da2499403 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -3300,7 +3300,7 @@ Reprezentuje obszar: %1$s x %2$s Przenieść pliki danych OsmAnd do nowego położenia\? \n%1$s > %2$s %1$s • Zajęte %2$s GB - Wolne %1$s • %2$s / %3$s GB + Wolne %1$s GB • Ogółem %2$s GB Proszę wprowadzić ścieżkę do katalogu Wybierz katalog Wklej ścieżkę do katalogu z danymi OsmAnd @@ -3328,4 +3328,14 @@ Reprezentuje obszar: %1$s x %2$s Granica szerokości Określ dozwoloną szerokość pojazdu na trasach. Unikaj określonych tras i typów dróg + Strona po stronie + Lotnisko + Połączenia + Oblicz + Użyj OsmAnd + Mapy + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 6aa8e61144690f59abfe336fa8961e9a4939a8d2 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Thu, 17 Oct 2019 15:30:26 +0000 Subject: [PATCH 37/60] Translated using Weblate (French) Currently translated at 99.9% (3026 of 3027 strings) --- OsmAnd/res/values-fr/strings.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index cba39d2fb7..bff2fc31a1 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3262,7 +3262,7 @@ représentant la zone : %1$s x %2$s Déplacer les fichiers de données OsmAnd vers la nouvelle destination \? \n%1$s > %2$s %1$s • %2$s GB utilisés - Libre %1$s • %2$s / %3$s GB + Libre %1$s GB • Total %2$s GB Saisissez le chemin du dossier Sélectionner le dossier Coller le chemin du dossier contenant les données OsmAnd @@ -3293,4 +3293,13 @@ représentant la zone : %1$s x %2$s Éviter certains types de route Côte à côte Connexion + Transport aérien + Calculer + Utilisation d\'OsmAnd + Tuiles + Cartes + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 6f18a17eafbfe91fe7d374b4d73e6c5882718e7a Mon Sep 17 00:00:00 2001 From: Franco Date: Thu, 17 Oct 2019 18:12:46 +0000 Subject: [PATCH 38/60] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 2bd3b40f63..560c532b4c 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -3294,7 +3294,7 @@ Lon %2$s ¿Mover los archivos de datos de OsmAnd al nuevo destino\? \n%1$s > %2$s %1$s • Usado %2$s GB - Libre %1$s • %2$s / %3$s GB + Libre %1$s GB • Total %2$s GB Ingresa la ruta a la carpeta Elegir carpeta Pegar la ruta a la carpeta con los datos de OsmAnd @@ -3326,4 +3326,12 @@ Lon %2$s En paralelo Vía aérea Conexión + Calcular + Uso de OsmAnd + Teselas + Mapas + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 6cfaa54479a6b79fe777d389c1718d51a7f51301 Mon Sep 17 00:00:00 2001 From: Len Aye Date: Fri, 18 Oct 2019 08:14:48 +0000 Subject: [PATCH 39/60] Translated using Weblate (Burmese) Currently translated at 8.2% (249 of 3027 strings) --- OsmAnd/res/values-my/strings.xml | 82 ++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/OsmAnd/res/values-my/strings.xml b/OsmAnd/res/values-my/strings.xml index 7dc1882c9d..64d09c9b4a 100644 --- a/OsmAnd/res/values-my/strings.xml +++ b/OsmAnd/res/values-my/strings.xml @@ -169,4 +169,86 @@ ဖန်သားပြင်သတိပေးချက်များ လမ်းကြောင်း parameters များကိုပြုပြင်ပါ လမ်းကြောင်း parameters များ + လမ်းလျှောက် + tag ၏အများဆုံးအရှည်မှအက္ခရာာ %s လုံးဖြစ်သည်။ +\nကျေးဇူးပြုပြီးတိုပေးပါ။ + လမ်းညွှန်ရန် မသုံးမြည့်ပြည်သူပို့ဆောင်ရေးအမျိုးအစားများကိုရွေးပါ။ + ရှောင်ထားသောပို့ဆောင်ရေးအမျိုးအစားများ + ဒီဂရီ + Milliradians + လမ်းရထားများကိုရှောင်ပါ + လမ်းရထားများကိုရှောင် + ဘတ်စ်ကားများကိုရှောင် + ဘတ်စ်ကားနှင့် trolleyဘတ်စ်များကိုရှောင် + စုပေါင်းစီးတက္ကစီကိုရှောင် + စုပေါင်းစီးတက္ကစီကိုရှောင် + ရထားတွေကိုရှောင် + ရထားတွေကိုရှောင် + မြေအောက်ရထားတွေကိုရှောင် + မြေအောက်ရထားနှင့်ရထားများကိုရှောင် + သင်္ဘောများကိုရှောင် + သင်္ဘောများကိုရှောင် + log ပို့ပါ + %1$d ဖိုင်များ (%2$s) ပြောင်းထားသည်။ + %1$d ဖိုင်များကို (%2$s) ကူးယူထားသည်။ + မြေပုံများကိုရွှေ့ပါ + မရွှေ့ရ + ခြေလျင်ဖြင့်သွားသောလမ်းကြောင်းသည်ခန့်မှန်းခြေအားဖြင့် %1$s ဖြစ်ပြီးပြည်သူပို့ဆောင်ရေးထက်ပိုမြန်လိမ့်မည် + OsmAnd သည်သင်၏ဆက်တင်များနှင့်အံဝင်ခွင်ကျဖြစ်မည့်လမ်းကြောင်းကိုရှာမတွေ့ပါ။ + လမ်းလျှောက်လမ်းကြောင်းကိုတွက်ချက်မြည် + သယ်ယူပို့ဆောင်ရေးအမျိုးအစား + GPS ရှာဖွေခြင်း + Coordinates ဝစ်ဂျက် + စက္ကန့် ၃၀လောက်အချိန်ပေးပြီး Google Play မှာ ကျွန်ုပ်တို့၏ application ကို သင်၏ထင်မြင်ချက်များ တင်ပြပေးပါ။ + သတ်မှတ်ချက် + တစ်ကိုယ်ရေ မူဝါဒ + ကျွန်တော်တို့ရဲ့ OsmAnd ကိုပိုကောင်းအောင်ကူညီပါ! + သင်မျှဝေလိုသည့်အချက်အလက်အမျိုးအစားကိုရွေးချယ်ပါ။ + ဒေါင်းလုပ်လုပ်ထားသောမြေပုံများ + သွားရောက်ကြည့်ရှုခဲ့ဖန်သားပြင်မျာ + မည်သည့် OsmAnd အင်္ဂါရပ်များသည်လူကြိုက်အများဆုံးဖြစ်ကြောင်းနားလည်ရန်ကျွန်ုပ်တို့ကိုကူညီပါ။ + Allow ကိုနှိပ်ရင် ကျွန်ုပ်တို့၏ %1$s ကိုသင်သဘောတူသည် + မည်သည့်ဒေတာကိုကျွန်ုပ်တို့နှင့်မျှဝေနေသည်ကိုရွေးချယ်ပါ + ခွင့်ပြုပါ + လမ်းညွှန်အမျိုးအစား + တက္ကစီ + မြေအောက်ရထား + မြင်း + ရဟတ်ယာဉ် + ..osmand / routing တွင်သင့်ကိုယ်ပိုင်ပြင်ဆင်ထားသော routing.xml ဖိုင်ကို ထည့်သွင်းနိုင်သည် + နှင်းလျှောစီး + နှင်းလျှောစီး + သံလိုက်အိမ်မြှောင်ကိုဖော်ပြ + သံလိုက်အိမ်မြှောင်ကိုဖြောက်လိုက် + အိုင်ကွန်ကိုရွေးပါ + mode:% s + နှင်းလျှောစီး + အမျိုးအစား:% s + အခြေခံပရိုဖိုင်း + လမ်းညွှန်အမျိုးအစားကိုရွေးပါ + application ပရိုဖိုင်းအသစ်အတွက် လမ်းညွှန်အမျိုးအစားရွေးပါ + ပရိုဖိုင်းအမည်ရိုက်ထည့်ပါ + ပရိုဖိုင်းအမည်မှာဗလာမဖြစ်သင့်ပါ! + နာမည် နှခုထပ် + အဲဒီနာမည်နဲ့ပရိုဖိုင်းရှိပြီးသားဖြစ်သည် + OsmAnd ၏အခြေခံ ပရိုဖိုင်းများကိုဖျက်လို့မရပါ + ပြောင်းလဲမှုများကိုသိမ်းပါ + ရှေ့ဆက်မသွားမီပရိုဖိုင်းသို့ပြောင်းလဲမှုများကိုအရင်သိမ်းထားရန်လိုအပ်သည် + ပရိုဖိုင်းကိုဖျက်မည် + % s ပရိုဖိုင်းကိုသင်ဖျက်လိုကြောင်းသေချာပါလား + အခြေခံပရိုဖိုင်းကိုရွေးချယ်ပါ + လမ်းညွှန်အမျိုးအစားကိုရွေးပါ + ကား၊ ထရပ်ကား၊ ဆိုင်ကယ် + MTB, moped, မြင်း + လမ်းလျှောက်, တောင်တက်, အပြေး + ပြည်သူပို့ဆောင်ရေးအမျိုးအားလုံး + သင်္ဘော၊ လှေလှော်ခြင်း၊ ရွက်လွှင့်ခြင်း + လေယာဉ်ပျံ၊ စက်မဲ့လေယာဉ်ပျံ + Geocoding + လမ်းဖြောင့် + Osmand လမ်းကြောင်း + စိတ်တိုင်းကျလမ်းကြောင်းပရိုဖိုင်း + အထူးလမ်းကြောင်း + အက်ပလီကေးရှင်းထဲတွင်မြင်နိုင်သောပရိုဖိုင်းများကိုရွေးချယ်ပါ။ + အက်ပလီကေးရှင်းပရိုဖိုင်းများ \ No newline at end of file From 5e93b64814ff70522ad407895ec8a9918fca3ee5 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Fri, 18 Oct 2019 03:12:49 +0000 Subject: [PATCH 40/60] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index f6e805f11a..7ae143a50c 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -1437,7 +1437,7 @@ 取消選擇 取消全選 清除 - 全部清除 + 清除全部 儲存 另存為新的 GPX 檔案 更名 @@ -3283,7 +3283,7 @@ 移動 OsmAnd 資料檔案到新目的地? \n%1$s > %2$s %1$s • 已使用 %2$s GB - 剩餘 %1$s • %2$s / %3$s GB + 剩餘 %1$s GB • 總共 %2$s GB 輸入到資料夾的路徑 選取資料夾 貼上有 OsmAnd 資料的資料夾路徑 @@ -3312,4 +3312,15 @@ 寬度限制 在路線當指定允許的車輛寬度限制。 避開特定路線與道路類型 + 並排 + 空中航道 + 連線 + 計算 + OsmAnd 用法 + 圖磚 + 地圖 + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 47ac0059308accfcc84a4e0bca5d12c02aee128e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Thu, 17 Oct 2019 21:12:20 +0000 Subject: [PATCH 41/60] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 94.9% (2874 of 3027 strings) --- OsmAnd/res/values-nb/strings.xml | 54 ++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 29dbc66597..bb90b8b01c 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -768,9 +768,9 @@ Vis noen vektorkartdetaljer (veier etc.) allerede ved lavere zoomnivåer. Utdata for taleveiledning Velg høyttaleren til å avspille taleveiledningen. - Telefonanropslyd (også for å avbryte bluetooth-bilstereo) + Telefonanropslyd (for å avbryte Blåtanns-bilstereo) Varslingslyd - Media-/musikklyd + Media-/navigasjonslyd Bruk rasterkart for alt utover dette nivået. Minste vektorielle forstørrelsesnivå ufullstendig @@ -806,7 +806,7 @@ Rosa Brun Beregn rute mellom punkter - Serbisk + Serbisk (kyrillisk) Kinesisk (forenklet) Kinesisk (tradisjonell) Legg til som påfølgende reisemål @@ -1761,7 +1761,7 @@ Nautisk mil i timen (knop) Stopp simulering av din posisjon. Simuler din posisjon ved bruk av en beregnet rute eller et GPX-spor som er tatt opp. - GPX-fil med plasseringsnotater. + GPX-fil med plasseringer. GPX-farge Du har gamle, inkompatible Wikipediadata. Arkiver disse? Last ned ytterligere Wikipedia-data (%1$s MB)? @@ -2426,7 +2426,7 @@ Åpner Uten navn Laotisk - Serbisk (Latin) + Serbisk (latinsk) Interessepunktendringer i programmet påvirker ikke nedlastede kartfiler, endringer lagres som en fil på enheten din i stedet. Eng. mil/fot Eng. mil/yard @@ -2901,7 +2901,7 @@ Kapasitet Bredde Høyde - Klasse + Veitype Overflate Jevnhet Stigning @@ -3045,15 +3045,15 @@ Vurder Personvernspraksis Hjelp oss å forbedre OsmAnd. - Tillat OsmAnd å samle inn og behandle anonym programbruksdata. Vi samler ikke inn eller lagrer data om din plassering, eller om plasseringene du ser på på kartet. -\n + Tillat OsmAnd å samle inn og behandle anonym programbruksdata. Vi samler ikke inn eller lagrer data om din plassering, eller om plasseringer ser på på kartet. +\n \nDu kan alltid endre ditt valg i Innstillinger > Personvern og sikkerhet. Velg hvilken type data du ønsker å dele: Nedlastede kart Besøkte skjermer - Liste over data du ønsker å dele med OsmAnd. - Denne dataen samles inn for å forstå hvilke kart og hvilke regioner og land som er mest populære. - Denne dataen samles inn for å forstå hvilke funksjoner i OsmAnd som er mest populære. + Definer hvilken data du ønsker å dele med OsmAnd. + Hjelp oss å forstå hvilke kart over hvilke regioner og land som er mest populære. + Hjelp oss å forstå hvilke OsmAnd-funksjoner som er mest populære. Ved å trykke \"Tillat\", samtykker du til vår %1$s Personvern og sikkerhet Velg data til deling @@ -3064,7 +3064,7 @@ Drosje Hest Helikopter - Du kan legge til din egen endrede versjon av routing.xml til i ..osmand/routing + Du kan legge til din egen endrede versjon av filen routing.xml til i ..osmand/routing Skikjøring Skikjøring Vis kompasslinjal @@ -3076,16 +3076,16 @@ Type: %s Grunnprofil Velg navigasjonstype - Du må velge navigasjonstype for å opprette en ny programprofil + Du må velge navigasjonstype for den nye programprofilen Skriv inn profilnavn Profilnavn kan ikke være tomt. Duplikatnavn Det finnes allerede en profil med dette navnet - Du kan ikke slette OsmAnd-grunnprofiler + Du kan ikke slette OsmAnd sine grunnprofiler Lagre endringer Du må lagre endringer før du kan fortsette Slett profil - Er du sikker på at du ønsker å slette profilen %s + Er du sikker på at du ønsker å slette %s-profilen Velg grunnprofil Velg navigasjonstype Bil, lastebil, motorsykkel @@ -3115,7 +3115,7 @@ OsmAnd nedlastingstjeneste Magenta Ikon - Innsamlet data + Data innsamlet Trykk igjen for å endre kartorientering Terreng Sett opp profil @@ -3218,11 +3218,31 @@ Kjøretøyparameter Skjermvarsler Logcat-mellomlager - ikoner, miniprogrammer + Kartutseende Kartutseende Programdrakt, enheter, region Språk og utdata Programtilleggsinnstillinger Som forvalg Last ned detaljert %s-kart, for å vise dette området. + Ingen + Flytt OsmAnd-datafiler til det nye målet\? +\n%1$s > %2$s + %1$s • %2$s GB brukt + %1$s GB ledig • %2$s GB totalt + Velg mappe + Endre OsmAnd-datamappe\? + Flytt til det nye målet + Breddebegrensning + Velg tillatt kjøretøybredde på ruter. + Unngå visse ruter og veityper + Side om side + Beregn + OsmAnd-bruk + Flis + Kart + %1$s TB + %1$s GB + %1$s MB + %1$s KB \ No newline at end of file From 3d477cf162a0b35f26f231f128aae9c533ef1536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1ns?= Date: Thu, 17 Oct 2019 20:38:04 +0000 Subject: [PATCH 42/60] Translated using Weblate (Galician) Currently translated at 100.0% (3710 of 3710 strings) --- OsmAnd/res/values-gl/phrases.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-gl/phrases.xml b/OsmAnd/res/values-gl/phrases.xml index ab68acf01a..1e11d33972 100644 --- a/OsmAnd/res/values-gl/phrases.xml +++ b/OsmAnd/res/values-gl/phrases.xml @@ -3718,4 +3718,6 @@ Construtor de chans Obradoiro de panadaría Ebanista + Carga + Coidado de mascotas \ No newline at end of file From a84903e02fc3d024f8688641bde126b6bc676cd5 Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Fri, 18 Oct 2019 01:19:31 +0000 Subject: [PATCH 43/60] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3710 of 3710 strings) --- OsmAnd/res/values-pt-rBR/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-pt-rBR/phrases.xml b/OsmAnd/res/values-pt-rBR/phrases.xml index a75996b810..3c12354352 100644 --- a/OsmAnd/res/values-pt-rBR/phrases.xml +++ b/OsmAnd/res/values-pt-rBR/phrases.xml @@ -3726,4 +3726,5 @@ Padaria Marceneiro Pagamento + Cuidado de animais \ No newline at end of file From d62337c6c768b448817ced0244e4204f26737fa4 Mon Sep 17 00:00:00 2001 From: nautilusx Date: Thu, 17 Oct 2019 15:51:05 +0000 Subject: [PATCH 44/60] Translated using Weblate (German) Currently translated at 100.0% (3710 of 3710 strings) --- OsmAnd/res/values-de/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 9d6b5ae56e..317f61899e 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -3729,4 +3729,5 @@ Backstube Möbeltischler Gebühr + Haustierpflege \ No newline at end of file From 557ff998f0418d7d752bf17ef345a386d1747170 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Thu, 17 Oct 2019 16:01:24 +0000 Subject: [PATCH 45/60] Translated using Weblate (Danish) Currently translated at 99.4% (3687 of 3710 strings) --- OsmAnd/res/values-da/phrases.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index 96623f093e..3fd7bbab3e 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -3733,4 +3733,6 @@ Gulvlægger Bager Møbelsnedker + Gebyr + Kæledyrspleje \ No newline at end of file From edfe2d5b5f6d62f6989879ace34d4e2013b70677 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Thu, 17 Oct 2019 19:51:27 +0000 Subject: [PATCH 46/60] Translated using Weblate (Esperanto) Currently translated at 100.0% (3710 of 3710 strings) --- OsmAnd/res/values-eo/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index 74b5feb220..419ba8910e 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -3719,4 +3719,5 @@ Bakejo (ne vendejo) Laborejo de meblisto Pago + Dombesta beligejo \ No newline at end of file From 9b02a93ebd63127f85087a8083cd70b978a0d6d7 Mon Sep 17 00:00:00 2001 From: Franco Date: Thu, 17 Oct 2019 18:28:59 +0000 Subject: [PATCH 47/60] Translated using Weblate (Spanish (Argentina)) Currently translated at 99.9% (3709 of 3710 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index 3878487318..82e43f0106 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -3733,4 +3733,5 @@ Taller de panadería Ebanista Cargo + Cuidado de mascotas \ No newline at end of file From 6cc14ef21fed1e59c10fb4a9924ee9009e0fde4f Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Fri, 18 Oct 2019 02:44:50 +0000 Subject: [PATCH 48/60] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3710 of 3710 strings) --- OsmAnd/res/values-zh-rTW/phrases.xml | 125 ++++++++++++++++++++++++++- 1 file changed, 124 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/phrases.xml b/OsmAnd/res/values-zh-rTW/phrases.xml index bb46dbff38..b40f5c9792 100644 --- a/OsmAnd/res/values-zh-rTW/phrases.xml +++ b/OsmAnd/res/values-zh-rTW/phrases.xml @@ -2340,7 +2340,7 @@ 尿布更換台數量 充電︰有 充電︰沒有 - 自行車自行維修站 + 自行車維修站;自行車自行維修站 是的 歷史時期:古典(新時代 IV,西元 374 年 - 西元 900 年) 歷史時期︰帝國 (新時代 V,西元 900 年 — 西元 1200 年) @@ -3603,4 +3603,127 @@ 歷史坦克 水煙休息室 能量來源:生質 + 雪地摩托車進入 + 巴士進入 + 露營車進入 + 豪華露營車進入 + 拖車進入 + 摩托車進入 + 非機動車進入 + 非機動車進入 + 大貨車進入 + 小貨車進入 + 無障礙空間 + 計程車辦公室 + 車輛進入:是 + 車輛進入:私人 + 車輛進入:否 + 車輛進入:目的地 + 車輛進入:許可 + 車輛進入:顧客 + 車輛進入:軍事 + 車輛進入:送貨 + 車輛進入:林業 + 汽車進入: + 汽車進入:私人 + 汽車進入:否 + 汽車進入:目的地 + 汽車進入:許可 + 汽車進入:顧客 + 汽車進入:林業 + 機動車輛進入:是 + 機動車輛進入:私人 + 機動車輛進入:否 + 機動車輛進入:目的地 + 機動車輛進入:許可 + 機動車輛進入:顧庫 + 機動車輛進入:軍事 + 機動車輛進入:送貨 + 機動車輛進入:林業 + 機動車輛進入:農業 + 大貨車進入:私人 + 大貨車進入:否 + 大貨車進入:農業 + 大貨車進入:不鼓勵 + 大貨車進入:不適合 + 小貨車進入:否 + 摩托車進入:私人 + 摩托車進入:否 + 非機動車輛進入:否 + 非機動車輛進入:否 + 腳踏車進入:私人 + 腳踏車進入:下車 + 腳踏車進入:目的地 + 腳踏車進入:許可 + 腳踏車進入:顧客 + 馬進入:私人 + 馬進入:目的地 + 馬進入:許可 + 馬進入:林業 + 行人進入:是 + 行人進入:私人 + 行人進入:否 + 行人進入:目的地 + 行人進入:許可 + 行人進入:顧客 + 露營車進入:否 + 豪華露營車進入:否 + 拖車進入:否 + 公車進入:是 + 公車進入:指定 + 公車進入:否 + 巴士進入:否 + 遊覽車進入:是 + 遊覽車進入:指定 + 遊覽車進入:否 + 長途公車進入:是 + 長途公車進入:否 + 滑雪進入:是 + 滑雪進入:否 + 雪地摩托車進入:私人 + 雪地摩托車進入:否 + 農用車進入:是 + 農用車進入:否 + 計程車進入:是 + 計程車進入:指定 + 計程車進入:否 + 無障礙通道:否 + + 指定 + 許可 + + 指定 + + 指定 + + 指定 + + 指定 + + 許可 + 目的地 + 指定 + + 指定 + + 指定 + + 目的地 + 許可 + 指定 + 送貨 + + 指定 + + 指定 + 地窖入口 + 健康食品 + 建築師 + 酒廠 + 木匠 + 鋪地板的人 + 烘焙坊 + 櫥櫃製造商 + 充電 + 寵物美容 \ No newline at end of file From 55846ee66f37480e84b4bb0d80bcce96cdcf624f Mon Sep 17 00:00:00 2001 From: Denis Kolomiets Date: Sat, 19 Oct 2019 09:20:10 +0300 Subject: [PATCH 49/60] String format fix --- OsmAnd/res/values-my/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-my/strings.xml b/OsmAnd/res/values-my/strings.xml index 64d09c9b4a..900b0cd7fd 100644 --- a/OsmAnd/res/values-my/strings.xml +++ b/OsmAnd/res/values-my/strings.xml @@ -235,7 +235,7 @@ ပြောင်းလဲမှုများကိုသိမ်းပါ ရှေ့ဆက်မသွားမီပရိုဖိုင်းသို့ပြောင်းလဲမှုများကိုအရင်သိမ်းထားရန်လိုအပ်သည် ပရိုဖိုင်းကိုဖျက်မည် - % s ပရိုဖိုင်းကိုသင်ဖျက်လိုကြောင်းသေချာပါလား + %s ပရိုဖိုင်းကိုသင်ဖျက်လိုကြောင်းသေချာပါလား အခြေခံပရိုဖိုင်းကိုရွေးချယ်ပါ လမ်းညွှန်အမျိုးအစားကိုရွေးပါ ကား၊ ထရပ်ကား၊ ဆိုင်ကယ် @@ -251,4 +251,4 @@ အထူးလမ်းကြောင်း အက်ပလီကေးရှင်းထဲတွင်မြင်နိုင်သောပရိုဖိုင်းများကိုရွေးချယ်ပါ။ အက်ပလီကေးရှင်းပရိုဖိုင်းများ - \ No newline at end of file + From 0a8e3abff92753b051bd2ca89d7d305b03268de3 Mon Sep 17 00:00:00 2001 From: Denis Kolomiets Date: Sat, 19 Oct 2019 09:23:59 +0300 Subject: [PATCH 50/60] String format fix --- OsmAnd/res/values-my/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-my/strings.xml b/OsmAnd/res/values-my/strings.xml index 900b0cd7fd..4afd4b4d3f 100644 --- a/OsmAnd/res/values-my/strings.xml +++ b/OsmAnd/res/values-my/strings.xml @@ -221,9 +221,9 @@ သံလိုက်အိမ်မြှောင်ကိုဖော်ပြ သံလိုက်အိမ်မြှောင်ကိုဖြောက်လိုက် အိုင်ကွန်ကိုရွေးပါ - mode:% s + mode: %s နှင်းလျှောစီး - အမျိုးအစား:% s + အမျိုးအစား: %s အခြေခံပရိုဖိုင်း လမ်းညွှန်အမျိုးအစားကိုရွေးပါ application ပရိုဖိုင်းအသစ်အတွက် လမ်းညွှန်အမျိုးအစားရွေးပါ From f37d356bc63ad64daf0310694abf97d345dea144 Mon Sep 17 00:00:00 2001 From: IgorEliezer Date: Sat, 19 Oct 2019 07:07:56 +0000 Subject: [PATCH 51/60] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3027 of 3027 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 5ba11a4786..d03ed7a662 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3314,7 +3314,7 @@ Pôr do Sol: %2$s Conexão Calcular Uso do Osmand - Azulejos + Quadrículas Mapas %1$s TB %1$s GB From 93069f6c39dafb14312e36df67814672f616ad3b Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sat, 19 Oct 2019 08:00:41 +0000 Subject: [PATCH 52/60] Translated using Weblate (Hebrew) Currently translated at 99.8% (3020 of 3027 strings) --- OsmAnd/res/values-he/strings.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 81110661d9..872a9f22c2 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -3280,7 +3280,7 @@ להעביר את קובצי הנתונים של OsmAnd ליעד החדש\? \n%1$s > %2$s %1$s ‏• %2$s ג״ב מנוצלים - %1$s פנויים • %2$s /‏ %3$s ג״ב + %1$s ג״ב פנויים • סה״כ %2$s ג״ב נא לספק נתיב לתיקייה בחירת תיקייה נא להדביק את הנתיב לתיקייה עם הנתונים של OsmAnd @@ -3309,4 +3309,15 @@ מגבלת רוחב ציון מגבלת רוחב מכונית אפשרי בנתיבים. הימנעות מסוגים מסוימים של מסלולים וכבישים + זה לצד זה + דרך אווירית + חיבור + חישוב + שימוש ב־OsmAnd + אריחים + מפות + %1$s ט״ב + %1$s ג״ב + %1$s מ״ב + %1$s ק״ב \ No newline at end of file From e25fc71f82c9ad6b22c117e95c60943a49f0d515 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Mon, 21 Oct 2019 11:42:01 +0300 Subject: [PATCH 53/60] Update ATM phrase --- OsmAnd/res/values-ru/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml index 120ba41887..4196a51503 100644 --- a/OsmAnd/res/values-ru/phrases.xml +++ b/OsmAnd/res/values-ru/phrases.xml @@ -2426,7 +2426,7 @@ Надпись:З Надпись:СЗ В процессе строительства - С банкоматом + С банкоматом;Банкомат Без банкомата Место для разведения огня Распределительный шкаф From ed698a6b3f9c9b946c4dc6268f9fc142266f242d Mon Sep 17 00:00:00 2001 From: Chumva Date: Mon, 21 Oct 2019 12:36:01 +0300 Subject: [PATCH 54/60] Fix #7305 --- .../src/net/osmand/plus/views/POIMapLayer.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java b/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java index edc4d8c87f..9c152a8c75 100644 --- a/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java @@ -38,8 +38,8 @@ import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.poi.PoiUIFilter; import net.osmand.plus.render.RenderingIcons; -import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.routing.IRouteInformationListener; +import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.views.MapTextLayer.MapTextProvider; import net.osmand.util.Algorithms; @@ -149,7 +149,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon if (objects != null) { int ex = (int) point.x; int ey = (int) point.y; - final int rp = getRadiusPoi(tb); + final int rp = getRadiusPoi(null, tb); int compare = rp; int radius = rp * 3 / 2; try { @@ -185,8 +185,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon mapTextLayer = view.getLayerByClass(MapTextLayer.class); } - - public int getRadiusPoi(RotatedTileBox tb) { + public int getRadiusPoi(Amenity amenity, RotatedTileBox tb) { int r; final double zoom = tb.getZoom(); if (zoom < startZoom) { @@ -200,7 +199,12 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon } else { r = 18; } - return (int) (r * view.getScaleCoefficient()); + + int radiusPoi = (int) (r * view.getScaleCoefficient()); + if (amenity != null && isPresentInFullObjects(amenity.getLocation())) { + radiusPoi += poiBackground.getHeight() / 2 - poiBackgroundSmall.getHeight() / 2; + } + return radiusPoi; } @Override @@ -406,7 +410,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon @Override public int getTextShift(Amenity o, RotatedTileBox rb) { - return getRadiusPoi(rb); + return getRadiusPoi(o, rb); } @Override From bfa97040b01515e947a0614c67865aacee373517 Mon Sep 17 00:00:00 2001 From: Chumva Date: Mon, 21 Oct 2019 12:45:10 +0300 Subject: [PATCH 55/60] remove unnecessary changes --- .../net/osmand/plus/views/POIMapLayer.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java b/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java index 9c152a8c75..9f874881b8 100644 --- a/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java @@ -149,7 +149,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon if (objects != null) { int ex = (int) point.x; int ey = (int) point.y; - final int rp = getRadiusPoi(null, tb); + final int rp = getRadiusPoi(tb); int compare = rp; int radius = rp * 3 / 2; try { @@ -185,7 +185,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon mapTextLayer = view.getLayerByClass(MapTextLayer.class); } - public int getRadiusPoi(Amenity amenity, RotatedTileBox tb) { + public int getRadiusPoi(RotatedTileBox tb) { int r; final double zoom = tb.getZoom(); if (zoom < startZoom) { @@ -200,11 +200,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon r = 18; } - int radiusPoi = (int) (r * view.getScaleCoefficient()); - if (amenity != null && isPresentInFullObjects(amenity.getLocation())) { - radiusPoi += poiBackground.getHeight() / 2 - poiBackgroundSmall.getHeight() / 2; - } - return radiusPoi; + return (int) (r * view.getScaleCoefficient()); } @Override @@ -409,8 +405,13 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon } @Override - public int getTextShift(Amenity o, RotatedTileBox rb) { - return getRadiusPoi(o, rb); + public int getTextShift(Amenity amenity, RotatedTileBox rb) { + int radiusPoi = getRadiusPoi(rb); + if (isPresentInFullObjects(amenity.getLocation())) { + radiusPoi += poiBackground.getHeight() / 2 - poiBackgroundSmall.getHeight() / 2; + } + + return radiusPoi; } @Override From 6cb163ff40e9161ec6785095c6553478925c58ab Mon Sep 17 00:00:00 2001 From: xmd5a Date: Mon, 21 Oct 2019 15:24:01 +0300 Subject: [PATCH 56/60] Fix atm ru search --- OsmAnd/res/values-ru/phrases.xml | 4 ++-- OsmAnd/res/values/phrases.xml | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml index 4196a51503..4cf22c2798 100644 --- a/OsmAnd/res/values-ru/phrases.xml +++ b/OsmAnd/res/values-ru/phrases.xml @@ -603,7 +603,7 @@ Крематорий Интернет-кафе;Интернет-салон;Киберкафе Банк - Банкомат + Банкомат Ростовщик Ломбард Обмен валют @@ -2426,7 +2426,7 @@ Надпись:З Надпись:СЗ В процессе строительства - С банкоматом;Банкомат + С банкоматом;Банкомат Без банкомата Место для разведения огня Распределительный шкаф diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml index 8e1cd7ce73..ddec07f1ec 100644 --- a/OsmAnd/res/values/phrases.xml +++ b/OsmAnd/res/values/phrases.xml @@ -1054,7 +1054,6 @@ Internet cafe Bank - ATM ATM Payment terminal Money lender @@ -2730,7 +2729,7 @@ Inscription:NE Under construction - ATM: yes + ATM: yes ATM: no Firepit From e82966d014f478b98032be620651561a7134fcf5 Mon Sep 17 00:00:00 2001 From: Denis Kolomiets Date: Mon, 21 Oct 2019 17:38:56 +0300 Subject: [PATCH 57/60] Update strings.xml --- OsmAnd/res/values/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index b1f8f701a1..1e10b1152c 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,11 @@ Thx - Hardy --> + Track Storage Directory + Tracks can be stored in rec folder or in monthly or daily folders. + Store recorded tracks in rec folder + Store recorded tracks in daily folders + Store recorded tracks in sub-folders per recording day (like 2018-01-01). Avoid certain routes and road types Move OsmAnd data files to the new destination?\n%1$s > %2$s %1$s • Used %2$s GB @@ -739,13 +744,8 @@ Show \'Navigation finished\' dialog Start/stop navigation Tap this button to start or end the navigation. - Track Storage Directory - Tracks can be stored in rec folder or in monthly or daily folders. - Store recorded tracks in rec folder Store recorded tracks in monthly folders Store recorded tracks in sub-folders per recording month (like 2018-01). - Store recorded tracks in daily folders - Store recorded tracks in sub-folders per recording day (like 2018-01-01). Reset Reload Reload tiles to see up to date data. From 95201013215db9566dfe1222abee4ce12894cc4d Mon Sep 17 00:00:00 2001 From: max-klaus Date: Mon, 21 Oct 2019 18:34:04 +0300 Subject: [PATCH 58/60] Fix #7713 --- OsmAnd/src/net/osmand/plus/activities/MapActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 5549953449..fb7014e85a 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -648,7 +648,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven } } if (mapContextMenu.isVisible() && mapContextMenu.isClosable()) { - if (mapContextMenu.getCurrentMenuState() != MenuState.HEADER_ONLY) { + if (mapContextMenu.getCurrentMenuState() != MenuState.HEADER_ONLY && !isLandscapeLayout()) { mapContextMenu.openMenuHeaderOnly(); } else { mapContextMenu.close(); From 8bfb7b39d2867da7a88a37a5dcfc1cc93c7173b5 Mon Sep 17 00:00:00 2001 From: max-klaus Date: Mon, 21 Oct 2019 19:01:20 +0300 Subject: [PATCH 59/60] Fix #7498 --- OsmAnd/res/values/strings.xml | 3 ++- .../plus/download/ui/UpdatesIndexFragment.java | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index e454ece212..33816720fd 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,7 +11,8 @@ Thx - Hardy --> - + Update all maps + Are you sure you want to update all (%1$d) maps? Track Storage Directory Tracks can be stored in rec folder or in monthly or daily folders. Store recorded tracks in rec folder diff --git a/OsmAnd/src/net/osmand/plus/download/ui/UpdatesIndexFragment.java b/OsmAnd/src/net/osmand/plus/download/ui/UpdatesIndexFragment.java index d53ab09d2e..f2c1626c31 100644 --- a/OsmAnd/src/net/osmand/plus/download/ui/UpdatesIndexFragment.java +++ b/OsmAnd/src/net/osmand/plus/download/ui/UpdatesIndexFragment.java @@ -19,10 +19,12 @@ import net.osmand.plus.inapp.InAppPurchaseHelper; import net.osmand.util.Algorithms; import android.app.Activity; import android.content.Context; +import android.content.DialogInterface; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.ActionBar; +import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -154,7 +156,21 @@ public class UpdatesIndexFragment extends OsmAndListFragment implements Download updateAllButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - getMyActivity().startDownload(indexItems.toArray(new IndexItem[indexItems.size()])); + if (indexItems.size() > 3) { + AlertDialog.Builder dialog = new AlertDialog.Builder(getMyActivity()); + dialog.setTitle(R.string.update_all_maps); + dialog.setMessage(getString(R.string.update_all_maps_q, indexItems.size())); + dialog.setNegativeButton(R.string.shared_string_cancel, null); + dialog.setPositiveButton(R.string.update, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + getMyActivity().startDownload(indexItems.toArray(new IndexItem[indexItems.size()])); + } + }); + dialog.create().show(); + } else { + getMyActivity().startDownload(indexItems.toArray(new IndexItem[indexItems.size()])); + } } }); } From 0477367b3cf240fcab3a48e9f7db8deca0e66fd9 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Tue, 22 Oct 2019 13:20:45 +0300 Subject: [PATCH 60/60] Add strings --- OsmAnd/res/values/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 33816720fd..3c8178f3bd 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,8 @@ Thx - Hardy --> + Prefer unpaved roads + Prefer unpaved roads. Update all maps Are you sure you want to update all (%1$d) maps? Track Storage Directory