From aa1b3cbb014af53b5edfa817a52f542fc7dc2e30 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Mon, 13 Jan 2020 15:32:16 +0200 Subject: [PATCH 01/59] Add map layer after aidl connection established --- .../osmand/telegram/TelegramApplication.kt | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt b/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt index 4dc883bed3..4c40d9a365 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt @@ -42,24 +42,7 @@ class TelegramApplication : Application(), OsmandHelperListener { telegramHelper.messageActiveTimeSec = settings.locHistoryTime uiUtils = UiUtils(this) osmandAidlHelper = OsmandAidlHelper(this) - osmandAidlHelper.listener = object : OsmandHelperListener { - override fun onOsmandConnectionStateChanged(connected: Boolean) { - if (connected) { - osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram") - osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram.debug") - osmandAidlHelper.setNavDrawerItems( - applicationContext.packageName, - listOf(getString(R.string.app_name_short)), - listOf("osmand_telegram://main_activity"), - listOf("ic_action_location_sharing_app"), - listOf(-1) - ) - showLocationHelper.addDirectionContextMenuButton() - showLocationHelper.startShowingLocation() - showLocationHelper.addOrUpdateStatusWidget(-1, false) - } - } - } + osmandAidlHelper.listener = this osmandAidlHelper.setUpdatesListener(object : UpdatesListener { override fun update() { if (settings.hasAnyChatToShowOnMap()) { @@ -143,8 +126,19 @@ class TelegramApplication : Application(), OsmandHelperListener { override fun onOsmandConnectionStateChanged(connected: Boolean) { if (connected) { + osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram") + osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram.debug") + osmandAidlHelper.setNavDrawerItems( + applicationContext.packageName, + listOf(getString(R.string.app_name_short)), + listOf("osmand_telegram://main_activity"), + listOf("ic_action_location_sharing_app"), + listOf(-1) + ) showLocationHelper.setupMapLayer() showLocationHelper.addDirectionContextMenuButton() + showLocationHelper.startShowingLocation() + showLocationHelper.addOrUpdateStatusWidget(-1, false) } } From 3e47c60c874a57e98f1df1f7f0728364470c6844 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Tue, 14 Jan 2020 13:23:20 +0200 Subject: [PATCH 02/59] Add osm editing preferences screen --- .../res/layout/global_preference_toolbar.xml | 35 ++++-- OsmAnd/res/layout/osm_login_data.xml | 67 +++++++++++ OsmAnd/res/values/strings.xml | 4 + OsmAnd/res/xml/configure_profile.xml | 1 - OsmAnd/res/xml/osm_editing.xml | 49 ++++++++ .../osmand/access/AccessibilityPlugin.java | 11 ++ OsmAnd/src/net/osmand/plus/OsmandPlugin.java | 7 +- .../audionotes/AudioVideoNotesPlugin.java | 10 ++ .../development/OsmandDevelopmentPlugin.java | 11 ++ .../plus/mapillary/MapillaryPlugin.java | 11 ++ .../monitoring/OsmandMonitoringPlugin.java | 11 +- .../openseamapsplugin/NauticalMapsPlugin.java | 11 ++ .../osmand/plus/osmedit/OsmEditingPlugin.java | 12 ++ .../osmedit/SettingsOsmEditingActivity.java | 2 +- .../parkingpoint/ParkingPositionPlugin.java | 13 ++- .../rastermaps/OsmandRasterMapsPlugin.java | 10 ++ .../plus/settings/BaseSettingsFragment.java | 1 + .../settings/ConfigureProfileFragment.java | 89 ++------------- .../plus/settings/OsmEditingFragment.java | 80 +++++++++++++ .../bottomsheets/OsmLoginDataBottomSheet.java | 108 ++++++++++++++++++ .../plus/skimapsplugin/SkiMapsPlugin.java | 13 ++- .../osmand/plus/srtmplugin/SRTMPlugin.java | 11 ++ 22 files changed, 472 insertions(+), 95 deletions(-) create mode 100644 OsmAnd/res/layout/osm_login_data.xml create mode 100644 OsmAnd/res/xml/osm_editing.xml create mode 100644 OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java create mode 100644 OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java diff --git a/OsmAnd/res/layout/global_preference_toolbar.xml b/OsmAnd/res/layout/global_preference_toolbar.xml index 961d6c2a7e..6a5d37f661 100644 --- a/OsmAnd/res/layout/global_preference_toolbar.xml +++ b/OsmAnd/res/layout/global_preference_toolbar.xml @@ -23,16 +23,37 @@ android:contentDescription="@string/access_shared_string_navigate_up" android:src="@drawable/ic_action_mode_back" /> - + android:paddingRight="@dimen/content_padding"> + + + + + + diff --git a/OsmAnd/res/layout/osm_login_data.xml b/OsmAnd/res/layout/osm_login_data.xml new file mode 100644 index 0000000000..aca7353f6a --- /dev/null +++ b/OsmAnd/res/layout/osm_login_data.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 89b6bd1019..c0e6c0d57e 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,10 @@ Thx - Hardy --> + Username and password + This plugin settings are global, and apply to all profiles. + OpenStreetMap Editing + You can view all your unuploaded edits or osm bugs in Menu — My places — OSM Edits. Uploaded points don’t show in OsmAnd. %1$s %2$s %1$s: %2$s By clicking %1$s, you will lose all your changes. diff --git a/OsmAnd/res/xml/configure_profile.xml b/OsmAnd/res/xml/configure_profile.xml index ff98b3a1c4..4d0f997500 100644 --- a/OsmAnd/res/xml/configure_profile.xml +++ b/OsmAnd/res/xml/configure_profile.xml @@ -59,7 +59,6 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java b/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java index fab0dae811..b3921f3b53 100644 --- a/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java +++ b/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java @@ -13,6 +13,7 @@ import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.settings.BaseSettingsFragment; public class AccessibilityPlugin extends OsmandPlugin { @@ -65,6 +66,16 @@ public class AccessibilityPlugin extends OsmandPlugin { return SettingsAccessibilityActivity.class; } + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } + @Override public void disable(OsmandApplication app) { if (sounds != null) { diff --git a/OsmAnd/src/net/osmand/plus/OsmandPlugin.java b/OsmAnd/src/net/osmand/plus/OsmandPlugin.java index a5c4004aff..1b70378841 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandPlugin.java +++ b/OsmAnd/src/net/osmand/plus/OsmandPlugin.java @@ -36,6 +36,7 @@ import net.osmand.plus.openseamapsplugin.NauticalMapsPlugin; import net.osmand.plus.osmedit.OsmEditingPlugin; import net.osmand.plus.parkingpoint.ParkingPositionPlugin; import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.skimapsplugin.SkiMapsPlugin; import net.osmand.plus.srtmplugin.SRTMPlugin; import net.osmand.plus.views.OsmandMapTileView; @@ -61,9 +62,11 @@ public abstract class OsmandPlugin { public abstract String getId(); + public abstract String getName(); + public abstract String getDescription(); - public abstract String getName(); + public abstract String getPrefsDescription(); public abstract int getAssetResourceName(); @@ -74,6 +77,8 @@ public abstract class OsmandPlugin { public abstract Class getSettingsActivity(); + public abstract Class getSettingsFragment(); + public String getVersion() { return ""; } diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index 8699027ea0..ddc76b730e 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -64,6 +64,7 @@ import net.osmand.plus.helpers.AndroidUiHelper; import net.osmand.plus.mapcontextmenu.MapContextMenu; import net.osmand.plus.monitoring.OsmandMonitoringPlugin; import net.osmand.plus.myplaces.FavoritesActivity; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.plus.views.mapwidgets.TextInfoWidget; @@ -1788,6 +1789,15 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { return SettingsAudioVideoActivity.class; } + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } @Override public void onMapActivityExternalResult(int requestCode, int resultCode, Intent data) { diff --git a/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java b/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java index 527fb03d9e..ac2370ab92 100644 --- a/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java +++ b/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java @@ -13,6 +13,7 @@ import net.osmand.plus.Version; import net.osmand.plus.activities.ContributionVersionActivity; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.dashboard.tools.DashFragmentData; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.OsmandMapTileView; @@ -125,6 +126,16 @@ public class OsmandDevelopmentPlugin extends OsmandPlugin { return SettingsDevelopmentActivity.class; } + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } + @Override public int getLogoResourceId() { return R.drawable.ic_plugin_developer; diff --git a/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java b/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java index d8d8572218..f8507a86e1 100644 --- a/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java +++ b/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java @@ -28,6 +28,7 @@ import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.MapActivityLayers; import net.osmand.plus.base.BottomSheetDialogFragment; import net.osmand.plus.dashboard.DashboardOnMap; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.MapTileLayer; import net.osmand.plus.views.OsmandMapTileView; @@ -144,6 +145,16 @@ public class MapillaryPlugin extends OsmandPlugin { return null; } + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } + @Override public void registerLayerContextMenuActions(final OsmandMapTileView mapView, ContextMenuAdapter adapter, final MapActivity mapActivity) { ContextMenuAdapter.ItemClickListener listener = new ContextMenuAdapter.OnRowItemClick() { diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index 580151f590..deb3209e2a 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -34,6 +34,7 @@ import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.SavingTrackHelper; import net.osmand.plus.activities.SavingTrackHelper.SaveGpxResult; import net.osmand.plus.dashboard.tools.DashFragmentData; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.OsmandMapTileView; @@ -146,7 +147,15 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { return SettingsMonitoringActivity.class; } - + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } /** * creates (if it wasn't created previously) the control to be added on a MapInfoLayer that shows a monitoring state (recorded/stopped) diff --git a/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java b/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java index 04f7225e0b..22b5313ea2 100644 --- a/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java @@ -17,6 +17,7 @@ import net.osmand.plus.UiUtilities; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.DownloadResources; +import net.osmand.plus.settings.BaseSettingsFragment; import java.util.Collections; import java.util.List; @@ -125,4 +126,14 @@ public class NauticalMapsPlugin extends OsmandPlugin { public Class getSettingsActivity() { return null; } + + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } } diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java index e6bbe9ea4a..f67548778a 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java @@ -40,6 +40,8 @@ import net.osmand.plus.myplaces.AvailableGPXFragment; import net.osmand.plus.myplaces.AvailableGPXFragment.GpxInfo; import net.osmand.plus.myplaces.FavoritesActivity; import net.osmand.plus.osmedit.OsmPoint.Action; +import net.osmand.plus.settings.BaseSettingsFragment; +import net.osmand.plus.settings.OsmEditingFragment; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.util.Algorithms; @@ -190,6 +192,16 @@ public class OsmEditingPlugin extends OsmandPlugin { return SettingsOsmEditingActivity.class; } + @Override + public Class getSettingsFragment() { + return OsmEditingFragment.class; + } + + @Override + public String getPrefsDescription() { + return null; + } + @Override public void registerMapContextMenuActions(final MapActivity mapActivity, final double latitude, diff --git a/OsmAnd/src/net/osmand/plus/osmedit/SettingsOsmEditingActivity.java b/OsmAnd/src/net/osmand/plus/osmedit/SettingsOsmEditingActivity.java index d5c7fabe4a..b313bd124d 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/SettingsOsmEditingActivity.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/SettingsOsmEditingActivity.java @@ -95,7 +95,7 @@ public class SettingsOsmEditingActivity extends SettingsBaseActivity { } } - private static class ValidateOsmLoginDetailsTask extends AsyncTask { + public static class ValidateOsmLoginDetailsTask extends AsyncTask { private final Context context; public ValidateOsmLoginDetailsTask(Context context) { diff --git a/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java b/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java index 20a0171e96..c858ee4c80 100644 --- a/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java +++ b/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java @@ -31,6 +31,7 @@ import net.osmand.plus.UiUtilities; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.dashboard.tools.DashFragmentData; import net.osmand.plus.mapcontextmenu.MapContextMenu; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.AnimateDraggingMapThread; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; @@ -522,7 +523,17 @@ public class ParkingPositionPlugin extends OsmandPlugin { public Class getSettingsActivity() { return null; } - + + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } + @Override public int getAssetResourceName() { return R.drawable.parking_position; diff --git a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java index 56084c50ea..9899b586fb 100644 --- a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java @@ -42,6 +42,7 @@ import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.MapActivityLayers; import net.osmand.plus.dashboard.DashboardOnMap.DashboardType; import net.osmand.plus.dialogs.RasterMapMenu; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.MapTileLayer; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.util.Algorithms; @@ -411,6 +412,15 @@ public class OsmandRasterMapsPlugin extends OsmandPlugin { return SettingsRasterMapsActivity.class; } + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } public static void installMapLayers(final Activity activity, final ResultMatcher result) { final OsmandApplication app = (OsmandApplication) activity.getApplication(); diff --git a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java index 7c740513ed..74bd76ba79 100644 --- a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java @@ -86,6 +86,7 @@ public abstract class BaseSettingsFragment extends PreferenceFragmentCompat impl MAIN_SETTINGS(MainSettingsFragment.TAG, false, R.xml.settings_main_screen, R.layout.global_preference_toolbar), GLOBAL_SETTINGS(GlobalSettingsFragment.class.getName(), false, R.xml.global_settings, R.layout.global_preference_toolbar), + OPEN_STREET_MAP_EDITING(OsmEditingFragment.class.getName(), false, R.xml.osm_editing, R.layout.global_preference_toolbar), CONFIGURE_PROFILE(ConfigureProfileFragment.class.getName(), true, R.xml.configure_profile, R.layout.profile_preference_toolbar_with_switch), PROXY_SETTINGS(ProxySettingsFragment.class.getName(), false, R.xml.proxy_preferences, R.layout.global_preferences_toolbar_with_switch), GENERAL_PROFILE(GeneralProfileSettingsFragment.class.getName(), true, R.xml.general_profile_settings, R.layout.profile_preference_toolbar_big), diff --git a/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java b/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java index e882cc1c0f..8c1106e569 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java @@ -1,6 +1,5 @@ package net.osmand.plus.settings; -import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -20,7 +19,6 @@ import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceCategory; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceGroupAdapter; -import android.support.v7.preference.SwitchPreferenceCompat; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.SwitchCompat; import android.view.LayoutInflater; @@ -32,8 +30,6 @@ import android.widget.Toast; import net.osmand.AndroidUtils; import net.osmand.IndexConstants; import net.osmand.PlatformUtil; -import net.osmand.aidl.ConnectedApp; -import net.osmand.aidl.OsmandAidlApi; import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; @@ -42,12 +38,10 @@ import net.osmand.plus.SettingsHelper; import net.osmand.plus.SettingsHelper.ProfileSettingsItem; import net.osmand.plus.UiUtilities; import net.osmand.plus.activities.MapActivity; -import net.osmand.plus.activities.PluginActivity; import net.osmand.plus.helpers.FontCache; import net.osmand.plus.openseamapsplugin.NauticalMapsPlugin; import net.osmand.plus.profiles.SelectCopyAppModeBottomSheet; import net.osmand.plus.settings.bottomsheets.ResetProfilePrefsBottomSheet; -import net.osmand.plus.settings.preferences.SwitchPreferenceEx; import net.osmand.plus.skimapsplugin.SkiMapsPlugin; import org.apache.commons.logging.Log; @@ -60,7 +54,6 @@ import static net.osmand.plus.profiles.EditProfileFragment.MAP_CONFIG; import static net.osmand.plus.profiles.EditProfileFragment.OPEN_CONFIG_ON_MAP; import static net.osmand.plus.profiles.EditProfileFragment.SCREEN_CONFIG; import static net.osmand.plus.profiles.EditProfileFragment.SELECTED_ITEM; -import static net.osmand.plus.profiles.SettingsProfileFragment.PROFILE_STRING_KEY; public class ConfigureProfileFragment extends BaseSettingsFragment { @@ -212,9 +205,6 @@ public class ConfigureProfileFragment extends BaseSettingsFragment { setupProfileAppearancePref(); PreferenceCategory pluginSettings = (PreferenceCategory) findPreference(PLUGIN_SETTINGS); - pluginSettings.setIconSpaceReserved(false); - - setupConnectedAppsPref(pluginSettings); setupOsmandPluginsPref(pluginSettings); PreferenceCategory settingsActions = (PreferenceCategory) findPreference(SETTINGS_ACTIONS); @@ -319,25 +309,6 @@ public class ConfigureProfileFragment extends BaseSettingsFragment { } } - private void setupConnectedAppsPref(PreferenceCategory preferenceCategory) { - OsmandApplication app = getMyApplication(); - if (app == null) { - return; - } - List connectedApps = app.getAidlApi().getConnectedApps(); - for (ConnectedApp connectedApp : connectedApps) { - SwitchPreferenceCompat preference = new SwitchPreferenceCompat(app); - preference.setPersistent(false); - preference.setKey(connectedApp.getPack()); - preference.setIcon(connectedApp.getIcon()); - preference.setTitle(connectedApp.getName()); - preference.setChecked(connectedApp.isEnabled()); - preference.setLayoutResource(R.layout.preference_switch); - - preferenceCategory.addPreference(preference); - } - } - private void setupOsmandPluginsPref(PreferenceCategory preferenceCategory) { Context ctx = getContext(); if (ctx == null) { @@ -345,40 +316,22 @@ public class ConfigureProfileFragment extends BaseSettingsFragment { } List plugins = OsmandPlugin.getVisiblePlugins(); for (OsmandPlugin plugin : plugins) { - if (plugin instanceof SkiMapsPlugin || plugin instanceof NauticalMapsPlugin) { + if (plugin instanceof SkiMapsPlugin || plugin instanceof NauticalMapsPlugin || plugin.getSettingsFragment() == null) { continue; } - SwitchPreferenceEx preference = new SwitchPreferenceEx(ctx); + Preference preference = new Preference(ctx); preference.setPersistent(false); preference.setKey(plugin.getId()); preference.setTitle(plugin.getName()); - preference.setChecked(plugin.isActive()); - preference.setIcon(getPluginIcon(plugin)); - preference.setIntent(getPluginIntent(plugin)); - preference.setLayoutResource(R.layout.preference_dialog_and_switch); + preference.setSummary(plugin.getPrefsDescription()); + preference.setIcon(getContentIcon(plugin.getLogoResourceId())); + preference.setLayoutResource(R.layout.preference_with_descr); + preference.setFragment(plugin.getSettingsFragment().getName()); preferenceCategory.addPreference(preference); } } - private Drawable getPluginIcon(OsmandPlugin plugin) { - int iconResId = plugin.getLogoResourceId(); - return plugin.isActive() ? getActiveIcon(iconResId) : getIcon(iconResId, isNightMode() ? R.color.icon_color_secondary_dark : R.color.icon_color_secondary_light); - } - - private Intent getPluginIntent(OsmandPlugin plugin) { - Intent intent; - final Class settingsActivity = plugin.getSettingsActivity(); - if (settingsActivity != null && !plugin.needsInstallation()) { - intent = new Intent(getContext(), settingsActivity); - intent.putExtra(PROFILE_STRING_KEY, getSelectedAppMode().getStringKey()); - } else { - intent = new Intent(getContext(), PluginActivity.class); - intent.putExtra(PluginActivity.EXTRA_PLUGIN_ID, plugin.getId()); - } - return intent; - } - @Override public boolean onPreferenceClick(Preference preference) { String prefId = preference.getKey(); @@ -437,7 +390,7 @@ public class ConfigureProfileFragment extends BaseSettingsFragment { return super.onPreferenceClick(preference); } - void onDeleteProfileClick() { + private void onDeleteProfileClick() { final ApplicationMode profile = getSelectedAppMode(); if (getActivity() != null) { if (profile.getParent() != null) { @@ -470,32 +423,4 @@ public class ConfigureProfileFragment extends BaseSettingsFragment { } } } - - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - String key = preference.getKey(); - - OsmandPlugin plugin = OsmandPlugin.getPlugin(key); - if (plugin != null) { - if (newValue instanceof Boolean) { - if ((plugin.isActive() || !plugin.needsInstallation())) { - if (OsmandPlugin.enablePlugin(getActivity(), app, plugin, (Boolean) newValue)) { - preference.setIcon(getPluginIcon(plugin)); - return true; - } - } else if (plugin.needsInstallation() && preference.getIntent() != null) { - startActivity(preference.getIntent()); - } - } - return false; - } - - OsmandAidlApi aidlApi = app.getAidlApi(); - ConnectedApp connectedApp = aidlApi.getConnectedApp(key); - if (connectedApp != null) { - return aidlApi.switchEnabled(connectedApp); - } - - return super.onPreferenceChange(preference, newValue); - } } \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java b/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java new file mode 100644 index 0000000000..981e23f0d1 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java @@ -0,0 +1,80 @@ +package net.osmand.plus.settings; + +import android.content.Intent; +import android.support.v4.app.FragmentManager; +import android.support.v7.preference.Preference; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; + +import net.osmand.plus.OsmAndAppCustomization; +import net.osmand.plus.R; +import net.osmand.plus.helpers.AndroidUiHelper; +import net.osmand.plus.settings.bottomsheets.OsmLoginDataBottomSheet; +import net.osmand.plus.settings.preferences.SwitchPreferenceEx; + +public class OsmEditingFragment extends BaseSettingsFragment { + + private static final String OPEN_OSM_EDITS = "open_osm_edits"; + private static final String OSM_LOGIN_DATA = "osm_login_data"; + + @Override + protected void setupPreferences() { + Preference vehicleParametersInfo = findPreference("osm_editing_info"); + vehicleParametersInfo.setIcon(getContentIcon(R.drawable.ic_action_info_dark)); + + setupNameAndPasswordPref(); + setupOfflineEditingPref(); + setupOsmEditsDescrPref(); + setupOsmEditsPref(); + } + + @Override + protected void createToolbar(LayoutInflater inflater, View view) { + super.createToolbar(inflater, view); + + TextView toolbarSubtitle = view.findViewById(R.id.toolbar_subtitle); + toolbarSubtitle.setText(getPreferenceScreen().getSummary()); + AndroidUiHelper.updateVisibility(toolbarSubtitle, true); + } + + private void setupNameAndPasswordPref() { + Preference nameAndPasswordPref = findPreference(OSM_LOGIN_DATA); + nameAndPasswordPref.setSummary(settings.USER_NAME.get()); + nameAndPasswordPref.setIcon(getContentIcon(R.drawable.ic_action_openstreetmap_logo)); + } + + private void setupOfflineEditingPref() { + SwitchPreferenceEx offlineEditingPref = (SwitchPreferenceEx) findPreference(settings.OFFLINE_EDITION.getId()); + offlineEditingPref.setDescription(getString(R.string.offline_edition_descr)); + } + + private void setupOsmEditsDescrPref() { + Preference nameAndPasswordPref = findPreference("osm_edits_description"); + nameAndPasswordPref.setTitle(getText(R.string.osm_edits_view_descr)); + } + + private void setupOsmEditsPref() { + Preference createProfile = findPreference(OPEN_OSM_EDITS); + createProfile.setIcon(getActiveIcon(R.drawable.ic_action_folder)); + } + + @Override + public boolean onPreferenceClick(Preference preference) { + if (OPEN_OSM_EDITS.equals(preference.getKey())) { + OsmAndAppCustomization appCustomization = app.getAppCustomization(); + Intent favorites = new Intent(preference.getContext(), appCustomization.getFavoritesActivity()); + favorites.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + app.getSettings().FAVORITES_TAB.set(R.string.osm_edits); + startActivity(favorites); + return true; + } else if (OSM_LOGIN_DATA.equals(preference.getKey())) { + FragmentManager fragmentManager = getFragmentManager(); + if (fragmentManager != null) { + OsmLoginDataBottomSheet.showInstance(fragmentManager, OSM_LOGIN_DATA, this, false, getSelectedAppMode()); + return true; + } + } + return super.onPreferenceClick(preference); + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java b/OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java new file mode 100644 index 0000000000..7735f56d48 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java @@ -0,0 +1,108 @@ +package net.osmand.plus.settings.bottomsheets; + +import android.content.Context; +import android.os.AsyncTask; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v7.preference.Preference; +import android.view.View; +import android.widget.EditText; + +import net.osmand.plus.ApplicationMode; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.R; +import net.osmand.plus.UiUtilities; +import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem; +import net.osmand.plus.osmedit.SettingsOsmEditingActivity; + +public class OsmLoginDataBottomSheet extends BasePreferenceBottomSheet { + + public static final String TAG = EditTextPreferenceBottomSheet.class.getSimpleName(); + + private static final String USER_NAME_KEY = "user_name_key"; + private static final String PASSWORD_KEY = "password_key"; + + private EditText userNameEditText; + private EditText passwordEditText; + + @Override + public void createMenuItems(Bundle savedInstanceState) { + Context context = getContext(); + Preference editTextPreference = getPreference(); + if (context == null || editTextPreference == null) { + return; + } + OsmandApplication app = requiredMyApplication(); + + View view = UiUtilities.getInflater(context, nightMode).inflate(R.layout.osm_login_data, null); + + userNameEditText = view.findViewById(R.id.name_edit_text); + passwordEditText = view.findViewById(R.id.password_edit_text); + + String name = app.getSettings().USER_NAME.get(); + String password = app.getSettings().USER_PASSWORD.get(); + + if (savedInstanceState != null) { + name = savedInstanceState.getString(USER_NAME_KEY, null); + password = savedInstanceState.getString(PASSWORD_KEY, null); + } + + userNameEditText.setText(name); + passwordEditText.setText(password); + + BaseBottomSheetItem titleItem = new SimpleBottomSheetItem.Builder() + .setCustomView(view) + .create(); + items.add(titleItem); + } + + @Override + public void onSaveInstanceState(@NonNull Bundle outState) { + super.onSaveInstanceState(outState); + outState.putString(USER_NAME_KEY, userNameEditText.getText().toString()); + outState.putString(PASSWORD_KEY, passwordEditText.getText().toString()); + } + + @Override + protected int getDismissButtonTextId() { + return R.string.shared_string_cancel; + } + + @Override + protected int getRightBottomButtonTextId() { + return R.string.shared_string_apply; + } + + @Override + protected void onRightBottomButtonClick() { + OsmandApplication app = requiredMyApplication(); + + app.getSettings().USER_NAME.set(userNameEditText.getText().toString()); + app.getSettings().USER_PASSWORD.set(passwordEditText.getText().toString()); + new SettingsOsmEditingActivity.ValidateOsmLoginDetailsTask(getActivity()).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + + dismiss(); + } + + public static boolean showInstance(@NonNull FragmentManager fragmentManager, String key, Fragment target, + boolean usedOnMap, @Nullable ApplicationMode appMode) { + try { + Bundle args = new Bundle(); + args.putString(PREFERENCE_ID, key); + + OsmLoginDataBottomSheet fragment = new OsmLoginDataBottomSheet(); + fragment.setArguments(args); + fragment.setUsedOnMap(usedOnMap); + fragment.setAppMode(appMode); + fragment.setTargetFragment(target, 0); + fragment.show(fragmentManager, TAG); + return true; + } catch (RuntimeException e) { + return false; + } + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java b/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java index 7bee696943..51fd9d1061 100644 --- a/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java @@ -8,6 +8,7 @@ import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; +import net.osmand.plus.settings.BaseSettingsFragment; import java.util.Collections; import java.util.List; @@ -93,4 +94,14 @@ public class SkiMapsPlugin extends OsmandPlugin { public Class getSettingsActivity() { return null; } -} + + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java b/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java index 5998417267..d063cfb5c0 100644 --- a/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java +++ b/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java @@ -29,6 +29,7 @@ import net.osmand.plus.download.DownloadIndexesThread; import net.osmand.plus.download.DownloadResources; import net.osmand.plus.download.IndexItem; import net.osmand.plus.inapp.InAppPurchaseHelper; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.render.RenderingRuleProperty; import net.osmand.util.Algorithms; @@ -425,6 +426,16 @@ public class SRTMPlugin extends OsmandPlugin { return null; } + @Override + public Class getSettingsFragment() { + return null; + } + + @Override + public String getPrefsDescription() { + return null; + } + public static void refreshMapComplete(final MapActivity activity) { activity.getMyApplication().getResourceManager().getRenderer().clearCache(); activity.updateMapSettings(); From 3444eaeda8afca988e49d27ca3bb2477622c837d Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Tue, 14 Jan 2020 18:53:14 +0200 Subject: [PATCH 03/59] Add accessibility preferences screen --- OsmAnd/res/layout/preference_button.xml | 1 - OsmAnd/res/layout/preference_radio_button.xml | 1 - .../layout/preference_switch_with_descr.xml | 1 - OsmAnd/res/layout/preference_with_descr.xml | 1 - ...reference_with_descr_dialog_and_switch.xml | 2 +- OsmAnd/res/layout/profile_edit_list_item.xml | 1 - OsmAnd/res/values/strings.xml | 2 + OsmAnd/res/xml/accessibility_settings.xml | 103 +++++++++++ OsmAnd/res/xml/osm_editing.xml | 4 +- .../osmand/access/AccessibilityPlugin.java | 3 +- .../net/osmand/plus/OsmandApplication.java | 10 +- .../src/net/osmand/plus/OsmandSettings.java | 18 +- .../AccessibilitySettingsFragment.java | 163 ++++++++++++++++++ .../plus/settings/BaseSettingsFragment.java | 1 + .../plus/settings/OsmEditingFragment.java | 10 +- .../bottomsheets/OsmLoginDataBottomSheet.java | 12 +- 16 files changed, 308 insertions(+), 25 deletions(-) create mode 100644 OsmAnd/res/xml/accessibility_settings.xml create mode 100644 OsmAnd/src/net/osmand/plus/settings/AccessibilitySettingsFragment.java diff --git a/OsmAnd/res/layout/preference_button.xml b/OsmAnd/res/layout/preference_button.xml index 5c08af4f86..948c7daaee 100644 --- a/OsmAnd/res/layout/preference_button.xml +++ b/OsmAnd/res/layout/preference_button.xml @@ -48,7 +48,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" - android:fadingEdge="horizontal" android:singleLine="true" android:textColor="?colorAccent" android:textSize="@dimen/default_list_text_size" diff --git a/OsmAnd/res/layout/preference_radio_button.xml b/OsmAnd/res/layout/preference_radio_button.xml index f512a7b2ef..db80396b11 100644 --- a/OsmAnd/res/layout/preference_radio_button.xml +++ b/OsmAnd/res/layout/preference_radio_button.xml @@ -41,7 +41,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" - android:fadingEdge="horizontal" android:singleLine="true" android:textColor="?android:textColorPrimary" android:textSize="@dimen/default_list_text_size" diff --git a/OsmAnd/res/layout/preference_switch_with_descr.xml b/OsmAnd/res/layout/preference_switch_with_descr.xml index d87f77d2bc..5818638e11 100644 --- a/OsmAnd/res/layout/preference_switch_with_descr.xml +++ b/OsmAnd/res/layout/preference_switch_with_descr.xml @@ -38,7 +38,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" - android:fadingEdge="horizontal" android:singleLine="true" android:textColor="?android:textColorPrimary" android:textSize="@dimen/default_list_text_size" diff --git a/OsmAnd/res/layout/preference_with_descr.xml b/OsmAnd/res/layout/preference_with_descr.xml index f8ac00eb23..f9e01e34a9 100644 --- a/OsmAnd/res/layout/preference_with_descr.xml +++ b/OsmAnd/res/layout/preference_with_descr.xml @@ -48,7 +48,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" - android:fadingEdge="horizontal" android:singleLine="true" android:textColor="?android:textColorPrimary" android:textSize="@dimen/default_list_text_size" diff --git a/OsmAnd/res/layout/preference_with_descr_dialog_and_switch.xml b/OsmAnd/res/layout/preference_with_descr_dialog_and_switch.xml index 9ee9933fe4..9503b17288 100644 --- a/OsmAnd/res/layout/preference_with_descr_dialog_and_switch.xml +++ b/OsmAnd/res/layout/preference_with_descr_dialog_and_switch.xml @@ -38,7 +38,7 @@ android:layout_height="wrap_content" android:ellipsize="marquee" android:fadingEdge="horizontal" - android:singleLine="true" + android:maxLines="2" android:textColor="?android:textColorPrimary" android:textSize="@dimen/default_list_text_size" osmand:typeface="@string/font_roboto_regular" /> diff --git a/OsmAnd/res/layout/profile_edit_list_item.xml b/OsmAnd/res/layout/profile_edit_list_item.xml index 180ebbad6f..51f763ee1a 100644 --- a/OsmAnd/res/layout/profile_edit_list_item.xml +++ b/OsmAnd/res/layout/profile_edit_list_item.xml @@ -53,7 +53,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" - android:fadingEdge="horizontal" android:singleLine="true" android:textColor="?android:textColorPrimary" android:textSize="@dimen/default_list_text_size" diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index c0e6c0d57e..b0c49508ad 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,8 @@ Thx - Hardy --> + Route recalculation + Announce Username and password This plugin settings are global, and apply to all profiles. OpenStreetMap Editing diff --git a/OsmAnd/res/xml/accessibility_settings.xml b/OsmAnd/res/xml/accessibility_settings.xml new file mode 100644 index 0000000000..c11ba73e18 --- /dev/null +++ b/OsmAnd/res/xml/accessibility_settings.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/xml/osm_editing.xml b/OsmAnd/res/xml/osm_editing.xml index d34e6483dd..369b05b2cf 100644 --- a/OsmAnd/res/xml/osm_editing.xml +++ b/OsmAnd/res/xml/osm_editing.xml @@ -24,8 +24,8 @@ android:icon="@drawable/ic_action_offline" android:key="offline_osm_editing" android:layout="@layout/preference_with_descr_dialog_and_switch" - android:summaryOff="@string/shared_string_off" - android:summaryOn="@string/shared_string_on" + android:summaryOff="@string/shared_string_disabled" + android:summaryOn="@string/shared_string_enabled" android:title="@string/offline_edition" /> getSettingsFragment() { - return null; + return AccessibilitySettingsFragment.class; } @Override diff --git a/OsmAnd/src/net/osmand/plus/OsmandApplication.java b/OsmAnd/src/net/osmand/plus/OsmandApplication.java index 0fdffdf8cb..cd2ce9e711 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandApplication.java +++ b/OsmAnd/src/net/osmand/plus/OsmandApplication.java @@ -871,10 +871,14 @@ public class OsmandApplication extends MultiDexApplication { public OsmandRegions getRegions() { return regions; } - + public boolean accessibilityEnabled() { - final AccessibilityMode mode = getSettings().ACCESSIBILITY_MODE.get(); - if(OsmandPlugin.getEnabledPlugin(AccessibilityPlugin.class) == null) { + return accessibilityEnabledForMode(getSettings().APPLICATION_MODE.get()); + } + + public boolean accessibilityEnabledForMode(ApplicationMode appMode) { + final AccessibilityMode mode = getSettings().ACCESSIBILITY_MODE.getModeValue(appMode); + if (OsmandPlugin.getEnabledPlugin(AccessibilityPlugin.class) == null) { return false; } if (mode == AccessibilityMode.ON) { diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 7af035b217..cec5ba509a 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -1374,16 +1374,16 @@ public class OsmandSettings { // this value string is synchronized with settings_pref.xml preference name // cache of metrics constants as they are used very often public final OsmandPreference DIRECTION_STYLE = new EnumIntPreference( - "direction_style", RelativeDirectionStyle.SIDEWISE, RelativeDirectionStyle.values()).makeGlobal().cache(); + "direction_style", RelativeDirectionStyle.SIDEWISE, RelativeDirectionStyle.values()).makeProfile().cache(); // this value string is synchronized with settings_pref.xml preference name // cache of metrics constants as they are used very often public final OsmandPreference ACCESSIBILITY_MODE = new EnumIntPreference( - "accessibility_mode", AccessibilityMode.DEFAULT, AccessibilityMode.values()).makeGlobal().cache(); + "accessibility_mode", AccessibilityMode.DEFAULT, AccessibilityMode.values()).makeProfile().cache(); // this value string is synchronized with settings_pref.xml preference name public final OsmandPreference SPEECH_RATE = - new FloatPreference("speech_rate", 1f).makeGlobal(); + new FloatPreference("speech_rate", 1f).makeProfile(); public final OsmandPreference ARRIVAL_DISTANCE_FACTOR = new FloatPreference("arrival_distance_factor", 1f).makeProfile(); @@ -1409,27 +1409,27 @@ public class OsmandSettings { // this value string is synchronized with settings_pref.xml preference name public final OsmandPreference ACCESSIBILITY_SMART_AUTOANNOUNCE = - new BooleanAccessibilityPreference("accessibility_smart_autoannounce", true).makeGlobal(); + new BooleanAccessibilityPreference("accessibility_smart_autoannounce", true).makeProfile(); // this value string is synchronized with settings_pref.xml preference name // cache of metrics constants as they are used very often - public final OsmandPreference ACCESSIBILITY_AUTOANNOUNCE_PERIOD = new IntPreference("accessibility_autoannounce_period", 10000).makeGlobal().cache(); + public final OsmandPreference ACCESSIBILITY_AUTOANNOUNCE_PERIOD = new IntPreference("accessibility_autoannounce_period", 10000).makeProfile().cache(); // this value string is synchronized with settings_pref.xml preference name public final OsmandPreference DISABLE_OFFROUTE_RECALC = - new BooleanAccessibilityPreference("disable_offroute_recalc", false).makeGlobal(); + new BooleanAccessibilityPreference("disable_offroute_recalc", false).makeProfile(); // this value string is synchronized with settings_pref.xml preference name public final OsmandPreference DISABLE_WRONG_DIRECTION_RECALC = - new BooleanAccessibilityPreference("disable_wrong_direction_recalc", false).makeGlobal(); + new BooleanAccessibilityPreference("disable_wrong_direction_recalc", false).makeProfile(); // this value string is synchronized with settings_pref.xml preference name public final OsmandPreference DIRECTION_AUDIO_FEEDBACK = - new BooleanAccessibilityPreference("direction_audio_feedback", false).makeGlobal(); + new BooleanAccessibilityPreference("direction_audio_feedback", false).makeProfile(); // this value string is synchronized with settings_pref.xml preference name public final OsmandPreference DIRECTION_HAPTIC_FEEDBACK = - new BooleanAccessibilityPreference("direction_haptic_feedback", false).makeGlobal(); + new BooleanAccessibilityPreference("direction_haptic_feedback", false).makeProfile(); // magnetic field doesn'torkmost of the time on some phones public final OsmandPreference USE_MAGNETIC_FIELD_SENSOR_COMPASS = new BooleanPreference("use_magnetic_field_sensor_compass", false).makeProfile().cache(); diff --git a/OsmAnd/src/net/osmand/plus/settings/AccessibilitySettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/AccessibilitySettingsFragment.java new file mode 100644 index 0000000000..1f7fc0c048 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/settings/AccessibilitySettingsFragment.java @@ -0,0 +1,163 @@ +package net.osmand.plus.settings; + +import android.support.v7.preference.Preference; +import android.support.v7.preference.PreferenceScreen; + +import net.osmand.plus.R; +import net.osmand.plus.access.AccessibilityMode; +import net.osmand.plus.access.RelativeDirectionStyle; +import net.osmand.plus.settings.preferences.ListPreferenceEx; +import net.osmand.plus.settings.preferences.SwitchPreferenceEx; + +public class AccessibilitySettingsFragment extends BaseSettingsFragment implements OnPreferenceChanged { + + private static final String COPY_PLUGIN_SETTINGS = "copy_plugin_settings"; + private static final String RESET_TO_DEFAULT = "reset_to_default"; + + @Override + protected void setupPreferences() { + setupAccessibilityModePref(); + setupSpeechRatePref(); + + setupSmartAutoAnnouncePref(); + setupAutoAnnouncePeriodPref(); + + setupDisableOffRouteRecalculationPref(); + setupDisableWrongDirectionRecalculationPref(); + + setupDirectionStylePref(); + setupDirectionAudioFeedbackPref(); + setupDirectionHapticFeedbackPref(); + + setupCopyProfileSettingsPref(); + setupResetToDefaultPref(); + + updateAccessibilityOptions(); + } + + private void setupAccessibilityModePref() { + AccessibilityMode[] accessibilityModes = AccessibilityMode.values(); + String[] entries = new String[accessibilityModes.length]; + Integer[] entryValues = new Integer[accessibilityModes.length]; + + for (int i = 0; i < entries.length; i++) { + entries[i] = accessibilityModes[i].toHumanString(app); + entryValues[i] = accessibilityModes[i].ordinal(); + } + + ListPreferenceEx accessibilityMode = (ListPreferenceEx) findPreference(settings.ACCESSIBILITY_MODE.getId()); + accessibilityMode.setEntries(entries); + accessibilityMode.setEntryValues(entryValues); + accessibilityMode.setDescription(R.string.accessibility_mode_descr); + } + + private void setupSpeechRatePref() { + Float[] entryValues = new Float[] {0.5f, 0.75f, 1f, 1.25f, 1.5f, 2f}; + String[] entries = new String[entryValues.length]; + + for (int i = 0; i < entries.length; i++) { + entries[i] = (int) (entryValues[i] * 100) + " %"; + } + + ListPreferenceEx speechRate = (ListPreferenceEx) findPreference(settings.SPEECH_RATE.getId()); + speechRate.setEntries(entries); + speechRate.setEntryValues(entryValues); + speechRate.setIcon(getContentIcon(R.drawable.ic_world_globe_dark)); + speechRate.setDescription(R.string.speech_rate_descr); + } + + private void setupSmartAutoAnnouncePref() { + SwitchPreferenceEx smartAutoAnnounce = (SwitchPreferenceEx) findPreference(settings.ACCESSIBILITY_SMART_AUTOANNOUNCE.getId()); + smartAutoAnnounce.setDescription(getString(R.string.access_smart_autoannounce_descr)); + } + + private void setupAutoAnnouncePeriodPref() { + int[] seconds = new int[] {5, 10, 15, 20, 30, 45, 60, 90}; + int[] minutes = new int[] {2, 3, 5}; + + Integer[] entryValues = new Integer[seconds.length + minutes.length]; + String[] entries = new String[entryValues.length]; + int k = 0; + for (int second : seconds) { + entryValues[k] = second * 1000; + entries[k] = second + " " + getString(R.string.int_seconds); + k++; + } + for (int minute : minutes) { + entryValues[k] = (minute * 60) * 1000; + entries[k] = minute + " " + getString(R.string.int_min); + k++; + } + + ListPreferenceEx autoAnnouncePeriod = (ListPreferenceEx) findPreference(settings.ACCESSIBILITY_AUTOANNOUNCE_PERIOD.getId()); + autoAnnouncePeriod.setEntries(entries); + autoAnnouncePeriod.setEntryValues(entryValues); + autoAnnouncePeriod.setDescription(R.string.access_autoannounce_period_descr); + } + + private void setupDisableOffRouteRecalculationPref() { + SwitchPreferenceEx disableOffRouteRecalculation = (SwitchPreferenceEx) findPreference(settings.DISABLE_OFFROUTE_RECALC.getId()); + disableOffRouteRecalculation.setDescription(getString(R.string.access_disable_offroute_recalc_descr)); + } + + private void setupDisableWrongDirectionRecalculationPref() { + SwitchPreferenceEx disableWrongDirectionRecalculation = (SwitchPreferenceEx) findPreference(settings.DISABLE_WRONG_DIRECTION_RECALC.getId()); + disableWrongDirectionRecalculation.setDescription(getString(R.string.access_disable_wrong_direction_recalc_descr)); + } + + private void setupDirectionStylePref() { + RelativeDirectionStyle[] relativeDirectionStyles = RelativeDirectionStyle.values(); + String[] entries = new String[relativeDirectionStyles.length]; + Integer[] entryValues = new Integer[relativeDirectionStyles.length]; + + for (int i = 0; i < entries.length; i++) { + entries[i] = relativeDirectionStyles[i].toHumanString(app); + entryValues[i] = relativeDirectionStyles[i].ordinal(); + } + + ListPreferenceEx directionStyle = (ListPreferenceEx) findPreference(settings.DIRECTION_STYLE.getId()); + directionStyle.setEntries(entries); + directionStyle.setEntryValues(entryValues); + directionStyle.setDescription(R.string.settings_direction_style_descr); + } + + private void setupDirectionAudioFeedbackPref() { + SwitchPreferenceEx directionAudioFeedback = (SwitchPreferenceEx) findPreference(settings.DIRECTION_AUDIO_FEEDBACK.getId()); + directionAudioFeedback.setDescription(getString(R.string.access_direction_audio_feedback_descr)); + } + + private void setupDirectionHapticFeedbackPref() { + SwitchPreferenceEx directionHapticFeedback = (SwitchPreferenceEx) findPreference(settings.DIRECTION_HAPTIC_FEEDBACK.getId()); + directionHapticFeedback.setDescription(getString(R.string.access_direction_haptic_feedback_descr)); + } + + private void setupCopyProfileSettingsPref() { + Preference copyProfilePrefs = findPreference(COPY_PLUGIN_SETTINGS); + copyProfilePrefs.setIcon(getActiveIcon(R.drawable.ic_action_copy)); + } + + private void setupResetToDefaultPref() { + Preference resetToDefault = findPreference(RESET_TO_DEFAULT); + resetToDefault.setIcon(getActiveIcon(R.drawable.ic_action_reset_to_default_dark)); + } + + @Override + public void onPreferenceChanged(String prefId) { + if (settings.ACCESSIBILITY_MODE.getId().equals(prefId)) { + updateAccessibilityOptions(); + } + } + + private void updateAccessibilityOptions() { + boolean accessibilityEnabled = app.accessibilityEnabledForMode(getSelectedAppMode()); + PreferenceScreen screen = getPreferenceScreen(); + if (screen != null) { + for (int i = 0; i < screen.getPreferenceCount(); i++) { + Preference preference = screen.getPreference(i); + String prefId = preference.getKey(); + if (!settings.ACCESSIBILITY_MODE.getId().equals(prefId) && !settings.SPEECH_RATE.getId().equals(prefId)) + preference.setEnabled(accessibilityEnabled); + } + } + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java index 74bd76ba79..b9c1bfc48c 100644 --- a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java @@ -95,6 +95,7 @@ public abstract class BaseSettingsFragment extends PreferenceFragmentCompat impl ROUTE_PARAMETERS(RouteParametersFragment.class.getName(), true, R.xml.route_parameters, R.layout.profile_preference_toolbar), SCREEN_ALERTS(ScreenAlertsFragment.class.getName(), true, R.xml.screen_alerts, R.layout.profile_preference_toolbar_with_switch), VOICE_ANNOUNCES(VoiceAnnouncesFragment.class.getName(), true, R.xml.voice_announces, R.layout.profile_preference_toolbar_with_switch), + ACCESSIBILITY_SETTINGS(AccessibilitySettingsFragment.class.getName(), true, R.xml.accessibility_settings, R.layout.profile_preference_toolbar_big), VEHICLE_PARAMETERS(VehicleParametersFragment.class.getName(), true, R.xml.vehicle_parameters, R.layout.profile_preference_toolbar), MAP_DURING_NAVIGATION(MapDuringNavigationFragment.class.getName(), true, R.xml.map_during_navigation, R.layout.profile_preference_toolbar), TURN_SCREEN_ON(TurnScreenOnFragment.class.getName(), true, R.xml.turn_screen_on, R.layout.profile_preference_toolbar_with_switch), diff --git a/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java b/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java index 981e23f0d1..f4b3962ec3 100644 --- a/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java @@ -13,7 +13,7 @@ import net.osmand.plus.helpers.AndroidUiHelper; import net.osmand.plus.settings.bottomsheets.OsmLoginDataBottomSheet; import net.osmand.plus.settings.preferences.SwitchPreferenceEx; -public class OsmEditingFragment extends BaseSettingsFragment { +public class OsmEditingFragment extends BaseSettingsFragment implements OnPreferenceChanged { private static final String OPEN_OSM_EDITS = "open_osm_edits"; private static final String OSM_LOGIN_DATA = "osm_login_data"; @@ -77,4 +77,12 @@ public class OsmEditingFragment extends BaseSettingsFragment { } return super.onPreferenceClick(preference); } + + @Override + public void onPreferenceChanged(String prefId) { + if (OSM_LOGIN_DATA.equals(prefId)) { + Preference nameAndPasswordPref = findPreference(OSM_LOGIN_DATA); + nameAndPasswordPref.setSummary(settings.USER_NAME.get()); + } + } } \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java b/OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java index 7735f56d48..8865458e85 100644 --- a/OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/settings/bottomsheets/OsmLoginDataBottomSheet.java @@ -18,6 +18,7 @@ import net.osmand.plus.UiUtilities; import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem; import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem; import net.osmand.plus.osmedit.SettingsOsmEditingActivity; +import net.osmand.plus.settings.OnPreferenceChanged; public class OsmLoginDataBottomSheet extends BasePreferenceBottomSheet { @@ -32,8 +33,7 @@ public class OsmLoginDataBottomSheet extends BasePreferenceBottomSheet { @Override public void createMenuItems(Bundle savedInstanceState) { Context context = getContext(); - Preference editTextPreference = getPreference(); - if (context == null || editTextPreference == null) { + if (context == null) { return; } OsmandApplication app = requiredMyApplication(); @@ -83,7 +83,13 @@ public class OsmLoginDataBottomSheet extends BasePreferenceBottomSheet { app.getSettings().USER_NAME.set(userNameEditText.getText().toString()); app.getSettings().USER_PASSWORD.set(passwordEditText.getText().toString()); - new SettingsOsmEditingActivity.ValidateOsmLoginDetailsTask(getActivity()).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + new SettingsOsmEditingActivity.ValidateOsmLoginDetailsTask(app).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + + Fragment target = getTargetFragment(); + Preference preference = getPreference(); + if (target instanceof OnPreferenceChanged && preference != null) { + ((OnPreferenceChanged) target).onPreferenceChanged(preference.getKey()); + } dismiss(); } From 19c369a7195fc032f230c20f973eee8007137b23 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Wed, 15 Jan 2020 12:02:09 +0200 Subject: [PATCH 04/59] Fix accessibility preferences dependency on app modes --- .../src/net/osmand/plus/OsmandSettings.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index c61b95ba30..d7f69430a5 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -833,17 +833,23 @@ public class OsmandSettings { } @Override - protected Boolean getValue(Object prefs, Boolean defaultValue) { - return ctx.accessibilityEnabled() ? - super.getValue(prefs, defaultValue) : - defaultValue; + public Boolean get() { + return ctx.accessibilityEnabled() ? super.get() : getDefaultValue(); } @Override - protected boolean setValue(Object prefs, Boolean val) { - return ctx.accessibilityEnabled() ? - super.setValue(prefs, val) : - false; + public Boolean getModeValue(ApplicationMode mode) { + return ctx.accessibilityEnabledForMode(mode) ? super.getModeValue(mode) : getDefaultValue(); + } + + @Override + public boolean set(Boolean obj) { + return ctx.accessibilityEnabled() && super.set(obj); + } + + @Override + public boolean setModeValue(ApplicationMode mode, Boolean obj) { + return ctx.accessibilityEnabledForMode(mode) && super.setModeValue(mode, obj); } } From 0f9ad9502b70e28f0e05524c2a562f03d3aadaab Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Wed, 15 Jan 2020 12:18:41 +0200 Subject: [PATCH 05/59] Remove last preference in raster maps plugin --- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 3 --- .../src/net/osmand/plus/mapillary/MapillaryVectorLayer.java | 4 ++-- .../osmand/plus/rastermaps/SettingsRasterMapsActivity.java | 4 +--- OsmAnd/src/net/osmand/plus/views/MapTileLayer.java | 4 ++-- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index d7f69430a5..b613bd6da4 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -1185,9 +1185,6 @@ public class OsmandSettings { public final CommonPreference NUMBER_OF_STARTS_FIRST_XMAS_SHOWN = new IntPreference("number_of_starts_first_xmas_shown", 0).makeGlobal(); - // this value string is synchronized with settings_pref.xml preference name - public final CommonPreference USE_INTERNET_TO_DOWNLOAD_TILES = new BooleanPreference("use_internet_to_download_tiles", true).makeGlobal().cache(); - public final OsmandPreference AVAILABLE_APP_MODES = new StringPreference("available_application_modes", "car,bicycle,pedestrian,public_transport,").makeGlobal().cache(); public final OsmandPreference LAST_FAV_CATEGORY_ENTERED = new StringPreference("last_fav_category", "").makeGlobal(); diff --git a/OsmAnd/src/net/osmand/plus/mapillary/MapillaryVectorLayer.java b/OsmAnd/src/net/osmand/plus/mapillary/MapillaryVectorLayer.java index 8d59b2355e..3288b43b82 100644 --- a/OsmAnd/src/net/osmand/plus/mapillary/MapillaryVectorLayer.java +++ b/OsmAnd/src/net/osmand/plus/mapillary/MapillaryVectorLayer.java @@ -127,8 +127,8 @@ class MapillaryVectorLayer extends MapTileLayer implements MapillaryLayer, ICont int dzoom = nzoom - TILE_ZOOM; int div = (int) Math.pow(2.0, dzoom); - boolean useInternet = (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null || OsmandPlugin.getEnabledPlugin(MapillaryPlugin.class) != null) && - settings.USE_INTERNET_TO_DOWNLOAD_TILES.get() && settings.isInternetConnectionAvailable() && map.couldBeDownloadedFromInternet(); + boolean useInternet = (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null || OsmandPlugin.getEnabledPlugin(MapillaryPlugin.class) != null) + && settings.isInternetConnectionAvailable() && map.couldBeDownloadedFromInternet(); Map tiles = new HashMap<>(); Map visiblePoints = new HashMap<>(); diff --git a/OsmAnd/src/net/osmand/plus/rastermaps/SettingsRasterMapsActivity.java b/OsmAnd/src/net/osmand/plus/rastermaps/SettingsRasterMapsActivity.java index 27a2dce0d5..617e370910 100644 --- a/OsmAnd/src/net/osmand/plus/rastermaps/SettingsRasterMapsActivity.java +++ b/OsmAnd/src/net/osmand/plus/rastermaps/SettingsRasterMapsActivity.java @@ -42,9 +42,7 @@ public class SettingsRasterMapsActivity extends SettingsBaseActivity { // present on configure map // addTileSourcePrefs(listener, cat); - cat.addPreference(createCheckBoxPreference(settings.USE_INTERNET_TO_DOWNLOAD_TILES, - R.string.use_internet, R.string.use_internet_to_download_tile)); - + // int startZoom = 1; // int endZoom = 18; // String[] entries = new String[endZoom - startZoom + 1]; diff --git a/OsmAnd/src/net/osmand/plus/views/MapTileLayer.java b/OsmAnd/src/net/osmand/plus/views/MapTileLayer.java index 5154fe57e3..bd80c95f23 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapTileLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapTileLayer.java @@ -154,8 +154,8 @@ public class MapTileLayer extends BaseMapLayer { int width = (int) Math.ceil(tilesRect.right - left); int height = (int) Math.ceil(tilesRect.bottom + ellipticTileCorrection - top); - boolean useInternet = (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null || OsmandPlugin.getEnabledPlugin(MapillaryPlugin.class) != null) && - settings.USE_INTERNET_TO_DOWNLOAD_TILES.get() && settings.isInternetConnectionAvailable() && map.couldBeDownloadedFromInternet(); + boolean useInternet = (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null || OsmandPlugin.getEnabledPlugin(MapillaryPlugin.class) != null) + && settings.isInternetConnectionAvailable() && map.couldBeDownloadedFromInternet(); int maxLevel = map.getMaximumZoomSupported(); int tileSize = map.getTileSize(); boolean oneTileShown = false; From d246bb6adf3f320ab866c95bdd5f6a8cba13722a Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Thu, 16 Jan 2020 12:59:44 +0200 Subject: [PATCH 06/59] Add multimedia notes preferences screen --- OsmAnd/res/values/strings.xml | 4 + OsmAnd/res/xml/multimedia_notes.xml | 146 +++++++ .../audionotes/AudioVideoNotesPlugin.java | 31 +- .../plus/settings/BaseSettingsFragment.java | 1 + .../settings/MultimediaNotesFragment.java | 368 ++++++++++++++++++ 5 files changed, 535 insertions(+), 15 deletions(-) create mode 100644 OsmAnd/res/xml/multimedia_notes.xml create mode 100644 OsmAnd/src/net/osmand/plus/settings/MultimediaNotesFragment.java diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index b0c49508ad..a324d3d997 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,10 @@ Thx - Hardy --> + You can find all your notes in Menu — My places — Notes + Audio notes + Video notes + Photo notes Route recalculation Announce Username and password diff --git a/OsmAnd/res/xml/multimedia_notes.xml b/OsmAnd/res/xml/multimedia_notes.xml new file mode 100644 index 0000000000..e246516368 --- /dev/null +++ b/OsmAnd/res/xml/multimedia_notes.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index ddc76b730e..fc71413639 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -64,6 +64,7 @@ import net.osmand.plus.helpers.AndroidUiHelper; import net.osmand.plus.mapcontextmenu.MapContextMenu; import net.osmand.plus.monitoring.OsmandMonitoringPlugin; import net.osmand.plus.myplaces.FavoritesActivity; +import net.osmand.plus.settings.MultimediaNotesFragment; import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapTileView; @@ -539,25 +540,25 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { this.app = app; OsmandSettings settings = app.getSettings(); ApplicationMode.regWidgetVisibility("audionotes", (ApplicationMode[]) null); - AV_EXTERNAL_RECORDER = settings.registerBooleanPreference("av_external_recorder", false).makeGlobal(); - AV_EXTERNAL_PHOTO_CAM = settings.registerBooleanPreference("av_external_cam", true).makeGlobal(); - AV_VIDEO_FORMAT = settings.registerIntPreference("av_video_format", VIDEO_OUTPUT_MP4).makeGlobal(); - AV_VIDEO_QUALITY = settings.registerIntPreference("av_video_quality", VIDEO_QUALITY_DEFAULT).makeGlobal(); - AV_AUDIO_FORMAT = settings.registerIntPreference("av_audio_format", AUDIO_FORMAT_DEFAULT).makeGlobal(); - AV_AUDIO_BITRATE = settings.registerIntPreference("av_audio_bitrate", AUDIO_BITRATE_DEFAULT).makeGlobal(); - AV_DEFAULT_ACTION = settings.registerIntPreference("av_default_action", AV_DEFAULT_ACTION_CHOOSE).makeGlobal(); + AV_EXTERNAL_RECORDER = settings.registerBooleanPreference("av_external_recorder", false); + AV_EXTERNAL_PHOTO_CAM = settings.registerBooleanPreference("av_external_cam", true); + AV_VIDEO_FORMAT = settings.registerIntPreference("av_video_format", VIDEO_OUTPUT_MP4); + AV_VIDEO_QUALITY = settings.registerIntPreference("av_video_quality", VIDEO_QUALITY_DEFAULT); + AV_AUDIO_FORMAT = settings.registerIntPreference("av_audio_format", AUDIO_FORMAT_DEFAULT); + AV_AUDIO_BITRATE = settings.registerIntPreference("av_audio_bitrate", AUDIO_BITRATE_DEFAULT); + AV_DEFAULT_ACTION = settings.registerIntPreference("av_default_action", AV_DEFAULT_ACTION_CHOOSE); // camera picture size: - AV_CAMERA_PICTURE_SIZE = settings.registerIntPreference("av_camera_picture_size", AV_PHOTO_SIZE_DEFAULT).makeGlobal(); + AV_CAMERA_PICTURE_SIZE = settings.registerIntPreference("av_camera_picture_size", AV_PHOTO_SIZE_DEFAULT); // camera focus type: - AV_CAMERA_FOCUS_TYPE = settings.registerIntPreference("av_camera_focus_type", AV_CAMERA_FOCUS_AUTO).makeGlobal(); + AV_CAMERA_FOCUS_TYPE = settings.registerIntPreference("av_camera_focus_type", AV_CAMERA_FOCUS_AUTO); // camera sound: - AV_PHOTO_PLAY_SOUND = settings.registerBooleanPreference("av_photo_play_sound", true).makeGlobal(); + AV_PHOTO_PLAY_SOUND = settings.registerBooleanPreference("av_photo_play_sound", true); - SHOW_RECORDINGS = settings.registerBooleanPreference("show_recordings", true).makeGlobal(); + SHOW_RECORDINGS = settings.registerBooleanPreference("show_recordings", true); - AV_RECORDER_SPLIT = settings.registerBooleanPreference("av_recorder_split", false).makeGlobal(); - AV_RS_CLIP_LENGTH = settings.registerIntPreference("av_rs_clip_length", CLIP_LENGTH_DEFAULT).makeGlobal(); - AV_RS_STORAGE_SIZE = settings.registerIntPreference("av_rs_storage_size", STORAGE_SIZE_DEFAULT).makeGlobal(); + AV_RECORDER_SPLIT = settings.registerBooleanPreference("av_recorder_split", false); + AV_RS_CLIP_LENGTH = settings.registerIntPreference("av_rs_clip_length", CLIP_LENGTH_DEFAULT); + AV_RS_STORAGE_SIZE = settings.registerIntPreference("av_rs_storage_size", STORAGE_SIZE_DEFAULT); } @Override @@ -1791,7 +1792,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { @Override public Class getSettingsFragment() { - return null; + return MultimediaNotesFragment.class; } @Override diff --git a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java index b9c1bfc48c..5b7158a6f0 100644 --- a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java @@ -96,6 +96,7 @@ public abstract class BaseSettingsFragment extends PreferenceFragmentCompat impl SCREEN_ALERTS(ScreenAlertsFragment.class.getName(), true, R.xml.screen_alerts, R.layout.profile_preference_toolbar_with_switch), VOICE_ANNOUNCES(VoiceAnnouncesFragment.class.getName(), true, R.xml.voice_announces, R.layout.profile_preference_toolbar_with_switch), ACCESSIBILITY_SETTINGS(AccessibilitySettingsFragment.class.getName(), true, R.xml.accessibility_settings, R.layout.profile_preference_toolbar_big), + MULTIMEDIA_NOTES(MultimediaNotesFragment.class.getName(), true, R.xml.multimedia_notes, R.layout.profile_preference_toolbar_big), VEHICLE_PARAMETERS(VehicleParametersFragment.class.getName(), true, R.xml.vehicle_parameters, R.layout.profile_preference_toolbar), MAP_DURING_NAVIGATION(MapDuringNavigationFragment.class.getName(), true, R.xml.map_during_navigation, R.layout.profile_preference_toolbar), TURN_SCREEN_ON(TurnScreenOnFragment.class.getName(), true, R.xml.turn_screen_on, R.layout.profile_preference_toolbar_with_switch), diff --git a/OsmAnd/src/net/osmand/plus/settings/MultimediaNotesFragment.java b/OsmAnd/src/net/osmand/plus/settings/MultimediaNotesFragment.java new file mode 100644 index 0000000000..d0bbb9bf2a --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/settings/MultimediaNotesFragment.java @@ -0,0 +1,368 @@ +package net.osmand.plus.settings; + +import android.content.Intent; +import android.hardware.Camera; +import android.media.CamcorderProfile; +import android.media.MediaRecorder; +import android.os.Build; +import android.os.StatFs; +import android.support.v7.preference.Preference; + +import net.osmand.PlatformUtil; +import net.osmand.plus.OsmAndAppCustomization; +import net.osmand.plus.OsmandPlugin; +import net.osmand.plus.R; +import net.osmand.plus.audionotes.AudioVideoNotesPlugin; +import net.osmand.plus.settings.preferences.ListPreferenceEx; +import net.osmand.plus.settings.preferences.SwitchPreferenceEx; + +import org.apache.commons.logging.Log; + +import java.io.File; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AUDIO_BITRATE_DEFAULT; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_AUTO; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_CONTINUOUS; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_EDOF; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_HIPERFOCAL; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_INFINITY; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.AV_CAMERA_FOCUS_MACRO; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.NOTES_TAB; +import static net.osmand.plus.audionotes.AudioVideoNotesPlugin.cameraPictureSizeDefault; + +public class MultimediaNotesFragment extends BaseSettingsFragment { + + private static final Log log = PlatformUtil.getLog(MultimediaNotesFragment.class); + + private static final String COPY_PLUGIN_SETTINGS = "copy_plugin_settings"; + private static final String RESET_TO_DEFAULT = "reset_to_default"; + private static final String OPEN_NOTES = "open_notes"; + + @Override + protected void setupPreferences() { + AudioVideoNotesPlugin plugin = OsmandPlugin.getPlugin(AudioVideoNotesPlugin.class); + + if (plugin != null) { + + Camera cam = openCamera(); + if (cam != null) { + setupExternalPhotoCamPref(plugin); + setupCameraPictureSizePref(cam, plugin); + setupCameraFocusTypePref(cam, plugin); + setupPhotoPlaySoundPref(plugin); + cam.release(); + } + + setupAudioFormatPref(plugin); + setupAudioBitratePref(plugin); + + setupExternalRecorderPref(plugin); + setupVideoQualityPref(plugin); + + setupRecorderSplitPref(plugin); + setupClipLengthPref(plugin); + setupStorageSizePref(plugin); + + setupOpenNotesDescrPref(); + setupOpenNotesPref(); + + setupCopyProfileSettingsPref(); + setupResetToDefaultPref(); + } + } + + private void setupExternalPhotoCamPref(AudioVideoNotesPlugin plugin) { + SwitchPreferenceEx externalPhotoCam = (SwitchPreferenceEx) findPreference(plugin.AV_EXTERNAL_PHOTO_CAM.getId()); + externalPhotoCam.setDescription(getString(R.string.av_use_external_camera_descr)); + externalPhotoCam.setIcon(getActiveIcon(R.drawable.ic_action_photo_dark)); + } + + private void setupCameraPictureSizePref(Camera cam, AudioVideoNotesPlugin plugin) { + Camera.Parameters parameters = cam.getParameters(); + + // Photo picture size + // get supported sizes + List psps = parameters.getSupportedPictureSizes(); + // list of megapixels of each resolution + List mpix = new ArrayList(); + // list of index each resolution in list, returned by getSupportedPictureSizes() + List picSizesValues = new ArrayList(); + // fill lists for sort + for (int index = 0; index < psps.size(); index++) { + mpix.add((psps.get(index)).width * (psps.get(index)).height); + picSizesValues.add(index); + } + // sort list for max resolution in begining of list + for (int i = 0; i < mpix.size(); i++) { + for (int j = 0; j < mpix.size() - i - 1; j++) { + if (mpix.get(j) < mpix.get(j + 1)) { + // change elements + int tmp = mpix.get(j + 1); + mpix.set(j + 1, mpix.get(j)); + mpix.set(j, tmp); + + tmp = picSizesValues.get(j + 1); + picSizesValues.set(j + 1, picSizesValues.get(j)); + picSizesValues.set(j, tmp); + } + } + } + // set default photo size to max resolution (set index of element with max resolution in List, returned by getSupportedPictureSizes() ) + cameraPictureSizeDefault = picSizesValues.get(0); + log.debug("onCreate() set cameraPictureSizeDefault=" + cameraPictureSizeDefault); + + List itemsPicSizes = new ArrayList(); + String prefix; + for (int index = 0; index < psps.size(); index++) { + float px = (float) ((psps.get(picSizesValues.get(index))).width * (psps.get(picSizesValues.get(index))).height); + if (px > 102400) { // 100 K + px = px / 1048576; + prefix = "Mpx"; + } else { + px = px / 1024; + prefix = "Kpx"; + } + + itemsPicSizes.add((psps.get(picSizesValues.get(index))).width + + "x" + (psps.get(picSizesValues.get(index))).height + + " ( " + String.format("%.2f", px) + " " + prefix + " )"); + } + log.debug("onCreate() set default size: width=" + psps.get(cameraPictureSizeDefault).width + " height=" + + psps.get(cameraPictureSizeDefault).height + " index in ps=" + cameraPictureSizeDefault); + + String[] entries = itemsPicSizes.toArray(new String[0]); + Integer[] entryValues = picSizesValues.toArray(new Integer[0]); + + ListPreferenceEx cameraPictureSize = (ListPreferenceEx) findPreference(plugin.AV_CAMERA_PICTURE_SIZE.getId()); + if (entries.length > 0) { + cameraPictureSize.setEntries(entries); + cameraPictureSize.setEntryValues(entryValues); + cameraPictureSize.setDescription(R.string.av_camera_pic_size_descr); + cameraPictureSize.setIcon(getActiveIcon(R.drawable.ic_action_picture_size)); + } else { + cameraPictureSize.setVisible(false); + } + } + + private void setupCameraFocusTypePref(Camera cam, AudioVideoNotesPlugin plugin) { + Camera.Parameters parameters = cam.getParameters(); + + // focus mode settings + // show in menu only suppoted modes + List sfm = parameters.getSupportedFocusModes(); + List items = new ArrayList(); + List itemsValues = new ArrayList(); + // filtering known types for translate and set index + for (int index = 0; index < sfm.size(); index++) { + if (sfm.get(index).equals("auto")) { + items.add(getString(R.string.av_camera_focus_auto)); + itemsValues.add(AV_CAMERA_FOCUS_AUTO); + } else if (sfm.get(index).equals("fixed")) { + items.add(getString(R.string.av_camera_focus_hiperfocal)); + itemsValues.add(AV_CAMERA_FOCUS_HIPERFOCAL); + } else if (sfm.get(index).equals("edof")) { + items.add(getString(R.string.av_camera_focus_edof)); + itemsValues.add(AV_CAMERA_FOCUS_EDOF); + } else if (sfm.get(index).equals("infinity")) { + items.add(getString(R.string.av_camera_focus_infinity)); + itemsValues.add(AV_CAMERA_FOCUS_INFINITY); + } else if (sfm.get(index).equals("macro")) { + items.add(getString(R.string.av_camera_focus_macro)); + itemsValues.add(AV_CAMERA_FOCUS_MACRO); + } else if (sfm.get(index).equals("continuous-picture")) { + items.add(getString(R.string.av_camera_focus_continuous)); + itemsValues.add(AV_CAMERA_FOCUS_CONTINUOUS); + } + } + + String[] entries = items.toArray(new String[0]); + Integer[] entryValues = itemsValues.toArray(new Integer[0]); + + ListPreferenceEx cameraFocusType = (ListPreferenceEx) findPreference(plugin.AV_CAMERA_FOCUS_TYPE.getId()); + if (entries.length > 0) { + cameraFocusType.setEntries(entries); + cameraFocusType.setEntryValues(entryValues); + cameraFocusType.setDescription(R.string.av_camera_focus_descr); + cameraFocusType.setIcon(getActiveIcon(R.drawable.ic_action_camera_focus)); + } else { + cameraFocusType.setVisible(false); + } + } + + private void setupPhotoPlaySoundPref(AudioVideoNotesPlugin plugin) { + SwitchPreferenceEx photoPlaySound = (SwitchPreferenceEx) findPreference(plugin.AV_PHOTO_PLAY_SOUND.getId()); + photoPlaySound.setDescription(getString(R.string.av_photo_play_sound_descr)); + photoPlaySound.setIcon(getContentIcon(R.drawable.ic_action_music_off)); + } + + private void setupAudioFormatPref(AudioVideoNotesPlugin plugin) { + Integer[] entryValues = new Integer[] {MediaRecorder.AudioEncoder.DEFAULT, MediaRecorder.AudioEncoder.AAC}; + String[] entries = new String[] {"Default", "AAC"}; + + ListPreferenceEx audioFormat = (ListPreferenceEx) findPreference(plugin.AV_AUDIO_FORMAT.getId()); + audioFormat.setEntries(entries); + audioFormat.setEntryValues(entryValues); + audioFormat.setDescription(R.string.av_audio_format_descr); + } + + private void setupAudioBitratePref(AudioVideoNotesPlugin plugin) { + Integer[] entryValues = new Integer[] {AUDIO_BITRATE_DEFAULT, 16 * 1024, 32 * 1024, 48 * 1024, 64 * 1024, 96 * 1024, 128 * 1024}; + String[] entries = new String[] {"Default", "16 kbps", "32 kbps", "48 kbps", "64 kbps", "96 kbps", "128 kbps"}; + + ListPreferenceEx audioBitrate = (ListPreferenceEx) findPreference(plugin.AV_AUDIO_BITRATE.getId()); + audioBitrate.setEntries(entries); + audioBitrate.setEntryValues(entryValues); + audioBitrate.setDescription(R.string.av_audio_bitrate_descr); + } + + private void setupExternalRecorderPref(AudioVideoNotesPlugin plugin) { + SwitchPreferenceEx externalRecorder = (SwitchPreferenceEx) findPreference(plugin.AV_EXTERNAL_RECORDER.getId()); + externalRecorder.setDescription(getString(R.string.av_use_external_recorder_descr)); + externalRecorder.setIcon(getContentIcon(R.drawable.ic_action_video_dark)); + } + + private void setupVideoQualityPref(AudioVideoNotesPlugin plugin) { + List qNames = new ArrayList<>(); + List qValues = new ArrayList<>(); + if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_LOW)) { + qNames.add(getString(R.string.av_video_quality_low)); + qValues.add(CamcorderProfile.QUALITY_LOW); + } + if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_480P)) { + qNames.add("720 x 480 (480p)"); + qValues.add(CamcorderProfile.QUALITY_480P); + } + if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_720P)) { + qNames.add("1280 x 720 (720p)"); + qValues.add(CamcorderProfile.QUALITY_720P); + } + if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_1080P)) { + qNames.add("1920 x 1080 (1080p)"); + qValues.add(CamcorderProfile.QUALITY_1080P); + } + if (Build.VERSION.SDK_INT >= 21 && CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_2160P)) { + qNames.add("3840x2160 (2160p)"); + qValues.add(CamcorderProfile.QUALITY_2160P); + } + if (CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_HIGH)) { + qNames.add(getString(R.string.av_video_quality_high)); + qValues.add(CamcorderProfile.QUALITY_HIGH); + } + + String[] entries = qNames.toArray(new String[0]); + Integer[] entryValues = qValues.toArray(new Integer[0]); + + ListPreferenceEx videoQuality = (ListPreferenceEx) findPreference(plugin.AV_VIDEO_QUALITY.getId()); + videoQuality.setEntries(entries); + videoQuality.setEntryValues(entryValues); + videoQuality.setDescription(R.string.av_video_quality_descr); + videoQuality.setIcon(getContentIcon(R.drawable.ic_action_picture_size)); + } + + private void setupRecorderSplitPref(AudioVideoNotesPlugin plugin) { + SwitchPreferenceEx recorderSplit = (SwitchPreferenceEx) findPreference(plugin.AV_RECORDER_SPLIT.getId()); + recorderSplit.setDescription(getString(R.string.rec_split_desc)); + } + + private void setupClipLengthPref(AudioVideoNotesPlugin plugin) { + Integer[] entryValues = new Integer[] {1, 2, 3, 4, 5, 7, 10, 15, 20, 25, 30}; + String[] entries = new String[entryValues.length]; + int i = 0; + String minStr = getString(R.string.int_min); + for (int v : entryValues) { + entries[i++] = v + " " + minStr; + } + + ListPreferenceEx clipLength = (ListPreferenceEx) findPreference(plugin.AV_RS_CLIP_LENGTH.getId()); + clipLength.setEntries(entries); + clipLength.setEntryValues(entryValues); + clipLength.setDescription(R.string.rec_split_clip_length_desc); + } + + private void setupStorageSizePref(AudioVideoNotesPlugin plugin) { + ListPreferenceEx storageSize = (ListPreferenceEx) findPreference(plugin.AV_RS_STORAGE_SIZE.getId()); + + File dir = app.getAppPath("").getParentFile(); + long size = 0; + if (dir.canRead()) { + StatFs fs = new StatFs(dir.getAbsolutePath()); + size = ((long) fs.getBlockSize() * (long) fs.getBlockCount()) / (1 << 30); + } + if (size > 0) { + int value = 1; + ArrayList gbList = new ArrayList<>(); + while (value < size) { + gbList.add(value); + if (value < 5) { + value++; + } else { + value += 5; + } + } + if (value != size) { + gbList.add((int) size); + } + MessageFormat formatGb = new MessageFormat("{0, number,#.##} GB", Locale.US); + String[] entries = new String[gbList.size()]; + Integer[] entryValues = new Integer[gbList.size()]; + int i = 0; + for (int v : gbList) { + entryValues[i] = v; + entries[i] = formatGb.format(new Object[] {(float) v}); + i++; + } + + storageSize.setEntries(entries); + storageSize.setEntryValues(entryValues); + storageSize.setDescription(R.string.rec_split_storage_size_desc); + } else { + storageSize.setVisible(false); + } + } + + private void setupOpenNotesDescrPref() { + Preference nameAndPasswordPref = findPreference("open_notes_description"); + nameAndPasswordPref.setTitle(getText(R.string.multimedia_notes_view_descr)); + } + + private void setupOpenNotesPref() { + Preference openNotes = findPreference(OPEN_NOTES); + openNotes.setIcon(getActiveIcon(R.drawable.ic_action_folder)); + } + + private void setupCopyProfileSettingsPref() { + Preference copyProfilePrefs = findPreference(COPY_PLUGIN_SETTINGS); + copyProfilePrefs.setIcon(getActiveIcon(R.drawable.ic_action_copy)); + } + + private void setupResetToDefaultPref() { + Preference resetToDefault = findPreference(RESET_TO_DEFAULT); + resetToDefault.setIcon(getActiveIcon(R.drawable.ic_action_reset_to_default_dark)); + } + + @Override + public boolean onPreferenceClick(Preference preference) { + if (OPEN_NOTES.equals(preference.getKey())) { + OsmAndAppCustomization appCustomization = app.getAppCustomization(); + Intent favorites = new Intent(preference.getContext(), appCustomization.getFavoritesActivity()); + favorites.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + app.getSettings().FAVORITES_TAB.set(NOTES_TAB); + startActivity(favorites); + return true; + } + return super.onPreferenceClick(preference); + } + + private Camera openCamera() { + try { + return Camera.open(); + } catch (Exception e) { + log.error("Error open camera", e); + return null; + } + } +} \ No newline at end of file From f119539679cef188ebca5e6895c0be0c74b35348 Mon Sep 17 00:00:00 2001 From: Nazar Date: Thu, 16 Jan 2020 15:11:21 +0200 Subject: [PATCH 07/59] Add UI and behavior for profile and routing file importing --- .../main/java/net/osmand/IndexConstants.java | 2 + .../osmand/router/RoutingConfiguration.java | 11 + OsmAnd/AndroidManifest.xml | 33 +++ OsmAnd/res/values/strings.xml | 5 + OsmAnd/res/xml/settings_main_screen.xml | 6 +- OsmAnd/src/net/osmand/AndroidUtils.java | 32 +++ .../src/net/osmand/plus/AppInitializer.java | 37 +-- .../src/net/osmand/plus/SettingsHelper.java | 12 +- .../net/osmand/plus/helpers/ImportHelper.java | 218 +++++++++++++++++- .../plus/profiles/EditProfileFragment.java | 25 +- .../profiles/RoutingProfileDataObject.java | 45 +++- ...electProfileBottomSheetDialogFragment.java | 169 +++++++++----- .../profiles/SettingsProfileFragment.java | 7 +- .../plus/settings/MainSettingsFragment.java | 52 +++-- .../plus/settings/NavigationFragment.java | 93 ++++++-- .../settings/ProfileAppearanceFragment.java | 54 +++-- 16 files changed, 617 insertions(+), 184 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/IndexConstants.java b/OsmAnd-java/src/main/java/net/osmand/IndexConstants.java index 2c2802af69..26a4e252ed 100644 --- a/OsmAnd-java/src/main/java/net/osmand/IndexConstants.java +++ b/OsmAnd-java/src/main/java/net/osmand/IndexConstants.java @@ -41,6 +41,8 @@ public class IndexConstants { public static final String FONT_INDEX_EXT_ZIP = ".otf.zip"; //$NON-NLS-1$ public static final String OSMAND_SETTINGS_FILE_EXT = ".osf"; + + public static final String ROUTING_FILE_EXT = ".xml"; public static final String RENDERER_INDEX_EXT = ".render.xml"; //$NON-NLS-1$ diff --git a/OsmAnd-java/src/main/java/net/osmand/router/RoutingConfiguration.java b/OsmAnd-java/src/main/java/net/osmand/router/RoutingConfiguration.java index 2fbfd4b531..a48300e207 100644 --- a/OsmAnd-java/src/main/java/net/osmand/router/RoutingConfiguration.java +++ b/OsmAnd-java/src/main/java/net/osmand/router/RoutingConfiguration.java @@ -133,6 +133,17 @@ public class RoutingConfiguration { } + public String getRoutingProfileKeyByFileName(String fileName) { + if (fileName != null && routers != null) { + for (Map.Entry router : routers.entrySet()) { + if (fileName.equals(router.getValue().getFilename())) { + return router.getKey(); + } + } + } + return null; + } + public Map getAllRouters() { return routers; } diff --git a/OsmAnd/AndroidManifest.xml b/OsmAnd/AndroidManifest.xml index 62cca425a5..5dbe852c0b 100644 --- a/OsmAnd/AndroidManifest.xml +++ b/OsmAnd/AndroidManifest.xml @@ -323,6 +323,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 89b6bd1019..b9a97db57b 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,11 @@ Thx - Hardy --> + \'%1$s\' file doesn\'t contain routing rules, please choose another file. + Not supported file type. You need to select a file with %1$s extension. + Import from file + Import routing file + Import profile %1$s %2$s %1$s: %2$s By clicking %1$s, you will lose all your changes. diff --git a/OsmAnd/res/xml/settings_main_screen.xml b/OsmAnd/res/xml/settings_main_screen.xml index c9fecde00e..71cbd86fa3 100644 --- a/OsmAnd/res/xml/settings_main_screen.xml +++ b/OsmAnd/res/xml/settings_main_screen.xml @@ -46,12 +46,12 @@ android:title="@string/new_profile" tools:icon="@drawable/ic_action_plus" /> - + android:title="@string/import_profile" + tools:icon="@drawable/ic_action_import" /> 0) { + hasNameNumberSection = true; + break; + } else { + break; + } + i--; + } while (i >= 0); + int newNumberValue = Integer.parseInt(hasNameNumberSection ? numberSection.toString() : "0") + 1; + + String newName; + if (newNumberValue == 1) { + newName = nameWithoutExt + " " + newNumberValue + ext; + } else { + newName = nameWithoutExt.substring(0, i) + " " + newNumberValue + ext; + } + + return newName; + } } diff --git a/OsmAnd/src/net/osmand/plus/AppInitializer.java b/OsmAnd/src/net/osmand/plus/AppInitializer.java index 095a819a2a..f2340c22b3 100644 --- a/OsmAnd/src/net/osmand/plus/AppInitializer.java +++ b/OsmAnd/src/net/osmand/plus/AppInitializer.java @@ -11,7 +11,6 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Configuration; import android.content.res.Resources; -import android.os.AsyncTask; import android.os.Build; import android.support.v7.app.AlertDialog; @@ -32,6 +31,7 @@ import net.osmand.plus.base.MapViewTrackingUtilities; import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.ui.AbstractLoadLocalIndexTask; import net.osmand.plus.helpers.AvoidSpecificRoads; +import net.osmand.plus.helpers.ImportHelper; import net.osmand.plus.helpers.LockHelper; import net.osmand.plus.helpers.WaypointHelper; import net.osmand.plus.inapp.InAppPurchaseHelper; @@ -57,17 +57,11 @@ import net.osmand.plus.voice.MediaCommandPlayerImpl; import net.osmand.plus.voice.TTSCommandPlayerImpl; import net.osmand.plus.wikivoyage.data.TravelDbHelper; import net.osmand.render.RenderingRulesStorage; -import net.osmand.router.RoutingConfiguration; -import net.osmand.router.RoutingConfiguration.Builder; import net.osmand.util.Algorithms; import net.osmand.util.OpeningHoursParser; -import org.xmlpull.v1.XmlPullParserException; - import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; -import java.io.IOException; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; @@ -579,35 +573,12 @@ public class AppInitializer implements IProgress { @SuppressLint("StaticFieldLeak") private void getLazyRoutingConfig() { - new AsyncTask() { + ImportHelper.loadRoutingFiles(app, new ImportHelper.LoadRoutingFilesCallback() { @Override - protected Builder doInBackground(Void... voids) { - File routingFolder = app.getAppPath(IndexConstants.ROUTING_PROFILES_DIR); - RoutingConfiguration.Builder builder = RoutingConfiguration.getDefault(); - if (routingFolder.isDirectory()) { - File[] fl = routingFolder.listFiles(); - if (fl != null && fl.length > 0) { - for (File f : fl) { - if (f.isFile() && f.getName().endsWith(".xml") && f.canRead()) { - try { - RoutingConfiguration.parseFromInputStream(new FileInputStream(f), f.getName(), builder); - } catch (XmlPullParserException | IOException e) { - throw new IllegalStateException(e); - } - } - } - } - } - return builder; - } - - @Override - protected void onPostExecute(Builder builder) { - super.onPostExecute(builder); - app.updateRoutingConfig(builder); + public void onRoutingFilesLoaded() { notifyEvent(InitEvents.ROUTING_CONFIG_INITIALIZED); } - }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + }); } diff --git a/OsmAnd/src/net/osmand/plus/SettingsHelper.java b/OsmAnd/src/net/osmand/plus/SettingsHelper.java index c95a8d5312..08c7969dfb 100644 --- a/OsmAnd/src/net/osmand/plus/SettingsHelper.java +++ b/OsmAnd/src/net/osmand/plus/SettingsHelper.java @@ -83,7 +83,7 @@ public class SettingsHelper { private ImportAsyncTask importTask; public interface SettingsImportListener { - void onSettingsImportFinished(boolean succeed, boolean empty); + void onSettingsImportFinished(boolean succeed, boolean empty, List items); } public interface SettingsExportListener { @@ -913,7 +913,7 @@ public class SettingsHelper { @Override protected void onPreExecute() { if (importing) { - finishImport(listener, false, false); + finishImport(listener, false, false, items); } importing = true; importSuspended = false; @@ -948,7 +948,7 @@ public class SettingsHelper { if (processedItems.size() > 0) { new ImportItemsAsyncTask(file, listener, processedItems).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } else { - finishImport(listener, false, true); + finishImport(listener, false, true, items); } return; } @@ -1063,16 +1063,16 @@ public class SettingsHelper { @Override protected void onPostExecute(Boolean success) { - finishImport(listener, success, false); + finishImport(listener, success, false, items); } } - private void finishImport(@Nullable SettingsImportListener listener, boolean success, boolean empty) { + private void finishImport(@Nullable SettingsImportListener listener, boolean success, boolean empty, List items) { importing = false; importSuspended = false; importTask = null; if (listener != null) { - listener.onSettingsImportFinished(success, empty); + listener.onSettingsImportFinished(success, empty, items); } } diff --git a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java index 31c231a211..9f835cfbae 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java @@ -22,6 +22,7 @@ import android.view.View; import android.widget.Toast; import net.osmand.AndroidUtils; +import net.osmand.CallbackWithObject; import net.osmand.GPXUtilities; import net.osmand.GPXUtilities.GPXFile; import net.osmand.GPXUtilities.WptPt; @@ -39,6 +40,7 @@ import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; import net.osmand.plus.SettingsHelper; import net.osmand.plus.SettingsHelper.SettingsImportListener; +import net.osmand.plus.activities.ActivityResultListener; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.TrackActivity; import net.osmand.plus.base.MenuBottomSheetDialogFragment; @@ -49,9 +51,11 @@ import net.osmand.plus.base.bottomsheetmenu.simpleitems.ShortDescriptionItem; import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin; import net.osmand.plus.views.OsmandMapTileView; +import net.osmand.router.RoutingConfiguration; import net.osmand.util.Algorithms; import org.apache.commons.logging.Log; +import org.xmlpull.v1.XmlPullParserException; import java.io.ByteArrayInputStream; import java.io.File; @@ -69,6 +73,9 @@ import java.util.List; import java.util.Locale; import java.util.zip.ZipInputStream; +import static android.app.Activity.RESULT_OK; +import static net.osmand.IndexConstants.OSMAND_SETTINGS_FILE_EXT; +import static net.osmand.IndexConstants.ROUTING_FILE_EXT; import static net.osmand.plus.myplaces.FavoritesActivity.FAV_TAB; import static net.osmand.plus.myplaces.FavoritesActivity.GPX_TAB; import static net.osmand.plus.myplaces.FavoritesActivity.TAB_ID; @@ -86,9 +93,30 @@ public class ImportHelper { private final OsmandMapTileView mapView; private OnGpxImportCompleteListener gpxImportCompleteListener; + public final static int IMPORT_FILE_REQUEST = 1006; + + public enum ImportType { + SETTINGS(IndexConstants.OSMAND_SETTINGS_FILE_EXT), + ROUTING(ROUTING_FILE_EXT); + + ImportType(String extension) { + this.extension = extension; + } + + private String extension; + + public String getExtension() { + return extension; + } + } + public interface OnGpxImportCompleteListener { void onComplete(boolean success); } + + public interface LoadRoutingFilesCallback { + void onRoutingFilesLoaded(); + } public ImportHelper(final AppCompatActivity activity, final OsmandApplication app, final OsmandMapTileView mapView) { this.activity = activity; @@ -156,14 +184,10 @@ public class ImportHelper { handleObfImport(intentUri, fileName); } else if (fileName != null && fileName.endsWith(IndexConstants.SQLITE_EXT)) { handleSqliteTileImport(intentUri, fileName); - } else if (fileName != null && fileName.endsWith(IndexConstants.OSMAND_SETTINGS_FILE_EXT)) { - if (extras != null && extras.containsKey(SettingsHelper.SETTINGS_VERSION_KEY) && extras.containsKey(SettingsHelper.SETTINGS_LATEST_CHANGES_KEY)) { - int version = extras.getInt(SettingsHelper.SETTINGS_VERSION_KEY, -1); - String latestChanges = extras.getString(SettingsHelper.SETTINGS_LATEST_CHANGES_KEY); - handleOsmAndSettingsImport(intentUri, fileName, latestChanges, version); - } else { - handleOsmAndSettingsImport(intentUri, fileName, null, -1); - } + } else if (fileName != null && fileName.endsWith(OSMAND_SETTINGS_FILE_EXT)) { + handleOsmAndSettingsImport(intentUri, fileName, extras, null); + } else if (fileName != null && fileName.endsWith(ROUTING_FILE_EXT)) { + handleRoutingFileImport(intentUri, fileName, null); } else { handleFavouritesImport(intentUri, fileName, saveFile, useImportDir, false); } @@ -585,8 +609,179 @@ public class ImportHelper { }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } + public static void loadRoutingFiles(final OsmandApplication app, final LoadRoutingFilesCallback callback) { + new AsyncTask() { + @Override + protected RoutingConfiguration.Builder doInBackground(Void... voids) { + File routingFolder = app.getAppPath(IndexConstants.ROUTING_PROFILES_DIR); + RoutingConfiguration.Builder builder = RoutingConfiguration.getDefault(); + if (routingFolder.isDirectory()) { + File[] fl = routingFolder.listFiles(); + if (fl != null && fl.length > 0) { + for (File f : fl) { + if (f.isFile() && f.getName().endsWith(".xml") && f.canRead()) { + try { + RoutingConfiguration.parseFromInputStream(new FileInputStream(f), f.getName(), builder); + } catch (XmlPullParserException | IOException e) { + throw new IllegalStateException(e); + } + } + } + } + } + return builder; + } + + @Override + protected void onPostExecute(RoutingConfiguration.Builder builder) { + super.onPostExecute(builder); + app.updateRoutingConfig(builder); + callback.onRoutingFilesLoaded(); + } + }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + + public void chooseFileToImport(final ImportType importType, final CallbackWithObject callback) { + final MapActivity mapActivity = getMapActivity(); + if (mapActivity == null) { + return; + } + final OsmandApplication app = mapActivity.getMyApplication(); + Intent intent = new Intent(); + String action; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + action = Intent.ACTION_OPEN_DOCUMENT; + } else { + action = Intent.ACTION_GET_CONTENT; + } + intent.setAction(action); + intent.setType("*/*"); + + ActivityResultListener listener = new ActivityResultListener(IMPORT_FILE_REQUEST, new ActivityResultListener.OnActivityResultListener() { + @Override + public void onResult(int resultCode, Intent resultData) { + MapActivity mapActivity = getMapActivity(); + if (resultCode == RESULT_OK) { + Uri data = resultData.getData(); + if (mapActivity == null || data == null) { + return; + } + String scheme = data.getScheme(); + String fileName = ""; + if ("file".equals(scheme)) { + final String path = data.getPath(); + if (path != null) { + fileName = new File(path).getName(); + } + } else if ("content".equals(scheme)) { + fileName = getNameFromContentUri(app, data); + } + + if (fileName.endsWith(importType.getExtension())) { + if (importType.equals(ImportType.SETTINGS)) { + handleOsmAndSettingsImport(data, fileName, resultData.getExtras(), callback); + } else if (importType.equals(ImportType.ROUTING)){ + handleRoutingFileImport(data, fileName, callback); + } + } else { + app.showToastMessage(app.getString(R.string.not_support_file_type_with_ext, + importType.getExtension().replaceAll("\\.", "").toUpperCase())); + } + } + } + }); + + mapActivity.registerActivityResultListener(listener); + mapActivity.startActivityForResult(intent, IMPORT_FILE_REQUEST); + } + @SuppressLint("StaticFieldLeak") - private void handleOsmAndSettingsImport(final Uri uri, final String name, final String latestChanges, final int version) { + private void handleRoutingFileImport(final Uri uri, final String fileName, final CallbackWithObject callback) { + final AsyncTask routingImportTask = new AsyncTask() { + + String mFileName; + ProgressDialog progress; + + @Override + protected void onPreExecute() { + progress = ProgressDialog.show(activity, app.getString(R.string.loading_smth, ""), app.getString(R.string.loading_data)); + mFileName = fileName; + } + + @Override + protected String doInBackground(Void... voids) { + File routingDir = app.getAppPath(IndexConstants.ROUTING_PROFILES_DIR); + if (!routingDir.exists()) { + routingDir.mkdirs(); + } + File dest = new File(routingDir, mFileName); + while (dest.exists()) { + mFileName = AndroidUtils.createFileNameWithIncreasedNumber(mFileName); + dest = new File(routingDir, mFileName); + } + return copyFile(app, dest, uri, true); + } + + @Override + protected void onPostExecute(String error) { + File routingDir = app.getAppPath(IndexConstants.ROUTING_PROFILES_DIR); + final File file = new File(routingDir, mFileName); + if (error == null && file.exists()) { + loadRoutingFiles(app, new LoadRoutingFilesCallback() { + @Override + public void onRoutingFilesLoaded() { + if (isActivityNotDestroyed(activity)) { + progress.dismiss(); + } + String profileKey = app.getRoutingConfig().getRoutingProfileKeyByFileName(mFileName); + if (profileKey != null) { + app.showShortToastMessage(app.getString(R.string.file_imported_successfully, mFileName)); + if (callback != null) { + callback.processResult(profileKey); + } + } else { + app.showToastMessage(app.getString(R.string.file_does_not_contains_routing_rules, mFileName)); + } + } + }); + } else { + if (isActivityNotDestroyed(activity)) { + progress.dismiss(); + } + app.showShortToastMessage(app.getString(R.string.file_import_error, mFileName, error)); + } + } + }; + if (app.isApplicationInitializing()) { + app.getAppInitializer().addListener(new AppInitializer.AppInitializeListener() { + @Override + public void onProgress(AppInitializer init, AppInitializer.InitEvents event) { + } + + @Override + public void onFinish(AppInitializer init) { + routingImportTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + }); + } else { + routingImportTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + } + + private void handleOsmAndSettingsImport(Uri intentUri, String fileName, Bundle extras, + CallbackWithObject> callback) { + if (extras != null && extras.containsKey(SettingsHelper.SETTINGS_VERSION_KEY) && extras.containsKey(SettingsHelper.SETTINGS_LATEST_CHANGES_KEY)) { + int version = extras.getInt(SettingsHelper.SETTINGS_VERSION_KEY, -1); + String latestChanges = extras.getString(SettingsHelper.SETTINGS_LATEST_CHANGES_KEY); + handleOsmAndSettingsImport(intentUri, fileName, latestChanges, version, callback); + } else { + handleOsmAndSettingsImport(intentUri, fileName, null, -1, callback); + } + } + + @SuppressLint("StaticFieldLeak") + private void handleOsmAndSettingsImport(final Uri uri, final String name, final String latestChanges, final int version, + final CallbackWithObject> callback) { final AsyncTask settingsImportTask = new AsyncTask() { ProgressDialog progress; @@ -613,12 +808,15 @@ public class ImportHelper { if (error == null && file.exists()) { app.getSettingsHelper().importSettings(file, latestChanges, version, new SettingsImportListener() { @Override - public void onSettingsImportFinished(boolean succeed, boolean empty) { + public void onSettingsImportFinished(boolean succeed, boolean empty, List items) { if (isActivityNotDestroyed(activity)) { progress.dismiss(); } if (succeed) { app.showShortToastMessage(app.getString(R.string.file_imported_successfully, name)); + if (callback != null) { + callback.processResult(items); + } } else if (!empty) { app.showShortToastMessage(app.getString(R.string.file_import_error, name, app.getString(R.string.shared_string_unexpected_error))); } diff --git a/OsmAnd/src/net/osmand/plus/profiles/EditProfileFragment.java b/OsmAnd/src/net/osmand/plus/profiles/EditProfileFragment.java index 91f7074696..bf72dc83e6 100644 --- a/OsmAnd/src/net/osmand/plus/profiles/EditProfileFragment.java +++ b/OsmAnd/src/net/osmand/plus/profiles/EditProfileFragment.java @@ -68,9 +68,9 @@ import studio.carbonylgroup.textfieldboxes.ExtendedEditText; import static net.osmand.aidlapi.OsmAndCustomizationConstants.DRAWER_SETTINGS_ID; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.DIALOG_TYPE; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.PROFILE_KEY_ARG; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.SELECTED_KEY; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.TYPE_BASE_APP_PROFILE; -import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.TYPE_ICON; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.TYPE_NAV_PROFILE; import static net.osmand.plus.profiles.SettingsProfileFragment.IS_NEW_PROFILE; import static net.osmand.plus.profiles.SettingsProfileFragment.IS_USER_PROFILE; @@ -312,7 +312,7 @@ public class EditProfileFragment extends BaseOsmAndFragment { public void onClick(View v) { final SelectProfileBottomSheetDialogFragment iconSelectDialog = new SelectProfileBottomSheetDialogFragment(); Bundle bundle = new Bundle(); - bundle.putString(DIALOG_TYPE, TYPE_ICON); +// bundle.putString(DIALOG_TYPE, TYPE_ICON); bundle.putString(SELECTED_ICON, profile.iconStringName); iconSelectDialog.setArguments(bundle); hideKeyboard(); @@ -470,10 +470,11 @@ public class EditProfileFragment extends BaseOsmAndFragment { if (iconIdListener == null) { iconIdListener = new SelectProfileListener() { @Override - public void onSelectedType(int pos, String stringRes) { + public void onSelectedType(Bundle bundle) { + int pos = -1; dataChanged = true; profile.iconId = pos; - profile.iconStringName = stringRes; + profile.iconStringName = null; profileIcon.setImageDrawable(app.getUIUtilities().getIcon(pos, profile.iconColor.getColor(nightMode))); @@ -487,11 +488,10 @@ public class EditProfileFragment extends BaseOsmAndFragment { if (baseTypeListener == null) { baseTypeListener = new SelectProfileListener() { @Override - public void onSelectedType(int pos, String stringRes) { - String key = SettingsProfileFragment.getBaseProfiles(getMyApplication()) - .get(pos).getStringKey(); - setupBaseProfileView(key); - profile.parent = ApplicationMode.valueOfStringKey(key, ApplicationMode.DEFAULT); + public void onSelectedType(Bundle args) { + String profileKey = args.getString(PROFILE_KEY_ARG); + setupBaseProfileView(profileKey); + profile.parent = ApplicationMode.valueOfStringKey(profileKey, ApplicationMode.DEFAULT); dataChanged = true; } }; @@ -503,7 +503,8 @@ public class EditProfileFragment extends BaseOsmAndFragment { if (navTypeListener == null) { navTypeListener = new SelectProfileListener() { @Override - public void onSelectedType(int pos, String stringRes) { + public void onSelectedType(Bundle args) { + int pos = -1; updateRoutingProfile(pos); } }; @@ -775,7 +776,7 @@ public class EditProfileFragment extends BaseOsmAndFragment { } } - public static List getRoutingProfiles(OsmandApplication context) { + private static List getRoutingProfiles(OsmandApplication context) { List profilesObjects = new ArrayList<>(); profilesObjects.add(new RoutingProfileDataObject( RoutingProfilesResources.STRAIGHT_LINE_MODE.name(), @@ -812,7 +813,7 @@ public class EditProfileFragment extends BaseOsmAndFragment { return profilesObjects; } - public enum RoutingProfilesResources { + private enum RoutingProfilesResources { STRAIGHT_LINE_MODE(R.string.routing_profile_straightline, R.drawable.ic_action_split_interval), BROUTER_MODE(R.string.routing_profile_broutrer, R.drawable.ic_action_split_interval), CAR(R.string.rendering_value_car_name, R.drawable.ic_action_car_dark), diff --git a/OsmAnd/src/net/osmand/plus/profiles/RoutingProfileDataObject.java b/OsmAnd/src/net/osmand/plus/profiles/RoutingProfileDataObject.java index 3df92e0ce3..b812022ec1 100644 --- a/OsmAnd/src/net/osmand/plus/profiles/RoutingProfileDataObject.java +++ b/OsmAnd/src/net/osmand/plus/profiles/RoutingProfileDataObject.java @@ -1,7 +1,9 @@ package net.osmand.plus.profiles; -import android.os.Parcel; -import net.osmand.plus.ApplicationMode.ProfileIconColors; +import net.osmand.plus.R; + +import java.util.ArrayList; +import java.util.List; public class RoutingProfileDataObject extends ProfileDataObject { @@ -17,4 +19,43 @@ public class RoutingProfileDataObject extends ProfileDataObject { return fileName; } + public enum RoutingProfilesResources { + STRAIGHT_LINE_MODE(R.string.routing_profile_straightline, R.drawable.ic_action_split_interval), + BROUTER_MODE(R.string.routing_profile_broutrer, R.drawable.ic_action_split_interval), + CAR(R.string.rendering_value_car_name, R.drawable.ic_action_car_dark), + PEDESTRIAN(R.string.rendering_value_pedestrian_name, R.drawable.ic_action_pedestrian_dark), + BICYCLE(R.string.rendering_value_bicycle_name, R.drawable.ic_action_bicycle_dark), + SKI(R.string.routing_profile_ski, R.drawable.ic_action_skiing), + PUBLIC_TRANSPORT(R.string.app_mode_public_transport, R.drawable.ic_action_bus_dark), + BOAT(R.string.app_mode_boat, R.drawable.ic_action_sail_boat_dark), + GEOCODING(R.string.routing_profile_geocoding, R.drawable.ic_action_world_globe); + + int stringRes; + int iconRes; + + RoutingProfilesResources(int stringRes, int iconRes) { + this.stringRes = stringRes; + this.iconRes = iconRes; + } + + public int getStringRes() { + return stringRes; + } + + public int getIconRes() { + return iconRes; + } + + private static final List rpValues = new ArrayList<>(); + + static { + for (RoutingProfilesResources rpr : RoutingProfilesResources.values()) { + rpValues.add(rpr.name()); + } + } + + public static boolean isRpValue(String value) { + return rpValues.contains(value); + } + } } diff --git a/OsmAnd/src/net/osmand/plus/profiles/SelectProfileBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/profiles/SelectProfileBottomSheetDialogFragment.java index 596765675c..4c81a64473 100644 --- a/OsmAnd/src/net/osmand/plus/profiles/SelectProfileBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/profiles/SelectProfileBottomSheetDialogFragment.java @@ -1,5 +1,6 @@ package net.osmand.plus.profiles; +import android.app.Activity; import android.content.res.ColorStateList; import android.graphics.drawable.Drawable; import android.os.Bundle; @@ -9,13 +10,20 @@ import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.view.View; import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import net.osmand.CallbackWithObject; import net.osmand.PlatformUtil; -import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.SettingsHelper.*; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.MenuBottomSheetDialogFragment; +import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem; import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithCompoundButton; +import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.DividerItem; import net.osmand.plus.base.bottomsheetmenu.simpleitems.LongDescriptionItem; import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; import net.osmand.plus.settings.MainSettingsFragment; @@ -27,7 +35,8 @@ import org.apache.commons.logging.Log; import java.util.ArrayList; import java.util.List; -import static net.osmand.plus.profiles.EditProfileFragment.SELECTED_ICON; +import static net.osmand.plus.helpers.ImportHelper.ImportType.ROUTING; +import static net.osmand.plus.helpers.ImportHelper.ImportType.SETTINGS; public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialogFragment { @@ -38,18 +47,18 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo public final static String DIALOG_TYPE = "dialog_type"; public final static String TYPE_BASE_APP_PROFILE = "base_profiles"; public final static String TYPE_NAV_PROFILE = "routing_profiles"; - public final static String TYPE_ICON = "icon_type"; public final static String SELECTED_KEY = "selected_base"; + public final static String PROFILE_KEY_ARG = "profile_key_arg"; + public final static String IS_PROFILE_IMPORTED_ARG = "is_profile_imported_arg"; + String type; - int bottomButtonText = R.string.shared_string_cancel; private SelectProfileListener listener; private final List profiles = new ArrayList<>(); private String selectedItemKey; - private String selectedIconRes; @Override public void onCreate(Bundle savedInstanceState) { @@ -60,11 +69,9 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo type = args.getString(DIALOG_TYPE); selectedItemKey = args.getString(SELECTED_KEY, null); if (type.equals(TYPE_NAV_PROFILE)) { - profiles.addAll(EditProfileFragment.getRoutingProfiles(app)); + profiles.addAll(NavigationFragment.getRoutingProfiles(app).values()); } else if (type.equals(TYPE_BASE_APP_PROFILE)) { profiles.addAll(SettingsProfileFragment.getBaseProfiles(app)); - } else if (type.equals(TYPE_ICON)) { - selectedIconRes = args.getString(SELECTED_ICON, ""); } else { LOG.error("Check intent data!"); dismiss(); @@ -84,8 +91,11 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo }); if (type.equals(TYPE_NAV_PROFILE) || type.equals(TYPE_BASE_APP_PROFILE)) { - if (items.get(items.size()-1).getView() != null) { - items.get(items.size()-1).getView().findViewById(R.id.divider_bottom).setVisibility(View.INVISIBLE); + for (BaseBottomSheetItem item : items) { + View bottomDivider = item.getView().findViewById(R.id.divider_bottom); + if (bottomDivider != null) { + bottomDivider.setVisibility(View.INVISIBLE); + } } } } @@ -93,6 +103,13 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo @Override public void createMenuItems(Bundle savedInstanceState) { int activeColorRes = nightMode ? R.color.active_color_primary_dark : R.color.active_color_primary_light; + int iconDefaultColorResId = nightMode ? R.color.icon_color_default_dark : R.color.icon_color_default_light; + OsmandApplication app = getMyApplication(); + + View bottomSpaceView = new View(app); + int space = (int) getResources().getDimension(R.dimen.empty_state_text_button_padding_top); + bottomSpaceView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, space)); + if (type.equals(TYPE_BASE_APP_PROFILE)) { items.add(new TitleItem(getString(R.string.select_base_profile_dialog_title))); items.add(new LongDescriptionItem(getString(R.string.select_base_profile_dialog_message))); @@ -125,18 +142,56 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo if (listener == null) { getListener(); } - listener.onSelectedType(pos, ""); + Bundle args = new Bundle(); + args.putString(PROFILE_KEY_ARG, profile.getStringKey()); + listener.onSelectedType(args); dismiss(); } }) .create()); } + items.add(new DividerItem(app)); + items.add(new SimpleBottomSheetItem.Builder() + .setTitle(app.getString(R.string.import_from_file)) + .setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_folder, iconDefaultColorResId)) + .setLayoutId(R.layout.bottom_sheet_item_simple) + .setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + MapActivity mapActivity = getMapActivity(); + if (mapActivity == null) { + return; + } + mapActivity.getImportHelper().chooseFileToImport(SETTINGS, new CallbackWithObject>() { + @Override + public boolean processResult(List result) { + for (SettingsItem item : result) { + if (SettingsItemType.PROFILE.equals(item.getType())) { + if (listener == null) { + getListener(); + } + Bundle args = new Bundle(); + args.putString(PROFILE_KEY_ARG, item.getName()); + args.putBoolean(IS_PROFILE_IMPORTED_ARG, true); + listener.onSelectedType(args); + dismiss(); + break; + } + } + return false; + } + }); + } + }) + .create()); + items.add(new BaseBottomSheetItem.Builder() + .setCustomView(bottomSpaceView) + .create()); } else if (type.equals(TYPE_NAV_PROFILE)){ items.add(new TitleItem(getString(R.string.select_nav_profile_dialog_title))); items.add(new LongDescriptionItem(getString(R.string.select_nav_profile_dialog_message))); for (int i = 0; i < profiles.size(); i++) { - final int pos = i; final ProfileDataObject profile = profiles.get(i); final boolean isSelected = profile.getStringKey().equals(selectedItemKey); final Drawable drawableIcon; @@ -164,50 +219,47 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo if (listener == null) { getListener(); } - listener.onSelectedType(pos, ""); + Bundle args = new Bundle(); + args.putString(PROFILE_KEY_ARG, profile.getStringKey()); + listener.onSelectedType(args); dismiss(); } }) .create()); } - } else if (type.equals(TYPE_ICON)) { - items.add(new TitleItem(getString(R.string.select_icon_profile_dialog_title))); - for (final ApplicationMode.ProfileIcons icon : ApplicationMode.ProfileIcons.values()) { - Drawable drawableIcon; - boolean isSelected = icon.getResStringId().equals(selectedIconRes); - int iconRes = icon.getResId(); - if (isSelected) { - drawableIcon = getMyApplication().getUIUtilities() - .getIcon(iconRes, nightMode - ? R.color.active_color_primary_dark - : R.color.active_color_primary_light); - } else { - drawableIcon = getMyApplication().getUIUtilities() - .getIcon(iconRes, R.color.icon_color_default_light); - } - - items.add(new BottomSheetItemWithCompoundButton.Builder() - .setCompoundButtonColorId(activeColorRes) - .setChecked(icon.getResStringId().equals(selectedIconRes)) - .setButtonTintList(isSelected - ? ColorStateList.valueOf(getResolvedColor(getActiveColorId())) - : null) - .setTitle(getMyApplication().getString(icon.getTitleId())) - .setIcon(drawableIcon) - .setLayoutId(R.layout.bottom_sheet_item_with_radio_btn) + items.add(new DividerItem(app)); + items.add(new LongDescriptionItem(app.getString(R.string.osmand_routing_promo))); + items.add(new SimpleBottomSheetItem.Builder() + .setTitle(app.getString(R.string.import_routing_file)) + .setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_folder, iconDefaultColorResId)) + .setLayoutId(R.layout.bottom_sheet_item_simple) .setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - if(listener == null) { - getListener(); + MapActivity mapActivity = getMapActivity(); + if (mapActivity == null) { + return; } - listener.onSelectedType(icon.getResId(), icon.getResStringId()); - dismiss(); + mapActivity.getImportHelper().chooseFileToImport(ROUTING, new CallbackWithObject() { + @Override + public boolean processResult(String profileKey) { + if (listener == null) { + getListener(); + } + Bundle args = new Bundle(); + args.putString(PROFILE_KEY_ARG, profileKey); + args.putBoolean(IS_PROFILE_IMPORTED_ARG, true); + listener.onSelectedType(args); + dismiss(); + return false; + } + }); } }) - .create() - ); - } + .create()); + items.add(new BaseBottomSheetItem.Builder() + .setCustomView(bottomSpaceView) + .create()); } } @@ -215,26 +267,12 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo FragmentActivity activity = getActivity(); if (activity != null) { FragmentManager fragmentManager = activity.getSupportFragmentManager(); - EditProfileFragment editProfileFragment = (EditProfileFragment) fragmentManager.findFragmentByTag(EditProfileFragment.TAG); SettingsProfileFragment settingsProfileFragment = (SettingsProfileFragment) fragmentManager.findFragmentByTag(SettingsProfileFragment.class.getName()); NavigationFragment navigationFragment = (NavigationFragment) fragmentManager.findFragmentByTag(NavigationFragment.class.getName()); ProfileAppearanceFragment profileAppearanceFragment = (ProfileAppearanceFragment) fragmentManager.findFragmentByTag(ProfileAppearanceFragment.TAG); MainSettingsFragment mainSettingsFragment = (MainSettingsFragment) fragmentManager.findFragmentByTag(MainSettingsFragment.TAG); - if (editProfileFragment != null) { - switch (type) { - case TYPE_BASE_APP_PROFILE: - listener = editProfileFragment.getBaseProfileListener(); - break; - case TYPE_NAV_PROFILE: - listener = editProfileFragment.getNavProfileListener(); - - break; - case TYPE_ICON: - listener = editProfileFragment.getIconListener(); - break; - } - } else if (settingsProfileFragment != null) { + if (settingsProfileFragment != null) { listener = settingsProfileFragment.getBaseProfileListener(); } else if (navigationFragment != null) { listener = navigationFragment.getNavProfileListener(); @@ -247,6 +285,15 @@ public class SelectProfileBottomSheetDialogFragment extends MenuBottomSheetDialo } public interface SelectProfileListener { - void onSelectedType(int pos, String stringRes); + void onSelectedType(Bundle args); + } + + @Nullable + private MapActivity getMapActivity() { + Activity activity = getActivity(); + if (activity instanceof MapActivity) { + return (MapActivity) activity; + } + return null; } } diff --git a/OsmAnd/src/net/osmand/plus/profiles/SettingsProfileFragment.java b/OsmAnd/src/net/osmand/plus/profiles/SettingsProfileFragment.java index 2ebe4582f6..19b9529246 100644 --- a/OsmAnd/src/net/osmand/plus/profiles/SettingsProfileFragment.java +++ b/OsmAnd/src/net/osmand/plus/profiles/SettingsProfileFragment.java @@ -3,6 +3,7 @@ package net.osmand.plus.profiles; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.DIALOG_TYPE; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.PROFILE_KEY_ARG; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.TYPE_BASE_APP_PROFILE; import android.content.Context; @@ -147,19 +148,19 @@ public class SettingsProfileFragment extends BaseOsmAndFragment if (typeListener == null) { typeListener = new SelectProfileListener() { @Override - public void onSelectedType(int pos, String stringRes) { + public void onSelectedType(Bundle args) { FragmentActivity activity = getActivity(); + String profileKey = args.getString(PROFILE_KEY_ARG); if (activity != null) { if (activity instanceof SettingsProfileActivity) { Intent intent = new Intent(getActivity(), EditProfileActivity.class); intent.putExtra(IS_NEW_PROFILE, true); intent.putExtra(IS_USER_PROFILE, true); - intent.putExtra(PROFILE_STRING_KEY, baseProfiles.get(pos).getStringKey()); + intent.putExtra(PROFILE_STRING_KEY, profileKey); activity.startActivity(intent); } else { FragmentManager fragmentManager = activity.getSupportFragmentManager(); if (fragmentManager != null) { - String profileKey = baseProfiles.get(pos).getStringKey(); EditProfileFragment.showInstance(fragmentManager, true, true, profileKey); } } diff --git a/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java index 3f1e028cab..0ccea9082c 100644 --- a/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java @@ -12,11 +12,13 @@ import android.support.v7.preference.PreferenceViewHolder; import android.view.View; import net.osmand.AndroidUtils; +import net.osmand.CallbackWithObject; import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.SettingsHelper.*; import net.osmand.plus.UiUtilities; -import net.osmand.plus.profiles.ProfileDataObject; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment; import net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.SelectProfileListener; import net.osmand.plus.settings.preferences.SwitchPreferenceEx; @@ -26,9 +28,11 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import static net.osmand.plus.helpers.ImportHelper.ImportType.SETTINGS; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.DIALOG_TYPE; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.IS_PROFILE_IMPORTED_ARG; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.PROFILE_KEY_ARG; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.TYPE_BASE_APP_PROFILE; -import static net.osmand.plus.profiles.SettingsProfileFragment.getBaseProfiles; public class MainSettingsFragment extends BaseSettingsFragment { @@ -38,7 +42,7 @@ public class MainSettingsFragment extends BaseSettingsFragment { private static final String APP_PROFILES = "app_profiles"; private static final String SELECTED_PROFILE = "selected_profile"; private static final String CREATE_PROFILE = "create_profile"; - // private static final String IMPORT_PROFILE = "import_profile"; + private static final String IMPORT_PROFILE = "import_profile"; private static final String REORDER_PROFILES = "reorder_profiles"; private List allAppModes; @@ -117,6 +121,25 @@ public class MainSettingsFragment extends BaseSettingsFragment { getActivity().getSupportFragmentManager().beginTransaction() .add(dialog, "select_base_profile").commitAllowingStateLoss(); } + } else if (IMPORT_PROFILE.equals(prefId)) { + final MapActivity mapActivity = getMapActivity(); + if (mapActivity != null) { + mapActivity.getImportHelper().chooseFileToImport(SETTINGS, new CallbackWithObject>() { + + @Override + public boolean processResult(List result) { + for (SettingsItem item : result) { + if (SettingsItemType.PROFILE.equals(item.getType())) { + ConfigureProfileFragment.showInstance(mapActivity, SettingsScreenType.CONFIGURE_PROFILE, + ApplicationMode.valueOfStringKey(item.getName(), null)); + break; + } + } + return false; + } + + }); + } } return super.onPreferenceClick(preference); } @@ -133,15 +156,17 @@ public class MainSettingsFragment extends BaseSettingsFragment { } private void profileManagementPref() { + int activeColorPrimaryResId = isNightMode() ? R.color.active_color_primary_dark + : R.color.active_color_primary_light; + Preference createProfile = findPreference(CREATE_PROFILE); - createProfile.setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_plus, - isNightMode() ? R.color.active_color_primary_dark : R.color.active_color_primary_light)); -// Preference importProfile = findPreference(IMPORT_PROFILE); -// importProfile.setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_import, -// isNightMode() ? R.color.active_color_primary_dark : R.color.active_color_primary_light)); + createProfile.setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_plus, activeColorPrimaryResId)); + + Preference importProfile = findPreference(IMPORT_PROFILE); + importProfile.setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_import, activeColorPrimaryResId)); + Preference reorderProfiles = findPreference(REORDER_PROFILES); - reorderProfiles.setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_edit_dark, - isNightMode() ? R.color.active_color_primary_dark : R.color.active_color_primary_light)); + reorderProfiles.setIcon(app.getUIUtilities().getIcon(R.drawable.ic_action_edit_dark, activeColorPrimaryResId)); } private void setupAppProfiles(PreferenceCategory preferenceCategory) { @@ -183,14 +208,15 @@ public class MainSettingsFragment extends BaseSettingsFragment { if (selectProfileListener == null) { selectProfileListener = new SelectProfileListener() { @Override - public void onSelectedType(int pos, String stringRes) { + public void onSelectedType(Bundle args) { FragmentActivity activity = getActivity(); if (activity != null) { FragmentManager fragmentManager = activity.getSupportFragmentManager(); if (fragmentManager != null) { - ProfileDataObject profileDataObject = getBaseProfiles(app).get(pos); + String profileKey = args.getString(PROFILE_KEY_ARG); + boolean imported = args.getBoolean(IS_PROFILE_IMPORTED_ARG); ProfileAppearanceFragment.showInstance(activity, SettingsScreenType.PROFILE_APPEARANCE, - profileDataObject.getStringKey()); + profileKey, imported); } } } diff --git a/OsmAnd/src/net/osmand/plus/settings/NavigationFragment.java b/OsmAnd/src/net/osmand/plus/settings/NavigationFragment.java index de19501412..9453385d99 100644 --- a/OsmAnd/src/net/osmand/plus/settings/NavigationFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/NavigationFragment.java @@ -7,19 +7,23 @@ import android.view.LayoutInflater; import android.view.View; import net.osmand.plus.ApplicationMode; +import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; -import net.osmand.plus.profiles.EditProfileFragment; -import net.osmand.plus.profiles.EditProfileFragment.RoutingProfilesResources; import net.osmand.plus.profiles.RoutingProfileDataObject; +import net.osmand.plus.profiles.RoutingProfileDataObject.RoutingProfilesResources; import net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment; import net.osmand.plus.routing.RouteProvider; import net.osmand.plus.settings.preferences.SwitchPreferenceEx; import net.osmand.router.GeneralRouter; +import net.osmand.util.Algorithms; -import java.util.List; +import java.util.HashMap; +import java.util.Map; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.DIALOG_TYPE; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.IS_PROFILE_IMPORTED_ARG; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.PROFILE_KEY_ARG; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.SELECTED_KEY; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.TYPE_NAV_PROFILE; @@ -29,13 +33,13 @@ public class NavigationFragment extends BaseSettingsFragment { public static final String NAVIGATION_TYPE = "navigation_type"; private SelectProfileBottomSheetDialogFragment.SelectProfileListener navTypeListener; - private List routingProfileDataObjects; + private Map routingProfileDataObjects; private Preference navigationType; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - routingProfileDataObjects = EditProfileFragment.getRoutingProfiles(app); + routingProfileDataObjects = getRoutingProfiles(app); } @Override @@ -55,9 +59,14 @@ public class NavigationFragment extends BaseSettingsFragment { if (getSelectedAppMode().getRoutingProfile() != null) { GeneralRouter routingProfile = app.getRoutingConfig().getRouter(getSelectedAppMode().getRoutingProfile()); if (routingProfile != null) { - RoutingProfilesResources routingProfilesResources = RoutingProfilesResources.valueOf(routingProfile.getProfileName().toUpperCase()); - navigationType.setSummary(routingProfilesResources.getStringRes()); - navigationType.setIcon(getContentIcon(routingProfilesResources.getIconRes())); + String profileNameUC = routingProfile.getProfileName().toUpperCase(); + if (RoutingProfilesResources.isRpValue(profileNameUC)) { + RoutingProfilesResources routingProfilesResources = RoutingProfilesResources.valueOf(profileNameUC); + navigationType.setSummary(routingProfilesResources.getStringRes()); + navigationType.setIcon(getContentIcon(routingProfilesResources.getIconRes())); + } else { + navigationType.setIcon(getContentIcon(R.drawable.ic_action_gdirections_dark)); + } } } routeParameters.setIcon(getContentIcon(R.drawable.ic_action_route_distance)); @@ -103,34 +112,35 @@ public class NavigationFragment extends BaseSettingsFragment { if (navTypeListener == null) { navTypeListener = new SelectProfileBottomSheetDialogFragment.SelectProfileListener() { @Override - public void onSelectedType(int pos, String stringRes) { - updateRoutingProfile(pos); + public void onSelectedType(Bundle args) { + if (args.getBoolean(IS_PROFILE_IMPORTED_ARG)) { + routingProfileDataObjects = getRoutingProfiles(app); + } + updateRoutingProfile(args.getString(PROFILE_KEY_ARG)); } }; } return navTypeListener; } - void updateRoutingProfile(int pos) { - for (int i = 0; i < routingProfileDataObjects.size(); i++) { - if (i == pos) { - routingProfileDataObjects.get(i).setSelected(true); - } else { - routingProfileDataObjects.get(i).setSelected(false); - } + void updateRoutingProfile(String profileKey) { + RoutingProfileDataObject selectedRoutingProfileDataObject = routingProfileDataObjects.get(profileKey); + if (profileKey == null || selectedRoutingProfileDataObject == null) { + return; + } + for (Map.Entry rp : routingProfileDataObjects.entrySet()) { + boolean selected = profileKey.equals(rp.getKey()); + rp.getValue().setSelected(selected); } - RoutingProfileDataObject selectedRoutingProfileDataObject = routingProfileDataObjects.get(pos); navigationType.setSummary(selectedRoutingProfileDataObject.getName()); navigationType.setIcon(getContentIcon(selectedRoutingProfileDataObject.getIconRes())); ApplicationMode.ApplicationModeBuilder builder = ApplicationMode.changeBaseMode(getSelectedAppMode()); - if (selectedRoutingProfileDataObject.getStringKey().equals( - RoutingProfilesResources.STRAIGHT_LINE_MODE.name())) { + if (profileKey.equals(RoutingProfilesResources.STRAIGHT_LINE_MODE.name())) { builder.setRouteService(RouteProvider.RouteService.STRAIGHT); - } else if (selectedRoutingProfileDataObject.getStringKey().equals( - RoutingProfilesResources.BROUTER_MODE.name())) { + } else if (profileKey.equals(RoutingProfilesResources.BROUTER_MODE.name())) { builder.setRouteService(RouteProvider.RouteService.BROUTER); } else { - builder.setRoutingProfile(selectedRoutingProfileDataObject.getStringKey()); + builder.setRoutingProfile(profileKey); } ApplicationMode mode = ApplicationMode.saveProfile(builder, app); @@ -139,6 +149,43 @@ public class NavigationFragment extends BaseSettingsFragment { } } + public static Map getRoutingProfiles(OsmandApplication context) { + Map profilesObjects = new HashMap<>(); + profilesObjects.put(RoutingProfilesResources.STRAIGHT_LINE_MODE.name(), new RoutingProfileDataObject( + RoutingProfilesResources.STRAIGHT_LINE_MODE.name(), + context.getString(RoutingProfilesResources.STRAIGHT_LINE_MODE.getStringRes()), + context.getString(R.string.special_routing_type), + RoutingProfilesResources.STRAIGHT_LINE_MODE.getIconRes(), + false, null)); + if (context.getBRouterService() != null) { + profilesObjects.put(RoutingProfilesResources.BROUTER_MODE.name(), new RoutingProfileDataObject( + RoutingProfilesResources.BROUTER_MODE.name(), + context.getString(RoutingProfilesResources.BROUTER_MODE.getStringRes()), + context.getString(R.string.third_party_routing_type), + RoutingProfilesResources.BROUTER_MODE.getIconRes(), + false, null)); + } + + Map inputProfiles = context.getRoutingConfig().getAllRouters(); + for (Map.Entry e : inputProfiles.entrySet()) { + if (!e.getKey().equals("geocoding")) { + int iconRes = R.drawable.ic_action_gdirections_dark; + String name = e.getValue().getProfileName(); + String description = context.getString(R.string.osmand_default_routing); + if (!Algorithms.isEmpty(e.getValue().getFilename())) { + description = e.getValue().getFilename(); + } else if (RoutingProfilesResources.isRpValue(name.toUpperCase())){ + iconRes = RoutingProfilesResources.valueOf(name.toUpperCase()).getIconRes(); + name = context + .getString(RoutingProfilesResources.valueOf(name.toUpperCase()).getStringRes()); + } + profilesObjects.put(e.getKey(), new RoutingProfileDataObject(e.getKey(), name, description, + iconRes, false, e.getValue().getFilename())); + } + } + return profilesObjects; + } + private void setupVehicleParametersPref() { Preference vehicleParameters = findPreference("vehicle_parameters"); int iconRes = getSelectedAppMode().getIconRes(); diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index d90ae9a914..8679e9c1d3 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -34,7 +34,6 @@ import net.osmand.plus.UiUtilities; import net.osmand.plus.UiUtilities.DialogButtonType; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment; -import net.osmand.plus.profiles.SettingsProfileFragment; import net.osmand.plus.routing.RouteProvider; import net.osmand.plus.widgets.FlowLayout; import net.osmand.plus.widgets.OsmandTextFieldBoxes; @@ -46,6 +45,8 @@ import java.util.ArrayList; import static net.osmand.aidlapi.OsmAndCustomizationConstants.DRAWER_SETTINGS_ID; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.DIALOG_TYPE; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.IS_PROFILE_IMPORTED_ARG; +import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.PROFILE_KEY_ARG; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.SELECTED_KEY; import static net.osmand.plus.profiles.SelectProfileBottomSheetDialogFragment.TYPE_BASE_APP_PROFILE; @@ -69,6 +70,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { public static final String PROFILE_COLOR_KEY = "profile_color_key"; public static final String PROFILE_PARENT_KEY = "profile_parent_key"; public static final String BASE_PROFILE_FOR_NEW = "base_profile_for_new"; + public static final String IS_BASE_PROFILE_IMPORTED = "is_base_profile_imported"; private SelectProfileBottomSheetDialogFragment.SelectProfileListener parentProfileListener; private EditText baseProfileName; private ApplicationProfileObject profile; @@ -78,6 +80,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { private FlowLayout iconItems; private OsmandTextFieldBoxes profileNameOtfb; private View saveButton; + + private boolean isBaseProfileImported; @Override public void onCreate(Bundle savedInstanceState) { @@ -87,12 +91,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { if (getArguments() != null) { Bundle arguments = getArguments(); String keyBaseProfileForNew = arguments.getString(BASE_PROFILE_FOR_NEW, null); - for (ApplicationMode mode : ApplicationMode.getDefaultValues()) { - if (mode.getStringKey().equals(keyBaseProfileForNew)) { - baseModeForNewProfile = mode; - break; - } - } + baseModeForNewProfile = ApplicationMode.valueOfStringKey(keyBaseProfileForNew, null); + isBaseProfileImported = arguments.getBoolean(IS_BASE_PROFILE_IMPORTED); } if (baseModeForNewProfile != null) { profile.stringKey = baseModeForNewProfile.getStringKey() + "_" + System.currentTimeMillis(); @@ -194,9 +194,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (getActivity() != null) { - getActivity().onBackPressed(); - } + goBackWithoutSaving(); } }); saveButton.setOnClickListener(new View.OnClickListener() { @@ -249,6 +247,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { if (changedProfile.parent != null) { outState.putString(PROFILE_PARENT_KEY, changedProfile.parent.getStringKey()); } + outState.putBoolean(IS_BASE_PROFILE_IMPORTED, isBaseProfileImported); } private void restoreState(Bundle savedInstanceState) { @@ -258,6 +257,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { changedProfile.color = (ApplicationMode.ProfileIconColors) savedInstanceState.getSerializable(PROFILE_COLOR_KEY); String parentStringKey = savedInstanceState.getString(PROFILE_PARENT_KEY); changedProfile.parent = ApplicationMode.valueOfStringKey(parentStringKey, null); + isBaseProfileImported = savedInstanceState.getBoolean(IS_BASE_PROFILE_IMPORTED); } @Override @@ -481,18 +481,21 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { if (parentProfileListener == null) { parentProfileListener = new SelectProfileBottomSheetDialogFragment.SelectProfileListener() { @Override - public void onSelectedType(int pos, String stringRes) { - updateParentProfile(pos); + public void onSelectedType(Bundle args) { + String profileKey = args.getString(PROFILE_KEY_ARG); + boolean imported = args.getBoolean(IS_PROFILE_IMPORTED_ARG); + updateParentProfile(profileKey, imported); } }; } return parentProfileListener; } - void updateParentProfile(int pos) { - String key = SettingsProfileFragment.getBaseProfiles(getMyApplication()).get(pos).getStringKey(); - setupBaseProfileView(key); - changedProfile.parent = ApplicationMode.valueOfStringKey(key, ApplicationMode.DEFAULT); + void updateParentProfile(String profileKey, boolean isBaseProfileImported) { + deleteImportedProfile(); + setupBaseProfileView(profileKey); + changedProfile.parent = ApplicationMode.valueOfStringKey(profileKey, ApplicationMode.DEFAULT); + this.isBaseProfileImported = isBaseProfileImported; } private void setupBaseProfileView(String stringKey) { @@ -548,7 +551,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { @Override public void onClick(DialogInterface dialog, int which) { changedProfile = profile; - mapActivity.onBackPressed(); + goBackWithoutSaving(); } }); dismissDialog.show(); @@ -567,12 +570,27 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { return warningDialog; } - public static boolean showInstance(FragmentActivity activity, SettingsScreenType screenType, @Nullable String appMode) { + private void goBackWithoutSaving() { + deleteImportedProfile(); + if (getActivity() != null) { + getActivity().onBackPressed(); + } + } + + private void deleteImportedProfile() { + if (isBaseProfileImported) { + ApplicationMode.deleteCustomMode(ApplicationMode.valueOfStringKey( + changedProfile.parent.getStringKey(), ApplicationMode.DEFAULT), app); + } + } + + public static boolean showInstance(FragmentActivity activity, SettingsScreenType screenType, @Nullable String appMode, boolean imported) { try { Fragment fragment = Fragment.instantiate(activity, screenType.fragmentName); Bundle args = new Bundle(); if (appMode != null) { args.putString(BASE_PROFILE_FOR_NEW, appMode); + args.putBoolean(IS_BASE_PROFILE_IMPORTED, imported); } fragment.setArguments(args); activity.getSupportFragmentManager().beginTransaction() From 7a6128201f2be6a1dd8bc7050b6d78077d735983 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Thu, 16 Jan 2020 15:35:50 +0200 Subject: [PATCH 08/59] Add monitoring preferences screen --- OsmAnd/res/values/strings.xml | 3 + OsmAnd/res/xml/monitoring_settings.xml | 122 +++++++++++ .../monitoring/OsmandMonitoringPlugin.java | 3 +- .../plus/settings/BaseSettingsFragment.java | 1 + .../settings/MonitoringSettingsFragment.java | 201 ++++++++++++++++++ 5 files changed, 329 insertions(+), 1 deletion(-) create mode 100644 OsmAnd/res/xml/monitoring_settings.xml create mode 100644 OsmAnd/src/net/osmand/plus/settings/MonitoringSettingsFragment.java diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index a324d3d997..d9cdf30c0f 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,9 @@ Thx - Hardy --> + Online tracking + Logging accuracy + You can find all your recorded tracks in Menu — My place — Tracks or in OsmAd folder using file manager. You can find all your notes in Menu — My places — Notes Audio notes Video notes diff --git a/OsmAnd/res/xml/monitoring_settings.xml b/OsmAnd/res/xml/monitoring_settings.xml new file mode 100644 index 0000000000..6453ca2a6e --- /dev/null +++ b/OsmAnd/res/xml/monitoring_settings.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index deb3209e2a..8d706ec18d 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -35,6 +35,7 @@ import net.osmand.plus.activities.SavingTrackHelper; import net.osmand.plus.activities.SavingTrackHelper.SaveGpxResult; import net.osmand.plus.dashboard.tools.DashFragmentData; import net.osmand.plus.settings.BaseSettingsFragment; +import net.osmand.plus.settings.MonitoringSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.OsmandMapTileView; @@ -149,7 +150,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { @Override public Class getSettingsFragment() { - return null; + return MonitoringSettingsFragment.class; } @Override diff --git a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java index 5b7158a6f0..d8a1cd83b6 100644 --- a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java @@ -97,6 +97,7 @@ public abstract class BaseSettingsFragment extends PreferenceFragmentCompat impl VOICE_ANNOUNCES(VoiceAnnouncesFragment.class.getName(), true, R.xml.voice_announces, R.layout.profile_preference_toolbar_with_switch), ACCESSIBILITY_SETTINGS(AccessibilitySettingsFragment.class.getName(), true, R.xml.accessibility_settings, R.layout.profile_preference_toolbar_big), MULTIMEDIA_NOTES(MultimediaNotesFragment.class.getName(), true, R.xml.multimedia_notes, R.layout.profile_preference_toolbar_big), + MONITORING_SETTINGS(MonitoringSettingsFragment.class.getName(), true, R.xml.monitoring_settings, R.layout.profile_preference_toolbar_big), VEHICLE_PARAMETERS(VehicleParametersFragment.class.getName(), true, R.xml.vehicle_parameters, R.layout.profile_preference_toolbar), MAP_DURING_NAVIGATION(MapDuringNavigationFragment.class.getName(), true, R.xml.map_during_navigation, R.layout.profile_preference_toolbar), TURN_SCREEN_ON(TurnScreenOnFragment.class.getName(), true, R.xml.turn_screen_on, R.layout.profile_preference_toolbar_with_switch), diff --git a/OsmAnd/src/net/osmand/plus/settings/MonitoringSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/MonitoringSettingsFragment.java new file mode 100644 index 0000000000..2ea96664ef --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/settings/MonitoringSettingsFragment.java @@ -0,0 +1,201 @@ +package net.osmand.plus.settings; + +import android.content.Intent; +import android.support.v4.app.FragmentManager; +import android.support.v7.preference.Preference; + +import net.osmand.plus.OsmAndAppCustomization; +import net.osmand.plus.OsmandSettings; +import net.osmand.plus.R; +import net.osmand.plus.myplaces.FavoritesActivity; +import net.osmand.plus.settings.bottomsheets.ChangeGeneralProfilesPrefBottomSheet; +import net.osmand.plus.settings.preferences.ListPreferenceEx; +import net.osmand.plus.settings.preferences.SwitchPreferenceEx; + +import java.io.Serializable; + +import static net.osmand.plus.OsmandSettings.DAILY_DIRECTORY; +import static net.osmand.plus.OsmandSettings.MONTHLY_DIRECTORY; +import static net.osmand.plus.OsmandSettings.REC_DIRECTORY; +import static net.osmand.plus.monitoring.OsmandMonitoringPlugin.MINUTES; +import static net.osmand.plus.monitoring.OsmandMonitoringPlugin.SECONDS; + +public class MonitoringSettingsFragment extends BaseSettingsFragment { + + private static final String COPY_PLUGIN_SETTINGS = "copy_plugin_settings"; + private static final String RESET_TO_DEFAULT = "reset_to_default"; + private static final String OPEN_TRACKS = "open_tracks"; + + @Override + protected void setupPreferences() { + setupSaveTrackToGpxPref(); + setupSaveTrackIntervalPref(); + + setupSaveTrackMinDistancePref(); + setupSaveTrackPrecisionPref(); + setupSaveTrackMinSpeedPref(); + setupAutoSplitRecordingPref(); + setupDisableRecordingOnceAppKilledPref(); + + setupTrackStorageDirectoryPref(); + setupLiveMonitoringPref(); + + setupOpenNotesDescrPref(); + setupOpenNotesPref(); + + setupCopyProfileSettingsPref(); + setupResetToDefaultPref(); + } + + private void setupSaveTrackToGpxPref() { + SwitchPreferenceEx saveTrackToGpx = (SwitchPreferenceEx) findPreference(settings.SAVE_TRACK_TO_GPX.getId()); + saveTrackToGpx.setDescription(getString(R.string.save_track_to_gpx_descrp)); + saveTrackToGpx.setIcon(getContentIcon(R.drawable.ic_action_gdirections_dark)); + } + + private void setupSaveTrackIntervalPref() { + Integer[] entryValues = new Integer[SECONDS.length + MINUTES.length]; + String[] entries = new String[entryValues.length]; + int k = 0; + for (int second : SECONDS) { + entryValues[k] = second * 1000; + entries[k] = second + " " + getString(R.string.int_seconds); + k++; + } + for (int minute : MINUTES) { + entryValues[k] = (minute * 60) * 1000; + entries[k] = minute + " " + getString(R.string.int_min); + k++; + } + + ListPreferenceEx saveTrackInterval = (ListPreferenceEx) findPreference(settings.SAVE_TRACK_INTERVAL.getId()); + saveTrackInterval.setEntries(entries); + saveTrackInterval.setEntryValues(entryValues); + saveTrackInterval.setIcon(getActiveIcon(R.drawable.ic_action_time_span)); + saveTrackInterval.setDescription(R.string.save_track_interval_descr); + } + + private void setupSaveTrackMinDistancePref() { + Float[] entryValues = new Float[] {0.f, 2.0f, 5.0f, 10.0f, 20.0f, 30.0f, 50.0f}; + String[] entries = new String[entryValues.length]; + entries[0] = getString(R.string.shared_string_not_selected); + for (int i = 1; i < entryValues.length; i++) { + entries[i] = entryValues[i].intValue() + " " + getString(R.string.m); + } + + ListPreferenceEx saveTrackMinDistance = (ListPreferenceEx) findPreference(settings.SAVE_TRACK_MIN_DISTANCE.getId()); + saveTrackMinDistance.setEntries(entries); + saveTrackMinDistance.setEntryValues(entryValues); + saveTrackMinDistance.setDescription(R.string.save_track_min_distance_descr); + } + + private void setupSaveTrackPrecisionPref() { + Float[] entryValues = new Float[] {0.f, 1.0f, 2.0f, 5.0f, 10.0f, 15.0f, 20.0f, 50.0f, 100.0f}; + String[] entries = new String[entryValues.length]; + entries[0] = getString(R.string.shared_string_not_selected); + for (int i = 1; i < entryValues.length; i++) { + entries[i] = entryValues[i].intValue() + " " + getString(R.string.m) + " (" + Math.round(entryValues[i] / 0.3048f) + " " + getString(R.string.foot) + ")"; + } + + ListPreferenceEx saveTrackPrecision = (ListPreferenceEx) findPreference(settings.SAVE_TRACK_PRECISION.getId()); + saveTrackPrecision.setEntries(entries); + saveTrackPrecision.setEntryValues(entryValues); + saveTrackPrecision.setDescription(R.string.save_track_precision_descr); + } + + private void setupSaveTrackMinSpeedPref() { + Float[] entryValues = new Float[] {0.f, 0.000001f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f}; + String[] entries = new String[entryValues.length]; + entries[0] = getString(R.string.shared_string_not_selected); + entries[1] = "> 0"; // This option for the GPS chipset motion detection + for (int i = 2; i < entryValues.length; i++) { + entries[i] = entryValues[i].intValue() + " " + getString(R.string.km_h); + entryValues[i] = entryValues[i] / 3.6f; + } + + ListPreferenceEx saveTrackMinSpeed = (ListPreferenceEx) findPreference(settings.SAVE_TRACK_MIN_SPEED.getId()); + saveTrackMinSpeed.setEntries(entries); + saveTrackMinSpeed.setEntryValues(entryValues); + saveTrackMinSpeed.setDescription(R.string.save_track_min_speed_descr); + } + + private void setupAutoSplitRecordingPref() { + SwitchPreferenceEx autoSplitRecording = (SwitchPreferenceEx) findPreference(settings.AUTO_SPLIT_RECORDING.getId()); + autoSplitRecording.setDescription(getString(R.string.auto_split_recording_descr)); + } + + private void setupDisableRecordingOnceAppKilledPref() { + SwitchPreferenceEx disableRecordingOnceAppKilled = (SwitchPreferenceEx) findPreference(settings.DISABLE_RECORDING_ONCE_APP_KILLED.getId()); + disableRecordingOnceAppKilled.setDescription(getString(R.string.disable_recording_once_app_killed_descrp)); + } + + private void setupTrackStorageDirectoryPref() { + Integer[] entryValues = new Integer[] {REC_DIRECTORY, MONTHLY_DIRECTORY, DAILY_DIRECTORY}; + String[] entries = new String[entryValues.length]; + entries[0] = getString(R.string.store_tracks_in_rec_directory); + entries[1] = getString(R.string.store_tracks_in_monthly_directories); + entries[2] = getString(R.string.store_tracks_in_daily_directories); + + ListPreferenceEx trackStorageDirectory = (ListPreferenceEx) findPreference(settings.TRACK_STORAGE_DIRECTORY.getId()); + trackStorageDirectory.setEntries(entries); + trackStorageDirectory.setEntryValues(entryValues); + trackStorageDirectory.setDescription(R.string.track_storage_directory_descrp); + trackStorageDirectory.setIcon(getActiveIcon(R.drawable.ic_action_folder)); + } + + private void setupLiveMonitoringPref() { + SwitchPreferenceEx liveMonitoring = (SwitchPreferenceEx) findPreference(settings.LIVE_MONITORING.getId()); + liveMonitoring.setDescription(getString(R.string.live_monitoring_m_descr)); + liveMonitoring.setIcon(getContentIcon(R.drawable.ic_world_globe_dark)); + } + + private void setupOpenNotesDescrPref() { + Preference nameAndPasswordPref = findPreference("open_tracks_description"); + nameAndPasswordPref.setTitle(getText(R.string.tracks_view_descr)); + } + + private void setupOpenNotesPref() { + Preference openNotes = findPreference(OPEN_TRACKS); + openNotes.setIcon(getActiveIcon(R.drawable.ic_action_folder)); + } + + private void setupCopyProfileSettingsPref() { + Preference copyProfilePrefs = findPreference(COPY_PLUGIN_SETTINGS); + copyProfilePrefs.setIcon(getActiveIcon(R.drawable.ic_action_copy)); + } + + private void setupResetToDefaultPref() { + Preference resetToDefault = findPreference(RESET_TO_DEFAULT); + resetToDefault.setIcon(getActiveIcon(R.drawable.ic_action_reset_to_default_dark)); + } + + @Override + public boolean onPreferenceClick(Preference preference) { + if (OPEN_TRACKS.equals(preference.getKey())) { + OsmAndAppCustomization appCustomization = app.getAppCustomization(); + Intent favorites = new Intent(preference.getContext(), appCustomization.getFavoritesActivity()); + favorites.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + app.getSettings().FAVORITES_TAB.set(FavoritesActivity.GPX_TAB); + startActivity(favorites); + return true; + } + return super.onPreferenceClick(preference); + } + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + String prefId = preference.getKey(); + + OsmandSettings.OsmandPreference pref = settings.getPreference(prefId); + if (pref instanceof OsmandSettings.CommonPreference && !((OsmandSettings.CommonPreference) pref).hasDefaultValueForMode(getSelectedAppMode())) { + FragmentManager fragmentManager = getFragmentManager(); + if (fragmentManager != null && newValue instanceof Serializable) { + ChangeGeneralProfilesPrefBottomSheet.showInstance(fragmentManager, prefId, + (Serializable) newValue, this, false, getSelectedAppMode()); + } + return false; + } + + return true; + } +} \ No newline at end of file From cdcb67b95c37d353545a2c01b0b52fa5972707f5 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Thu, 16 Jan 2020 16:50:48 +0200 Subject: [PATCH 09/59] Add live monitoring preferences screen --- OsmAnd/res/values/strings.xml | 1 + OsmAnd/res/xml/live_monitoring.xml | 35 ++++ OsmAnd/res/xml/monitoring_settings.xml | 4 +- .../plus/settings/BaseSettingsFragment.java | 1 + .../plus/settings/LiveMonitoringFragment.java | 150 ++++++++++++++++++ 5 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 OsmAnd/res/xml/live_monitoring.xml create mode 100644 OsmAnd/src/net/osmand/plus/settings/LiveMonitoringFragment.java diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index d9cdf30c0f..1ff730827a 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,7 @@ Thx - Hardy --> + Allow you to share current location using trip recording. Online tracking Logging accuracy You can find all your recorded tracks in Menu — My place — Tracks or in OsmAd folder using file manager. diff --git a/OsmAnd/res/xml/live_monitoring.xml b/OsmAnd/res/xml/live_monitoring.xml new file mode 100644 index 0000000000..32352e5b6b --- /dev/null +++ b/OsmAnd/res/xml/live_monitoring.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/xml/monitoring_settings.xml b/OsmAnd/res/xml/monitoring_settings.xml index 6453ca2a6e..993ea0ea10 100644 --- a/OsmAnd/res/xml/monitoring_settings.xml +++ b/OsmAnd/res/xml/monitoring_settings.xml @@ -1,7 +1,8 @@ + android:title="@string/monitoring_settings"> Date: Thu, 16 Jan 2020 17:04:37 +0200 Subject: [PATCH 10/59] Add plugins preferences description --- OsmAnd/res/values/strings.xml | 4 ++++ .../osmand/access/AccessibilityPlugin.java | 21 +++++++------------ OsmAnd/src/net/osmand/plus/OsmandPlugin.java | 14 +++++++++---- .../audionotes/AudioVideoNotesPlugin.java | 2 +- .../development/OsmandDevelopmentPlugin.java | 13 +----------- .../plus/mapillary/MapillaryPlugin.java | 15 ------------- .../monitoring/OsmandMonitoringPlugin.java | 2 +- .../openseamapsplugin/NauticalMapsPlugin.java | 17 +-------------- .../osmand/plus/osmedit/OsmEditingPlugin.java | 2 +- .../parkingpoint/ParkingPositionPlugin.java | 15 ------------- .../rastermaps/OsmandRasterMapsPlugin.java | 15 ------------- .../plus/skimapsplugin/SkiMapsPlugin.java | 15 ------------- .../osmand/plus/srtmplugin/SRTMPlugin.java | 15 ------------- 13 files changed, 26 insertions(+), 124 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 1ff730827a..0e3aee8ea8 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,10 @@ Thx - Hardy --> + Navigation, logging accuracy + Picture size, audio and video quality + Login, password, offline editing + Choose icon, color and name Allow you to share current location using trip recording. Online tracking Logging accuracy diff --git a/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java b/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java index f3dd366a57..23d1d25a34 100644 --- a/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java +++ b/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java @@ -1,9 +1,5 @@ package net.osmand.access; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - import android.app.Activity; import android.media.AudioManager; import android.media.SoundPool; @@ -12,10 +8,13 @@ import android.support.annotation.NonNull; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; -import net.osmand.plus.activities.MapActivity; import net.osmand.plus.settings.AccessibilitySettingsFragment; import net.osmand.plus.settings.BaseSettingsFragment; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + public class AccessibilityPlugin extends OsmandPlugin { public static final int DIRECTION_NOTIFICATION = 1; @@ -30,7 +29,7 @@ public class AccessibilityPlugin extends OsmandPlugin { public AccessibilityPlugin(OsmandApplication app) { this.app = app; } - + @Override public boolean init(@NonNull final OsmandApplication app, Activity activity) { sounds = new SoundPool(1, AudioManager.STREAM_MUSIC, 0); @@ -57,11 +56,6 @@ public class AccessibilityPlugin extends OsmandPlugin { return app.getString(R.string.shared_string_accessibility); } - @Override - public void registerLayers(MapActivity activity) { - } - - @Override public Class getSettingsActivity() { return SettingsAccessibilityActivity.class; @@ -74,7 +68,7 @@ public class AccessibilityPlugin extends OsmandPlugin { @Override public String getPrefsDescription() { - return null; + return app.getString(R.string.accessibility_prefs_descr); } @Override @@ -110,5 +104,4 @@ public class AccessibilityPlugin extends OsmandPlugin { return 0; } } - -} +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/OsmandPlugin.java b/OsmAnd/src/net/osmand/plus/OsmandPlugin.java index 1b70378841..9aa4551a84 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandPlugin.java +++ b/OsmAnd/src/net/osmand/plus/OsmandPlugin.java @@ -66,8 +66,6 @@ public abstract class OsmandPlugin { public abstract String getDescription(); - public abstract String getPrefsDescription(); - public abstract int getAssetResourceName(); @DrawableRes @@ -75,9 +73,17 @@ public abstract class OsmandPlugin { return R.drawable.ic_extension_dark; } - public abstract Class getSettingsActivity(); + public Class getSettingsActivity() { + return null; + } - public abstract Class getSettingsFragment(); + public Class getSettingsFragment() { + return null; + } + + public String getPrefsDescription() { + return null; + } public String getVersion() { return ""; diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index fc71413639..f68060fc76 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -1797,7 +1797,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { @Override public String getPrefsDescription() { - return null; + return app.getString(R.string.multimedia_notes_prefs_descr); } @Override diff --git a/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java b/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java index ac2370ab92..1e3d2a983d 100644 --- a/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java +++ b/OsmAnd/src/net/osmand/plus/development/OsmandDevelopmentPlugin.java @@ -30,7 +30,6 @@ public class OsmandDevelopmentPlugin extends OsmandPlugin { //ApplicationMode.regWidgetVisibility("fps", new ApplicationMode[0]); } - @Override public String getId() { return ID; @@ -126,16 +125,6 @@ public class OsmandDevelopmentPlugin extends OsmandPlugin { return SettingsDevelopmentActivity.class; } - @Override - public Class getSettingsFragment() { - return null; - } - - @Override - public String getPrefsDescription() { - return null; - } - @Override public int getLogoResourceId() { return R.drawable.ic_plugin_developer; @@ -150,4 +139,4 @@ public class OsmandDevelopmentPlugin extends OsmandPlugin { public DashFragmentData getCardFragment() { return DashSimulateFragment.FRAGMENT_DATA; } -} +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java b/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java index f8507a86e1..e3ef951edc 100644 --- a/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java +++ b/OsmAnd/src/net/osmand/plus/mapillary/MapillaryPlugin.java @@ -140,21 +140,6 @@ public class MapillaryPlugin extends OsmandPlugin { } } - @Override - public Class getSettingsActivity() { - return null; - } - - @Override - public Class getSettingsFragment() { - return null; - } - - @Override - public String getPrefsDescription() { - return null; - } - @Override public void registerLayerContextMenuActions(final OsmandMapTileView mapView, ContextMenuAdapter adapter, final MapActivity mapActivity) { ContextMenuAdapter.ItemClickListener listener = new ContextMenuAdapter.OnRowItemClick() { diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index 8d706ec18d..fd53e92811 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -155,7 +155,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { @Override public String getPrefsDescription() { - return null; + return app.getString(R.string.monitoring_prefs_descr); } /** diff --git a/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java b/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java index 22b5313ea2..60133000a0 100644 --- a/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java @@ -121,19 +121,4 @@ public class NauticalMapsPlugin extends OsmandPlugin { public String getId() { return ID; } - - @Override - public Class getSettingsActivity() { - return null; - } - - @Override - public Class getSettingsFragment() { - return null; - } - - @Override - public String getPrefsDescription() { - return null; - } -} +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java index f67548778a..389aea9377 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java @@ -199,7 +199,7 @@ public class OsmEditingPlugin extends OsmandPlugin { @Override public String getPrefsDescription() { - return null; + return app.getString(R.string.osm_editing_prefs_descr); } @Override diff --git a/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java b/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java index c858ee4c80..2e068d9cb8 100644 --- a/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java +++ b/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionPlugin.java @@ -518,21 +518,6 @@ public class ParkingPositionPlugin extends OsmandPlugin { parkingPlaceControl.setIcons(R.drawable.widget_parking_day, R.drawable.widget_parking_night); return parkingPlaceControl; } - - @Override - public Class getSettingsActivity() { - return null; - } - - @Override - public Class getSettingsFragment() { - return null; - } - - @Override - public String getPrefsDescription() { - return null; - } @Override public int getAssetResourceName() { diff --git a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java index 9899b586fb..728cd6b652 100644 --- a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java @@ -407,21 +407,6 @@ public class OsmandRasterMapsPlugin extends OsmandPlugin { } } - @Override - public Class getSettingsActivity() { - return SettingsRasterMapsActivity.class; - } - - @Override - public Class getSettingsFragment() { - return null; - } - - @Override - public String getPrefsDescription() { - return null; - } - public static void installMapLayers(final Activity activity, final ResultMatcher result) { final OsmandApplication app = (OsmandApplication) activity.getApplication(); final OsmandSettings settings = app.getSettings(); diff --git a/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java b/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java index 51fd9d1061..b188b3b33d 100644 --- a/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/skimapsplugin/SkiMapsPlugin.java @@ -89,19 +89,4 @@ public class SkiMapsPlugin extends OsmandPlugin { public String getId() { return ID; } - - @Override - public Class getSettingsActivity() { - return null; - } - - @Override - public Class getSettingsFragment() { - return null; - } - - @Override - public String getPrefsDescription() { - return null; - } } \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java b/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java index d063cfb5c0..19eccbbf44 100644 --- a/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java +++ b/OsmAnd/src/net/osmand/plus/srtmplugin/SRTMPlugin.java @@ -420,21 +420,6 @@ public class SRTMPlugin extends OsmandPlugin { @Override public void disable(OsmandApplication app) { } - - @Override - public Class getSettingsActivity() { - return null; - } - - @Override - public Class getSettingsFragment() { - return null; - } - - @Override - public String getPrefsDescription() { - return null; - } public static void refreshMapComplete(final MapActivity activity) { activity.getMyApplication().getResourceManager().getRenderer().clearCache(); From 03193b0a167e9566cc0fabb6a973e0f6c78b0248 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Thu, 16 Jan 2020 18:04:33 +0200 Subject: [PATCH 11/59] Remove unnecessary code --- .../osmand/telegram/TelegramApplication.kt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt b/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt index 4c40d9a365..1eda69b2dd 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/TelegramApplication.kt @@ -14,7 +14,7 @@ import net.osmand.telegram.notifications.NotificationHelper import net.osmand.telegram.utils.AndroidUtils import net.osmand.telegram.utils.UiUtils -class TelegramApplication : Application(), OsmandHelperListener { +class TelegramApplication : Application() { val telegramHelper = TelegramHelper.instance lateinit var settings: TelegramSettings private set @@ -42,7 +42,25 @@ class TelegramApplication : Application(), OsmandHelperListener { telegramHelper.messageActiveTimeSec = settings.locHistoryTime uiUtils = UiUtils(this) osmandAidlHelper = OsmandAidlHelper(this) - osmandAidlHelper.listener = this + osmandAidlHelper.listener = object : OsmandHelperListener { + override fun onOsmandConnectionStateChanged(connected: Boolean) { + if (connected) { + osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram") + osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram.debug") + osmandAidlHelper.setNavDrawerItems( + applicationContext.packageName, + listOf(getString(R.string.app_name_short)), + listOf("osmand_telegram://main_activity"), + listOf("ic_action_location_sharing_app"), + listOf(-1) + ) + showLocationHelper.setupMapLayer() + showLocationHelper.addDirectionContextMenuButton() + showLocationHelper.startShowingLocation() + showLocationHelper.addOrUpdateStatusWidget(-1, false) + } + } + } osmandAidlHelper.setUpdatesListener(object : UpdatesListener { override fun update() { if (settings.hasAnyChatToShowOnMap()) { @@ -124,24 +142,6 @@ class TelegramApplication : Application(), OsmandHelperListener { return internetConnectionAvailable } - override fun onOsmandConnectionStateChanged(connected: Boolean) { - if (connected) { - osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram") - osmandAidlHelper.clearNavDrawerItems("net.osmand.telegram.debug") - osmandAidlHelper.setNavDrawerItems( - applicationContext.packageName, - listOf(getString(R.string.app_name_short)), - listOf("osmand_telegram://main_activity"), - listOf("ic_action_location_sharing_app"), - listOf(-1) - ) - showLocationHelper.setupMapLayer() - showLocationHelper.addDirectionContextMenuButton() - showLocationHelper.startShowingLocation() - showLocationHelper.addOrUpdateStatusWidget(-1, false) - } - } - private fun startTelegramService(intent: Int, serviceOffInterval: Long = 0) { var i = intent var interval = serviceOffInterval From f09c1f8d747bba8f41a6201a363152c902032461 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Fri, 10 Jan 2020 19:03:50 +0200 Subject: [PATCH 12/59] Implement new colored location icon on map --- OsmAnd/res/drawable/bg_select_icon_button.xml | 6 ++ .../bg_select_icon_button_outline.xml | 9 ++ .../res/drawable/map_bicycle_location_xml.xml | 18 ++++ OsmAnd/res/drawable/map_car_location_xml.xml | 18 ++++ .../res/drawable/map_default_location_xml.xml | 18 ++++ OsmAnd/res/layout/preference_circle_item.xml | 2 +- OsmAnd/res/layout/preference_color_select.xml | 2 +- .../layout/preference_select_icon_button.xml | 21 ++++ OsmAnd/res/xml/profile_appearance.xml | 11 +- .../src/net/osmand/plus/ApplicationMode.java | 100 +++++++++--------- .../settings/ProfileAppearanceFragment.java | 46 +++++++- .../osmand/plus/views/PointLocationLayer.java | 71 ++++++++----- 12 files changed, 234 insertions(+), 88 deletions(-) create mode 100644 OsmAnd/res/drawable/bg_select_icon_button.xml create mode 100644 OsmAnd/res/drawable/bg_select_icon_button_outline.xml create mode 100644 OsmAnd/res/drawable/map_bicycle_location_xml.xml create mode 100644 OsmAnd/res/drawable/map_car_location_xml.xml create mode 100644 OsmAnd/res/drawable/map_default_location_xml.xml create mode 100644 OsmAnd/res/layout/preference_select_icon_button.xml diff --git a/OsmAnd/res/drawable/bg_select_icon_button.xml b/OsmAnd/res/drawable/bg_select_icon_button.xml new file mode 100644 index 0000000000..f037ae97e1 --- /dev/null +++ b/OsmAnd/res/drawable/bg_select_icon_button.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/OsmAnd/res/drawable/bg_select_icon_button_outline.xml b/OsmAnd/res/drawable/bg_select_icon_button_outline.xml new file mode 100644 index 0000000000..4b004aee51 --- /dev/null +++ b/OsmAnd/res/drawable/bg_select_icon_button_outline.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_bicycle_location_xml.xml b/OsmAnd/res/drawable/map_bicycle_location_xml.xml new file mode 100644 index 0000000000..0065008710 --- /dev/null +++ b/OsmAnd/res/drawable/map_bicycle_location_xml.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_car_location_xml.xml b/OsmAnd/res/drawable/map_car_location_xml.xml new file mode 100644 index 0000000000..7fec9f8839 --- /dev/null +++ b/OsmAnd/res/drawable/map_car_location_xml.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_default_location_xml.xml b/OsmAnd/res/drawable/map_default_location_xml.xml new file mode 100644 index 0000000000..ed1f37c833 --- /dev/null +++ b/OsmAnd/res/drawable/map_default_location_xml.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/preference_circle_item.xml b/OsmAnd/res/layout/preference_circle_item.xml index d6a3c6492b..54b61fe671 100644 --- a/OsmAnd/res/layout/preference_circle_item.xml +++ b/OsmAnd/res/layout/preference_circle_item.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:padding="6dp"> + android:padding="7dp"> + android:layout_margin="4dp" /> \ No newline at end of file diff --git a/OsmAnd/res/layout/preference_select_icon_button.xml b/OsmAnd/res/layout/preference_select_icon_button.xml new file mode 100644 index 0000000000..702a83ad84 --- /dev/null +++ b/OsmAnd/res/layout/preference_select_icon_button.xml @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/xml/profile_appearance.xml b/OsmAnd/res/xml/profile_appearance.xml index 067429aaa9..f32a758ee3 100644 --- a/OsmAnd/res/xml/profile_appearance.xml +++ b/OsmAnd/res/xml/profile_appearance.xml @@ -49,15 +49,15 @@ android:layout="@layout/simple_divider_item" android:selectable="false" /> - + android:selectable="false"/> \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index b1bae228da..8fa09ae1ef 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -79,13 +79,13 @@ public class ApplicationMode { private int arrivalDistance = 90; private int offRouteDistance = 350; private int bearingIconDay = R.drawable.map_pedestrian_bearing; - private int bearingIconNight = R.drawable.map_pedestrian_bearing_night; +// private int bearingIconNight = R.drawable.map_pedestrian_bearing_night; private int headingIconDay = R.drawable.map_pedestrian_location_view_angle; - private int headingIconNight = R.drawable.map_pedestrian_location_view_angle_night; - private int locationIconDay = R.drawable.map_pedestrian_location; - private int locationIconNight = R.drawable.map_pedestrian_location_night; - private int locationIconDayLost = R.drawable.map_pedestrian_location_lost; - private int locationIconNightLost = R.drawable.map_pedestrian_location_lost_night; +// private int headingIconNight = R.drawable.map_pedestrian_location_view_angle_night; + private int locationIcon = R.drawable.map_default_location_xml; +// private int locationIconNight = R.drawable.map_pedestrian_location_night; +// private int locationIconDayLost = R.drawable.map_pedestrian_location_lost; +// private int locationIconNightLost = R.drawable.map_pedestrian_location_lost_night; private ApplicationMode(int key, String stringKey) { this.keyName = key; @@ -207,13 +207,13 @@ public class ApplicationMode { m.arrivalDistance = m.parentAppMode.arrivalDistance; m.offRouteDistance = m.parentAppMode.offRouteDistance; m.bearingIconDay = m.parentAppMode.bearingIconDay; - m.bearingIconNight = m.parentAppMode.bearingIconNight; +// m.bearingIconNight = m.parentAppMode.bearingIconNight; m.headingIconDay = m.parentAppMode.headingIconDay; - m.headingIconNight = m.parentAppMode.headingIconNight; - m.locationIconDay = m.parentAppMode.locationIconDay; - m.locationIconNight = m.parentAppMode.locationIconNight; - m.locationIconDayLost = m.parentAppMode.locationIconDayLost; - m.locationIconNightLost = m.parentAppMode.locationIconNightLost; +// m.headingIconNight = m.parentAppMode.headingIconNight; + m.locationIcon = m.parentAppMode.locationIcon; +// m.locationIconNight = m.parentAppMode.locationIconNight; +// m.locationIconDayLost = m.parentAppMode.locationIconDayLost; +// m.locationIconNightLost = m.parentAppMode.locationIconNightLost; values.add(applicationMode); if (applicationMode.getOrder() == 0 && !values.isEmpty()) { applicationMode.setOrder(values.size()); @@ -264,47 +264,47 @@ public class ApplicationMode { public ApplicationModeBuilder carLocation() { applicationMode.bearingIconDay = R.drawable.map_car_bearing; - applicationMode.bearingIconNight = R.drawable.map_car_bearing_night; +// applicationMode.bearingIconNight = R.drawable.map_car_bearing_night; applicationMode.headingIconDay = R.drawable.map_car_location_view_angle; - applicationMode.headingIconNight = R.drawable.map_car_location_view_angle_night; - applicationMode.locationIconDay = R.drawable.map_car_location; - applicationMode.locationIconNight = R.drawable.map_car_location_night; - applicationMode.locationIconDayLost = R.drawable.map_car_location_lost; - applicationMode.locationIconNightLost = R.drawable.map_car_location_lost_night; +// applicationMode.headingIconNight = R.drawable.map_car_location_view_angle_night; + applicationMode.locationIcon = R.drawable.map_car_location_xml; +// applicationMode.locationIconNight = R.drawable.map_car_location_night; +// applicationMode.locationIconDayLost = R.drawable.map_car_location_lost; +// applicationMode.locationIconNightLost = R.drawable.map_car_location_lost_night; return this; } public ApplicationModeBuilder bicycleLocation() { applicationMode.bearingIconDay = R.drawable.map_bicycle_bearing; - applicationMode.bearingIconNight = R.drawable.map_bicycle_bearing_night; +// applicationMode.bearingIconNight = R.drawable.map_bicycle_bearing_night; applicationMode.headingIconDay = R.drawable.map_bicycle_location_view_angle; - applicationMode.headingIconNight = R.drawable.map_bicycle_location_view_angle_night; - applicationMode.locationIconDay = R.drawable.map_bicycle_location; - applicationMode.locationIconNight = R.drawable.map_bicycle_location_night; - applicationMode.locationIconDayLost = R.drawable.map_bicycle_location_lost; - applicationMode.locationIconNightLost = R.drawable.map_bicycle_location_lost_night; +// applicationMode.headingIconNight = R.drawable.map_bicycle_location_view_angle_night; + applicationMode.locationIcon = R.drawable.map_bicycle_location_xml; +// applicationMode.locationIconNight = R.drawable.map_bicycle_location_night; +// applicationMode.locationIconDayLost = R.drawable.map_bicycle_location_lost; +// applicationMode.locationIconNightLost = R.drawable.map_bicycle_location_lost_night; return this; } public ApplicationModeBuilder defLocation() { applicationMode.bearingIconDay = R.drawable.map_pedestrian_bearing; - applicationMode.bearingIconNight = R.drawable.map_pedestrian_bearing_night; +// applicationMode.bearingIconNight = R.drawable.map_pedestrian_bearing_night; applicationMode.headingIconDay = R.drawable.map_default_location_view_angle; - applicationMode.headingIconNight = R.drawable.map_default_location_view_angle_night; - applicationMode.locationIconDay = R.drawable.map_pedestrian_location; - applicationMode.locationIconNight = R.drawable.map_pedestrian_location_night; - applicationMode.locationIconDayLost = R.drawable.map_pedestrian_location_lost; - applicationMode.locationIconNightLost = R.drawable.map_pedestrian_location_lost_night; +// applicationMode.headingIconNight = R.drawable.map_default_location_view_angle_night; + applicationMode.locationIcon = R.drawable.map_default_location_xml; +// applicationMode.locationIconNight = R.drawable.map_pedestrian_location_night; +// applicationMode.locationIconDayLost = R.drawable.map_pedestrian_location_lost; +// applicationMode.locationIconNightLost = R.drawable.map_pedestrian_location_lost_night; return this; } public ApplicationModeBuilder nauticalLocation() { applicationMode.bearingIconDay = R.drawable.map_nautical_bearing; - applicationMode.bearingIconNight = R.drawable.map_nautical_bearing_night; +// applicationMode.bearingIconNight = R.drawable.map_nautical_bearing_night; applicationMode.headingIconDay = R.drawable.map_nautical_location_view_angle; - applicationMode.headingIconNight = R.drawable.map_nautical_location_view_angle_night; - applicationMode.locationIconDay = R.drawable.map_nautical_location; - applicationMode.locationIconNight = R.drawable.map_nautical_location_night; +// applicationMode.headingIconNight = R.drawable.map_nautical_location_view_angle_night; + applicationMode.locationIcon = R.drawable.map_nautical_location; +// applicationMode.locationIconNight = R.drawable.map_nautical_location_night; return this; } @@ -512,33 +512,33 @@ public class ApplicationMode { return bearingIconDay; } - public int getResourceBearingNight() { - return bearingIconNight; - } +// public int getResourceBearingNight() { +// return bearingIconNight; +// } public int getResourceHeadingDay() { return headingIconDay; } - public int getResourceHeadingNight() { - return headingIconNight; - } +// public int getResourceHeadingNight() { +// return headingIconNight; +// } public int getResourceLocationDay() { - return locationIconDay; + return locationIcon; } - public int getResourceLocationNight() { - return locationIconNight; - } +// public int getResourceLocationNight() { +// return locationIconNight; +// } - public int getResourceLocationDayLost() { - return locationIconDayLost; - } +// public int getResourceLocationDayLost() { +// return locationIconDayLost; +// } - public int getResourceLocationNightLost() { - return locationIconNightLost; - } +// public int getResourceLocationNightLost() { +// return locationIconNightLost; +// } public String getStringKey() { return stringKey; diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index d90ae9a914..231551b259 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -60,8 +60,10 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { private static final String SELECT_ICON = "select_icon"; private static final String COLOR_ITEMS = "color_items"; private static final String ICON_ITEMS = "icon_items"; -// private static final String SELECT_MAP_ICON = "select_map_icon"; -// private static final String SELECT_NAV_ICON = "select_nav_icon"; + private static final String SELECT_MAP_ICON = "select_map_icon"; + private static final String MAP_ICON_ITEMS = "map_icon_items"; + private static final String SELECT_NAV_ICON = "select_nav_icon"; + private static final String NAV_ICON_ITEMS = "nav_icon_items"; public static final String PROFILE_NAME_KEY = "profile_name_key"; public static final String PROFILE_STRINGKEY_KEY = "profile_stringkey_key"; @@ -76,6 +78,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { private EditText profileName; private FlowLayout colorItems; private FlowLayout iconItems; + private FlowLayout mapIconItems; + private FlowLayout navIconItems; private OsmandTextFieldBoxes profileNameOtfb; private View saveButton; @@ -166,8 +170,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { protected void setupPreferences() { findPreference(SELECT_COLOR).setIconSpaceReserved(false); findPreference(SELECT_ICON).setIconSpaceReserved(false); -// findPreference(SELECT_MAP_ICON).setIconSpaceReserved(false); -// findPreference(SELECT_NAV_ICON).setIconSpaceReserved(false); + findPreference(SELECT_MAP_ICON).setIconSpaceReserved(false); + findPreference(SELECT_NAV_ICON).setIconSpaceReserved(false); } @SuppressLint("InlinedApi") @@ -370,6 +374,40 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { outlineCircle.setVisibility(View.GONE); } setIconNewColor(changedProfile.iconRes); + } else if (MAP_ICON_ITEMS.equals(preference.getKey())) { + mapIconItems = (FlowLayout) holder.findViewById(R.id.color_items); + mapIconItems.removeAllViews(); + ArrayList icons = ApplicationMode.ProfileIcons.getIcons(); + for(int iconRes:icons) { + FrameLayout iconItemView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) + .inflate(R.layout.preference_select_icon_button, mapIconItems, false); + mapIconItems.addView(iconItemView, new FlowLayout.LayoutParams(0, 0)); + ImageView coloredRect = mapIconItems.findViewById(R.id.backgroundRect); + AndroidUtils.setBackground(coloredRect, + UiUtilities.tintDrawable(ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button), + UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, R.color.icon_color_default_light), 0.1f))); + coloredRect.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { +// if (iconRes != changedProfile.iconRes) { +// updateIconSelector(iconRes); +// } + } + }); + + ImageView outlineCircle = mapIconItems.findViewById(R.id.outlineRect); + GradientDrawable circleContourDrawable = (GradientDrawable) ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button_outline); + int changedProfileColor = ContextCompat.getColor(app, changedProfile.color.getColor( + app.getDaynightHelper().isNightModeForMapControls())); + if (circleContourDrawable != null) { + circleContourDrawable.setStroke(AndroidUtils.dpToPx(app, 2), changedProfileColor); + } + outlineCircle.setImageDrawable(circleContourDrawable); + outlineCircle.setVisibility(View.VISIBLE); + } + + } else if (NAV_ICON_ITEMS.equals(preference.getKey())) { + } } diff --git a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java index 01f73e39a3..e031ac3e9a 100644 --- a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java @@ -7,7 +7,12 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.PointF; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; import android.graphics.RectF; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.LayerDrawable; +import android.support.v4.content.ContextCompat; import net.osmand.Location; import net.osmand.PlatformUtil; @@ -23,6 +28,9 @@ import org.apache.commons.logging.Log; import java.util.List; +import static android.graphics.Paint.ANTI_ALIAS_FLAG; +import static android.graphics.Paint.FILTER_BITMAP_FLAG; + public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider { private static final Log LOG = PlatformUtil.getLog(PointLocationLayer.class); @@ -30,15 +38,19 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay protected final static int RADIUS = 7; private Paint locationPaint; + private Paint headingPaint; private Paint area; private Paint aroundArea; private OsmandMapTileView view; private ApplicationMode appMode; + private int color; private Bitmap bearingIcon; private Bitmap headingIcon; - private Bitmap locationIcon; + private Bitmap locationIconCenter; + private Bitmap locationIconTop; + private Bitmap locationIconBottom; private OsmAndLocationProvider locationProvider; private MapViewTrackingUtilities mapViewTrackingUtilities; private boolean nm; @@ -53,6 +65,9 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay locationPaint.setAntiAlias(true); locationPaint.setFilterBitmap(true); + headingPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG); + + area = new Paint(); area.setColor(view.getResources().getColor(R.color.pos_area)); @@ -119,7 +134,7 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay canvas.save(); canvas.rotate(heading - 180, locationX, locationY); canvas.drawBitmap(headingIcon, locationX - headingIcon.getWidth() / 2, - locationY - headingIcon.getHeight() / 2, locationPaint); + locationY - headingIcon.getHeight() / 2, headingPaint); canvas.restore(); } @@ -131,8 +146,18 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay canvas.drawBitmap(bearingIcon, locationX - bearingIcon.getWidth() / 2, locationY - bearingIcon.getHeight() / 2, locationPaint); } else { - canvas.drawBitmap(locationIcon, locationX - locationIcon.getWidth() / 2, - locationY - locationIcon.getHeight() / 2, locationPaint); + if (locationIconTop != null) { + canvas.drawBitmap(locationIconTop, locationX - locationIconCenter.getWidth() / 2, + locationY - locationIconCenter.getHeight() / 2, headingPaint); + } + if (locationIconCenter != null) { + canvas.drawBitmap(locationIconCenter, locationX - locationIconCenter.getWidth() / 2, + locationY - locationIconCenter.getHeight() / 2, locationPaint); + } + if (locationIconBottom != null) { + canvas.drawBitmap(locationIconBottom, locationX - locationIconCenter.getWidth() / 2, + locationY - locationIconCenter.getHeight() / 2, headingPaint); + } } } @@ -147,32 +172,24 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay public void destroyLayer() { } - public void updateIcons(ApplicationMode appMode, boolean nighMode, boolean locationOutdated) { - if (appMode != this.appMode || this.nm != nighMode || this.locationOutdated != locationOutdated) { + private void updateIcons(ApplicationMode appMode, boolean nighMode, boolean locationOutdated) { + if (appMode != this.appMode || this.nm != nighMode || this.locationOutdated != locationOutdated || + color != appMode.getIconColorInfo().getColor(nighMode)) { this.appMode = appMode; + this.color = appMode.getIconColorInfo().getColor(nighMode); this.nm = nighMode; this.locationOutdated = locationOutdated; - final int resourceBearingDay = appMode.getResourceBearingDay(); - final int resourceBearingNight = appMode.getResourceBearingNight(); - final int resourceBearing = nighMode ? resourceBearingNight : resourceBearingDay; - bearingIcon = BitmapFactory.decodeResource(view.getResources(), resourceBearing); - - final int resourceHeadingDay = appMode.getResourceHeadingDay(); - final int resourceHeadingNight = appMode.getResourceHeadingNight(); - final int resourceHeading = nighMode ? resourceHeadingNight : resourceHeadingDay; - headingIcon = BitmapFactory.decodeResource(view.getResources(), resourceHeading); - - final int resourceLocationDay; - final int resourceLocationNight; - if (locationOutdated) { - resourceLocationDay = appMode.getResourceLocationDayLost(); - resourceLocationNight = appMode.getResourceLocationNightLost(); - } else { - resourceLocationDay = appMode.getResourceLocationDay(); - resourceLocationNight = appMode.getResourceLocationNight(); - } - final int resourceLocation = nighMode ? resourceLocationNight : resourceLocationDay; - locationIcon = BitmapFactory.decodeResource(view.getResources(), resourceLocation); + bearingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getResourceBearingDay()); + headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getResourceHeadingDay()); + final int resourceLocation = appMode.getResourceLocationDay(); + locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), color), + PorterDuff.Mode.SRC_IN)); + LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(view.getContext(), resourceLocation); + if (layerDrawable != null) { + locationIconTop = ((BitmapDrawable) layerDrawable.getDrawable(0)).getBitmap(); + locationIconCenter = ((BitmapDrawable) layerDrawable.getDrawable(1)).getBitmap(); + locationIconBottom = ((BitmapDrawable) layerDrawable.getDrawable(2)).getBitmap(); + } area.setColor(view.getResources().getColor(!nm ? R.color.pos_area : R.color.pos_area_night)); } } From f18c8c8f77a720797c9806d8e1630adcc63176c9 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 13 Jan 2020 12:50:16 +0200 Subject: [PATCH 13/59] Add coloring outdated location mode --- .../osmand/plus/views/PointLocationLayer.java | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java index e031ac3e9a..37d76e818a 100644 --- a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java @@ -61,22 +61,15 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay } private void initUI() { - locationPaint = new Paint(); - locationPaint.setAntiAlias(true); - locationPaint.setFilterBitmap(true); - + locationPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG); headingPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG); - - area = new Paint(); area.setColor(view.getResources().getColor(R.color.pos_area)); - aroundArea = new Paint(); aroundArea.setColor(view.getResources().getColor(R.color.pos_around)); aroundArea.setStyle(Style.STROKE); aroundArea.setStrokeWidth(1); aroundArea.setAntiAlias(true); - locationProvider = view.getApplication().getLocationProvider(); updateIcons(view.getSettings().getApplicationMode(), false, locationProvider.getLastKnownLocation() == null); } @@ -167,11 +160,10 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay return l != null && tb.containsLatLon(l.getLatitude(), l.getLongitude()); } - @Override public void destroyLayer() { - } + private void updateIcons(ApplicationMode appMode, boolean nighMode, boolean locationOutdated) { if (appMode != this.appMode || this.nm != nighMode || this.locationOutdated != locationOutdated || color != appMode.getIconColorInfo().getColor(nighMode)) { @@ -181,24 +173,28 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay this.locationOutdated = locationOutdated; bearingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getResourceBearingDay()); headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getResourceHeadingDay()); - final int resourceLocation = appMode.getResourceLocationDay(); - locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), color), - PorterDuff.Mode.SRC_IN)); - LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(view.getContext(), resourceLocation); - if (layerDrawable != null) { - locationIconTop = ((BitmapDrawable) layerDrawable.getDrawable(0)).getBitmap(); - locationIconCenter = ((BitmapDrawable) layerDrawable.getDrawable(1)).getBitmap(); - locationIconBottom = ((BitmapDrawable) layerDrawable.getDrawable(2)).getBitmap(); - } + if (locationOutdated) { + locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), + R.color.icon_color_secondary_light), PorterDuff.Mode.SRC_IN)); + } else { + locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), color), + PorterDuff.Mode.SRC_IN)); + } + LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(view.getContext(), appMode.getResourceLocationDay()); + if (layerDrawable != null) { + locationIconTop = ((BitmapDrawable) layerDrawable.getDrawable(0)).getBitmap(); + locationIconCenter = ((BitmapDrawable) layerDrawable.getDrawable(1)).getBitmap(); + locationIconBottom = ((BitmapDrawable) layerDrawable.getDrawable(2)).getBitmap(); + } area.setColor(view.getResources().getColor(!nm ? R.color.pos_area : R.color.pos_area_night)); } } + @Override public boolean drawInScreenPixels() { return false; } - @Override public void collectObjectsFromPoint(PointF point, RotatedTileBox tileBox, List o, boolean unknownLocation) { if (tileBox.getZoom() >= 3) { @@ -260,5 +256,4 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay } } } - } From 3b71bf4371b5741a7ebd2d0e1403e4c4523891fb Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Mon, 13 Jan 2020 19:08:21 +0200 Subject: [PATCH 14/59] Add navigation icon --- .../res/drawable/map_car_navigation_xml.xml | 18 ++ .../drawable/map_nautical_navigation_xml.xml | 18 ++ .../layout/preference_select_icon_button.xml | 12 + OsmAnd/res/xml/profile_appearance.xml | 4 +- .../src/net/osmand/plus/ApplicationMode.java | 209 +++++++++--------- .../settings/ProfileAppearanceFragment.java | 124 ++++++++--- .../osmand/plus/views/PointLocationLayer.java | 6 +- 7 files changed, 246 insertions(+), 145 deletions(-) create mode 100644 OsmAnd/res/drawable/map_car_navigation_xml.xml create mode 100644 OsmAnd/res/drawable/map_nautical_navigation_xml.xml diff --git a/OsmAnd/res/drawable/map_car_navigation_xml.xml b/OsmAnd/res/drawable/map_car_navigation_xml.xml new file mode 100644 index 0000000000..17336e0c72 --- /dev/null +++ b/OsmAnd/res/drawable/map_car_navigation_xml.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_nautical_navigation_xml.xml b/OsmAnd/res/drawable/map_nautical_navigation_xml.xml new file mode 100644 index 0000000000..86204ce6e3 --- /dev/null +++ b/OsmAnd/res/drawable/map_nautical_navigation_xml.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/preference_select_icon_button.xml b/OsmAnd/res/layout/preference_select_icon_button.xml index 702a83ad84..ac80040512 100644 --- a/OsmAnd/res/layout/preference_select_icon_button.xml +++ b/OsmAnd/res/layout/preference_select_icon_button.xml @@ -18,4 +18,16 @@ android:layout_margin="4dp" android:background="@drawable/bg_select_icon_button" /> + + + + \ No newline at end of file diff --git a/OsmAnd/res/xml/profile_appearance.xml b/OsmAnd/res/xml/profile_appearance.xml index f32a758ee3..9c042ddeaa 100644 --- a/OsmAnd/res/xml/profile_appearance.xml +++ b/OsmAnd/res/xml/profile_appearance.xml @@ -50,13 +50,13 @@ android:selectable="false" /> diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index 8fa09ae1ef..8cf375e7b8 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -78,14 +78,8 @@ public class ApplicationMode { private int minDistanceForTurn = 50; private int arrivalDistance = 90; private int offRouteDistance = 350; - private int bearingIconDay = R.drawable.map_pedestrian_bearing; -// private int bearingIconNight = R.drawable.map_pedestrian_bearing_night; - private int headingIconDay = R.drawable.map_pedestrian_location_view_angle; -// private int headingIconNight = R.drawable.map_pedestrian_location_view_angle_night; - private int locationIcon = R.drawable.map_default_location_xml; -// private int locationIconNight = R.drawable.map_pedestrian_location_night; -// private int locationIconDayLost = R.drawable.map_pedestrian_location_lost; -// private int locationIconNightLost = R.drawable.map_pedestrian_location_lost_night; + private NavigationIcon bearingIcon = NavigationIcon.CAR; + private LocationIcon locationIcon = LocationIcon.DEFAULT; private ApplicationMode(int key, String stringKey) { this.keyName = key; @@ -96,29 +90,42 @@ public class ApplicationMode { /* * DEFAULT("Browse map"), CAR("Car"), BICYCLE("Bicycle"), PEDESTRIAN("Pedestrian"); NAUTICAL("boat"); PUBLIC_TRANSPORT("Public transport"); AIRCRAFT("Aircraft") */ - public static final ApplicationMode DEFAULT = createBase(R.string.app_mode_default, "default").speed(1.5f, 5).arrivalDistance(90).defLocation(). - icon(R.drawable.ic_world_globe_dark, R.drawable.map_world_globe_dark, "ic_world_globe_dark").reg(); + public static final ApplicationMode DEFAULT = createBase(R.string.app_mode_default, "default").speed(1.5f, 5).arrivalDistance(90) + .locationIcon(LocationIcon.DEFAULT).navigationIcon(NavigationIcon.CAR) + .icon(R.drawable.ic_world_globe_dark, R.drawable.map_world_globe_dark, "ic_world_globe_dark").reg(); - public static final ApplicationMode CAR = createBase(R.string.app_mode_car, "car").speed(12.5f, 35).carLocation(). - icon(R.drawable.ic_action_car_dark, R.drawable.map_action_car_dark, "ic_action_car_dark").setRoutingProfile("car").description(R.string.base_profile_descr_car).reg(); + public static final ApplicationMode CAR = createBase(R.string.app_mode_car, "car").speed(12.5f, 35) + .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.CAR) + .icon(R.drawable.ic_action_car_dark, R.drawable.map_action_car_dark, "ic_action_car_dark") + .setRoutingProfile("car").description(R.string.base_profile_descr_car).reg(); - public static final ApplicationMode BICYCLE = createBase(R.string.app_mode_bicycle, "bicycle").speed(2.77f, 15).arrivalDistance(60).offRouteDistance(50).bicycleLocation(). - icon(R.drawable.ic_action_bicycle_dark, R.drawable.map_action_bicycle_dark,"ic_action_bicycle_dark").setRoutingProfile("bicycle").description(R.string.base_profile_descr_bicycle).reg(); + public static final ApplicationMode BICYCLE = createBase(R.string.app_mode_bicycle, "bicycle").speed(2.77f, 15).arrivalDistance(60).offRouteDistance(50) + .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) + .icon(R.drawable.ic_action_bicycle_dark, R.drawable.map_action_bicycle_dark,"ic_action_bicycle_dark") + .setRoutingProfile("bicycle").description(R.string.base_profile_descr_bicycle).reg(); - public static final ApplicationMode PEDESTRIAN = createBase(R.string.app_mode_pedestrian, "pedestrian").speed(1.11f, 5).arrivalDistance(45).offRouteDistance(20). - icon(R.drawable.ic_action_pedestrian_dark, R.drawable.map_action_pedestrian_dark, "ic_action_pedestrian_dark").setRoutingProfile("pedestrian").description(R.string.base_profile_descr_pedestrian).reg(); + public static final ApplicationMode PEDESTRIAN = createBase(R.string.app_mode_pedestrian, "pedestrian").speed(1.11f, 5).arrivalDistance(45).offRouteDistance(20) + .icon(R.drawable.ic_action_pedestrian_dark, R.drawable.map_action_pedestrian_dark, "ic_action_pedestrian_dark") + .setRoutingProfile("pedestrian").description(R.string.base_profile_descr_pedestrian).reg(); - public static final ApplicationMode PUBLIC_TRANSPORT = createBase(R.string.app_mode_public_transport, "public_transport"). - icon(R.drawable.ic_action_bus_dark, R.drawable.map_action_bus_dark,"ic_action_bus_dark").setRoutingProfile("public_transport").description(R.string.base_profile_descr_public_transport).reg(); + public static final ApplicationMode PUBLIC_TRANSPORT = createBase(R.string.app_mode_public_transport, "public_transport") + .icon(R.drawable.ic_action_bus_dark, R.drawable.map_action_bus_dark,"ic_action_bus_dark") + .setRoutingProfile("public_transport").description(R.string.base_profile_descr_public_transport).reg(); - public static final ApplicationMode BOAT = createBase(R.string.app_mode_boat, "boat").speed(1.38f, 20).nauticalLocation(). - icon(R.drawable.ic_action_sail_boat_dark, R.drawable.map_action_sail_boat_dark, "ic_action_sail_boat_dark").setRoutingProfile("boat").description(R.string.base_profile_descr_boat).reg(); + public static final ApplicationMode BOAT = createBase(R.string.app_mode_boat, "boat").speed(1.38f, 20) + .locationIcon(LocationIcon.DEFAULT).navigationIcon(NavigationIcon.NAUTICAL) + .icon(R.drawable.ic_action_sail_boat_dark, R.drawable.map_action_sail_boat_dark, "ic_action_sail_boat_dark") + .setRoutingProfile("boat").description(R.string.base_profile_descr_boat).reg(); - public static final ApplicationMode AIRCRAFT = createBase(R.string.app_mode_aircraft, "aircraft").speed(40f, 100).carLocation(). - icon(R.drawable.ic_action_aircraft, R.drawable.map_action_aircraft,"ic_action_aircraft").setRouteService(RouteService.STRAIGHT).setRoutingProfile("STRAIGHT_LINE_MODE").description(R.string.base_profile_descr_aircraft).reg(); + public static final ApplicationMode AIRCRAFT = createBase(R.string.app_mode_aircraft, "aircraft").speed(40f, 100) + .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.CAR) + .icon(R.drawable.ic_action_aircraft, R.drawable.map_action_aircraft,"ic_action_aircraft").setRouteService(RouteService.STRAIGHT) + .setRoutingProfile("STRAIGHT_LINE_MODE").description(R.string.base_profile_descr_aircraft).reg(); - public static final ApplicationMode SKI = createBase(R.string.app_mode_skiing, "ski").speed(1.38f, 15).arrivalDistance(60).offRouteDistance(50).bicycleLocation(). - icon(R.drawable.ic_action_skiing, R.drawable.ic_action_skiing,"ic_action_skiing").setRoutingProfile("ski").description(R.string.base_profile_descr_ski).reg(); + public static final ApplicationMode SKI = createBase(R.string.app_mode_skiing, "ski").speed(1.38f, 15).arrivalDistance(60).offRouteDistance(50) + .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) + .icon(R.drawable.ic_action_skiing, R.drawable.ic_action_skiing,"ic_action_skiing") + .setRoutingProfile("ski").description(R.string.base_profile_descr_ski).reg(); private static class ApplicationModeBean { @@ -206,14 +213,8 @@ public class ApplicationMode { m.minDistanceForTurn = m.parentAppMode.minDistanceForTurn; m.arrivalDistance = m.parentAppMode.arrivalDistance; m.offRouteDistance = m.parentAppMode.offRouteDistance; - m.bearingIconDay = m.parentAppMode.bearingIconDay; -// m.bearingIconNight = m.parentAppMode.bearingIconNight; - m.headingIconDay = m.parentAppMode.headingIconDay; -// m.headingIconNight = m.parentAppMode.headingIconNight; + m.bearingIcon = m.parentAppMode.bearingIcon; m.locationIcon = m.parentAppMode.locationIcon; -// m.locationIconNight = m.parentAppMode.locationIconNight; -// m.locationIconDayLost = m.parentAppMode.locationIconDayLost; -// m.locationIconNightLost = m.parentAppMode.locationIconNightLost; values.add(applicationMode); if (applicationMode.getOrder() == 0 && !values.isEmpty()) { applicationMode.setOrder(values.size()); @@ -250,63 +251,44 @@ public class ApplicationMode { public ApplicationModeBuilder parent(ApplicationMode parent) { applicationMode.parentAppMode = parent; - if (parent == CAR || parent == AIRCRAFT) { - this.carLocation(); - } else if (parent == BICYCLE || parent == SKI) { - this.bicycleLocation(); - } else if (parent == BOAT) { - this.nauticalLocation(); - } else { - this.defLocation(); - } + applicationMode.locationIcon=parent.locationIcon; + applicationMode.bearingIcon=parent.bearingIcon; return this; } - public ApplicationModeBuilder carLocation() { - applicationMode.bearingIconDay = R.drawable.map_car_bearing; -// applicationMode.bearingIconNight = R.drawable.map_car_bearing_night; - applicationMode.headingIconDay = R.drawable.map_car_location_view_angle; -// applicationMode.headingIconNight = R.drawable.map_car_location_view_angle_night; - applicationMode.locationIcon = R.drawable.map_car_location_xml; -// applicationMode.locationIconNight = R.drawable.map_car_location_night; -// applicationMode.locationIconDayLost = R.drawable.map_car_location_lost; -// applicationMode.locationIconNightLost = R.drawable.map_car_location_lost_night; + ApplicationModeBuilder locationIcon(LocationIcon locationIcon){ + applicationMode.locationIcon = locationIcon; return this; } - public ApplicationModeBuilder bicycleLocation() { - applicationMode.bearingIconDay = R.drawable.map_bicycle_bearing; -// applicationMode.bearingIconNight = R.drawable.map_bicycle_bearing_night; - applicationMode.headingIconDay = R.drawable.map_bicycle_location_view_angle; -// applicationMode.headingIconNight = R.drawable.map_bicycle_location_view_angle_night; - applicationMode.locationIcon = R.drawable.map_bicycle_location_xml; -// applicationMode.locationIconNight = R.drawable.map_bicycle_location_night; -// applicationMode.locationIconDayLost = R.drawable.map_bicycle_location_lost; -// applicationMode.locationIconNightLost = R.drawable.map_bicycle_location_lost_night; + ApplicationModeBuilder navigationIcon(NavigationIcon navigationIcon){ + applicationMode.bearingIcon = navigationIcon; return this; } - public ApplicationModeBuilder defLocation() { - applicationMode.bearingIconDay = R.drawable.map_pedestrian_bearing; -// applicationMode.bearingIconNight = R.drawable.map_pedestrian_bearing_night; - applicationMode.headingIconDay = R.drawable.map_default_location_view_angle; -// applicationMode.headingIconNight = R.drawable.map_default_location_view_angle_night; - applicationMode.locationIcon = R.drawable.map_default_location_xml; -// applicationMode.locationIconNight = R.drawable.map_pedestrian_location_night; -// applicationMode.locationIconDayLost = R.drawable.map_pedestrian_location_lost; -// applicationMode.locationIconNightLost = R.drawable.map_pedestrian_location_lost_night; - return this; - } - - public ApplicationModeBuilder nauticalLocation() { - applicationMode.bearingIconDay = R.drawable.map_nautical_bearing; -// applicationMode.bearingIconNight = R.drawable.map_nautical_bearing_night; - applicationMode.headingIconDay = R.drawable.map_nautical_location_view_angle; -// applicationMode.headingIconNight = R.drawable.map_nautical_location_view_angle_night; - applicationMode.locationIcon = R.drawable.map_nautical_location; -// applicationMode.locationIconNight = R.drawable.map_nautical_location_night; - return this; - } +// public ApplicationModeBuilder carLocation() { +// applicationMode.bearingIcon = NavigationIcon.CAR; +// applicationMode.locationIcon = LocationIcon.CAR; +// return this; +// } +// +// public ApplicationModeBuilder bicycleLocation() { +// applicationMode.bearingIcon = NavigationIcon.CAR; +// applicationMode.locationIcon =LocationIcon.BICYCLE; +// return this; +// } +// +// public ApplicationModeBuilder defLocation() { +// applicationMode.bearingIcon = NavigationIcon.CAR; +// applicationMode.locationIcon = LocationIcon.DEFAULT; +// return this; +// } +// +// public ApplicationModeBuilder nauticalLocation() { +// applicationMode.bearingIcon =NavigationIcon.NAUTICAL; +// applicationMode.locationIcon = LocationIcon.DEFAULT; +// return this; +// } public ApplicationModeBuilder speed(float defSpeed, int distForTurn) { applicationMode.defaultSpeed = defSpeed; @@ -508,38 +490,14 @@ public class ApplicationMode { return getDefaultSpeed() > 10; } - public int getResourceBearingDay() { - return bearingIconDay; + public NavigationIcon getNavigationIcon() { + return bearingIcon; } -// public int getResourceBearingNight() { -// return bearingIconNight; -// } - - public int getResourceHeadingDay() { - return headingIconDay; - } - -// public int getResourceHeadingNight() { -// return headingIconNight; -// } - - public int getResourceLocationDay() { + public LocationIcon getLocationIcon() { return locationIcon; } -// public int getResourceLocationNight() { -// return locationIconNight; -// } - -// public int getResourceLocationDayLost() { -// return locationIconDayLost; -// } - -// public int getResourceLocationNightLost() { -// return locationIconNightLost; -// } - public String getStringKey() { return stringKey; } @@ -955,4 +913,43 @@ public class ApplicationMode { return CAR.getResStringId(); } } + + public enum LocationIcon{ + DEFAULT(R.drawable.map_default_location_xml,R.drawable.map_default_location_view_angle), + CAR(R.drawable.map_car_location_xml,R.drawable.map_car_location_view_angle), + BICYCLE(R.drawable.map_bicycle_location_xml,R.drawable.map_bicycle_location_view_angle); + + LocationIcon(@DrawableRes int iconId, @DrawableRes int headingIconId){ + this.iconId = iconId; + this.headingIconId = headingIconId; + } + + @DrawableRes + private final int iconId; + @DrawableRes + private final int headingIconId; + + public int getIconId() { + return iconId; + } + public int getHeadingIconId() { + return headingIconId; + } + } + + public enum NavigationIcon{ + CAR(R.drawable.map_car_navigation_xml), + NAUTICAL(R.drawable.map_nautical_navigation_xml); + + NavigationIcon(@DrawableRes int iconId){ + this.iconId = iconId; + } + + @DrawableRes + private final int iconId; + + public int getIconId() { + return iconId; + } + } } \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index 231551b259..2d65869ecf 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -4,6 +4,7 @@ import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.DialogInterface; +import android.graphics.Matrix; import android.graphics.PorterDuff; import android.graphics.drawable.GradientDrawable; import android.os.Bundle; @@ -25,6 +26,7 @@ import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.ImageView; +import android.widget.LinearLayout; import net.osmand.AndroidUtils; import net.osmand.PlatformUtil; @@ -60,8 +62,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { private static final String SELECT_ICON = "select_icon"; private static final String COLOR_ITEMS = "color_items"; private static final String ICON_ITEMS = "icon_items"; - private static final String SELECT_MAP_ICON = "select_map_icon"; - private static final String MAP_ICON_ITEMS = "map_icon_items"; + private static final String SELECT_LOCATION_ICON = "select_location_icon"; + private static final String LOCATION_ICON_ITEMS = "location_icon_items"; private static final String SELECT_NAV_ICON = "select_nav_icon"; private static final String NAV_ICON_ITEMS = "nav_icon_items"; @@ -170,7 +172,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { protected void setupPreferences() { findPreference(SELECT_COLOR).setIconSpaceReserved(false); findPreference(SELECT_ICON).setIconSpaceReserved(false); - findPreference(SELECT_MAP_ICON).setIconSpaceReserved(false); + findPreference(SELECT_LOCATION_ICON).setIconSpaceReserved(false); findPreference(SELECT_NAV_ICON).setIconSpaceReserved(false); } @@ -370,44 +372,23 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { for (int iconRes : icons) { View iconItem = createIconItemView(iconRes, iconItems); iconItems.addView(iconItem, new FlowLayout.LayoutParams(0, 0)); - ImageView outlineCircle = iconItem.findViewById(R.id.outlineCircle); - outlineCircle.setVisibility(View.GONE); } setIconNewColor(changedProfile.iconRes); - } else if (MAP_ICON_ITEMS.equals(preference.getKey())) { + } else if (LOCATION_ICON_ITEMS.equals(preference.getKey())) { mapIconItems = (FlowLayout) holder.findViewById(R.id.color_items); mapIconItems.removeAllViews(); - ArrayList icons = ApplicationMode.ProfileIcons.getIcons(); - for(int iconRes:icons) { - FrameLayout iconItemView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) - .inflate(R.layout.preference_select_icon_button, mapIconItems, false); + for (ApplicationMode.LocationIcon iconRes : ApplicationMode.LocationIcon.values()) { + View iconItemView = createLocationIconView(iconRes, mapIconItems); mapIconItems.addView(iconItemView, new FlowLayout.LayoutParams(0, 0)); - ImageView coloredRect = mapIconItems.findViewById(R.id.backgroundRect); - AndroidUtils.setBackground(coloredRect, - UiUtilities.tintDrawable(ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button), - UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, R.color.icon_color_default_light), 0.1f))); - coloredRect.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// if (iconRes != changedProfile.iconRes) { -// updateIconSelector(iconRes); -// } - } - }); - - ImageView outlineCircle = mapIconItems.findViewById(R.id.outlineRect); - GradientDrawable circleContourDrawable = (GradientDrawable) ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button_outline); - int changedProfileColor = ContextCompat.getColor(app, changedProfile.color.getColor( - app.getDaynightHelper().isNightModeForMapControls())); - if (circleContourDrawable != null) { - circleContourDrawable.setStroke(AndroidUtils.dpToPx(app, 2), changedProfileColor); - } - outlineCircle.setImageDrawable(circleContourDrawable); - outlineCircle.setVisibility(View.VISIBLE); } } else if (NAV_ICON_ITEMS.equals(preference.getKey())) { - + navIconItems = (FlowLayout) holder.findViewById(R.id.color_items); + navIconItems.removeAllViews(); + for (ApplicationMode.NavigationIcon iconRes : ApplicationMode.NavigationIcon.values()) { + View iconItemView = createNavigationIconView(iconRes, navIconItems); + navIconItems.addView(iconItemView, new FlowLayout.LayoutParams(0, 0)); + } } } @@ -465,6 +446,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { } } }); + iconItemView.findViewById(R.id.outlineCircle).setVisibility(View.GONE); iconItemView.setTag(iconRes); return iconItemView; } @@ -477,9 +459,83 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { checkMark.setImageDrawable(app.getUIUtilities().getIcon(changedProfile.iconRes, R.color.icon_color_default_light)); AndroidUtils.setBackground(iconItem.findViewById(R.id.backgroundCircle), UiUtilities.tintDrawable(ContextCompat.getDrawable(app, R.drawable.circle_background_light), - UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, R.color.icon_color_default_light), 0.1f))); + UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, R.color.icon_color_default_light), 0.1f))); changedProfile.iconRes = iconRes; updateProfileButton(); + updateLocationIconSelector(); + } + + private View createLocationIconView(ApplicationMode.LocationIcon locationIcon, ViewGroup rootView) { + FrameLayout locationIconView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) + .inflate(R.layout.preference_select_icon_button, rootView, false); + locationIconView.findViewById(R.id.icon) + .setImageDrawable(ContextCompat.getDrawable(app, locationIcon.getIconId())); + locationIconView.findViewById(R.id.headingIcon) + .setImageDrawable(ContextCompat.getDrawable(app, locationIcon.getHeadingIconId())); + ImageView coloredRect = locationIconView.findViewById(R.id.backgroundRect); + AndroidUtils.setBackground(coloredRect, + UiUtilities.tintDrawable(ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button), + UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, R.color.icon_color_default_light), 0.1f))); + coloredRect.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { +// if (locationIcon != changedProfile.locationIcon) { +// updateIconSelector(locationIcon); +// } + } + }); + ImageView outlineRect = locationIconView.findViewById(R.id.outlineRect); + GradientDrawable rectContourDrawable = (GradientDrawable) ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button_outline); + int changedProfileColor = ContextCompat.getColor(app, changedProfile.color.getColor( + app.getDaynightHelper().isNightModeForMapControls())); + if (rectContourDrawable != null) { + rectContourDrawable.setStroke(AndroidUtils.dpToPx(app, 2), changedProfileColor); + } + outlineRect.setImageDrawable(rectContourDrawable); + outlineRect.setVisibility(View.GONE); + return locationIconView; + } + + private void updateLocationIconSelector() { + } + + private View createNavigationIconView(ApplicationMode.NavigationIcon navigationIcon, ViewGroup rootView) { + FrameLayout navigationIconView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) + .inflate(R.layout.preference_select_icon_button, rootView, false); + ImageView imageView = navigationIconView.findViewById(R.id.icon); + imageView.setImageDrawable(ContextCompat.getDrawable(app, navigationIcon.getIconId())); + Matrix matrix = new Matrix(); + imageView.setScaleType(ImageView.ScaleType.MATRIX); + matrix.postRotate((float) -90, imageView.getDrawable().getIntrinsicWidth() / 2, + imageView.getDrawable().getIntrinsicHeight() / 2); + imageView.setImageMatrix(matrix); + ImageView coloredRect = navigationIconView.findViewById(R.id.backgroundRect); + AndroidUtils.setBackground(coloredRect, + UiUtilities.tintDrawable(ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button), + UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, R.color.icon_color_default_light), 0.1f))); + coloredRect.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { +// if (navigationIcon != changedProfile.navigationIcon) { +// updateIconSelector(navigationIcon); +// } + } + }); + ImageView outlineRect = navigationIconView.findViewById(R.id.outlineRect); + GradientDrawable rectContourDrawable = (GradientDrawable) ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button_outline); + int changedProfileColor = ContextCompat.getColor(app, changedProfile.color.getColor( + app.getDaynightHelper().isNightModeForMapControls())); + if (rectContourDrawable != null) { + rectContourDrawable.setStroke(AndroidUtils.dpToPx(app, 2), changedProfileColor); + } + outlineRect.setImageDrawable(rectContourDrawable); + outlineRect.setVisibility(View.GONE); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(164, AndroidUtils.dpToPx(app, 80)); + navigationIconView.setLayoutParams(params); + return navigationIconView; + } + + private void updateNavigationIconSelector() { } private void setIconNewColor(int iconRes) { diff --git a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java index 37d76e818a..ccb4935844 100644 --- a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java @@ -171,8 +171,8 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay this.color = appMode.getIconColorInfo().getColor(nighMode); this.nm = nighMode; this.locationOutdated = locationOutdated; - bearingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getResourceBearingDay()); - headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getResourceHeadingDay()); + bearingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getNavigationIcon().getIconId()); + headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getLocationIcon().getHeadingIconId()); if (locationOutdated) { locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), R.color.icon_color_secondary_light), PorterDuff.Mode.SRC_IN)); @@ -180,7 +180,7 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), color), PorterDuff.Mode.SRC_IN)); } - LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(view.getContext(), appMode.getResourceLocationDay()); + LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(view.getContext(), appMode.getLocationIcon().getIconId()); if (layerDrawable != null) { locationIconTop = ((BitmapDrawable) layerDrawable.getDrawable(0)).getBitmap(); locationIconCenter = ((BitmapDrawable) layerDrawable.getDrawable(1)).getBitmap(); From 00d8ddb31dc7015aaa2109436248752b064c799e Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Tue, 14 Jan 2020 13:21:58 +0200 Subject: [PATCH 15/59] Implement new colored bearing icon --- .../osmand/plus/views/PointLocationLayer.java | 57 +++++-------------- 1 file changed, 14 insertions(+), 43 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java index ccb4935844..379a9ef2a3 100644 --- a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java @@ -7,12 +7,10 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.PointF; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffColorFilter; import android.graphics.RectF; -import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.LayerDrawable; import android.support.v4.content.ContextCompat; +import android.support.v4.graphics.drawable.DrawableCompat; import net.osmand.Location; import net.osmand.PlatformUtil; @@ -34,10 +32,8 @@ import static android.graphics.Paint.FILTER_BITMAP_FLAG; public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider { private static final Log LOG = PlatformUtil.getLog(PointLocationLayer.class); - protected final static int RADIUS = 7; - private Paint locationPaint; private Paint headingPaint; private Paint area; private Paint aroundArea; @@ -46,11 +42,9 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay private ApplicationMode appMode; private int color; - private Bitmap bearingIcon; + private LayerDrawable bearingIcon; + private LayerDrawable locationIcon; private Bitmap headingIcon; - private Bitmap locationIconCenter; - private Bitmap locationIconTop; - private Bitmap locationIconBottom; private OsmAndLocationProvider locationProvider; private MapViewTrackingUtilities mapViewTrackingUtilities; private boolean nm; @@ -61,7 +55,6 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay } private void initUI() { - locationPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG); headingPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG); area = new Paint(); area.setColor(view.getResources().getColor(R.color.pos_area)); @@ -123,40 +116,29 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay Float heading = locationProvider.getHeading(); if (!locationOutdated && heading != null && mapViewTrackingUtilities.isShowViewAngle()) { - canvas.save(); canvas.rotate(heading - 180, locationX, locationY); canvas.drawBitmap(headingIcon, locationX - headingIcon.getWidth() / 2, locationY - headingIcon.getHeight() / 2, headingPaint); canvas.restore(); - } // Issue 5538: Some devices return positives for hasBearing() at rest, hence add 0.0 check: boolean isBearing = lastKnownLocation.hasBearing() && (lastKnownLocation.getBearing() != 0.0); if (!locationOutdated && isBearing) { float bearing = lastKnownLocation.getBearing(); canvas.rotate(bearing - 90, locationX, locationY); - canvas.drawBitmap(bearingIcon, locationX - bearingIcon.getWidth() / 2, - locationY - bearingIcon.getHeight() / 2, locationPaint); + bearingIcon.setBounds(locationX - bearingIcon.getIntrinsicWidth() / 2, locationY - bearingIcon.getIntrinsicHeight() / 2, + locationX + bearingIcon.getIntrinsicWidth() / 2, locationY + bearingIcon.getIntrinsicHeight() / 2); + bearingIcon.draw(canvas); } else { - if (locationIconTop != null) { - canvas.drawBitmap(locationIconTop, locationX - locationIconCenter.getWidth() / 2, - locationY - locationIconCenter.getHeight() / 2, headingPaint); - } - if (locationIconCenter != null) { - canvas.drawBitmap(locationIconCenter, locationX - locationIconCenter.getWidth() / 2, - locationY - locationIconCenter.getHeight() / 2, locationPaint); - } - if (locationIconBottom != null) { - canvas.drawBitmap(locationIconBottom, locationX - locationIconCenter.getWidth() / 2, - locationY - locationIconCenter.getHeight() / 2, headingPaint); - } + locationIcon.setBounds(locationX - locationIcon.getIntrinsicWidth() / 2, locationY - locationIcon.getIntrinsicHeight() / 2, + locationX + locationIcon.getIntrinsicWidth() / 2, locationY + locationIcon.getIntrinsicHeight() / 2); + locationIcon.draw(canvas); } - } } - public boolean isLocationVisible(RotatedTileBox tb, Location l) { + private boolean isLocationVisible(RotatedTileBox tb, Location l) { return l != null && tb.containsLatLon(l.getLatitude(), l.getLongitude()); } @@ -171,21 +153,11 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay this.color = appMode.getIconColorInfo().getColor(nighMode); this.nm = nighMode; this.locationOutdated = locationOutdated; - bearingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getNavigationIcon().getIconId()); + bearingIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getNavigationIcon().getIconId()); + DrawableCompat.setTint(bearingIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), color)); headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getLocationIcon().getHeadingIconId()); - if (locationOutdated) { - locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), - R.color.icon_color_secondary_light), PorterDuff.Mode.SRC_IN)); - } else { - locationPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(view.getContext(), color), - PorterDuff.Mode.SRC_IN)); - } - LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(view.getContext(), appMode.getLocationIcon().getIconId()); - if (layerDrawable != null) { - locationIconTop = ((BitmapDrawable) layerDrawable.getDrawable(0)).getBitmap(); - locationIconCenter = ((BitmapDrawable) layerDrawable.getDrawable(1)).getBitmap(); - locationIconBottom = ((BitmapDrawable) layerDrawable.getDrawable(2)).getBitmap(); - } + locationIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getLocationIcon().getIconId()); + DrawableCompat.setTint(locationIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), color)); area.setColor(view.getResources().getColor(!nm ? R.color.pos_area : R.color.pos_area_night)); } } @@ -207,7 +179,6 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay return getMyLocation(); } - @Override public PointDescription getObjectName(Object o) { return new PointDescription(PointDescription.POINT_TYPE_MY_LOCATION, From 5bace82ab8b4e6061a0a7e3f4252b48e36109314 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Tue, 14 Jan 2020 17:35:08 +0200 Subject: [PATCH 16/59] Save location/navigation icon in profiles --- .../src/net/osmand/plus/ApplicationMode.java | 82 +++++------- .../settings/ProfileAppearanceFragment.java | 124 +++++++++++------- .../osmand/plus/views/PointLocationLayer.java | 28 ++-- 3 files changed, 129 insertions(+), 105 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index 8cf375e7b8..5729d2ae80 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -72,13 +72,12 @@ public class ApplicationMode { private String routingProfile = ""; private RouteService routeService = RouteService.OSMAND; - private float defaultSpeed = 10f; private float initialDefaultSpeed = defaultSpeed; private int minDistanceForTurn = 50; private int arrivalDistance = 90; private int offRouteDistance = 350; - private NavigationIcon bearingIcon = NavigationIcon.CAR; + private NavigationIcon navigationIcon = NavigationIcon.CAR; private LocationIcon locationIcon = LocationIcon.DEFAULT; private ApplicationMode(int key, String stringKey) { @@ -86,25 +85,28 @@ public class ApplicationMode { this.stringKey = stringKey; } - /* * DEFAULT("Browse map"), CAR("Car"), BICYCLE("Bicycle"), PEDESTRIAN("Pedestrian"); NAUTICAL("boat"); PUBLIC_TRANSPORT("Public transport"); AIRCRAFT("Aircraft") */ - public static final ApplicationMode DEFAULT = createBase(R.string.app_mode_default, "default").speed(1.5f, 5).arrivalDistance(90) + public static final ApplicationMode DEFAULT = createBase(R.string.app_mode_default, "default") + .speed(1.5f, 5).arrivalDistance(90) .locationIcon(LocationIcon.DEFAULT).navigationIcon(NavigationIcon.CAR) .icon(R.drawable.ic_world_globe_dark, R.drawable.map_world_globe_dark, "ic_world_globe_dark").reg(); - public static final ApplicationMode CAR = createBase(R.string.app_mode_car, "car").speed(12.5f, 35) + public static final ApplicationMode CAR = createBase(R.string.app_mode_car, "car") + .speed(12.5f, 35) .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.CAR) .icon(R.drawable.ic_action_car_dark, R.drawable.map_action_car_dark, "ic_action_car_dark") .setRoutingProfile("car").description(R.string.base_profile_descr_car).reg(); - public static final ApplicationMode BICYCLE = createBase(R.string.app_mode_bicycle, "bicycle").speed(2.77f, 15).arrivalDistance(60).offRouteDistance(50) + public static final ApplicationMode BICYCLE = createBase(R.string.app_mode_bicycle, "bicycle") + .speed(2.77f, 15).arrivalDistance(60).offRouteDistance(50) .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) .icon(R.drawable.ic_action_bicycle_dark, R.drawable.map_action_bicycle_dark,"ic_action_bicycle_dark") .setRoutingProfile("bicycle").description(R.string.base_profile_descr_bicycle).reg(); - public static final ApplicationMode PEDESTRIAN = createBase(R.string.app_mode_pedestrian, "pedestrian").speed(1.11f, 5).arrivalDistance(45).offRouteDistance(20) + public static final ApplicationMode PEDESTRIAN = createBase(R.string.app_mode_pedestrian, "pedestrian") + .speed(1.11f, 5).arrivalDistance(45).offRouteDistance(20) .icon(R.drawable.ic_action_pedestrian_dark, R.drawable.map_action_pedestrian_dark, "ic_action_pedestrian_dark") .setRoutingProfile("pedestrian").description(R.string.base_profile_descr_pedestrian).reg(); @@ -112,22 +114,24 @@ public class ApplicationMode { .icon(R.drawable.ic_action_bus_dark, R.drawable.map_action_bus_dark,"ic_action_bus_dark") .setRoutingProfile("public_transport").description(R.string.base_profile_descr_public_transport).reg(); - public static final ApplicationMode BOAT = createBase(R.string.app_mode_boat, "boat").speed(1.38f, 20) + public static final ApplicationMode BOAT = createBase(R.string.app_mode_boat, "boat") + .speed(1.38f, 20) .locationIcon(LocationIcon.DEFAULT).navigationIcon(NavigationIcon.NAUTICAL) .icon(R.drawable.ic_action_sail_boat_dark, R.drawable.map_action_sail_boat_dark, "ic_action_sail_boat_dark") .setRoutingProfile("boat").description(R.string.base_profile_descr_boat).reg(); - public static final ApplicationMode AIRCRAFT = createBase(R.string.app_mode_aircraft, "aircraft").speed(40f, 100) + public static final ApplicationMode AIRCRAFT = createBase(R.string.app_mode_aircraft, "aircraft") + .speed(40f, 100) .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.CAR) .icon(R.drawable.ic_action_aircraft, R.drawable.map_action_aircraft,"ic_action_aircraft").setRouteService(RouteService.STRAIGHT) .setRoutingProfile("STRAIGHT_LINE_MODE").description(R.string.base_profile_descr_aircraft).reg(); - public static final ApplicationMode SKI = createBase(R.string.app_mode_skiing, "ski").speed(1.38f, 15).arrivalDistance(60).offRouteDistance(50) + public static final ApplicationMode SKI = createBase(R.string.app_mode_skiing, "ski") + .speed(1.38f, 15).arrivalDistance(60).offRouteDistance(50) .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) .icon(R.drawable.ic_action_skiing, R.drawable.ic_action_skiing,"ic_action_skiing") .setRoutingProfile("ski").description(R.string.base_profile_descr_ski).reg(); - private static class ApplicationModeBean { @Expose String stringKey; @Expose String userProfileName; @@ -136,6 +140,8 @@ public class ApplicationMode { @Expose ProfileIconColors iconColor = ProfileIconColors.DEFAULT; @Expose String routingProfile = null; @Expose RouteService routeService = RouteService.OSMAND; + @Expose LocationIcon locationIcon = LocationIcon.DEFAULT; + @Expose NavigationIcon navigationIcon = NavigationIcon.CAR; @Expose int order; } @@ -172,7 +178,6 @@ public class ApplicationMode { regWidgetAvailability(WIDGET_MAX_SPEED, CAR); regWidgetAvailability(WIDGET_ALTITUDE, all); - // all = null everything regWidgetAvailability(WIDGET_COMPASS, all); regWidgetAvailability(WIDGET_MARKER_1, none); @@ -189,7 +194,6 @@ public class ApplicationMode { // regWidgetAvailability(WIDGET_STREET_NAME, all); } - public static class ApplicationModeBuilder { private ApplicationMode applicationMode; @@ -213,7 +217,7 @@ public class ApplicationMode { m.minDistanceForTurn = m.parentAppMode.minDistanceForTurn; m.arrivalDistance = m.parentAppMode.arrivalDistance; m.offRouteDistance = m.parentAppMode.offRouteDistance; - m.bearingIcon = m.parentAppMode.bearingIcon; + m.navigationIcon = m.parentAppMode.navigationIcon; m.locationIcon = m.parentAppMode.locationIcon; values.add(applicationMode); if (applicationMode.getOrder() == 0 && !values.isEmpty()) { @@ -251,45 +255,19 @@ public class ApplicationMode { public ApplicationModeBuilder parent(ApplicationMode parent) { applicationMode.parentAppMode = parent; - applicationMode.locationIcon=parent.locationIcon; - applicationMode.bearingIcon=parent.bearingIcon; return this; } - ApplicationModeBuilder locationIcon(LocationIcon locationIcon){ + public ApplicationModeBuilder locationIcon(LocationIcon locationIcon){ applicationMode.locationIcon = locationIcon; return this; } - ApplicationModeBuilder navigationIcon(NavigationIcon navigationIcon){ - applicationMode.bearingIcon = navigationIcon; + public ApplicationModeBuilder navigationIcon(NavigationIcon navigationIcon){ + applicationMode.navigationIcon = navigationIcon; return this; } -// public ApplicationModeBuilder carLocation() { -// applicationMode.bearingIcon = NavigationIcon.CAR; -// applicationMode.locationIcon = LocationIcon.CAR; -// return this; -// } -// -// public ApplicationModeBuilder bicycleLocation() { -// applicationMode.bearingIcon = NavigationIcon.CAR; -// applicationMode.locationIcon =LocationIcon.BICYCLE; -// return this; -// } -// -// public ApplicationModeBuilder defLocation() { -// applicationMode.bearingIcon = NavigationIcon.CAR; -// applicationMode.locationIcon = LocationIcon.DEFAULT; -// return this; -// } -// -// public ApplicationModeBuilder nauticalLocation() { -// applicationMode.bearingIcon =NavigationIcon.NAUTICAL; -// applicationMode.locationIcon = LocationIcon.DEFAULT; -// return this; -// } - public ApplicationModeBuilder speed(float defSpeed, int distForTurn) { applicationMode.defaultSpeed = defSpeed; applicationMode.initialDefaultSpeed = defSpeed; @@ -491,7 +469,7 @@ public class ApplicationMode { } public NavigationIcon getNavigationIcon() { - return bearingIcon; + return navigationIcon; } public LocationIcon getLocationIcon() { @@ -506,7 +484,6 @@ public class ApplicationMode { return keyName; } - public String getCustomProfileName() { return userProfileName; } @@ -577,7 +554,6 @@ public class ApplicationMode { return routingProfile; } - @DrawableRes public int getIconRes() { return iconRes; } @@ -651,6 +627,8 @@ public class ApplicationMode { b.icon(app, mb.iconName); b.setColor(mb.iconColor); b.setOrder(mb.order); + b.locationIcon(mb.locationIcon); + b.navigationIcon(mb.navigationIcon); return b; } @@ -663,6 +641,8 @@ public class ApplicationMode { mb.stringKey = stringKey; mb.routeService = routeService; mb.routingProfile = routingProfile; + mb.locationIcon = locationIcon; + mb.navigationIcon = navigationIcon; mb.order = order; Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); return gson.toJson(mb); @@ -682,6 +662,8 @@ public class ApplicationMode { applicationMode.iconColor = modeBean.iconColor; applicationMode.routingProfile = modeBean.routingProfile; applicationMode.routeService = modeBean.routeService; + applicationMode.locationIcon = modeBean.locationIcon; + applicationMode.navigationIcon = modeBean.navigationIcon; applicationMode.order = modeBean.order; } } @@ -701,6 +683,8 @@ public class ApplicationMode { .setRoutingProfile(m.routingProfile) .icon(app, m.iconName) .setColor(m.iconColor) + .locationIcon(m.locationIcon) + .navigationIcon(m.navigationIcon) .setOrder(m.order) .customReg(); } @@ -745,9 +729,10 @@ public class ApplicationMode { mb.routeService = mode.routeService; mb.routingProfile = mode.routingProfile; mb.order = mode.order; + mb.locationIcon = mode.locationIcon; + mb.navigationIcon = mode.navigationIcon; modeBeans.add(mb); } - return modeBeans; } @@ -762,13 +747,14 @@ public class ApplicationMode { mode.routingProfile = builder.applicationMode.routingProfile; mode.routeService = builder.applicationMode.routeService; mode.iconColor = builder.applicationMode.iconColor; + mode.locationIcon = builder.applicationMode.locationIcon; + mode.navigationIcon = builder.applicationMode.navigationIcon; mode.order = builder.applicationMode.order; } else { mode = builder.customReg(); initRegVisibility(); } saveAppModesToSettings(app.getSettings(), mode.isCustomProfile()); - return mode; } diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index 2d65869ecf..843068960d 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -7,11 +7,13 @@ import android.content.DialogInterface; import android.graphics.Matrix; import android.graphics.PorterDuff; import android.graphics.drawable.GradientDrawable; +import android.graphics.drawable.LayerDrawable; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.content.ContextCompat; +import android.support.v4.graphics.drawable.DrawableCompat; import android.support.v7.app.AlertDialog; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceViewHolder; @@ -26,7 +28,6 @@ import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.ImageView; -import android.widget.LinearLayout; import net.osmand.AndroidUtils; import net.osmand.PlatformUtil; @@ -72,6 +73,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { public static final String PROFILE_ICON_RES_KEY = "profile_icon_res_key"; public static final String PROFILE_COLOR_KEY = "profile_color_key"; public static final String PROFILE_PARENT_KEY = "profile_parent_key"; + public static final String PROFILE_LOCATION_ICON_KEY = "profile_location_icon_key"; + public static final String PROFILE_NAVIGATION_ICON_KEY = "profile_navigation_icon_key"; public static final String BASE_PROFILE_FOR_NEW = "base_profile_for_new"; private SelectProfileBottomSheetDialogFragment.SelectProfileListener parentProfileListener; private EditText baseProfileName; @@ -80,7 +83,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { private EditText profileName; private FlowLayout colorItems; private FlowLayout iconItems; - private FlowLayout mapIconItems; + private FlowLayout locationIconItems; private FlowLayout navIconItems; private OsmandTextFieldBoxes profileNameOtfb; private View saveButton; @@ -108,6 +111,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { profile.iconRes = baseModeForNewProfile.getIconRes(); profile.routingProfile = baseModeForNewProfile.getRoutingProfile(); profile.routeService = baseModeForNewProfile.getRouteService(); + profile.locationIcon = baseModeForNewProfile.getLocationIcon(); + profile.navigationIcon = baseModeForNewProfile.getNavigationIcon(); } else { profile.stringKey = getSelectedAppMode().getStringKey(); profile.parent = getSelectedAppMode().getParent(); @@ -116,6 +121,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { profile.iconRes = getSelectedAppMode().getIconRes(); profile.routingProfile = getSelectedAppMode().getRoutingProfile(); profile.routeService = getSelectedAppMode().getRouteService(); + profile.locationIcon = getSelectedAppMode().getLocationIcon(); + profile.navigationIcon = getSelectedAppMode().getNavigationIcon(); } changedProfile = new ApplicationProfileObject(); if (savedInstanceState != null) { @@ -132,6 +139,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { changedProfile.iconRes = profile.iconRes; changedProfile.routingProfile = profile.routingProfile; changedProfile.routeService = profile.routeService; + changedProfile.locationIcon = profile.locationIcon; + changedProfile.navigationIcon = profile.navigationIcon; } } @@ -255,6 +264,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { if (changedProfile.parent != null) { outState.putString(PROFILE_PARENT_KEY, changedProfile.parent.getStringKey()); } + outState.putSerializable(PROFILE_LOCATION_ICON_KEY, changedProfile.locationIcon); + outState.putSerializable(PROFILE_NAVIGATION_ICON_KEY, changedProfile.navigationIcon); } private void restoreState(Bundle savedInstanceState) { @@ -264,6 +275,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { changedProfile.color = (ApplicationMode.ProfileIconColors) savedInstanceState.getSerializable(PROFILE_COLOR_KEY); String parentStringKey = savedInstanceState.getString(PROFILE_PARENT_KEY); changedProfile.parent = ApplicationMode.valueOfStringKey(parentStringKey, null); + changedProfile.locationIcon = (ApplicationMode.LocationIcon) savedInstanceState.getSerializable(PROFILE_LOCATION_ICON_KEY); + changedProfile.navigationIcon = (ApplicationMode.NavigationIcon) savedInstanceState.getSerializable(PROFILE_NAVIGATION_ICON_KEY); } @Override @@ -284,11 +297,6 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { } } - @Override - protected void updatePreference(Preference preference) { - super.updatePreference(preference); - } - @Override protected void onBindPreferenceViewHolder(Preference preference, PreferenceViewHolder holder) { super.onBindPreferenceViewHolder(preference, holder); @@ -353,16 +361,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { for (ApplicationMode.ProfileIconColors color : ApplicationMode.ProfileIconColors.values()) { View colorItem = createColorItemView(color, colorItems); colorItems.addView(colorItem, new FlowLayout.LayoutParams(0, 0)); - ImageView outlineCircle = colorItem.findViewById(R.id.outlineCircle); - ImageView checkMark = colorItem.findViewById(R.id.checkMark); - GradientDrawable gradientDrawable = (GradientDrawable) ContextCompat.getDrawable(app, R.drawable.circle_contour_bg_light); - if (gradientDrawable != null) { - gradientDrawable.setStroke(AndroidUtils.dpToPx(app, 2), - UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, color.getColor(isNightMode())), 0.3f)); - outlineCircle.setImageDrawable(gradientDrawable); - } - checkMark.setVisibility(View.GONE); - outlineCircle.setVisibility(View.GONE); + } updateColorSelector(changedProfile.color); } else if (ICON_ITEMS.equals(preference.getKey())) { @@ -375,20 +374,21 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { } setIconNewColor(changedProfile.iconRes); } else if (LOCATION_ICON_ITEMS.equals(preference.getKey())) { - mapIconItems = (FlowLayout) holder.findViewById(R.id.color_items); - mapIconItems.removeAllViews(); - for (ApplicationMode.LocationIcon iconRes : ApplicationMode.LocationIcon.values()) { - View iconItemView = createLocationIconView(iconRes, mapIconItems); - mapIconItems.addView(iconItemView, new FlowLayout.LayoutParams(0, 0)); + locationIconItems = (FlowLayout) holder.findViewById(R.id.color_items); + locationIconItems.removeAllViews(); + for (ApplicationMode.LocationIcon locationIcon : ApplicationMode.LocationIcon.values()) { + View iconItemView = createLocationIconView(locationIcon, locationIconItems); + locationIconItems.addView(iconItemView, new FlowLayout.LayoutParams(0, 0)); } - + updateLocationIconSelector(changedProfile.locationIcon); } else if (NAV_ICON_ITEMS.equals(preference.getKey())) { navIconItems = (FlowLayout) holder.findViewById(R.id.color_items); navIconItems.removeAllViews(); - for (ApplicationMode.NavigationIcon iconRes : ApplicationMode.NavigationIcon.values()) { - View iconItemView = createNavigationIconView(iconRes, navIconItems); + for (ApplicationMode.NavigationIcon navigationIcon : ApplicationMode.NavigationIcon.values()) { + View iconItemView = createNavigationIconView(navigationIcon, navIconItems); navIconItems.addView(iconItemView, new FlowLayout.LayoutParams(0, 0)); } + updateNavigationIconSelector(changedProfile.navigationIcon); } } @@ -404,9 +404,22 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { public void onClick(View v) { if (colorRes != changedProfile.color) { updateColorSelector(colorRes); + updatePreference(findPreference(MASTER_PROFILE)); + updatePreference(findPreference(LOCATION_ICON_ITEMS)); } } }); + + ImageView outlineCircle = colorItemView.findViewById(R.id.outlineCircle); + ImageView checkMark = colorItemView.findViewById(R.id.checkMark); + GradientDrawable gradientDrawable = (GradientDrawable) ContextCompat.getDrawable(app, R.drawable.circle_contour_bg_light); + if (gradientDrawable != null) { + gradientDrawable.setStroke(AndroidUtils.dpToPx(app, 2), + UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, colorRes.getColor(isNightMode())), 0.3f)); + outlineCircle.setImageDrawable(gradientDrawable); + } + checkMark.setVisibility(View.GONE); + outlineCircle.setVisibility(View.GONE); colorItemView.setTag(colorRes); return colorItemView; } @@ -422,8 +435,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { if (iconItems != null) { setIconNewColor(changedProfile.iconRes); } - int selectedColor = ContextCompat.getColor(app, - changedProfile.color.getColor(isNightMode())); + int selectedColor = ContextCompat.getColor(app, changedProfile.color.getColor(isNightMode())); profileNameOtfb.setPrimaryColor(selectedColor); profileName.getBackground().mutate().setColorFilter(selectedColor, PorterDuff.Mode.SRC_ATOP); updateProfileButton(); @@ -462,14 +474,15 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { UiUtilities.getColorWithAlpha(ContextCompat.getColor(app, R.color.icon_color_default_light), 0.1f))); changedProfile.iconRes = iconRes; updateProfileButton(); - updateLocationIconSelector(); } - private View createLocationIconView(ApplicationMode.LocationIcon locationIcon, ViewGroup rootView) { + private View createLocationIconView(final ApplicationMode.LocationIcon locationIcon, ViewGroup rootView) { FrameLayout locationIconView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) .inflate(R.layout.preference_select_icon_button, rootView, false); - locationIconView.findViewById(R.id.icon) - .setImageDrawable(ContextCompat.getDrawable(app, locationIcon.getIconId())); + LayerDrawable locationIconDrawable = (LayerDrawable) app.getResources().getDrawable(locationIcon.getIconId()); + DrawableCompat.setTint(locationIconDrawable.getDrawable(1), ContextCompat.getColor(app, changedProfile.color.getColor( + app.getDaynightHelper().isNightModeForMapControls()))); + locationIconView.findViewById(R.id.icon).setImageDrawable(locationIconDrawable); locationIconView.findViewById(R.id.headingIcon) .setImageDrawable(ContextCompat.getDrawable(app, locationIcon.getHeadingIconId())); ImageView coloredRect = locationIconView.findViewById(R.id.backgroundRect); @@ -479,9 +492,9 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { coloredRect.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -// if (locationIcon != changedProfile.locationIcon) { -// updateIconSelector(locationIcon); -// } + if (locationIcon != changedProfile.locationIcon) { + updateLocationIconSelector(locationIcon); + } } }); ImageView outlineRect = locationIconView.findViewById(R.id.outlineRect); @@ -493,17 +506,26 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { } outlineRect.setImageDrawable(rectContourDrawable); outlineRect.setVisibility(View.GONE); + locationIconView.setTag(locationIcon); return locationIconView; } - private void updateLocationIconSelector() { + private void updateLocationIconSelector(ApplicationMode.LocationIcon locationIcon) { + View viewWithTag = locationIconItems.findViewWithTag(changedProfile.locationIcon); + viewWithTag.findViewById(R.id.outlineRect).setVisibility(View.GONE); + viewWithTag = locationIconItems.findViewWithTag(locationIcon); + viewWithTag.findViewById(R.id.outlineRect).setVisibility(View.VISIBLE); + changedProfile.locationIcon = locationIcon; } - private View createNavigationIconView(ApplicationMode.NavigationIcon navigationIcon, ViewGroup rootView) { + private View createNavigationIconView(final ApplicationMode.NavigationIcon navigationIcon, ViewGroup rootView) { FrameLayout navigationIconView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) .inflate(R.layout.preference_select_icon_button, rootView, false); + LayerDrawable navigationIconDrawable = (LayerDrawable) app.getResources().getDrawable(navigationIcon.getIconId()); + DrawableCompat.setTint(navigationIconDrawable.getDrawable(1), ContextCompat.getColor(app, changedProfile.color.getColor( + app.getDaynightHelper().isNightModeForMapControls()))); ImageView imageView = navigationIconView.findViewById(R.id.icon); - imageView.setImageDrawable(ContextCompat.getDrawable(app, navigationIcon.getIconId())); + imageView.setImageDrawable(navigationIconDrawable); Matrix matrix = new Matrix(); imageView.setScaleType(ImageView.ScaleType.MATRIX); matrix.postRotate((float) -90, imageView.getDrawable().getIntrinsicWidth() / 2, @@ -516,9 +538,9 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { coloredRect.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -// if (navigationIcon != changedProfile.navigationIcon) { -// updateIconSelector(navigationIcon); -// } + if (navigationIcon != changedProfile.navigationIcon) { + updateNavigationIconSelector(navigationIcon); + } } }); ImageView outlineRect = navigationIconView.findViewById(R.id.outlineRect); @@ -530,12 +552,16 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { } outlineRect.setImageDrawable(rectContourDrawable); outlineRect.setVisibility(View.GONE); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(164, AndroidUtils.dpToPx(app, 80)); - navigationIconView.setLayoutParams(params); + navigationIconView.setTag(navigationIcon); return navigationIconView; } - private void updateNavigationIconSelector() { + private void updateNavigationIconSelector(ApplicationMode.NavigationIcon navigationIcon) { + View viewWithTag = navIconItems.findViewWithTag(changedProfile.navigationIcon); + viewWithTag.findViewById(R.id.outlineRect).setVisibility(View.GONE); + viewWithTag = navIconItems.findViewWithTag(navigationIcon); + viewWithTag.findViewById(R.id.outlineRect).setVisibility(View.VISIBLE); + changedProfile.navigationIcon = navigationIcon; } private void setIconNewColor(int iconRes) { @@ -611,7 +637,9 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { .icon(app, ApplicationMode.ProfileIcons.getResStringByResId(changedProfile.iconRes)) .setRouteService(changedProfile.routeService) .setRoutingProfile(changedProfile.routingProfile) - .setColor(changedProfile.color); + .setColor(changedProfile.color) + .locationIcon(changedProfile.locationIcon) + .navigationIcon(changedProfile.navigationIcon); ApplicationMode mode = ApplicationMode.saveProfile(builder, getMyApplication()); if (!ApplicationMode.values(app).contains(mode)) { @@ -688,6 +716,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { int iconRes; String routingProfile; RouteProvider.RouteService routeService; + ApplicationMode.NavigationIcon navigationIcon; + ApplicationMode.LocationIcon locationIcon; @Override public boolean equals(Object o) { @@ -704,7 +734,9 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { if (color != that.color) return false; if (routingProfile != null ? !routingProfile.equals(that.routingProfile) : that.routingProfile != null) return false; - return routeService == that.routeService; + if (routeService != that.routeService) return false; + if (navigationIcon != that.navigationIcon) return false; + return locationIcon == that.locationIcon; } @Override @@ -716,6 +748,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { result = 31 * result + iconRes; result = 31 * result + (routingProfile != null ? routingProfile.hashCode() : 0); result = 31 * result + (routeService != null ? routeService.hashCode() : 0); + result = 31 * result + (navigationIcon != null ? navigationIcon.hashCode() : 0); + result = 31 * result + (locationIcon != null ? locationIcon.hashCode() : 0); return result; } } diff --git a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java index 379a9ef2a3..08ae85afba 100644 --- a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java @@ -41,8 +41,8 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay private OsmandMapTileView view; private ApplicationMode appMode; - private int color; - private LayerDrawable bearingIcon; + private int colorId; + private LayerDrawable navigationIcon; private LayerDrawable locationIcon; private Bitmap headingIcon; private OsmAndLocationProvider locationProvider; @@ -127,12 +127,16 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay if (!locationOutdated && isBearing) { float bearing = lastKnownLocation.getBearing(); canvas.rotate(bearing - 90, locationX, locationY); - bearingIcon.setBounds(locationX - bearingIcon.getIntrinsicWidth() / 2, locationY - bearingIcon.getIntrinsicHeight() / 2, - locationX + bearingIcon.getIntrinsicWidth() / 2, locationY + bearingIcon.getIntrinsicHeight() / 2); - bearingIcon.draw(canvas); + navigationIcon.setBounds(locationX - navigationIcon.getIntrinsicWidth() / 2, + locationY - navigationIcon.getIntrinsicHeight() / 2, + locationX + navigationIcon.getIntrinsicWidth() / 2, + locationY + navigationIcon.getIntrinsicHeight() / 2); + navigationIcon.draw(canvas); } else { - locationIcon.setBounds(locationX - locationIcon.getIntrinsicWidth() / 2, locationY - locationIcon.getIntrinsicHeight() / 2, - locationX + locationIcon.getIntrinsicWidth() / 2, locationY + locationIcon.getIntrinsicHeight() / 2); + locationIcon.setBounds(locationX - locationIcon.getIntrinsicWidth() / 2, + locationY - locationIcon.getIntrinsicHeight() / 2, + locationX + locationIcon.getIntrinsicWidth() / 2, + locationY + locationIcon.getIntrinsicHeight() / 2); locationIcon.draw(canvas); } } @@ -148,16 +152,16 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay private void updateIcons(ApplicationMode appMode, boolean nighMode, boolean locationOutdated) { if (appMode != this.appMode || this.nm != nighMode || this.locationOutdated != locationOutdated || - color != appMode.getIconColorInfo().getColor(nighMode)) { + colorId != appMode.getIconColorInfo().getColor(nighMode)) { this.appMode = appMode; - this.color = appMode.getIconColorInfo().getColor(nighMode); + this.colorId = appMode.getIconColorInfo().getColor(nighMode); this.nm = nighMode; this.locationOutdated = locationOutdated; - bearingIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getNavigationIcon().getIconId()); - DrawableCompat.setTint(bearingIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), color)); + navigationIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getNavigationIcon().getIconId()); + DrawableCompat.setTint(navigationIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), colorId)); headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getLocationIcon().getHeadingIconId()); locationIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getLocationIcon().getIconId()); - DrawableCompat.setTint(locationIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), color)); + DrawableCompat.setTint(locationIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), colorId)); area.setColor(view.getResources().getColor(!nm ? R.color.pos_area : R.color.pos_area_night)); } } From d4c8b2e3478a3f79ed95c339fe3a0e3a69013335 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Wed, 15 Jan 2020 12:49:03 +0200 Subject: [PATCH 17/59] Delete unnecessary icon files --- .../res/drawable-hdpi/map_bicycle_bearing.png | Bin 4503 -> 0 bytes .../drawable-hdpi/map_bicycle_bearing_night.png | Bin 4563 -> 0 bytes .../res/drawable-hdpi/map_bicycle_location.png | Bin 4416 -> 0 bytes .../drawable-hdpi/map_bicycle_location_lost.png | Bin 4091 -> 0 bytes .../map_bicycle_location_lost_night.png | Bin 4090 -> 0 bytes .../map_bicycle_location_night.png | Bin 4401 -> 0 bytes .../map_bicycle_location_view_angle_night.png | Bin 6155 -> 0 bytes OsmAnd/res/drawable-hdpi/map_car_bearing.png | Bin 4673 -> 0 bytes .../res/drawable-hdpi/map_car_bearing_night.png | Bin 4660 -> 0 bytes OsmAnd/res/drawable-hdpi/map_car_location.png | Bin 3472 -> 0 bytes .../res/drawable-hdpi/map_car_location_lost.png | Bin 3261 -> 0 bytes .../map_car_location_lost_night.png | Bin 3289 -> 0 bytes .../drawable-hdpi/map_car_location_night.png | Bin 3455 -> 0 bytes .../map_car_location_view_angle_night.png | Bin 6082 -> 0 bytes .../res/drawable-hdpi/map_default_location.png | Bin 2288 -> 0 bytes .../drawable-hdpi/map_default_location_lost.png | Bin 2217 -> 0 bytes .../map_default_location_lost_night.png | Bin 2217 -> 0 bytes .../map_default_location_night.png | Bin 2288 -> 0 bytes .../map_default_location_view_angle_night.png | Bin 3198 -> 0 bytes .../res/drawable-hdpi/map_nautical_bearing.png | Bin 2532 -> 0 bytes .../map_nautical_bearing_night.png | Bin 2692 -> 0 bytes .../res/drawable-hdpi/map_nautical_location.png | Bin 2286 -> 0 bytes .../map_nautical_location_night.png | Bin 2301 -> 0 bytes .../map_nautical_location_view_angle.png | Bin 3166 -> 0 bytes .../map_nautical_location_view_angle_night.png | Bin 3171 -> 0 bytes .../drawable-hdpi/map_pedestrian_bearing.png | Bin 4673 -> 0 bytes .../map_pedestrian_bearing_night.png | Bin 4660 -> 0 bytes .../drawable-hdpi/map_pedestrian_location.png | Bin 2288 -> 0 bytes .../map_pedestrian_location_lost.png | Bin 2217 -> 0 bytes .../map_pedestrian_location_lost_night.png | Bin 2217 -> 0 bytes .../map_pedestrian_location_night.png | Bin 2288 -> 0 bytes .../map_pedestrian_location_view_angle.png | Bin 3167 -> 0 bytes ...map_pedestrian_location_view_angle_night.png | Bin 3176 -> 0 bytes .../res/drawable-mdpi/map_bicycle_bearing.png | Bin 3324 -> 0 bytes .../drawable-mdpi/map_bicycle_bearing_night.png | Bin 3327 -> 0 bytes .../res/drawable-mdpi/map_bicycle_location.png | Bin 2860 -> 0 bytes .../drawable-mdpi/map_bicycle_location_lost.png | Bin 2682 -> 0 bytes .../map_bicycle_location_lost_night.png | Bin 2690 -> 0 bytes .../map_bicycle_location_night.png | Bin 2865 -> 0 bytes .../map_bicycle_location_view_angle_night.png | Bin 3764 -> 0 bytes OsmAnd/res/drawable-mdpi/map_car_bearing.png | Bin 3324 -> 0 bytes .../res/drawable-mdpi/map_car_bearing_night.png | Bin 3311 -> 0 bytes OsmAnd/res/drawable-mdpi/map_car_location.png | Bin 2363 -> 0 bytes .../res/drawable-mdpi/map_car_location_lost.png | Bin 2287 -> 0 bytes .../map_car_location_lost_night.png | Bin 2299 -> 0 bytes .../drawable-mdpi/map_car_location_night.png | Bin 2389 -> 0 bytes .../map_car_location_view_angle_night.png | Bin 3724 -> 0 bytes .../res/drawable-mdpi/map_default_location.png | Bin 1731 -> 0 bytes .../drawable-mdpi/map_default_location_lost.png | Bin 1699 -> 0 bytes .../map_default_location_lost_night.png | Bin 1699 -> 0 bytes .../map_default_location_night.png | Bin 1741 -> 0 bytes .../map_default_location_view_angle_night.png | Bin 2155 -> 0 bytes .../res/drawable-mdpi/map_nautical_bearing.png | Bin 2040 -> 0 bytes .../map_nautical_bearing_night.png | Bin 2063 -> 0 bytes .../res/drawable-mdpi/map_nautical_location.png | Bin 1729 -> 0 bytes .../map_nautical_location_night.png | Bin 1744 -> 0 bytes .../map_nautical_location_view_angle.png | Bin 2186 -> 0 bytes .../map_nautical_location_view_angle_night.png | Bin 2113 -> 0 bytes .../drawable-mdpi/map_pedestrian_bearing.png | Bin 3324 -> 0 bytes .../map_pedestrian_bearing_night.png | Bin 3327 -> 0 bytes .../drawable-mdpi/map_pedestrian_location.png | Bin 1731 -> 0 bytes .../map_pedestrian_location_lost.png | Bin 1699 -> 0 bytes .../map_pedestrian_location_lost_night.png | Bin 1699 -> 0 bytes .../map_pedestrian_location_night.png | Bin 1741 -> 0 bytes .../map_pedestrian_location_view_angle.png | Bin 2130 -> 0 bytes ...map_pedestrian_location_view_angle_night.png | Bin 2180 -> 0 bytes .../res/drawable-xhdpi/map_bicycle_bearing.png | Bin 6093 -> 0 bytes .../map_bicycle_bearing_night.png | Bin 6061 -> 0 bytes .../res/drawable-xhdpi/map_bicycle_location.png | Bin 5907 -> 0 bytes .../map_bicycle_location_lost.png | Bin 5446 -> 0 bytes .../map_bicycle_location_lost_night.png | Bin 5446 -> 0 bytes .../map_bicycle_location_night.png | Bin 5869 -> 0 bytes .../map_bicycle_location_view_angle_night.png | Bin 9131 -> 0 bytes OsmAnd/res/drawable-xhdpi/map_car_bearing.png | Bin 6087 -> 0 bytes .../drawable-xhdpi/map_car_bearing_night.png | Bin 6059 -> 0 bytes OsmAnd/res/drawable-xhdpi/map_car_location.png | Bin 4598 -> 0 bytes .../drawable-xhdpi/map_car_location_lost.png | Bin 4324 -> 0 bytes .../map_car_location_lost_night.png | Bin 4317 -> 0 bytes .../drawable-xhdpi/map_car_location_night.png | Bin 4560 -> 0 bytes .../map_car_location_view_angle_night.png | Bin 9098 -> 0 bytes .../res/drawable-xhdpi/map_default_location.png | Bin 2835 -> 0 bytes .../map_default_location_lost.png | Bin 2729 -> 0 bytes .../map_default_location_lost_night.png | Bin 2711 -> 0 bytes .../map_default_location_night.png | Bin 2835 -> 0 bytes .../map_default_location_view_angle_night.png | Bin 4280 -> 0 bytes .../res/drawable-xhdpi/map_nautical_bearing.png | Bin 3173 -> 0 bytes .../map_nautical_bearing_night.png | Bin 3458 -> 0 bytes .../drawable-xhdpi/map_nautical_location.png | Bin 2833 -> 0 bytes .../map_nautical_location_night.png | Bin 2844 -> 0 bytes .../map_nautical_location_view_angle.png | Bin 4286 -> 0 bytes .../map_nautical_location_view_angle_night.png | Bin 4253 -> 0 bytes .../drawable-xhdpi/map_pedestrian_bearing.png | Bin 6087 -> 0 bytes .../map_pedestrian_bearing_night.png | Bin 6059 -> 0 bytes .../drawable-xhdpi/map_pedestrian_location.png | Bin 2835 -> 0 bytes .../map_pedestrian_location_lost.png | Bin 2709 -> 0 bytes .../map_pedestrian_location_lost_night.png | Bin 2735 -> 0 bytes .../map_pedestrian_location_night.png | Bin 2835 -> 0 bytes .../map_pedestrian_location_view_angle.png | Bin 4288 -> 0 bytes ...map_pedestrian_location_view_angle_night.png | Bin 4256 -> 0 bytes .../res/drawable-xxhdpi/map_bicycle_bearing.png | Bin 9422 -> 0 bytes .../map_bicycle_bearing_night.png | Bin 9250 -> 0 bytes .../drawable-xxhdpi/map_bicycle_location.png | Bin 8935 -> 0 bytes .../map_bicycle_location_lost.png | Bin 8276 -> 0 bytes .../map_bicycle_location_lost_night.png | Bin 8201 -> 0 bytes .../map_bicycle_location_night.png | Bin 8941 -> 0 bytes .../map_bicycle_location_view_angle_night.png | Bin 16898 -> 0 bytes OsmAnd/res/drawable-xxhdpi/map_car_bearing.png | Bin 9368 -> 0 bytes .../drawable-xxhdpi/map_car_bearing_night.png | Bin 9211 -> 0 bytes OsmAnd/res/drawable-xxhdpi/map_car_location.png | Bin 6671 -> 0 bytes .../drawable-xxhdpi/map_car_location_lost.png | Bin 6286 -> 0 bytes .../map_car_location_lost_night.png | Bin 6258 -> 0 bytes .../drawable-xxhdpi/map_car_location_night.png | Bin 6678 -> 0 bytes .../map_car_location_view_angle_night.png | Bin 17079 -> 0 bytes .../drawable-xxhdpi/map_default_location.png | Bin 4077 -> 0 bytes .../map_default_location_lost.png | Bin 3985 -> 0 bytes .../map_default_location_lost_night.png | Bin 3987 -> 0 bytes .../map_default_location_night.png | Bin 4077 -> 0 bytes .../map_default_location_view_angle_night.png | Bin 7225 -> 0 bytes .../drawable-xxhdpi/map_nautical_bearing.png | Bin 4368 -> 0 bytes .../map_nautical_bearing_night.png | Bin 4685 -> 0 bytes .../drawable-xxhdpi/map_nautical_location.png | Bin 4085 -> 0 bytes .../map_nautical_location_night.png | Bin 4081 -> 0 bytes .../map_nautical_location_view_angle.png | Bin 7170 -> 0 bytes .../map_nautical_location_view_angle_night.png | Bin 7221 -> 0 bytes .../drawable-xxhdpi/map_pedestrian_bearing.png | Bin 9404 -> 0 bytes .../map_pedestrian_bearing_night.png | Bin 9190 -> 0 bytes .../drawable-xxhdpi/map_pedestrian_location.png | Bin 4077 -> 0 bytes .../map_pedestrian_location_lost.png | Bin 3916 -> 0 bytes .../map_pedestrian_location_lost_night.png | Bin 3988 -> 0 bytes .../map_pedestrian_location_night.png | Bin 4077 -> 0 bytes .../map_pedestrian_location_view_angle.png | Bin 7161 -> 0 bytes ...map_pedestrian_location_view_angle_night.png | Bin 7229 -> 0 bytes OsmAnd/res/layout/plan_route_info.xml | 6 +++--- .../adapters/MapMarkersListAdapter.java | 2 +- .../osmand/plus/myplaces/TrackBitmapDrawer.java | 2 +- OsmAnd/src/net/osmand/plus/views/GPXLayer.java | 2 +- .../src/net/osmand/plus/views/RouteLayer.java | 2 +- 137 files changed, 7 insertions(+), 7 deletions(-) delete mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_bearing.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_bearing_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_location.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_location_lost.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_location_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_bicycle_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_car_bearing.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_car_bearing_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_car_location.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_car_location_lost.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_car_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_car_location_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_car_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_default_location.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_default_location_lost.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_default_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_default_location_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_default_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_nautical_bearing.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_nautical_bearing_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_nautical_location.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_nautical_location_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_nautical_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_nautical_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_bearing.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_bearing_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location_night.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-hdpi/map_pedestrian_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_bearing.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_bearing_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_location.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_location_lost.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_location_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_bicycle_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_car_bearing.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_car_bearing_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_car_location.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_car_location_lost.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_car_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_car_location_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_car_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_default_location.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_default_location_lost.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_default_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_default_location_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_default_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_nautical_bearing.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_nautical_bearing_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_nautical_location.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_nautical_location_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_nautical_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_nautical_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_bearing.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_bearing_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location_night.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-mdpi/map_pedestrian_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_bearing.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_location.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_location_lost.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_location_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_bicycle_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_car_bearing.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_car_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_car_location.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_car_location_lost.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_car_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_car_location_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_car_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_default_location.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_default_location_lost.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_default_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_default_location_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_default_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_nautical_bearing.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_nautical_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_nautical_location.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_nautical_location_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_nautical_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_nautical_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_bearing.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location_lost.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location_night.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-xhdpi/map_pedestrian_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_bearing.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_location.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_location_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_bicycle_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_bearing.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_location.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_location_lost.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_location_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_car_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_default_location.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_default_location_lost.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_default_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_default_location_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_default_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_nautical_bearing.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_nautical_location.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_nautical_location_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_nautical_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_nautical_location_view_angle_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_bearing.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_bearing_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_night.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_view_angle.png delete mode 100644 OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_view_angle_night.png diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_bearing.png b/OsmAnd/res/drawable-hdpi/map_bicycle_bearing.png deleted file mode 100644 index 4a3ea967ad43d4c5900b7ac27eb6fb97775ed419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4503 zcmbVQX*`ts+qcJv%6e=WTZW7=mN7F~Qq~yB5LwD>jcLqcX6%$DT5KheU0JgW#mJJS zlE{)o9BWjz5K5_MoO3$Q^Wy*czj*HJzVF|1U*GHc{;uWCea*q%N(3Ma;Ns#Ev9UIH z3s)AJcAgc0VGy{?@H8v|XhXpe362B|KFGI=V8q468%%O? zWx1m4kT@De8?&pU9Y~>b&|F+brh#+}j!a+yu>>NCYOK7{*rE(1;fWf#er?`}hsfq$v6$i~Wl zlX68l0FToc1fYR742*;7=>iQA+E4?8E?i#=sH+2oL3H#XPy`sNhveM)I>3J}WsWxn z{yfsr-0~k^oRzV%H;Y9_LLdPF0onn2+B61{gGC@9I=T>DT`)%j%nYKkFo9qyQ{}e> za{?2`AkkSQ8Wp%}5rd`qv5b{DO#eOtg^oh~YnaOXCs3S_K>{&!2vl1KLZR%Q>o094 z%aQQEH2$MD(iHwDBZ75@!g95e#$;!HDxXELdL$h5%#qbqHXDJ_2EApohalVVK``{u5pw3e|(^ znOQ>hbU0HBL%5!uR)ZJ~3-BkU3a&rQMG1N1JDgT4V|9@i$;gEvt7R>)C zpx;}Zs@$Fa+YX$?zYRs8a=M7YX_q6fGP*b|Tw`Ny<`g)(m?=a@`yG6C39|BhL~e9o zAW8~E6pocw0d6Th0$t&^@b6^yD`Y8n5{J%Yb!PRSN%NCZ@bC;kI7xYGBs&^$HTZP? zNf~HFW#n(&ECdHZy59Y=y|uQzHUOiHK1l!dGNV~_<=4rzuB~5)g%xi~cQI@vw~dn1#S!8W zF(SS%9t7~Vp5j&yk68s`cEWKMN2_b~-!^s>px^d8>aJRW+-lZJ?x zBfY+VMyztVDpdI-FqMw_hqtJR`szPfb+)8GEAtCFOxM)0kL*^_vU88WzZz^tn8Otq zd5vKXgx9VDAK(hw`UU2lWUl3w=O;tuqKDmI#s@Qrbq||o#}{Ec4X`f~JyG*~q?rhD z`-M}drd-2kULQh@mW?Og;vO^&vTc9`N8-med~CbAn5=5{*yz-vZ2;-89coy(lxpl8 zcQ9R{@9UNLqNk^vr@SND17QiXtvw@dzmoV;`Op1$PIIvaO7-c%s|aqTCL4e}ldy>U z%di@G2`}pKaKEPk`|0(4O!wLx1EkaQt9HcG=GRp2wN-Oj`A(jvf&R33(Kc_Ap_R3{ zu%}>4=)0d^&A1^$t01RvAYHz$ZYcpkEgkKi)|UMXvwfo{CbAe8FJl; zZ-kt@54>%AVn;}Hf=f*1?aCd&Yu&Do zdbF}`62Uu0@u!KiZf=2^WlI-&2AuFl>D|1~=@oLTX~p~vmqRVPE}X1VmN@Eh$z^K|LLF!#NcKfqk7mw8l+ zpTYR(TLOUTJWpq9z1AO2-WsM^_GE3Mn{4JQ=3sp(_>shYos7EvNBo+#YY9sC`v%ui z4SBt&Y)$N(LYlZ(4e@Y#`t@J(r;X!g!ZYj+1%7Sd>8pFnd+6q7!fhQPD^1lUpiSFG z)29p{@VSZF;*16gR0oL-nw1%kD{5D74*A;kT`L>iF%wg(Y(piL0t^ z($r_k#lE<}xRgVIIkSX-0B$xKb4fH>;hL%S#)1W|wzDPJ!)B&&6eDjFrv(>YodbM<2Ur z%76ZVDW)F{Z!b^qYI_~aJMS>AV(mAjsOVT>f1-7!K6c`wsiKL=IDk)v4`eLYmjIL# zN~9Ke1wSqYP+(Q>Q(a3PoAV4bQvXm0e!0mvEYQA`Fraz7|E`aOqW@Jq2&?(!kK9MC zh@!(&bg}DQw#{yHifru12j4orwltRohBwwXH7T54>EV@VJmmm$DKn{)imIj2GSUBB|?S##zt||L_}b;O4wTu;RW)JTDXH zzupxhF8mNTOj%LMpLv>vEE|l z!7ar?MN9wAky1@myi06J&BaoGI~+Ub81G?6y+uPI836pE*)66RW7h1rSjweFMfDx0 zc@qapj?P)#goV%3awGJgC$8Y+d4fhY!rCNGzPqQ&lRc&u-NEP4@m<8p`>U0G?B<|A zHW<&xzX#(1H=;+;#WuqOM_-g?NJLz#IT&(O_7c64B^lsLvJmz`IM9jmLhoUAtNGtb zZvb3we(pm8l-oU=KQ#9_xDSm4msaWG&Qjr*iFWXM&R z>*^vqUR7aW{v*TagOajZb5F+}zwS~GO2C`9uHL%X{0UBfvATM)!%D5GNtnOZeDsv_ zgJTI@^{ZP(sr(}rSz%AtRqa-5eX|2~qGK-Q+_k;QtOjn3zqE}v?GeVgX1hr8tIEs~ zXDhKIvfYWWv1L%jRAEP_TnZ1-06XKx4c@EU&&@`R|N6%D;#|Ybduj>##{{SsVkINO0^u|`4|KLFp zQ;YV++_L2RBbB`~XSO<-Mji@w58F1djK{VBzO$nxY-|bsxJ+9@F4zFdgiu9 zDmk-`zFT*DUY>D-`Sn50UhId-?U8cTDQ7zn;j=NiURrc9cMcvB8c;6f78l^NH(^H5 z%_!X@*(JOu`$TIqCApXluQ_{)JXjPqA)Ww_!U~UjT;ah{GPKp&b1!zc+ICrnmH>v8 zpW6ukOtXHW(nhp@x-;JkoX)%uvW4S)HD?Xf3Kaub&9+CrFEancmcCEs7XsP(1}Pwl zmgPoLrp1XQ5r%~2SuT%}k)$&YX$_`1sWDLHf@1CkR>yuXp`zj@lOn(w{iu+&`{M%$ z`@E2EF`~5srM$8NGwt`nlea}=-j03bTO2>ez3pp`u1L}(FEw<>&9RW4C_Ur-^&N`b zr6f>@X;Ix~Y$3O!_WlS%eY&!H)8)S6J3&_GmFp}zP{|vGpzwg7 z=nr=0YY3}hJj&#jmaX}rmlY3JXrH*$#{IpYC@BHaF(F?p*NF#iJnlmI-r~<-zbrvD zba*#!$5ecDKV4D`EB=)<*#9*w<2f?AbMV2yjn-?k#mDMy_A~dLw8&;*@x|s3@du&f z_aCY}+i2Yo1+48UIQJT8Yb}%3455Yf_Ju`FL&USURW)5qnRP*vJU8CjDd?&+9 z>DH$^y~eN)?q@5#OKYPZ>uE;Ws#j3cdnR^hG<-p|SVj&sjH%$GoX z?}4813vB$e$uT(pbI_Nw@HtqG4>bF3k9q_mm+!4kG_hG%ME49sl6@8DH!-vcF)B9 zOkLre;%jG9le1j7`rCfBt<^k3)o@Aqo-CvKgv@TpL^7Get}Tt5TVH2M(oi+o%N0Wg z&Y{WgJi_jAFGuza;_kw~OJgZ>=UWLg8E$X=84?Y`_Bv6i-`*jrRT$b%1X41uZTU~90NKII&5xbz8QtMw+2LAC6`1`mbZ0<+lYA_ zAYt6d$PB%;!x!JWx1p0<1y^Gm)w*Q9iq0RZZ+zt{lg+g z6XowGzY_&igew#Sqr%qD^|rkFywffP(dZoxo%~mN_VoTG%hF>%)mynX_|?-Q@|C~t P{wlGtus5$b<`wxrnd|Ui diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_bearing_night.png b/OsmAnd/res/drawable-hdpi/map_bicycle_bearing_night.png deleted file mode 100644 index aa15798537549d6bdd7881f12fe91bcb0009a019..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4563 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 diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location.png b/OsmAnd/res/drawable-hdpi/map_bicycle_location.png deleted file mode 100644 index 5fb9d3f90232d9432aff848a705df115b45a8117..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4416 zcmbVQc|26@+aF70PYEH$7Q!sX3}eYMV_&lG(U>`w7&B&uvF}AFQpsA9D2ZQ%9@#5v zmNdy8%AQD)EY&-D>UrNkp3m=(_k7Md_kCaI`d<5WKIcB?ZLCfBxW%|ZAP}FKDb|iT zn(kfuIhc3HkB>~4!x5U13(cP7L!;v;0LXwq@&>?WM4T^R2jB?d!Cin32*eiQ@8Cjn zv9i>{lZX)99uFjpNM@ozARWChG7cXA(7@h+uYZuP%xZnJ4A`HbE8~o`f?1I2<>R42c4Okr0$B9*$50YoH-;Bw9^VT?MQLgQK7@btoLI3P)%$Pjwjh_aVd7Mj`lU z*te2SW&CI~vKACdr_&*H1cXHKWn$52C`=8irl!i|P^E?k(Qsj^K~&j460iUj zPw^+y{7FIJJ&8DPQV2~~hH2^FE)dC9R{sbNqW%sPGi1;(92p9Sz@S9po?pMXsWdy_ zf6e$;ZmL5#8GzaWR8j~9&&-F9>>n^QcK=<`9wXBlt&Rp0SQ0*j2n5m0u(~qL zClG=^K?|>;i2{%?4OO%c-dj~2hC-|2)M0=sS{;qnKqBx2I12Yi&cESdSd1YS35R3V z&{#O!2xWkPX&4!68fhA;AkX@1Bn#) zrwVNRNHh}Fk3FLr49 z0COB%KO|;V z?oIz`2j=3Rh5~|^T|{BF3!$X>Dzk+>%&-OyVWZ0)(PW3g!_7Ny$0h=^4+wLyWbMZs z)Jn>9)5DcSq4@!c?sQ=mckMGq-6kdnjth0ZG}ISDwwj-JxX<9`W_*>ZCQ8Vs1MEke z#j;>*=MQ%(aLs7fk8D2Boo|esd>dUaJwh1KENn#hdVX!%SwU}Z_MtZms8YkM@gTG6 zANiSaU=|zJB6fYQxPu^hkU8iINO53qmKuGzIJ(8>5#O~kBIv2GXxzE+;$Gd`nvMG< zK@X%-*)vB4+Sn@uSyEy#D9l9Q>nrl+{9uL5LQmJ`mfQwovzxCuG=*HYkO^ z{FGm1AQ)!=^UycbU+L-Txe~qeb+$hjF^|gVK=jU1tS-s<>*&mtf;SaYDT5z2V#eOQ z37!73$nYXfJgIqDSy{;wv4_1CwL^J)6_E=}3p z&F$iuyinZ(K%(#HC)WbD`C@9Rtt5XpLwJ3oT@*Zre@SZx0j#qhC!2pxudJ+OkPG9d zHTdSVwx04pRXXaFGT;u{ZSnf4p^deEHJ>?9eJuu5a}M*~-d-#1kfqm4W|xoYoxPfO;^xkG$FW-C*xD-#sAFqCYU$SYK7TpTyXZbe_W720w#^E!<|dZ| zN$$f%>ov!fbeH6>E!9jVCKT>ZNQrG}Fzkc~WV4H0@XO;C8HwURE?&#{tMg0Xz%u5i zgPYqE+{BX*UnSEC+G9oqxJ?{f>z+F$p%X^_nuiSd(Gn^b2yI@Jmx?{cm^bo1Bq$o` z5QPLO6|wH)?ahyTT&T02l;#!Ie-o4ZhSk(p1$_3o#TrKn@%;idXymV8Jj=3LEFq6E zFOYevc~#y~%EtnmZm&4k6gO! z(jY{S%b9GQzz2qghWdnrY~bdoQB!1|w8+jj67p04yVChQTNT4YFx|GY0Q(i8_~o|? zC*!F#Ob(BNI5>jRhVF96OPU)R%6Zx~?1P z;{yQSuS}@?xSZi|$|j^&&`6|GQ9|@3$Y=$nZeUMKmT0J2jNZ+G6`i&&5Dy1KXZ%;f zTwV2)k00;OK&7PLKF{R=(|pj__E>(}9dkGFe&NJdxq(Ubl8As&v2JU?1_&ySxv ztq?wSQcYn$mIZ%@^vd*b&-xZRcel)K8pMJ)Tmqxo1BsK==Ft3lcN3G2yKsDaV1k}_ z{HVWVS(|dc@7yfw$1YCt+(Yrdt|F2H_i-W(Zn=Lwije<2oMw#W=y51MxhB|2|ZM<_we_F9o%1gAnmf5(WV&Yrx0dEwyih1tm zZ|^gpz*3q4xE=k(zINH^NtX>-GN#3hdq_Sx{t#S039c!81O7PDit7~nC&TNV;=pN& z-H6?tidQy0fpj__Oj`%gzWvcy^y;MXlV0u{x(O()_-PsZ8g$?aeB)$d6p zrFfJxdcL%Zu`iwA3>_J3tq3DSyqcmS-c+~>yp3FKtTOz(1q1{Hyx3Zw7pH$5-56OO zdE^xzDKIT6S)$D&7Y)H%2T5O1=#G0R8g0nkZHnxagvPm$7YelLE5wR*2KS()RE71G z+~?4kgXvLK9(A8r3knK+o3@wk8Rz-c1}DYbVp~DBu%0GgD?neyL}yNJ`WcJ zA4}i5tlZsZl~_>p6kW0YPX25Y65g|Ux<2|`A)zF{)uZF{>i)%diQQV8{R+cwT} z=hbZs`nRYP>FHfb!6@>lubFj;ZgS^34SQ9R@11V9O0+qcJofQ=kCu3z;~cMw7~#vL z-{sJ`PIm;^x<)jmpZo@BD5|1HoFn!RB{LvQ`**RXoeYQIxK2!QuVz

w)J(LdJr+JiivvS8SZ&Vsb#LA4Cqky-8KE$xw*Vu!tC4&ZI3wC>V}uk zw6e0k$=)Y7zZ@5f8k;IYaE8|c7jO0_^&QRzajHB_>J&{8(JwvH5=1KuDJ>nAdE=hr zb*G$*wfb~x!cMU%IAlFXFZKuPo7Oq*7wd|oV>}b^D)*kvQZ_<)w6E{{;Wucd!WGZ# z!Zu@iO}}yiz*t^hzJaL+4rr$};UVs|J#76t-CE6eu3+Z)WlGL6vA^>db}ah~Aitjz{}t zW}0=re_63EJsJjvAn!IbLj)S9V-*{P$40q zVdn}LIA7@fHrUV0u*b<4bR(Xgyx6?Tn8+f~lZD>FUUX2pv9KykGxbqjq?($Vle&fm z-en-&K%v69ZUn?tVVW_RGCDeX-@eQ`8njxdsdQOmitoc!Y$PS@rsdkJ^tb!KM)dNv zzDPCn*XwHywn2PIsN>3@><5MHy3UMM#N3a$e9~La$r=HBJ*Vda?5u7&QJI#q(?OpE zfaUhAv!UO|x%ag(IPXEd-9mPwt2|BGy@&PrI;LDW`1=IsBI86pW8d;h1SSheL2fN_ z@4S>gAaF?5<3Wth%loRTs*&v%#Oa$;=9Mlbs|cV`SI>pg=I8Fj`UFu`IY{%}4XFuS z`C6=Q(}m2n>_@FUuC0y9&d#nqdhfWtv%jP5MdvQZ+e)CO!i&Yl#j{4n72`nr@i%h<(tp6>~mg?U1v>Vc?I*Rg?##NMf!QYLAF zbmd3pcO#|+ulD2|%PPLmbmtf7vU>e+*EcoK~B85ZQdh2T5|qYNdAX35$K80 z!NHJA@hKrQ1zibEAX=Ybv}`)&MuOY9`m7mK7O~s;$G#q^@sVal<-rwtF6d;6uyGRZ z7`Ubc`wg3^a3-&Hx4Gz)*l-SeIy(>jb!M>KTZO#1mB}zpy&n9b*o0&OJ zB{W6)&QoOtLd#Pd49;D%6?VJ&<=~3}st(J$n*GXgLl=)~JDqZI`6eNk;>q!fnm_U6 zq?+(h8L1;rK1V_bwlKct8Ue|mz8fE}YY+*)#Y?kT6|4Np+rjCY=F1<^knmt2N!7h} zoac-}QJMv}mD9_654Kq0;e$yZ zx$jyZO6c*C1RovH@1KU5ku|o`@N~le0NBvQ#Q*>R diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost.png b/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost.png deleted file mode 100644 index bebc1fa6ac1ba670b35cb744a26921dcbd1a00d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4091 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 KTx#fX_J07sdoj=e diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_bicycle_location_lost_night.png deleted file mode 100644 index 9ded796ac45ca5506447c43b937d1806d5177fd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4090 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 TeY{<5<0poNsWqX(#53wY6%4IH diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_view_angle_night.png b/OsmAnd/res/drawable-hdpi/map_bicycle_location_view_angle_night.png deleted file mode 100644 index a3bcf1a835d909ce892e7bab72585a358f6e41c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6155 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 Q*Y!No$kMRR;9AuG0F5i|82|tP diff --git a/OsmAnd/res/drawable-hdpi/map_car_bearing.png b/OsmAnd/res/drawable-hdpi/map_car_bearing.png deleted file mode 100644 index 9cb7a8bdebafc13b4faf1a00fbbb87937eab5268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4673 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 diff --git a/OsmAnd/res/drawable-hdpi/map_car_bearing_night.png b/OsmAnd/res/drawable-hdpi/map_car_bearing_night.png deleted file mode 100644 index 4a1f5831709b27f07e3d37dfb15b4855a7dcf55d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4660 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 WI6w1zsJ+^6U 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 L2XdK(PyBxX1m=rk diff --git a/OsmAnd/res/drawable-hdpi/map_car_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_car_location_lost_night.png deleted file mode 100644 index fba15e4b75dfc885abc81741163733112bfb0c4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3289 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 diff --git a/OsmAnd/res/drawable-hdpi/map_default_location.png b/OsmAnd/res/drawable-hdpi/map_default_location.png deleted file mode 100644 index c07988087a349baed0001f2d25f85d28adcc88e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2288 zcmbVOX;4#H77hZkj0j>1ZDmPEr4Y%!M~Ey55@j=h22}8oJd!|?7m@&x9UWQhrfD0k zZV?D#A(o=HNV7JJB3d@0$kHMpo1id)-~zZZ^P=EP)j0iQZoT*JJ?Eb9oO91|>t*@- zZZ|VsXNo`|%(z}`9z1*LUgPEPH)!hWc6j?P70Fq$=oeWkZQ^05h!g-rU0SKZ%H7XnwN#ri*>AFTVN+NVY z@1gkMeH0#`SmG701OwuI0|oI>0)`O1jfHa7FkuBUPz|6oGO1j})VQEO>1D!e9UF&6 zeG*Yexu8Eg#rN??c|b}KMZr=r0s@JMqA{=p3WG=|JE4ep0u_fR;|L54fy9I#G9I-! z(6BY7FoMZrdoJ37DHpU@tyVB`xVX4DY#a#-DMc`r!NB2(I3f`POJGz7v5wT$j49D)T4e117Z@4mi?DlriT&))Q~a|f}~4T;4g;M zkV*_GP#zw-tW&TQl!Ff-kjQoH&AL>5J~G-U)ljCzBCjl zhr37#x69oJh*|`~a0Qp`7O3f+%zG3i;2@ixCU2CKr;$%}Il5ORSzNi8m*KwOt#b0P z9m?rV+Vk4>67!JY7tr|N(0RkKisQXTaY^MPx$l21=R1+T_Da|xwf>dz4jFeYBKQ3m zqlR>wEHyTq##H6&XY}96XS98Ielmv?&=RxXvm-dr-8I$NLJ#d~kcn7@TE=$&A5_8e z`yZ8M4u3?4S|nG}n*O#mW82n8)^B4POSMfqcU7a2KD?l1PZYmxilLL|$>s#TP0M;o z1j4a_fq{i~{P&QoZ(()uP{U*Tym#jZ{npCLN|x*TiZNM5Qwk~ltX;3(N>8aZxxS`` zVdB3KU1!{jG(8g4lU~)WHMm`sY+&Fuwn`Bp7N1K=N%?1bg7-CQk5!T)EYczs*=SFb z{IvT`d*&hgqb(!e_PI4!M?2fv$qa3j6l@EBZ?v)##Uj=_w$>M2ogX}UMSY$U_w$aD z%jFLzS2(XLieb@el6^ap^?9S?!F%^6h=jt?^}wrV(^jYUpCfiAzJxN_$hnE_(XlU1 z{25Z-(6I1ge0)4-=8bU|GB@rQJ<5}Ueb~5I5FER7R&vjn9+oK5RGz;Zh%uFsp=vr+ zmCsBJ$)47R?IeGDEnl4?l};wIw1XL!gZx|lTq6+|tmeu@a{2S0Qm^h&K78;h=$>nK z)2~Nq!-u!oHH)+E$dC&CDWmZ0kMpEc1*lhc92-7+J~GlwB+v z{YR#_!121VSK900Gzag}t|yV*Nu|>q-`c8{wD-IZg(-*bwDj*N;aP-*CJyW^kKR0O z|HIV7p_{wBYW9ViJ4$BP`;)eW?cZO&!E`W*w7l6{GO4nD7X9?5e+E_j-nL@ZvV@|o zy!7e6+gMY2R|ZOgI0deL#kraH#cq4s8CnTK27LK!;!L1REb zKvhlH);p;;9-74#H`LYb4Gsx;#|sQ~zI=6Ji;30!darVy!@;vevEk6#Y@!YNX>My) z`bCSGXn{ynx*~^i<-0jm_1lw?nV{|b7H)fJyVEF7Yi4d9b}YBMMH}g4o^XaI*t`c7 z9K@INML!R+^2+2=X`*?JwL5l1u2*qAclWKTea%lFuhereeCKrc-ff|>*x#Yw`FXTa zMa>b}eWUpkBMsentx?vQmHCRhhYFhwOj!=4NM0B1EFF^>%hClv8c2HQ%+YtD6eBI9J4XTB!g1_r$pP_;)mo zRrAD;cB%@k(UH08GcJAos!ffuzPZ7~`-E2C=44TG;)UTI1rZ&j z*q4N9P1%%dXur6tI=h_-iHu^JS9SfCQ~g+3a<_F=@y_jQt`AryIB+pmGqZj_&WB$@ z+MGpl@{Z58rb=U9%e|Mc?s>#-Uy~v4v*%4#^sV-*I!v^hX&L7Bm;GTARBIiaZ+zT! u_mxic>p`2vJLdBhv+=*EkI+jkLLV_Ub2;7IsoPig55nd6vM;$GIP@>V^{1c! diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_lost.png b/OsmAnd/res/drawable-hdpi/map_default_location_lost.png deleted file mode 100644 index 4ff643f9cd654121a5ab49bbd4b95a6745bcdc79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2217 zcmbVOdsGuw8V~YDP+(OAq0R;ns)RfU2@?qzlkgA%EP|lys>5U;L6QkcfDm0C;i0yb zvRkbM!~$+>s{&;~9zFo!uuv6+3MiljaS4wF%A-c4ik%?1d(OK3WA8aL_kMSNzwi6* z_qbRppCK)^cv7d@mX!Pllujj>Si#5x`#r z#Uh~y#7{~19`VHCbQQv|NO>eLkO8A2S4fL-Rfr@Q8;A4sR!AWD2qFifkyxRaiT~+( zBOVa)nfM5I9*HMmBLbnHQi|+V28F@OBQVIvdwT(%3I?V?gvcR4A&M8v7z!qSSuX=y zYqyDbU>PDm!ozuiCl<^0j)+T8cmcl@tCJ?k06rpc<&U8Wh;TgLPk_T5+d1^L==g% z=UPU~@f;LR6d_`{ zKZl9OzPR#*d<()0+u7q5WdF?Hw329X%vKj zfP9ERjftTUKsRzUAsRv;IL3`aL1=XR3ZMV~Mv#a(Mbwtdf0WPa7FLtm<-2CUgm>+P zh_N1$V$CApPN z7{+{-cj^|`{I6S|rhQ?Z)u(6C))AOg&QX$~T^F2h873Ju>{55_DJ_E=r+GcRo{>j^ z5B#JRfBaU}{H#7P=x9Uv-r5OUvpau3?U!O~v_{7vT`v!3xoeFd&KR)xAJW)1zxJ|| zW-WEMt+KoW42QCd{6$qiaKul3$}WEzK=!lP6Y?P4;I0E9F3ytruWcwf$I_rI$icD} z>%K;&xA&X+NSCE`2WM_mJ2H=Xz1gCfnw&hANfQLXs`GC;#tOs&Ymc!?_u^V?`0CvL za-Tk{Fl_sCW^PGk$qSZLWcPuNNuD8RU|_)8)5|MW@TWgWOmka7L3z4Wx@oPdaMRz+ z`fb9Cua3)=rInSlzNw0&q_00edv;^I)0yx2VWiDrm63s0tE<0hXz<#2%BKkYG&lEy zwr8`(g7cYbXWD+Tfv{G``r3;t6&2oN6BEj2T2xfj_WZz0yGv$%1kHPAX1<#k8FFi?K9w3&{9>JFm#kDOr_(Rq$l|8mm8eHY?aaT)XllG}u;!}j5xnDed;1Ap z+*rq`w? z?u#WB^(`$ecOO4~Y@hn5ukYKOoSeyr9;)^c>BR7G^S=11Q3p%ofzS2Tin_+eG?NaO z*eGOHJK{YJu4U`u*b4 z?%Yne7yjb7rPub<4rOA? z)1IsA2NU-94=1iS7W!Jn9~!dV^FTGXu-JCzC^=w0_lBCwDw}wyv$1F7I@#`%*kt(N zA=?9v{tmJIUu9nm_c=4SFg(K$?|YtYvoY7DT>m2{w6YLCH)ywfN332E`2Uh#qjR6) aba8`E%HZajp&abr0q4&R;*{?`tojxFs)JGh diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_default_location_lost_night.png deleted file mode 100644 index 7d097bbc6a727459965e659aff3f0ce4bce892b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2217 zcmbVOdsGuw8V~YDP+(OAp-uw`RYD$wgoz}GNq7hW7C}(D>M$8dkYqv(qNnwA_>OE;oLnG5(qwm$bm>CS}11Xf4b3t z2ZVekKFpOz;z`(uK#(3$KCx>2Z30EI-R5lJACOeK)W3=+s7 zk%5(g$E->DQH)@Y*NQDnV&VmIxr9L^CMG62C%QPJ(r6+X1VJK+LZna#7=j>663Zb4 zK`gUf)xbeyuv93K3sEtk(FjGN@p2{}^YqOTL=qnFtzxlkB~Vz%hzdwTBs-IcB9Z1? z%V?QA82OJI??lT&k|YQ*7?GjzQW(oel8>s?pG<>R^}LHu=D31vknKXF zdU}z`Tsp?1bLn)No0pfH7u$`!%Jmh?grb$E>-8Al2W)~ir3BS9)9fq z&_`PS;Wz0`&+Fm?j@Fm$tr@pAx%f*WFNCVK@U^)?%5GyV$7-k-iDI1&GkwH?96Mh z?rUIrcr4Y0J1wp|IDLoOo^gz|v_(BRF>x$|Ch&vPFD$i>=8FZEZle{hMK##)*1Ge> zK3&g(knJy+ImH#lFFmCqoAP5&_I zvkEP`HYQh=R8-7(Co2*XzB+sE+{RdkGvDz;NSi|{!u_vRRefDw&)Rs(s}TG&C+EG^ z=QDH48O?#%Nza1YPl`PO` zwB*sLsYTu1bQP%h#WL3>QK?i;rCz$3$xXQ@QH_k)n0}qs*lET1UYk&B=s0*gVy#waAdmMn+ReeiAqIkOr~PT&aT_-^Ab_{B*q#yA zZ1q-NVBo+ddPLi#Yb{t;oD>uq5z!y^>tO_GQJZJ)4cKhn7kNH1ZT@H1ma1GeSpNdB z(?EW)Ox!*7ToGsw72LYTytH0*-8;1@`6Uow%>K4xTQbhKsPfGA#Wa2fy3?dj|3_vq z1^EbdKk?MVz>|9D`sk9Q=cLQ&0WHfQ*3IF7`yx_xh%uk@#$zkDn{{)KL$TCMKuH?~;+Lr?;V#okiYay4I9 zT4Zq`3tg}=-6nn2+1Y95H1C?w^XO5(CFQ6=dPmKcYRh#-eM6hm)lsprPQG)SUK^iy zAeNZbH8(fkd-CLoZSv#Z-fyzAvnL+8rMC@B$A^ZR_Qh6?*qIylpVd_m=r1cI-I z8yg!fW)#1E=3^Hb-QOFl7BLDJ;kdY&;raRb@($JH&vYBv=?nU=)U_9@1SSvZ4~j~< zayn%9b3WdXTB-BgUwba+ewwqcz+)gLyszX;&%d|_JDP0m^=FS={G0uj9_v#(l=02a zy05Jth}+*c6u;h3=xq^uXwZ7k!}Qtth1R=A$$oP=H&tBE((y-H8@q>ZkZnGRPJ|C0 zvOZw%YZu-3W!9xouQRjrL(>fLz86_m8*`k>bU$)HD+=(l12)Td#Of7+{~zf!I{PV3 a8#nN@6mF^>%*Os5aK79CPTB6m>AwLBl!Na8 diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_night.png b/OsmAnd/res/drawable-hdpi/map_default_location_night.png deleted file mode 100644 index 80b7f18d5eaeba77027b6381942fe03ea1d981bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2288 zcmbVOX;4#H77hXej>wimTUjzuDMYgG5s)Q8qHG3GKmi}g%K}MWNCHH5bY!ucwr#X} zL^OznSPIf&nzdOJ(XtT*g>GaA5oKg^0bH4RQE;Yeoc=Ml-h20+bI*6qxo5fcas&N$ zn66sC3V}eFa(q}^c=pk~#w+1($keqR@bry}9jXd~1gbKI4h~g?`uQ?>kQ58(WUy+f97ZD$F5A^|fENp@P|=`JEOSNA)Hk6~V!kVS zFU1e=<_BN8#N1V(vKrUKL$nR4T@ z1{SE~Da3M>7?PoM8i8miUge60J^g$Hsoc-+i(;8_DNu08aB4t~BVh43sZ@8aPtr;i z7yP#yUzJt{AC!YQE~td!6+Ac}f{n{yICg(-NGAw;!wgV};iLc(7Q~B}f-)6{<%))P zuzWF}$)nM!AO%muFa*443>i;lU;r{6#4yMV28}}E@d;F5Sp+N4_vk_hHWol$$yGvdMQ9a1u23dNU~f7fg(r+ zDMgSR<>jTzIt5EXIr;%Su}sI_qD$51le0jDI058)D>ZdulPY1fIJeJ3Sx)= zgO4Et3=)POP3B>Ed_KVElkfrt4Ub;J^Z(x%;$Ww6x`O$S0$OIlRjFHkX$P42(omob z?ji-;E`9ugTL^^VY7WaISlv5WFc8aQBb%S5Z4y^zl23Ozc~+;IUo9`l_KfhTnmlZe za($cgI(dO?M$p^5qL)M< z93LDUTmAJZ3nAAZnptE#GUbKjtSBGophld>+@_v)?jme`ORYHJxL zfs1kV#=Xc@M`C-js=GA?cdFA241Atg$OR(N#q{*_e`Y27UZ?h0r^=&Z%rlTp4m9zP zd){>99CA3?I_m3?UyF6Jx2v1X*2GG{_UQLUYaXK9hz(9{4Mo=$hK^oUU7{rZw6mn5 z^3mjKm-R*QZnWAo{|9OM+_7h2`}QRZ`TVgBz^mso)~6#b5+A0#gmPHO`H3BI2`^6m z9$wklxcK7PvuDR<-xzlx^ArEBM;Sk}ADfr}f={ko5Z^bZN2LhWRhRAsV^&GYPz{}` zEM%sH=gnxMc9H*jy-<}dkxZtzX@;^ZLIT?Y++z@zt>?>xGTHQx8Q1nI9{uquM+w<|BK>N)%S z!G~{ed)W3CP5Fs7@(&ysHgzkVcraulH2~JJta5L*70csWMmw#hrrlpjUZ#h&6KCfv zjgThE2Dy3X)_9!{2)40dwx8=t#lDi**=Z|HXXlW|>>9iZEDMY+M=Gvwim76%%gW2f z{*fa(<8;H=C-e14rlW6Z*LX~KYUvEyzplD9^F8;&+4MtqTl;sGaLuD4QwH}{#%-B# z_qe1p1I3$c5H`hFO{_Z`d@B78hs_a1hQsUfh_>jb`E9vb z<>s?-JfX03^)brTZ|9XYZ%@VKfOZR8IUSK5&SPASshL^S@%-*qO^mZy@_8ooz8Rd3^&O-vR3u>M}h}x3;ofMr)e;&OUA&?XR{R ze}yXf=#pcv9_b61pPMTY2!&A_?CsMjr`z4ue%rdfek#0tz9`grvEkQWQxcPs-qF<7 zEfYW3E43P7Q$;N)mq&J<5j-Fz zyd=!1%ck5T`$b(fc^ynhXcXUK(e=x*n#YQgduO=JFA={-p=JOS^>A$Ft&`S+MAMs?iBFoIV+h6w&!eRTfu6Q0e^e-94s6PMz diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_view_angle_night.png b/OsmAnd/res/drawable-hdpi/map_default_location_view_angle_night.png deleted file mode 100644 index f852001c2399350fbe18d74bb4fcce45229b661b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3198 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 diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_bearing.png b/OsmAnd/res/drawable-hdpi/map_nautical_bearing.png deleted file mode 100644 index 72e427c4376223202475b3bde4f3237ad9f135ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2532 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 F`ft|6ZP5S# diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_location.png b/OsmAnd/res/drawable-hdpi/map_nautical_location.png deleted file mode 100644 index 4a8b8aebc5addd1d3489cd34ff6a90c5d820a509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2286 zcmbVOc~BE+77qe)tejHlC`TqJg-Gr@0&*k>%4Glr6tGE}B#@*-5+HJ;D~ArlIB3m? zKoASH6l6q(b2t>yau5Z?83p7LIaV%34n^7RD7ag-?)4dhgNG z-J**?AoM)knQVA>S3TP6;dj8)%{}n;jhq!I_k$wjaex#=ICG(J5a}TTcpw`DxJRS! zgZ2o7x5b z7tTxK3i1W+@lwz)-rJuOAH|__QM(cJW1&zZqa5M%1k6c|S z*qW3Z!C*7pR&BwQ1Bx$~OBh&eTwEL`j);MzJS?70r(&5mswpICp<-NF@k+!|;&`;GzIRCd7#mfnvD_(*Xs4 z!Egm!28T+cfMgsMO^@J&qe(al9Sx9hAev61)2U=4hl{5GYkIzh$GH)RR2G4ZbD3p}XOLdarjk3H9mk{Tw$>Wwt zyQQ@0x{eZq;Goyg_`u**&9KTdJz8-|6~np9zf=U;k=zdnn89_vRpKs@$3jHz@=JOx z@jgkYtvQ3P&R5Uqdyr3W|1f|RaKRv)7HwDqRQqJV)`Y^9yNV8p&6;6wwA8r zyAoZm-D9GABI;>+^%JGW{pw^54fmHuk_bNkN=iz~KhqODZ&99_CP~5~4O2~;tf_(@ z4=iFRp_C^UPyd*D^Pu$EpK}3^oU)sL zIY}K-G*`NP^T&mvsnAY!gkxc$QrUFpAm#atX&Vof-`W;g#ZZ)%m5%%) zlV4zaTiZSD?NFMH=jHCv$R|mcXIS2K)vamE><@)0#~!ry?JZ#&hJ_~fAF7DnF=PGx z)U(06``v2~hZ@)l=C}G1cZP+8G+5~lBoWuQcnT(EX0M{h?)qj>_{$cRM(YxacCpiE z{%&rF**!WkG9uc%B_Z&sa{tr$Yta@g>zie^8@AWe#|ArE2&Jyhy(^`t^go;Y{QRnG z!*)GLz4J^jwz#pr{!mbG@O!p@sD1g(iJdy8oel04UdMyx34G1L&DjKV)L3p?R(hG? zY&3_*ySyQXeB;!DtmfUh$V|{;ai>Q|XouYhTd8MY5OzBENvkr_&LH6;o3rB}GAJNW z9LW1=z%j2>EEFah)S9_qhQ(@?w{s8Nt3KQ^_CjCHM)SSh!$mbqbO6O%+4!(#Y#6Z1=lp)(@9+EhzJJeib_E9b z%r><##o=(X1-`r>Z1>eaGmWu#$Z)L>wk=Te!`181D76Mu!Z=ScDuMxl9F)L8Fer|X zZG~NNI3ukzI9wer^k+k;oCxY=h+4S_ySM~WD1+?!lqJyPYaJ( zQ;MV5K|JqIwlIo=k5;P{Y!XSM(GWE>BC3>-C@dC>M5dCcR01YJP{ku^P)k5mi>Ea3 zU=^g4D%4UG0rVO{5gMoF;4x1>h9Fl6g`X88s!xf+Qby8(3KE4#CduXcxIRd$)Iso{ zZhTQ%6&$aCNkOm*jZ;EcJ)#y*fwA2Ey&=6I<_&v|Qi>G?l<`m~P7Wh#0gr>nZir&3 zm<=&q7_c*$Nnk}mA_ASvU=ct%878pkEEdz528k&Qa7xdY@MLc)jmf97$X+f~3Wd+| z;*%MCiYJ%F=P~%6H0LR-08yzy1cIk*OEKG@ur7a#WpkAcoggAdFW`m?0V6(-6O3Rpq{N2h zWlPFM9B#U;fae*k?HMZQi-Gu7=Or&11qCwT`m(x=cDciap3v*ulF%%IX;Si!=Et8@ z`sKPsM_fDyPFiog{p)+k0T+=mC)_i44bvsahWUln7SNCZ_{nGA2;fq{}QlgXI zu`uo5fUsuFIhDV!J+)rfV^^TkeV>aE;yYpYTUt;!sW zZNT<$x8nEo9KVRKa^B3b8yhwcsTs=^WV~anZE_FlGi`M}lFi(-J4;-;;EdVM<~lVy zak_n6yUjjfX0B&Xj7RY6Lv?j^FS%UqrVNJrB%;fIYf9Pk?fbOAbe;LYE}eC8Oy$ze zgOl0W*(3LUb33{yMU!Q4YcOEhepX{mjdFF!t(IqsBwDMa_H=LPjr7vAl6}tttb6hG z5vglx|2?^Xb+z%5bb-d($ET&XTQ>J>sE3eb;OJJdUM7yHt*w1L?OGy+!ALWSE(m z4W$pR9NCuEo1yHbUw-U)@|A14gSPr7hmogG1=p@!YalZiufJgzCE+c1b!vKVZFz-Y z?Y}KP{%zOz_;}Um%JL2a_eaqjbJL+%pO~9AzoL=J?2E;V8zP4?3HHgy?Jgyn`0p$> zT4>ttdG?l~%yZt;{Mlm$4%)JZ9+7vWgX3*Wocr6xo~Qj%72^=w^3XRmm&4niN#t!? zH&n93c~{$Q_oV*aES=^bI_qOWT_mHL%lFSv7VJSaP|_wlHlfhBx&slq7BT$N+pNEB ziLG@qKd{xM#^tN!XDdYi#q9EMP9w|Bwjy0lZ4D H%_;u@ipI2- diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_location_view_angle.png b/OsmAnd/res/drawable-hdpi/map_nautical_location_view_angle.png deleted file mode 100644 index 6940b54e60731131f092a8c837054be96f6ca6d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3166 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 ICh*9=0pG|q%K!iX diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_location_view_angle_night.png b/OsmAnd/res/drawable-hdpi/map_nautical_location_view_angle_night.png deleted file mode 100644 index 744054c17879b14e98b809ef02b39fd24bf21044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3171 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 diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_bearing.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_bearing.png deleted file mode 100644 index de606621f1fc8ff76fac270a8484bc0cc665440c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4673 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 diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_bearing_night.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_bearing_night.png deleted file mode 100644 index 35dfdc4cbc909a065df12a9fd5b3c91a9dfc9089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4660 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 W`AJeuw2k`ie;jjDD=Z7+9rr&TY&IMK diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_location.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_location.png deleted file mode 100644 index b7704ef9d70d269b4431b873133c04876ad058b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2288 zcmbVOX;4#H77hZkjO-NJ%9066A(DNMfGi1uvKc^G6nrF)B#`8VBtT?GTR^*M+eXU~ zfgl!QDM$-6YlA4FW#a;f-3Z7gvW#qsEQ&JoqF_(eIQ?U8z4z`t=brDJbI)??o$&M7 zt*5(L7lA({K}o6mT6; z2gu$yZ;2bo7kDH{LH`7w08T&9r^fKVJij74f zKZ(er9Z{d13i9?tx0m(QjnjXoCK$CD3IvOD1Ks231r&Gy94i`@W*7ST0k7F{)coq%MB+!|7 zJd5HFx9G#1UBgrkw&SZi2Mu}lt#IpCUY0c?8}i~CC~!%YeTa!48gLBh2v@Z&>r zNXCaGNH;fC*2x$$($*W`2*fJ(c2%lApPUIw1#uwPT?&bipJL4re8mr1B*-C>C?J{u z(79+5KqsPU5hMP(MTd~(Hb&hpO{LG~n%PysWf-mhBRDe_#1%vpX( zuOr?k3AHt6&^3ALnSBrP=np?kpFc(PZ;d_V-WeR=>YS!+sD^UZ$U+z)*D+oH2bI6R z{9WwL5@qw=eYGf4Z+76iQOPgcVrisBk^x?A+qxbi z9)G&Ozkj72_dO))T`?&dYs+R1rK)k{%Tb1E_8vQ>|ozPr$z)L2(X z*YR74Y0&O5)jb~Fol)~tsd2w1MMJ~mrI93(&%ctIn)crTBEFsIy1LgF{0Td0g(u7GUnxjM;@lR|rp%-auJQ(}juMF>$ZY z{vJ}%)U@(?e0==W?2>kuX-@n<)X1ax2Ql$+Ao%k7Wx-=@T6hvqQGNAM09sc>f@*0L zSso)PBzr~~zL)g(TY2(Sp>Q(ENjZ>N9_ZKR>l}r+X0}ku6N{&RN~=5|efGy(;A7|P z=ATbehZN0K?%(`=v2ZG^LmlB%P@q)aymNr^e8y>M;^1kNErUi|s=rb@zc)L$`W5Sk z{wMG5xmffRPI>dKxrYxA>N%B6bPnitr73A6LY zTBbUQ8Yi+Z>bqU?4KO!nJiOSIjF}T!T2@u)&CZ*ivTStAHO|#G9xA`JHL9ASC@m`; z`DYeC-|n`yNBY~LbX%{IuFkcFn*SB~HCS~TYV#e` zOBSW_H8g|GY z8P3LVc)XGgr^q+HTaeYhJ0Fz=S}yMJY!7RB zJ1*+bT0A@4^c1JmI&n!qPx9z!L5rr&+uQK?9@w;4pYC#@wUy;CT-)4R@S6)t#!Q4D%CB{7q%o_8`_f}*-4Ch zgP&29PC1A5@w;lX+Zhl~E4Ia`>z7ltFQmnf+Kh_!?%sI2-#F3M6Kys-@B8Co#C21P z%ciW{GxKd}!nn6$uk|L~&x6`GW{P`l*ppSgCcZVt2xhabL!N!5zgYyq%1UUxlw^xv^pr)vNJ diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost.png deleted file mode 100644 index cce0ef4ddac2106bbe15d080670d1c5585d2512a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2217 zcmbVOdsGuw8V~YDP+(OAp-uw`RYD$wgoy-xoOSz0?>RH~es_Mq@B8le zxMxm=1o@ho*qGpOI5U4gPAE3}X&)m4>>WN`?Tby;3T~ugFDg(ZK{5o#;-k?B;4g+^ zkWd8TC&zz>c;axnN>Ny(B9a%#fKjn4q{X-@#Zruo!+Clur4W1sQ2^0Mj7Y-7|9Gtl z4~Y0oe1toX#FMfSp~z1qL-wkI!eG@A806!Cqa zwStx_LXrQt@lLcnELn;WLlHTeAcL`d2<%tMSnPh=kQRt}!w8m%u%tk7928CvBNBx_ zhl$6&xbj7O22A&$A?_qP0TjT|1S*LJ5+EuGA%Ij6q`SMpd@>DM)$=Ysnd43asT>N8 z%JLzTxpa(2=hEpk4<8>7AGQa3mFq8&D%B$+~7jP%u4PiFN(zm$MnNH zK6fz`e42OaCfEFLTc4zUZk^SyXVKmnm{`G4k)d4|oNpQ?8a3`xckd}Jhnr@2y}aJh zhk^I~WR-vVCZpwPLqgEe#)`dlleT8J|8d$c+1O}}jzgMW9?o*t8b6#dVDW#X@ojz` zu*_Qc?TE{XBYX4tH0++9{-qK@g#ukXR#;bewx7@2SRMDCH3FiP;!o?L3xma zWgXUiO-yg^R}GOa%j*u#-lBG99`ky&MKe7$bu5!641hDvzv>(>kO-|k#;e?m>#*Ug zbL)$J`mDmR?a!FGB~>NQSu(NRdpah0hMd8{L2pkluN2{*|0p%hZ3BfBX;x{bbs2@5 z{%$s46JC5}LZK?Hs+#jnQ6?sS_1W388{?eLe8&$XZ4Rr747^fP^L1mR*Tz#mMc^m7 zx$m_y= zW<}YuHCuVX!9!*AsE%p(da$7+IV3zPYB1uL!wAx*vCP>UwApeX`doDS;!o~vHF+Aa z@fqNth5T%tw0q{MGT0F+ym5nBwqAYJH?1Y*IS^#Z{-- zU(6B;@*(PZ;<2|8i+bql_$z1DwA<++9qSOU>!U$;#iZIW%i8XR_X}=IcP=aUf3!bO z@2kbLYPBE*iLmXUm6w+X4NXi;SrXF}?bd1U-M@Cxq#Z`|vSQ-z0rmt4kH#Mc2 zbh^ZJOC)r9fLTf>+-RwLL*M53fk~&x*(6of)tVaq7#MlEw5PYXzb!U3_0^Zd*BcsM zY={N3&KbO1OJ#E}O&lnHG9PcK8;iTKcIkt#$&*+OPF-xbBdNiaYBMO@kQ~vU)pF?!aV1JxO%qUuh7Z(>RyVTP^(e31?&l|qb)L*C(n%$@0 zD=zKH?ULWk{b)m4wcgV}-G$t{>8|=h@1fYpfzmU5|KuL*YO!}ToIiHquZ~;#Y)|b_ zCA2>2y|R8Ne*eHo!g^zouT|WkVcR|TGv*hU+HW5v2Q1`XS94kAlMi$@_Ksd7+kG69 z1Rp$Pd%)4(A!gvq?6Pp5GxLihvkb|;XW2Fzb6qO*KXgK?3i0zpb}M(p>J@?iAL%7J d{|QbPH}tq1ZmAv4!Tud^{@fr=#qPryzXFc0gK+== diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost_night.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_location_lost_night.png deleted file mode 100644 index 5d3ec7b8c5f581676324993f10cd60132e7e88b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2217 zcmbVOdsGuw8V~YDP+(OAp-uw`RYD%*!9)UL5*|W;MG%x-b(jn!NHQS_5TeT))V5M~ ztF?ewz-?_+pe)Es1%$&wRTL_qfEL6hJQgUA8j)7$1i{^N*6km?=gi#u-TD2#@4MgQ zo;e*9;B8`LWrV}wOniMf!PxAhc?|Thcj#25H#S+yx#9BtXp}q=k|H=yJ{pMtz9J|Z z2}U4(Qrvfl8xE(f5Qc=y!+HKp7!^4~8jQ0-B*EA?oSTP20>Q@+IS`3N3&kw_k2f0e zfRN9^htYT>o`j7Egg#0svR@ex0xOTfARq7H4!9|pm;w(2ogyYB85W05CmD0SPm%& zVwvrl1`Z;Fr9z2Zh>8J?Mko@Em$UGgr*DoRlJIzM6^mu7fx<#YR6r6U*_lKXi8SY0 zLCfU9$bZ~;Ct4PgBteM5hzyOF!dO0{Y}d$G?0(yj28emX43rA7q(HG86pj}mV!1De zg~z@)^M!mS%y6Y6G!laVM!}H;Dv1sfASwwVfK(7<&|F|XnGUV#c^99|q0vDqhfb$@ zdXdRo2F7D>84S9smzS#-+m*e>^%cwHkQheRYzr~lt6bV|a+z!?0?AQn2#Ut8RY8yd zm7_8NDgoGRP1YHJBM*XwV$J3Unnb-hHwTdl6A-?a6cqt0k!A|t;e`tV(;0LMLO?)1 zM4(1RQ3#+5Ig$_wArKtpLZKjZ27Z;#|Gg0;Vonh?(Uv$loRq-OcH88G2(J0W7M zhoo4u31ecI7opF8PC zeVTjbHrMoT+n=R;ZkgGqW7gK;pHRk8lA%499B=C<7&Porb?qxDg&U`NJ-nWg$Nmp} zq~(A5CcXK2U3|dthO+%N6V@ho|8dqQ$s1IrZN=P;$1pUTJ`xc@5Tm zjVuq3<+^aEr45H??oc~2PPi{`Q%_A!p2(mJ{NVJ9%N=9+Vu7XWSOu-91{>a5cfL5F z>sb)8^93uXxT5%_r&MI~o|aLrK4)NHz{AbmJz4PQKT3>qT0ucsszs`CO?ttWznk=1 zg%({Omn%yuDrUWt6$uGneRlr*=2(Yw-|<68TSF?s{jXP5ecjODzWIz-A^1s7&Us4Rr?d?h z52r={rJ=ey!ML$On^0@$ICMK=y;f)-kM}g%)xp6b27+#<{b9pN8&@?TfVaD|JtM5y z>g~M1z`@Imi1sO3Em&8a6cic}F%b64Q3PpKn`iG2*lOM%c_A`w;U`*aRjwLrcmddH zAU|6s?wx+F2(*U^Zrx&C-l(egPHj$p2?Q9kzwO+SjPot3JhyWxjh}(;HtE;@7ps_p ze2BW8dg@`|Nj*|Ow(RIR<#KjV%QDFQ=19PO5ve-Fyt-@t{rtO<-AjstA05oq`D)?3 zN)?rigju)KOG`@w2FJ(8v%|Po2U0IwIT0WKLN`&ZR`(AWTWtIxD1qe8-d5FmEnin! zWN|19U9>UXA$`@=)n(_jKuhR-^k~46a@-)jvu0bhF(+2YmG@sS^je9W?kK@O)+5R z1-;knsci1m@k6E0=Hm3VV{o_DFMbd*aT=?^$t!I(Bo(+)ZF>2;heqcC_lc&AvfT@m zbyHe47xMD*QZr|Z%(qtM6&AMI=6G5S?349$KFR*#LB_}5&jZYvX4Ip%yStkNg0DuJ znwl(T6~BDyV;31c&=;!~F$(?mi~6tBwU?>{CJz}8ib}e3 zI%W5BKH8L8sq@@ldp_rWnzOFJV=yMXzvNu+Ke>lHn{Dm&=T2PutNpfK>odEQ@h#7K zu5TQSJJ>%QztK?WZ4rB9$a>$y^tpw_w!6p4e)BmuRb0=~iAP$Sdq!@MZ9a}pgbyFF zK4kA}7v2A5*5y#Ib8`#BGfeS;7g<)DbDYX_KXgDV3h;A-HY<0;+7*HSAL%tZ_X$oL ZH~6#^Zmu56#{L~}zT5y#+1{h+zXIgsf`0%2 diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_location_night.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_location_night.png deleted file mode 100644 index b6a70a93ea8bffc7b93fdaf9cc947e7367852695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2288 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
W{&P2k2m5ises7|Z?`_~{ zr$UC)jzw)LY;#PU`7@w)7s(8@P-s5On4dmYJnG$7xM)k!rv{bB*-w6QoXzK{b((Z< zQ?M+)*}V9kMBfqpom%V~I@I>+y(C!r_A*_BstY1D`M&Un$Ktd93b@07%WX;PzEJTZ z#ua<_iA%wgj*mn+;bTXI8)^Yn8*Qwh+8Ztw7bfX87gyFBE$P8*{{;5fJ0EJ>*VK+&pXx46_f|pd z&Y1+skJPj;d&Ne}e1i#bF9$T;4hHui%R0$}b4piCERCzIAcMq>QOU;qZ zGRxf;^zr&m)a9Z__JJ4fOfIccZrfEes#O<|y_En>KU+Qh=!ub2p9iNE_wz`%Os`@Y zu1N8r=fM~?9J9LHx*Y; z(4ga1J0^w#emt2#hUR&*3uDpciTcOa`m?C7W!b*taxLWbW#Y|mD%Iz%=w8}?|D)bh zWG?T=S@62OgM!Fo<8yRej*{A|_Euri0p3hX>fx=<^sv|CTgLe+Gq*DhMYK(A1&IgB zQby$ndTH#J=1$g%CQk8)0Wf~@Iiq^c7CwG?+5vGM|1|$e^i8%|pLalj@(D#3>98lt zQf@#=u^n_ovvJ|ka{pcgr9;K-rcSsHrCC1fT#f06bj^HDrpnVE(b}b}4UnIw{aXpP z+686z3}t#BeF&D>S5nmJy_1NaS?EwR@9)8{C*D(NNprgDasu9fHSMUAzwHgVe666( zaY(?fa%!l$@|&+bjAVz+!1~zcgz%+t&~WzHU=eZItv&PHtSl>2M-X>#{)6>ZKJ$QD zdrJn*BFVYyFape^zMf#5&}jEpa-F%P7Eot!n~A#v&0H_;PuMgJ1o=l?SVL^JA*gLmmSY&zX!WPRvvbaRkY-Y{ z7C1OkeugSr`Y;!o$0)Sp)o(wF)sQhxm>8!|`D=YVU&7ZhCttKM98woD;Kr4uiK6ia za{tpwNYTbHMViJh#JC<0d z7I_4?WH`TDE&-z-#S+0;Z?3tAQO}g=!q*HPzI*57xBu$h%a#yLKvt4&*KrN`?v+n| N8_PYk3JdS}{{YIOHy{82 diff --git a/OsmAnd/res/drawable-hdpi/map_pedestrian_location_view_angle_night.png b/OsmAnd/res/drawable-hdpi/map_pedestrian_location_view_angle_night.png deleted file mode 100644 index 24175e4361925f32dd0c4228ccc8c4bb0cb1ed44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3176 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 Y{~WT;*}6H0D*yK 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 diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_bearing_night.png b/OsmAnd/res/drawable-mdpi/map_bicycle_bearing_night.png deleted file mode 100644 index 1afc4fd220255cdc4ffa434ff86c374540171d44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3327 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 wY&4hjW!<`Jm$TG*HSmGT7QuqD12|!j@ZP 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 diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_lost.png b/OsmAnd/res/drawable-mdpi/map_bicycle_location_lost.png deleted file mode 100644 index 6cc51190e79e507b9ada9ad9ceae6362fc05cafe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 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 SA~`|(SIFh~vuid+ru_$4!fD(9 diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_night.png b/OsmAnd/res/drawable-mdpi/map_bicycle_location_night.png deleted file mode 100644 index 93701bbefdeb946448f174359fa1a814ea8348d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2865 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 diff --git a/OsmAnd/res/drawable-mdpi/map_car_location.png b/OsmAnd/res/drawable-mdpi/map_car_location.png deleted file mode 100644 index 90c9699bf38b99cf819cb2462d112c638d66dc74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2363 zcmbVOc~nzZ8jpaLP;ms&Dn)n(P!Y0{g#;o3ArK+#vN&k-czKa1Sx6p|q@aL65Xnpn z3R2Jlu7HL`P#PDMT3eTcjE;&dT9FAwQHhFGQQ8+3Xa4Z?kGc1~cklh~_xtwmoVPtH zBE;6l(FTLT*z!U-G3ZJ%zt*3j-voc+i8$aL z3$lrgdv8=CKMDwvDPVv`pyMI3Hw9oY31k|R;zRWUC?qnSNTL$SOg!0}g+5dg@L}Lk zZ3>}?6~p0v(1o7ZxKsp@vxvmZ%uGV2H$kS@fMS_UB8ftzQ1B=RUa6KMpb9Tlx=u^r zz)DCVmLp=B6fjE!Q)C$k8;4r@-UW%A&;KY`s{9ZrG-N~-C?}E$B%(xO_Uj$D5{ZHT zYsM$Jm2ql0OpJk*vJ3@;=0oH<4Mt=4*NV)Hs5Pueg&0i=n8uMo84_5E@HlK7dP5M3 zg)E5SLx*W32A(N`Qt(s~orwpjBpA=6GMNmTHzXv}!D%_4!jm{04kLgP%%LzjWO6V) zz?;Mf=K2KtaH%98T2SybmM2vrpcI0qb&FBmAF!Oi#Ik}EFo?($aWYxjbQMIU$`F|{ zRVD|5g3MW`5oo}2J_w1WX0nGlRqs9LzzXqZSjbh#B*42^v&5gU!$$-|-c&k_r+`c$ zo(eL(@jfY32oDK`pit;d5-}Mh+y}hy|BWFLHHv61nExrDX%bqM=IzIJKo1`q3YMZ> zq(IvxU4CDW!OTqHaRTC0ePc-vBc0Yb_#gB3oy;r63(oFeUYob`crmYb>DmSJ?6z$u zo3_<2xio90e`t8oc&`5{9uVE^Cg2wd0P_vDFyvfmTuX~xSYvyrZ7=<){iW6>wW|Ay zJ1)@o@}20aF@A)xdu-2LX6M&etH17E7jP@1qoT_4v8mkco9P))wA6%>A#y#3aj$6HB=4gTozT8mm6K2owuY*rF!3mv)4yCzya6WmSZPI7frob zqN{BwsrjZ^g0-KkR4CrW#>Vo$4IMT}TmF@((cW<{;aFS8my2h8K@pv9Y;5c>7!3XQ zO-={26-{FKXoJOFzNdUsbb%m>QTRH`LJ0f(+JeK*83~jBRx_GZ87P0eSLj9 zuCzZ_txF|Z{dS>1Kc1yls}KEnuXpRC1l#VCV8K|{Y^S=C`@unHRWfBg?NmceeYCaT z>=Sy(z&B|loedmmSmlEz+Iayj-&L>oO zY6JfxYP(l{6}Y+3;0Bh>xdz{$H(CwnTOh`?~F} zjCfQH4_cRPoVoGvraa_nxN)G>YlMi$+aBD%U)ZVT4J6zx9-vbxQ|HO^?{w{#W@o<@ z#mC<~w!8Oj{_z6!(Hwgnw?bQ3xbi?%gMvZ%ry||G3pmn{v*-nHmSZP}rPgB#wAsDR zdn+qnxw*Q!${dsxo4ZG!4-E|w(UMz67Q89)Z%Vp&2(OJ^0ouJ3DV5JoE;M%SAJ

KMA{Z*B5qm*eDk z+jCV-s+yTLkn~a{**4}

Z`Br=JcPL9C_%NMRvYG{rm0O z!wiPUcc#u_4YuLZzff?dIPybJy#3Bos(PVl2r4MrVK<=Z2>Xni zn2)U+5VhvkJ$A?#TRMIM;uyWu8<0FAiZWG3OI2zi7C>$I1LV!wZh!=mQ0Le*!So(+dCq diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_lost.png b/OsmAnd/res/drawable-mdpi/map_car_location_lost.png deleted file mode 100644 index 683b71d211a792f02351102e44691b06d7730b95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2287 zcmbVOYg7~079OA!E(LjoV4*+=q6WzO9f*nvFCjn!@`f5R6Nr!uCW9niKonZ#0)mRV zlxN`zim1ziRYWRyD@CE=6RMTRRiJ{fK&%BS=$)u|?+;gh+&OFJoU_mV_TFcId#^S5 zp}~G;CUzzO0GI{%3&rS6(Y?l>qTfjUg+1u>IpPzAguyZ-L!yEJZxBv|Z~+QQ5+sHs zpmy7J$O`}rH1hB$BuW&-lfnv;M5ja2DAG_g0C=s}q)DVH5Q0mDlH^K0e!BGv9w!I+ z_(-ORB1#iL$#VZ4DkyA6aJY0wij)iD*RR8QX?Ums1%ya&8bzv7&C~GlZ|(BXwN6aN zXpNt@BJTf^WBZHJdC&8*DGL_5ak|{JYjYdQ@h-$48k!XlY zwac;vA*7b7GCOVbsQ5(yCU z@#qN&l!H7eo5O;b6gH77lO_@w6c(2#VNf6gWl5Ipd<;(&GPwe-fX!lf z`%BT>*HDT~dbK}3iP zN{9@Zj7H?rsfoly2_%uq=rkI{V&mWA!T&ddWHczUu3Y}7e3nIMP3o2(ngQK>XeUUC z_K*r~7GwZB0|16*0YdL^&BMv)fWTBg%$ZYs?)g8|m6jcPPwoyTZ+GKBHu}+dIiJ~* ze>h~Xy)Z-a{cnfq+4mAe%7ZFzo@p%lr`n`74PUmq>Z*OH~#fwAf-`;&bu6Q-L z%KXxB+Oxqkyx%hGZ*tQcVrCaIClyM|Ng^x(mWMO5;(+&oRfbXv{(f&S$Y8)iyZ6y! zZEfDs8WA?vv1ZSV_k;O)P4~#i$R1BmPlL$F$o1N`!Q8Skd$w^_X6?`q?JEmyfa4|U zpIL4IgM;@$+qRwi*Qjb~EbJEwR!y<>+Ng&kMAv!7?Tu}_a%Je@y?YD`8=IFHCx;bA zF78dIPZPIiXWuLjUgMNXJGwHuV*gbSclQDa1ZSrE`}+$70zp-Cb92w%`ezNFZ7kNy zv2|&=`ijY9W?5QVhWs%%_h50+D>gnJ;#KUs&0gnMxhA&YQT~3pz2Gsb`t6cVyCJU)KOHLL&Z*|Sag`T4&VR)>{ZbBvoGK8%S74F!Do zbUMAa3+JMrmk4y!-R|n>=*T$L(C}yV;+;EI_V)Hqu#pXyO)=_Jmc4=b48F1|cP@)+ zIbq`O>gtMZ9e5p&AjtTQ8zvVn-%d7N{qt)Ve?oP1e7u7@i6kpMnSG|Qu`wngVO`5o z^nlGRGjsC`8?^IY3q<-#)8dE(mZ>JkR@3?8kCz3sO80@P-TD@`wn?kqcX4B*qJ~L; zNejjzb8KvE-t&6$E|2qi!oq#~`VO{^;5J{)+WlPXNQV}>M<{)<$!4pct}up3<$z(dGNHnqT*}J#W};@ z$HxiN2OGcW3b)RwJj_|)P-+yTR}yIM9C&thj{lA86Ddn$OWxv3-x3UmYp339B=t03 zG&KmB!5;7Q*&?xZ1I#xc*;y@Rl`#!UN=n*=8~KE{1Gy>;NH@T}}2+f(;%9EmfFJg_jF zll$rC|6H^L8(Q@5C>DEXHu&ydaBYys_;`DJyLnq%8#zD^mdgpXO&)Xq z-l8AtXx^P`q}jDbBlt!s>xkpCG%tOHZCW z`Dm8U=MN|piXmLCl|whs%()j>(<557305l4Je`=>vA?{$eD2nH6V`@F=hyviMn*jE>qwc^t;HB{+3Ivnc*;c4P$HsaC(RE&Ewkzqu(4cru*5 zI&REsCfL9G@6J0dPOPlm24XQTEAYO0x8A61O)d$)X~AEz`28PGU&crKr2soyWf+o$ zYh`CncWl+#n{hS5i`bCftnt|)eT$2D-t$6JU?!$yPK50@ZGY49^_xT!17mc|!@qu| aZwhqZI6_EFw!-RuK>~b&g=aQy+5I1M0E+(r diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_lost_night.png b/OsmAnd/res/drawable-mdpi/map_car_location_lost_night.png deleted file mode 100644 index 4bcae2b8369e076edd750bdabd79b24d4039a426..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 WTMH)Jx@+}6Is#r0_x#%E^#1^;kK?ld diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_view_angle_night.png b/OsmAnd/res/drawable-mdpi/map_car_location_view_angle_night.png deleted file mode 100644 index 091e1c6a41e252cf5849724cbcf9d049e47311ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3724 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 Uw?0@^=J>6sRWZubVJU_G0v%w4y8r+H diff --git a/OsmAnd/res/drawable-mdpi/map_default_location_lost.png b/OsmAnd/res/drawable-mdpi/map_default_location_lost.png deleted file mode 100644 index 2282c4a44f1616fda9487fbb113f7a55706df913..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1699 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 diff --git a/OsmAnd/res/drawable-mdpi/map_default_location_night.png b/OsmAnd/res/drawable-mdpi/map_default_location_night.png deleted file mode 100644 index cf722851adee7a24ad2e8d05321be06bc1ed196a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1741 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 VCii$I-8KLIMZyrlDL?7X{{f3uS3>{* diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_bearing.png b/OsmAnd/res/drawable-mdpi/map_nautical_bearing.png deleted file mode 100644 index f5226ce6588c6b4040b1aeb8c132991c346f5dbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2040 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 NXh}$fxGFeq+n<+jJXin# diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_location.png b/OsmAnd/res/drawable-mdpi/map_nautical_location.png deleted file mode 100644 index ccf25980c15d1b7901a1cbc9a3964c71d9f9dc44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1729 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 diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_location_view_angle.png b/OsmAnd/res/drawable-mdpi/map_nautical_location_view_angle.png deleted file mode 100644 index ec345eb578e823cf029fe6bc57296af668cd32e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2186 zcmbVOYgAKL77h<71PE2J1E^yNRS`&XlaN4C!XqRik4VHA!lRm-MJmujg@Miug6*v3>W{f=-FwbHXMf+` zXFtxmxt!fWwn!%=0)em%-o=c7$1vk-X#sybi}tv~gQJGU*X&hDG+IyvAp*n-A%qT= zfpJg-1d7v>Z$dr@gjt4^%h&MPVKk9Kh69Z{xHOp(Mk5eDerZZjln80iLMTour(=G; zYQUhSVmc<0%m&!XKqy|iD?STCEnRCE*mRI6Q$$rQ!i1o=C*P8d!C@ zTmzdmGpg-Jrqqdrxu7vOrkXn(V62bY9xU7QV*!{I3qay4LEnFpqlL96&6`~Xw zB-aEp=@@tiCzgt7-a;>sb3Oo;TqEDv=OC zC9wboOhRB$87zRpA_N3dSxgEmfJ9!!2FukNP%eU2ZA)R>D_G`VVrhXY2-GN4T!kWO zwF)@#3XMV?uTY``1C3cH8eh@r` zFo(AgE0mDn7!bXQSWxUm#gc_Yk`NM;B@%)Vvw|1@zcIwaPT`FO^QQt@U4pC9IDOp? zu<*K}AUWJcD!5&EoS+~C!n`V&8Nf~JpC~gV+V6S0bME=04u?#0XTBxFpR>`W`X~k| zbnZWjPOuMXXqY}e<;U@m)lJlSFgLneH#9ajtP7h=9m;PiO4kmZYWXB*ViZ?Y476N( z*sPuNT{x9Kv!AhP?N-U}iu2BZz@l5{2$)GEZ8o2qkYMSRxGWjP|J~FT8+F@k`nb`F zwF>1}`svI9ZQdfg|TgZBe$)+dy9;tci$W0Bg}Ee4K!WsDIml8ygDW0u;px z{EOy4KHFL%Im3P{+l}D!H{|zs6s-RIh=&`}7r_i2^+IKJ^Nnv_{M0t_Bie5&rRdOg zPIjhwEGL#Tz*3KF)BA^xD0z?Ox^&kDlH2l| z$`6;V?-}Ku*9rK^H@=TWlEkRW%cjFot_S|Fi<8Qp>W!mmnhPth-;_=sC}dB627mWc&3jk{(m+}>&v z>Z1`gx`Q>S%g7fW+@JZ!&t|7f#-~3TsGl0lD*K(B+xApE6tX=v*4o0omsqXibaVfO zD%|O*f$n7gfU3SQuI1!shOg5*MtO`OIZnj`1RLw>7o?Q($sucYE1zTPR@;8d*)aSS z)s_7%$^(HMJ`w1E`gnt+wQvxQWkSJAT|5v|cyT{S_aCee{q;q6FR{k9Qxxft!<)9_ zJ2`Bdx9REaddW4^bFF79sQLS7?G?$U?k*LoH6eCilg;@~huHdSKMcs= zRW;w8h|c}UU0=d;$U1EaWCb*zwXHl#j&?HPb%{d2#V<~duc_ljTD^C9Jt1^HC3JFL zV8zYWH?m!A+8@+9HgO6(^;ZF=F+oJmZJkvAWr!H5z+rPzJpJulw zp!x*y_Ev10_I387prm(P6;j#IpBMAw{>y0JjrPqB$JXC37-;2M#T~~ESAP1R@=Dp9A}`CStiQv5*Rukf;Ek@bfuv1_ zBIZ_a%YUD_6gvFdkp#UkVIWmKi(jM|?g{>UL+GD38%%8wb=nxuRI-Vw@$Vp*wVQc? HA;|hKO}}j7 diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_location_view_angle_night.png b/OsmAnd/res/drawable-mdpi/map_nautical_location_view_angle_night.png deleted file mode 100644 index b51a6fcee26786a1f4802f06dfb3ce28125ac154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2113 zcmbVNdsGu=7M~yq5k#QJ2ev}Tp&}@GOkO0BKw}alD*+5in-xJO$s~l3OiTs|Xl+1+ zBWOXe6P`^sp0l3*v2)JM_ucRQ z?(g33KF;h;Nm}dg`?@ax0RHj>sghU|Juj6)d^-=UUqviSaG3^A#SC~JVn+e79@C8bt~y!R#o=rSoVyn8O641$3Cl2gHS1rpYcUVA}9;TZ9)bkFE5Xt$EIU;BLfx)1PmsN!D7(}1kI6e#StgX z>Ij=t&W*Q5h-Ih5gP-hGZ_|(=U&rj z2d+ea3*(h&hbrHOGL)zT%eCu>dKkiHjfvd-z9SEih(?%fHxWfaa-^6p*MeGcxl{xZ z8oJ)37xJ~y2%FD_X$E$*p2i_WnifXbG#*pOf_Xdvk0apB^1RBPDPX~30f)t0Ly*8S z!5SHpCxgWjflSJiiP_v)Te;PNBUT+c>)S;5p0S00*H$R8qX>@KRT!2t+XX3E7>+rz zFdHb5c&g5&bHNA&qBB`N$B~{=y|}p)wVSq}`gl8L0jF~7H@x>c z=zW^^u9UuA7|A3zx))Rzd!=UjCK8hWv^XtE{zpk}JWOB-W&55VH^mJ<9eL+D_%LFe zH4b!D#8zcg-faCTpv|c*_G`L&PH|rHdf4)LIV;A!#|7=qv8Th$AKeKa4>i>k9+}sq zRaJ)eRwe)V&S= ztaD3MkA7IyAm}?DJ7={-*y*y9Ozz0wAO1bK{BE{8eb~I|anPW=&jf$B$LB%Wh2-x2 zg#tk6GaS=)@A~IcPZhN;wfV|ON>#>xN5Ozd9uvtOcxx)aj1WxXJW4T_I2iC6FAz zDdg(jDiwLH>QGc?GD zTFvdr*bjo6vug|izYh7#|FT0sae+;ws4~bF%JVsC3@3PtT8md!Y>KB=A8g$8#hkil zlqhnE3{pE1y0vrne>G?tls%rff9g*_)6nH1@}C!%E!pZ_ms7Xp$R%Xa#_-R=mT5Bj zw@sxTD71|3!b$F4HFcfWXjbvt+Uo}Cyer<2~${W1Xi*9E$P(p<>3Yk0#yq=8A{;VpyIaO5fz z&)i<|tmhN8*DB;%_=(L8J1&)fi-e?&odG!S&%ar7*vrxUGn=~_ROI^kz4zL=n;lj% zeZY_OR@tSS2>+!-w4734oJ$H))_*`8G?tVc6^H z>Y(xJrg|~|Hgg-@_-kK!=mz8Y2C^+F=SkPlsCZ$s-dFH7x$b~AW6?3wE*nC+b%O1# zX>K!DFZwclcS;F|+Y7h<&DB5Q-ioH}*jRpW`x0Bm(beJp>%#xFTvCh7Q2-&vYsD=Y z?zaA#?`&tb$cn^rDm~gND hluX|T&pR;^1z5pXztNrJ%<=rx<+3E{$u*fp{{b?LH?#l% diff --git a/OsmAnd/res/drawable-mdpi/map_pedestrian_bearing.png b/OsmAnd/res/drawable-mdpi/map_pedestrian_bearing.png deleted file mode 100644 index a98dfca003649e4d3e7bf633dd62634f18c750fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3324 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 diff --git a/OsmAnd/res/drawable-mdpi/map_pedestrian_location.png b/OsmAnd/res/drawable-mdpi/map_pedestrian_location.png deleted file mode 100644 index 484250a84990e46455d6f99a7456e91e7acacdf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1731 zcmbVNYfuwc6b=y(P|||02-U6;UzANYPqKl?D*<8&A_PJmMK-$|2$0>lSs+9ll!E90 zwTcL(zQz`@!iZQEQAeZ<6>RBDWw2EWNVV8HDomXLwJ>&rVEy6vqdU8M?mhc`=bU>U zvwPxVqdYx)JXkE2rzTnz&q&DexVbWKJ^OhHBNo%@WIBN~(zytQv%)aafCCycl7`3Q z2$r|C3lC3c!E7vhuSky7~_Sk1%hn~#(){85x{27BCHCVk~d{n!K@u>0S}mh z(3wi!tDus#aX{j463PUSL?DDgp;*D(5(t>Sc#Jm+ zGb-X$k<-4IosySM(-wt5kei#!&lU4YDvja7umBPXL?VzufYv;MMrnTYF`^Btka2NQYNq=7J-lt3Cw24xu(!oIv)QojJKk# zx;zUmh{vsDHia_vFfN}VGr4=WBL|R)MzNkUF-1YLR3w^h#tB-ZQu3HDe9VL?&_KBi zmqLLcY(x#91d_oZB7txamcVeJRE%Om88Tz%ZG52`R!0hj;VKcV5(?F_FfkOUj+CqA zkrGHQjZn{UHH4K$2o#_3ZDM>+bHm=rRYXuYLX(t^B(r9^ATFJxNozW30U{zCRhROm zz-ldmnh1w_jiXerPOic!Qx1+rQluG}%C*AumN?`_92HAsI4DA343r?S7?c|%D2QSh zf?;CF2nRyEX+HLUb0}bf5;z*>jRu-gF0-t|@O$sy|%bVHiiUVCRVm*8}-$L+0&KJprE82|TH%#NPY{SNFP#3$23L zkKrABHjUuD{3u(&PWwIc#?Q4X)rRdO$b*%D4 z|4O}FZUoxHs!L#pR)@{TK-Pq+?NbsHbV^knVri%Jcs==u>keX?z1$9lGoMtnZNw-y91 z4bcZIeDGzr(Pd1%oi+K@&*}L$vnQRthobJsmTr7Fo)Ya9daJN;_MqEUrz zb0&PB=|@NIF0o9+Rr}7ZS>*4xgDyHnyIj*WC0g84uYkL`99#2y;~9Yu>2R-O(xFpv zi%YNqXSweJ?~owqj{EGaf{PXZtZ2?USx?mV)N?w;O@4rTG<*M!Y0)~Cu)~QZ`m>Y2 T<-y7_$8SZWj#ZrwPc8fxT{VQk diff --git a/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost.png b/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost.png deleted file mode 100644 index 508891f25a3cc059133c2e5c1cd5396ea7cf8fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1699 zcmbVNdrT8|950W7LnQ>=BIxj_C^~KLTG}gjJOujy)OJ|0c3}$F>#wwy_UiSZ1v{CD z!M7-p%}tEVxJ`UjbRueaM$w6&GJ}s9rv^8sfRo`QV%QbIxy1O#F1h>u9^cRR`}w|d z8&XwC;{!qiI2_LSlw_Hjm5ApZ?yy~)U3-pUE;Ovd znB%ywNNJU+kd&eUB<7<$QVd*-P>e^25WvGk7$y-%k$M42jM{k{UMNnKqlpqZDoRuc1ab+BlgK3!G+LpE zR!F0zqu3Oyogu6w81-#peUD&e@5JI#8W0Rcr%_b)Xcwd!DTcBeDH|k}da5pgW-1BN zWc3`*@)YV-+%iC$a)Dk!Qx<4A)41s^ETRC3N>Cx-0ZdQuL}i)b+Gq5L?Mct_^)RrT*W(1N>5?K6oAo{$%T01A+eSg3pNeI|| zQU7!ncrYn4ga4)YO4VSNxus(5;p;2H?adox_d|38VJCx6b_u2kDaWWw{^g^ zy23Ge#XkRXqR$z7%T@E)>dx+;HQu2|tkvn~Bc=o%@6Z1nq!$IAG>R$@$CRszHkDJh=xzt&Zt$<2*taf2-0~7LKm9noPvhJcvFB1}YnOP}N2inO%Pt$*?p-2- zW`EO|xq}ms8jgi0rn@F>I=3h7;B`lP*NFv3x6a>Npqf$IwsU?bFZ;>8+Q?W<)eC-v z9jZ?5DcO7Z)Sv0Vc+A;RP_j9>cDpNbSLvZeTmv#w!-NOwThIJd=yUe+(E!}*M%L~N zYJck4JWx?|eQn=8kyr*!{q epjFMVmmjD87CE~cp8mk|+eneCWJl&@7XAY$4ud`b diff --git a/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost_night.png b/OsmAnd/res/drawable-mdpi/map_pedestrian_location_lost_night.png deleted file mode 100644 index d49881be8ae6c07fa75314180c4d9984a2f24a36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1699 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_bearing.png b/OsmAnd/res/drawable-xhdpi/map_bicycle_bearing.png deleted file mode 100644 index 4ae946f1201c435fd1e0b15bc0ad83680b1887da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6093 zcmbVQXH-+$whmRQ^d4@~ANLND#=|w<9 znus6*A|Qysi|3wm-}`aL{qc5NYt22s+2>G>AHoX_&_rP!(Lh~KgfrR%jX>SMH;7gN0LTJd&8)nw3=Nc! zSWhX$A08=xPaF{q0H~<@;}A%9v^UTZ?d*zC1?{%K1_51Bsvt{?mrz9=y=jSKoCntsVawcM7Fln%?w5+TokwX%HALEVim&D)&{*j=C z#v{F4ao(<24DgRcgd^6+TNOmK^j|J`;tUP{Ef|CUJ5a=sN&6#k(lSzDX;05Te*MLb z_clTQuNnW58*g?Whn6-$dc`y_viI4}QC1LU~m;yu&iIRaL{*m*a@Ny7M zO|UjpPDTzaFC(L^peQE`(S&Qu$jED6*M`X}{)5%U;JpzTB>ErSu0-8`V`cvU@>~n;1hC*YAUF1bVuN9cphD%go>= z-NsKmbs7&63EO?q_1TfC8dhlGR+B(y$^2EGFtJO?=FcYO*bPiLZ+O*WI{Cc|7x%>Kp z7RgDO4h`b2wIihfmWcs~ry!c$kGjtnRQZ| zmkR7k5YWsjtV@ma=}@~|Hz-uC%b-T}qx2DJejt4s-1wp9_S;v-AO;$TS188ME2qJ) z(r90vxxDdWV^(>n$qR^S1yJBgIFFEIL$d%F83{g3Ghz62^=BT*peUe~;quNW7{e8T zZpJfv-m;rtV;HQf7&2Qv~AJs<+ZAY?Xkp8jS14^ zYEZHVr~!coseNE(9|p2sz+?{LUBC_wE3dvb!j_JuR28Y_*F7E}0a!SP2E z+?N;YMt%%%<;KdAiE(cso(6FpK)N}pXg+!wC3=;yDu^OeE=&cT+zvpHQuO!pnoqKf zTqGd`f5vh6T~gux@@VrInJC*mAL+Q3I6OP!kv*!!{>%cBgH?u|{qReNpr4kz+cquHPKhnri#1O03* zFy=?nvh52$+Q>EN^)2W*!oW-#TP-K2PQbDw*3-`|6D^nvopW2N)sSEP(NbJea#;5= zLQYMy#Z{QIm}20Ji91rz+I-gLtU0~1T0x(@x>%c`V8F*O{0auZq@r;(9ya+EJy~`$?Ba&VQ)ddgn5r> z%Zrk$vJXoT^C~pVA}sX?E(#^}jaMWMqZYUHEJOSV#TPprtuze@_fY2gaGk~ZTsGG_ z)&tog(7t()P25owHTwg|G$1ZGIa&M4!5-Y{V1v`BVGJ>Lsg2E4gi+>qc)_k%^w`fS zjg!Pr=X^{L2}oKofBEc)!F&7FTVU`V%gLH3dp1SBzn6l+qIoaEW2JA2>!t)iFRdfCLcRSh22t zok}IWQC7EafLn&!u(bWV>eaESckigVo6(wvWLwodWToOgo6f>TiV!}TuQKHC2B=OZ zRRx8&#_W7NBlJ!4M;v3i2~fhSV-|suYBv#XCqct?hBDjEd)?7>o9oK2y=^JIVve_EnrGZavXmXK6 z0fz|>W(!cOny=u_5V?W?OZ8(pLf^aUysbQY)O`YZJ3T9H>MV&DK5I>=SxNRhaqjli z$Ka%IrNsdCPB{nsEx_lo&=mU%ewNDxG6(sO0ZkYF8oZVEu53^XA*1VEj;%DfVS1Jz z_UvW%y9xv{O1;O{D`Ck3W5PoU)&#!zc67u~UI>T9%zT@wJmEUUmxktjVGR>EBhGk5_Qag? zyFs5Kd5oX)Fa|zju|LLsH$~7aPFH;FB>(bnYol#nHw&BgqrR}{yml2SgaA@sYv6;Q0 z1$6M}qqQryE+uSmuIqj+r-lMq>>>^7d9xiJL{dZfS@LGxBe)m$EWF@_rpX=j$#M-q zREm?qWT-KH{NgY21uk9m$kKWL1y|`%OBJ@sW+l;YawW)Z={S+ahBa-qW$shrO9$aW zU0-ar1AMCK#bmm(mo`l@dxJh*=Jei1aF|_vEMpI7CYas4GojQQyzsrm-i-su2F*~P zZQZ@*(2o`8QF{P9gC%!ZmyG2s`{;`rk+dNq+Eb{d=KVg{C7T01BLbD;G0hfygS9gk z=e42?q6bzc8oIJW9DqSxOulwV!}He$G$(^k`{zboTBzrKC@)Uk^tm_Dap``a<IV{%We{Lr-%GPbmH?5az zW-j{p-kv$qaBuDA)4IE#Bw0S#OxXklUoPGB@c;il3 z9v$8>`6j_G1=A%U!cG~fJ}h)Qg`D?fVfO6Z`!bBqC1RJ7p=Y4w1^tb&=qU$irf#*F zGheL%PEMAqMlh{E$dadZ1`r>Sw@3qUz>R3$;TXap6?jW z;Fs;N=1UgT*nEjbuM8=iM5d;iAA7QF|J&ldy+D&pan_=`%-Vw`f$Xaub;@@txMd#y z&>Ud2czyop3b%Btvj{n9c>Vg1Dd9%jlo0;ojz6_;U!Kubs7jl>mq_C;w7YD$fxcIItAUj|>KPNEKn^B(j@9FO6f z4lZ(uJVVWG(Z@fGjpD(?;(e+oXuOyW{YkB%q8O<$!o;-JtlH)0@0#XTTtD#Y*$ZB& z4`AiT^XZhJViADmG4EAhjH~tT0mVb1eVK;lgp)n%=jW%kN$BC5PJTYk8=SQnMLafv_t6{vAR4-T zG}!$L$=lB+c6ll8+t&eVX9DJAi08hLY&xNeU$nHQ0U6w6qvgOLr5=P4Yf=4b%)`9; zVA#@1>*3bDBF(H$#-heH5~;GByi!Li93%ebkVv768E1cHFaG9ZkIfxKK&`V){N?<{ zFH;y>Tb{%CL@1XYe!<qi0$CXHa9r%7kx5$AXo$jyIi<;PdZxQNb7rde_w`K zvBqil4&1M(Xy$t$i(*`KlOj+oV>UdScZ@Wmdn-zuiZ| zWOhogPW_3{(CfHz{w#tM<7Y>gwFEb-ZHrUE#m|sRPDGS39#3m$sGt`H$H~N)xOPzL zC96}$Z=}{!QT!IG75SbJE9nvJ&oBFgCkfSXkflV6Rmcp^o-un>Me@sNH7>0L%F)fe z1_{fn*OA?+UnYNKquwR$(x&>+<8F-}Gw<*6x@$#kNld|%qZN>h_sYvE@)?nXYt({| z#5B6J-ZitPk7sO0^3eRsn4DU!IpjIqz*u|;u$JcRiquz#npz%RP1@Ctpi9Fc8s){$ zH+(hTNtfLyS#~#m+SJsfsps_gm;ulwu%=Nn5pWRI1;_dOvk&&NLyzA!W%@o{+n01- z`G{1FTAxX+5=&V8*4ld5Tkz?{qUw7P;0E2pX;vPau9d{Akh3$v^Un1_ zGqY_MmG}9J-?k&CtCQ5qY2srwm&uRR51GTC;|=P`2iIC;_V+ot2Hw$Du%B5jWyhy9 z$is$^$e0F6fpX!CGY|OGp%E?*$MRg8E?VK?uBuZq>#g8)?y|UdU#>eZOextG+!CT; zmrAG3Wf_iT1*cOf>J zsf3^ooc1|lJL}21O+IW0RNP&4d-ns=S@V4x63;8vV8ZG=%)H;yR0UCOmtAY}c;3*) z9o=#;Ybncpsb5!VGPEbJ_2|W@>6R9M$K%>r4JU%?5qV5P)kt+n^x67 zx2CN$=6p2x!}n(jqSn3H9Q9WSQ=gS@0_FsVQE=z(-WU71wm*cT!D27zP8XXf+txr* zCRmh1Pa{Q8Oz6kreE$4o{cGc(I=N`>E>a&(3GK-&b7bvS`GPW6_xg*#_}KW}o9~SM z{F*n`A?ZQ+GbTRu6n4_X`-77~_TPNhU7@*TV!lU@({Ltl2U$w%U;JPmJU(sAik7o% z1A+x9oeYHn=U3Z~SAAuIH|DhCdAWw%M4TF5b$;$iROVWsB{clD;N0$fMOVPp6PSD1 zdv-}J_ZP*DIvYU;V^Vv;v6tHsQk=?A%JWU@rnmcLPc5E)n>4Hqs(5DOM*nEW1^ja3 z)AXkL@a8l1jgdr&Xzy!s_7BPFdh`7w4mO4jP@J`Q6?1bWwzCw47@dspAs|bNu#Rkx z8a1yP@vk*r$0VNh@~nWkDP@0$p2;%OBLkLQ-}UN*H|Ermo{$$@wv+fud}ziQe9pkt zO4j8=M_vDFY0@+z4IwsS^V$aHse|B%T_ znISs3O@9W5&ENLbHnQ<@t%M40YCrz+UV>~s^W;)5J26v`Wd5Y3?)Oh$w5R%-Xv8Y$3D+%NRF3I_Ojw)PT%OtN_qw}olsVU&Q z-BSxwD&rpCo#?uRqCwnr+myzI^}TXorO_~cPUvlqtzB*Nxm9gGLADsX#Yqn!P<6b} zzjzhQu{CO{;lEq>fqWL8vV8d3mx5I~j-2o@H;Z&&&+J|!hgIwRFCeLWJu7=j*s8_# tzRu`t93K7(6u|$shZZ9L?Sg_6AYqZ){t4d6@MnWvSKCOd_PRsF{{R=m?+O3_ diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_bearing_night.png b/OsmAnd/res/drawable-xhdpi/map_bicycle_bearing_night.png deleted file mode 100644 index db4067d68641fadfd51ed1c5b12dfc73a987b6bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6061 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 KuU@I@5dL45!_w3M diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location.png b/OsmAnd/res/drawable-xhdpi/map_bicycle_location.png deleted file mode 100644 index 5c7c7c69f5e10bf7189772b821b750e221adc820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5907 zcmbU_byU<_w?il;Aqaxh5E9BT1H;fWbV(zvAOj3JL3a!xf)XNJIz&Ke5RsG+>5v9- zE-i?Jbc4L{e)oRwt@Xb3{&>GS@!NHFti8{PG0@YXrM^WC003yUG*yj=tm4JK@_w>J0vMDR66l9PV?Aa4;Jkm)l_mCnPlI`Ze}QECl)0_} zPzC3K0>VTkL3UzLaiElps2EH}Tv|c|C=L;m1VbdiVlp5xs4Vf3fB^r#c!}IR>>Xr{ zRMr3HMI6C-oxHrn~_e zFC)}{i}4?!J&pa{P+%jJC(hf$j%W`DzJHL3y8FKw{RSjTBdhP>Of(7-t%|er#-OlX zTB>kf;vZ3aXM0&YDQQU*3?c=Raj>%mNkAlJKu8G)3M3;TBO?Wa+S!XqBLAWDpYYXH zRaIn^A*!n4GAd$XYLZG&h?JVTw3@WK1VkF9qV^B27S_`XiM2!h!`qq2`)^#8{}WeM z#RG-(!g(0uaOi)$z`zOTh4Xa6xdByFep?+T3Ihu1BJG^9zo&(No9bUHS4DX^`=IRA zJ#ZM{U%Hlc{tt3UJD}{K5|Sv8I8w$QB!QHHf~0LF>_B$*_DFksD8xZV3c~w0zWx7K zhhU;m;NK4OKOE?vDWX^Y?*2O*h=YFz6beg>A`fD?Al>pG0{~25Emb9Bzpoosv~Elq zDIpn&BA0gP5Hz}tF3RQwOv@eTSpyv0GRpii+ytulS`GgIvB8 z-sCQy+N*imOyc>;Q*xg#=kmMV5SXSFu<2eIk|amBDO8I%dtIo{jAkaPOV*;3zy2tx zNR)ujRL)IZoF1$nsk2m0(Ks}QYKdFekP>eJCIAxvnhr<)bQ8Z{?q1`G5wA=E`!hcg=0)oJJ`%hh3=ITHY>`?%bSf% zOiVoH+rm66n-49i&Srbk!4-NT7+%GqMXl%GH`^jSv>$wR>0M$Fuuy^f>Q`h{*dNtW8)RzKe($(QI@3F?mga z@@TZ%^jY-eN+5%haSPw4B?~>IO!hK5WzU?;$iM)yu-N%*%TGSX1sBOQ8RKoo{)Ghx z%^Z8)?))@weV}>&?SwoU2cX<54=NC>&g$}D>Ax`lyfsxhw^UeIxSq~hyjSblE?EUa zGZ9uK?AMWFTZ=tKT(49lY z6B8-pS%djW%#}4xYd7hjn(j^uVAyia4Jz?Qt>@XO$LI2F0gkuEx*a;+>myF=Cz6Hl zBOD*C`}u5d@LDF-$$*M=< z@)7>K-+G&CF@)MtY@I?u==QzBn{*t$?Kz)B-2zE#Ecoxb>N{ApgFkHIS=N%?P&e5g zRwewzmk2(X$8~?17v$Rz+n=0eC>nkUd9D3Ix4HJ-M;oBf(|-CWehZsECNYTXD|oVI zW3}JT;_Xti%9fs%Ssq?3C#|T=S|@Vgc+Xai&ByQ-*U2)Aey?NE{jj}4YV`Ts)p~>1 z`=_f>{kJY`12<~eO)+jo7s^qkv8i7jLyJCB>L=ZK^?abyb8-GH&*aNa ze-8RILP2VE$ zH0dWaC59~+DGcSZQ7m!4yHZXSe7bMpxB2z`mJH>As@$$BBVLoMXH}y$o9ww4(Jl=E zE8NmtHZ9{}1Kp7rWMephoP9qJg;{Vl}TaQk5lY5%Wg>+DWx>P)*990_LkSuD#~ly@nOzh8*3 z4u`PI49judBY`&j!u@(U{jz1AJ}zc6D0p+Oar5!0Hg(Yb#VF50?D0<{ zo25y{=bahDQV+r(wI&xe_%5_RoA4Xf z{`f-d)U~#r6*$}x$h|@v^roza8LtTv5*LGY`>aobVq$WN zZximfDhsKHcd3QDWdr?c@RoEwuo1@V+qaCNa_cxNH z`FStms6j$b-}`-RlMj zl&Z`Uv+H^{)8xyYz^1T-^P}${cC4Z+qgmevt;Tf?%-3w9YF>#!s^T?^zX*!j+Wnk( zIFrL0{WMoKq-x|~WiYeybzxx~({k-5HvDpWW;LmEvc8H2dry$cw3%bze0O&jY+7di zHe{(QZtjO(6`tep3pEW5x8L#~W+6G*+3+kx0?omq)cV39=k1O5SX;`@5e0c>nz7uc zRPv$glVPG(jpsCH$M9*MQrjYsxaQMg5k_m8+Su6G$nkMw-S0!^)5}wu*VO2zd<<6Z zuPm`qKNyhu_U)SpYCxe|4wv@!+TAlo#M15EtLq(&!O&im&{OibaEHVy{V!6(vJ{#l zyy4^kF>uSVt>{EhUqwLr*B?9m)6W5Z8RK^|$bUIJH?854@vyg3Qu-*+ay+xJvS=9* zWS0ENF>R$faq_XZf>_^cXXv;k{&#ToqV>(I?X|dh!@p@p1BI0bZmv)eqObFvj*vde zrXLCt;}wG=l$#LAfBeDuec+~K0Fu=eNFhi!gM0O-)oTQ{UDhev?g;^gi6UDlwcY&b z_pK+9Ub#(8J)WF0F^fd}rqV6f@9*zPaVu5lojwtMlX~r<`gY@dV+v7A84xShj{Vtd z?cck5w`BY*n6F8?Tx#?D*(K?wqCuduCIlT-nmFq(`puzVdNVXtLKU}Uh29ht>`wyR zvI)m=`?$)=Br=ckQ?;X23hp4cm{<=%WGw+mW01Ajz$xeR(Ba)YYdO2`Sk0ylfS-1g zcc-P7UmLTGEO5ZjZSqS>N=D3nFf5Pu$3Vz}bo`1ESny+S^ts8(FXNv%Dde3aI=4hg z!%yW)*D1@-c<5@K@vpfN}pKE`^Q3@YS&p z`ty5v4$6%0epW|WXwwVxokn0#Y}!im7pw^jGb*^8A)FpTOtB1z|U$GuU1xe!|wBi8iORZXHQWDt^{z?-btz2JiL? za!1YMuWiAfs(NE=0Z#EM+I`HrgpWoeQ#wIqDcxKNZx9`)Ow7tE(V|Ra?~{6dnB$h2<9XW>P+eV3z4AGmz)l)=3narZC3m&s1`Eq!d!tjH zXW<~4PNqEEr*(DrAg<&iCg(~bqmu1MPcu_f>j}W~k%8AwaA*CZf%D1@$}l>@dSz=% zWEwt`5H@PKb=33Vt!?Ks##bliw@P7tIj z^cbV?Uh&sXb^(Q%%>c+C2;O0VoeYzQAA`K96ThE#DC0y(F=(bs&$4giz9jKN*NYEu(c&_L~$ z5tJW;ZJf#b7a4NY=-CCz#<}LeBktDIwbCXw&p9};(knytr_lC%{;bCib1^<8;99dU zryX?w(%`}>jSPoG>G)Q*Ze#%giev7V;vi#z7z0!AtbVwASyq*vKdxs;PtQTm3%Z|Ej;j7(YzYY`+*k3F-yeGw#S3ZHY`X1X+SiYzdLF}zG z2GpDIb?7}bmr_$2OWqO7_#(dXX>UlOm7Da5l7vnEAp2X*27!AFlwECCu3H&3io>=Y zBd*epcHl2|2W5pC#$~5EtkcE6En6-uw3x15;tMQcGiZ+4vYqy2>ReY_vHrqxFI`pN zZWFNJn#QH+YhBFMTq*K^u9?S*!%>W%2S!H#l&wIR0DifKgzTz)HazgK6(gBB$LdpS z9yVpB@y7G#`ZGow1M8O``j=00XkUiP`~Kv>whc=ecTf*Urx!)jzYGi$Kq%j0U8t)? zPglpYbkO~}&*M(-9Q774%}Fzv#%~fup`2QStGzw~Gw(8!thHFNBiKgq=q8_}&4ylH z9DJdmjL(Yg;R3#Z0(#<;T~vjhHWIT6e8{+qss?gZEt)kfWgt>h@XjpDz|#nKzV|MU z{{AO9Sy@@W^^^C@$ATmPs@jpUb6g!7)QqL4Yq4DLQ(tdy@0${q*ViFY6fx;|kNW%< zPavVQu{JAEOEB*s!?u#ka17^dqZ(CN=s4QJu6c@`&RqCq^aS-j}q7x{QlX zUu&EjwwjM-@0Ctu+~bZ;ftb`0toAnE4T%z3f&+!gNyS}MdP1#;t}7@q(8+6{U-X(% z`8%<0UBP~-TF5>4c{dGW5ZG<~=CVwFH0-P9&vC&Gh^tZ66G<-qx6S>1#6rg|){U0@ zPhhdWktUOuL`w-iBf9fdR*#aVu#nJdgXj0pg<4u#7yI1K`Lfb<6Xx3FZN!$`P!ukbD+@*DPcFJ|fb2hy%DJjW-UWy`H zexdZXRY>tIDLT>l<}Cu0z!y{H52Wl5H>O!NvarU6ConLfEw8Scz2tb^#bv!2{c%5h z02u%N0Z@3BH2cME&F-lQdrO{B{6Iz5{@c!47vdgg>vOKcrG#Un&4;QJ>6l)gvS}Vm z63Q##($ZSAlE6J?qjuxV2#VC z<(+Y2vdNi#?>e=!+@E?`{Q9-J6YP|gOm=NXnecHq|1iY)kwz=b5d32G0n?Hu%iN~B zyZc-4hi&D`ou%%h{@&gn*)Lv<@*xl{&juZ|9TxAzPi#5F`pi@MN^{g%ln8;rtsjVW zJPmO-+0YTf#79u77+=orVmsCd)@X*k{R99GtvK7^1!ot#KMfS4NA9X@_kSohdng3J zLrgELv1^@fb8OroKqRShv=F^hbH0kq>RRwz^HrTm=%448c!(k({W>)(1)lXHjEof` zcjvOd`e(bxN-IF3cmOb#`7Eb(9?SCIP;i>THIshHOfIaDUYSOPqcoM+2k*wzS T{r>Xb$JAPCda4!5HsSvTgaqUD diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_lost.png b/OsmAnd/res/drawable-xhdpi/map_bicycle_location_lost.png deleted file mode 100644 index fcaabf6ad063eb817b3127ef752ae9d4973d26e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5446 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 V%w(Q0)$fx{V|@!`xvq1>{{Vju(pmrj diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_night.png b/OsmAnd/res/drawable-xhdpi/map_bicycle_location_night.png deleted file mode 100644 index 2f1e763b2d0957ff41b51d527f651c44ec414f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5869 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_car_bearing.png b/OsmAnd/res/drawable-xhdpi/map_car_bearing.png deleted file mode 100644 index ec0255883cfa4a96ed415460e09655391b965852..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6087 zcmbVQc|6o#_aBU%tWl!xkVr9R#xO=?-AO6?=a1+0{PFv2cln(6Ip>~p?&sdmd1z>$$;!mX1ONb7wYAhxl+xk% z%|J(a3h-CuQi}8L>gMi7L_2pcGzkY##u9CDAZ-HL9*4rAu|BSyIC%ho#usmF?ryHH zCx;;t!06vJU~hs81q}emD|)-2G52upAX}V0-dREDdtIXt2#-||GLzPa=)0)m9PnDc zB%G12ficGS9tMdOQoI3@_m-nDAmH55Aa8<`vzwf^g3zCQ#!fuzAQ5*Vly41_>}q0&g0ELwrw6}z_+ogXv zsNvi&B)p3|p6Cqv%@J)&^l(=YqGsJ|4Qvm;?+bC5=VMKoC+08KJ-N*#EB$B`Hct z{tlS`2%vwuC{g*l`tRvLY5aRa;hZV6h(wt#V)Q%#007sbwwkiB_vG3gMt3f=lz=Mj zilqQVzYPW=6Im|kBtk_UD(-ZkZXs(?%v&dOC~ zW6Wg~bZdK>k%~Xi%UL85QYW&pdYBE;0BFpfUUm$d+NO)xT`1|ay zxzjKx3yn@jHLDpoh&pbNo6Jp4$_G4y(}HM0&&2?gQ=du;&!ohpq;nxr^70|P}?0WrXovm_r|9COB#5wwm_m5DYAx)~j$_JgfqHUm`xIq7SOIk=EjA480 z7(Lg?I&~jzQ^U+?-3F2*w@j0RYp7Tb%c(vS$yPyRpAL}5a=;J2QZkmCEKg7G^&^u$ zIv&liNXM^-PWDpe2UFAV%6~cSV*rbsPK&q(5txennb}45Qt2O*DT)d|P!Kc}Kld5{ z|8SpWaaqNWn#Zk(I<&JsW+JxTXw)k0#pq>l3!}a~K^krmKDlanZMJ8b7$FsBVSeH;#xrqtCGuIHnE2o1{`#cyX;d-oeqeYfwxD|QR%KnzyXC%h&m0FT zEmICHnfURt8umXfGBVq-JUX>XJ8(s_JJY9RHvX980-k;Rv0?uph8(t2yYT8nFY)C4okDfgmzTshRoUIIlhzfT zOV`)!#W{<=@qMkeGW6Sj5vGMr1I{yqD_hu}1IAwkp6@?m8dal-!1V82e$va7RllPB zGrGV<&toqnr`?#_u(a3y4S8Ruyy_s*$S%Mxrs_^%?8x-Q^sU3r{rrT}V$IVkt+Gcy zgUU9MhFlyV9tQo%{QNB0myy`HqnR!$-7!1Em)S=-DQ7Il<|>PEPXsO&IKeavQ-ido&>M{Y~-qr207;kI(OZ`Vz^04CY!wey1-krA!f+M3JRu=zzi&> zWXW>857?rAg*O9hU$+18rQ_rGuzHkqaa~q$`Vhm!9}^=jJK67?#OAz)tz1hw?YJ9> zdGxFy@7gX)d=BjXPPj2^Pv7;4#?(gvXaFaB^SA{;&VWMyTYr}9MyEZs_WrBz3jmzKA-ENbU&m$0$2{#<$G zIlKX0D>!aEgJ^Chk^+RNg!z|crQ4~KUVmyWeBTjueLN;Y4BB`)M(#NZ3JD1*+YPfS zAUvef;gVXDf(>e$LoSp%RxvfJ-l=2?(9bW-Zivwn`a$3AcS{{@II5 ze7E*4Rl>RDP{)}0WA?76|TwkWlTe z@F z@sdgexO#xwO8Z`i; z^pLDqs;L3-k)yiC8}EWhSRE2s*wAwkg*Evixt!L(R~*F;)Pvac%G#C6LHqn5ws531 zsR)x`t&=AIYqx#E;40H*VqNf?2S9Yt5%2!)A6pAuMs$ZhjE3~RfTdiGBvUlT!~(|2 zbI*i~xtKOT)B(J^Q^R;s+VIoZ5i7e$w|GuCPx;pu5$c&r-k-I5rU|Pi=VPGN1!uFp zYxo^51UhrVm8Ig}7{)WlQxgS2D8OZ19jW3nu&O;fqYow!flm1gl3MS$FhYB3=M9c+S$J+teT;i z_uR7j97FBzmYnyz&p$?%bD(R#LY!pKFQZDIXTk>Wb^tF3>yI{$ia*~uCN zR^F0UDs2spQ-Az&4=tKZ6m{ow+t+4W<1do`KMJpI;j%s=Gor=^Vq{1F)jJQ3#$&xUb>(uUb z|K*(+<8l5It2uu&`s;y4-*?Uf&vyhZb@2s^0*UpBpSW}AMZDS5=L-WgdvLV4K@snQ z#!rr3i@D8q$KPK?Zjn`DFViLo=N(bSWiBn>=8h}-y0}yJ#Hl8AJ?cS5&dvKT{D3dP z;Kyu&eS1emJ}%I{Pb{2ggZ)wRdl*4lV(@p>78|Q1ORni)y|R;6?cLH2vafYIc6)#y&W_Ysjhoj_oGWntJF-FCFr%9KOYx)sbX4O zYqB*;5~gB1R)W0_*1dFT*3aaSJ&-PMfMM!xZ}?Ltivyv;Jf*Xc^G7opw!s-wge?1t zl7n~Q;a8{X&Q*q5edpsVct?`>wXgeOqh9&en`W65fHtdJXoNbImRzN{FBR?mQd9KY zRPCYNWp<-It|M17v7_%NXHuVN;%#f%&80_yFJ8n=XP#Z21&#@E6{o_QSTNG*2RnC@ zvu@v4$NILlWD==J(C&xILbPt`wdr2`mK@w3*HhKhIlTvocUi{g<7xu}$_Sbq!|+L~ z`xm=}QuHws<|5^&tbl5%rmPO&6IGEtBW&;mb&={uh3$}!-K-`Me@@qFDo!2e5*a6D z>{iy7?B&?ggX8yyFIqnh9GwOphpWhXqwZgRtaDvohGwI08PXJCVi8@>2!8o=b#4xk zXT65wqB_(MYx{w% zQ4@w7pCVOQ^OlEhD|fKVH0;IlU68EdeNIOclszD`Kg6krPzwuh_O9xL%9`ma*VZ^* zx#&|t=hzKMuwYu*u^5i}!f*28CgGOo_Poo>Cu??y`J8f8Nl3(3{33OCR-~AgK`VOk zYO>~KtV2YXTMkBgwDV{ohB>6wCceDVIwo&;z{=Vn@5AQqH6jn90{^6v*YfjX>{Y;1 zTl<_yDbEXe!g_)>EB@4`;!i>7im83kRP{8PJ9GBB!Z#JtWqvU$$;*Z+^>7SGW!Hs# z-`wFD5l6=dsC!(?eCOmTQ7Oi%*4_gQ-c*!bn;zsl+@XDRc?&vV{o&{{zVf8*S}(3! z%Z`oZXUcsOj~}^wyeI97EX_;2%@HH~9Em%&ED0S}VrWT`wjqR+ITf0R=%VNgxP>U)=Q&1%UbHP7@K#G5aZc^?R6l)|uy@lqtG?fsU zsld5JoUctHmdLs^Kkch=T=yK6l$pd9fHw#?Qv8m;-D8FLR}hES&O?HK<)FV`DlxSWT)S%(8i-HjM(2B zC}(!R{-#LTBf8a`E7?XF>^|3IQrk!TfCHsQS(>L=2${E{^~N{So=w$SpOq}$Tv=NS zX0Fj-bYTE58(xj>Q(|OnwHe{$G<`}|oH`cH<|q#$1=+~ zdcAGh)RuQ84KLeyWBlpjn15=05a7w|@5~UQR#`@V>KQ#WUTF?F-MOs*e*<~i_a0f5 zk2<8woLY{HgM}zc4l(ypy!u|S@r<)1IWUl{sO$Z zsCqFl9@HXil_nmoe^5gcr(g6^?8=^80$xEuAud@FbV5TeNK-Ss_u4ujw*bQLd{>K9 z9>#h?Dk(}`xgOYN(eSIo(1(z>uwP3FSAJUaa4rTjnT%;4tvE?R{7Q- z7w=1=eST6|fkXn`*$fD6tQ*$r@KCTWhdBOHC~uKNw&~K%cWR4k{9Mxyms~#?`}jn$ zV1G?GMV<`3>PhY}f1LTbyu5Eb(QMfGz%Dm;5v3@5v-;tL5M2vz+b?S=Ev5qW$LPUU zy!%2VKR#=ntza;eehoPecy5BAy`?s6+)wM9eOHx*Jff>@9&2pwSYauJ@06?@z3=l8 zzR&E9sCa)&}>Wa|&Fe+UXV{ct`#%}$r<2}WIfv1`}#e8k&D?{Zs zE`IHmDDLyi?RRqG4|N3}@1}NtX!1#jVTm%YZ;c=IG0zeS{WYblA9vR?L?IWQ2$B{4 zxE@|cp01h>m?7gMpm)Jfud!u9Rx6oHvN-J$pu1*Co(KW36F6Y|fMEibAlRK}a^?ik zk!;}6n%x>j!wfxopkbgZsA7~D0c_y1Y;*fM9GzsMc%eaK^B)$MKU+ad2>+AY8t8MWv`_n7OkAv-`|*T_wB9_SDtQC)c{dv&ZS% zP^#x>0BYRy_=RaaCr0g2_bcY=dcw2RAMG4|`I0jkkGQCUelB7932xe&KFMviL8_t_ z$}b|xn;jV@ay+Zia?(8Po&tvEW&XSNJ`ywJan$|!XZw7d02xN9iP1Sv@Qa^^>(4n= z)3_}~jy5dvW?VUVUm{?#zCEOd7Db{_AMeeM&q?_BvGk9u=q5Q9(@Xg7La5j7(7WTP z1^?b?_15Gu;nf%P^nSWJlZ7|LzdFkH({AwE?c?wbjh=N|G8sKVNtFEyHglM?1r!rs zAB4kJ^2PHPjF$nx@V1s_}m^%$AZ}a#wyNF>; zvtPP4)1mcmR~)>K1>U^8>oToyjdo4@bL7&5sksbbD8H>mQ6b;cvSE0jXUG3g!K}e} z;7Zklc1QR*zsN@xJ4D{ys{4yw(c&LGu1N(x0GLtQ|Mp)R8zM%b4@Aky}>;Z0Of=?8LsQ=H`9|HT zQIBqGym}<)ln)m?4-Z(eA96vpp9KlgYLwj3=uN)v@bp!yoydGZr6x1G*DdNxQasy| zM@~h)Z#1H{!SG#oRmCQ2x=$ufQ7o1sYclDJv~i2=Ipd30j4j`0KEAXDmu*c0f400v z`Am;~N$H=V1hFMU*fZC18(qCfhrNR)r-#T{z>n*zOkU&939rjz-kVrOUm*QVW_adP z743d4!x!n&jQWzNk2|i_9Z@6Bu6e49%fHFqfkmH5*b-XkF%^r+yfm1b}Rl_Sp)NuThfD)=Dlbt2wicIv*)2mKDa@i6d zsctyqW%%Np@rL!cT+=Rie31Y#L2hs|-e@fNnDsC~m=ownv}FQu8MSp<+kCcLZ6J)Z ziFNn6zbDY-Et01AM5{2vLlKT~LbCC~_Zlc&rOKr}8@!=s{L;dg3XTirmdRK+Iv EUs2octpET3 diff --git a/OsmAnd/res/drawable-xhdpi/map_car_bearing_night.png b/OsmAnd/res/drawable-xhdpi/map_car_bearing_night.png deleted file mode 100644 index 5254993ee9f8cf65e86f140c956d73220e6a79a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6059 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 Ob1kecrc})~ujD1bnx3UyPwu(w2Nl}(? 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 GjrkAm;0z4_ diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_lost.png b/OsmAnd/res/drawable-xhdpi/map_car_location_lost.png deleted file mode 100644 index 3d8b63d14858274cf9f887ea951846b617ac0d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4324 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 Un(uIp9sXl6Hn6}v)^m^l4_izPK>z>% diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_view_angle_night.png b/OsmAnd/res/drawable-xhdpi/map_car_location_view_angle_night.png deleted file mode 100644 index 65f4e655c9d2ad665020062bb80f3b763b7a4a25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9098 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_default_location_lost.png b/OsmAnd/res/drawable-xhdpi/map_default_location_lost.png deleted file mode 100644 index 224ab742733f549a4ffbe4ee322b0735a9d128dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2729 zcmbVOc{o&iAD=-)Tw*G^$uySMF^gHuWG2iQW-K8!ZY9Rdp@~_V8OtYjX+vNfUznVcg5AZ|QSH~?n~IFUdgz~RMi zZ30{%5M2d7C|DNk>qF*>1dbdn#!(>rTMlbo@*6>uyXLqMTPC=3pX#*on@G8zN_ zdLTe+5?%y3kk0sO3%sKsHp^sUG72S^%N^xTjv`4U3PU21P-rX)i$#J6q%>A2<0z0q zsqM4^9guP*e6fr#62i5LoN!T$jDi3?{jvpt*w^=)uu%FnP+-VV3XT|saYUm80`0y& zqouMy;6HAB7cC8n6$7Y1Kq`unaKU^;*iMtd*!|d$76^JnUM=B+N#R7(McfzxAe1rb z6a@Ihk;mtexkP6IfJYONqzG;}5{D*`kQ^KuK$37I5)tpj>p>}bpHc?;pO$Q|WZ2*rU5eeX*BTeRi#|tNbOCS=k z01_baI7nPX1Qtnh!h|EkIRJ+n;e^Ek1R~-qpZEVp5CuAg(w57AmCy7NSd-f6w`Kru zzO@q|1bavVHcKeu$t?&(zkx}23sO9M9n$N)(Gzy6rmsHaQdQT@WsAnu22tw7ef@e29yLhFrtr#*w_x4WrbB~ZnMs}TJm;GsP*Q)xXQV%w-H+aR|J-0_|T;Z*L zgLN6ITMvyDE?qMl&b9AK(xtn18LOA;Fly{!Du?rUJU*eiy!>Fc-7`bODzmW2Wj9+5 zcc4ctdMBh(sYn0hb}IDwTxh5A358mRJzwbMZD($8eOjpL$M)z~7B{Ny%_KDMFz?n) zbUDsClQ=&4@nz7pv9TD;%9ZCbB9$KwLL#9V+Xg>9y`6r#va&Mx$nVb+%SuXOZMrgx zhWGUlboH!0?tJy?)oAC0#_!0{qowhR#PI&*#61EtZ*Om%@fo+VuXQK0+p=1OKP#fQ ztx7@UmzEAu)UARer~yU6fxB@fZC%FHbHl0>$loeD}3G z8FV*83Id_=@$se_+TEezoa=$bRji{r@5fT}3?#NthXXh3Qcd5qyZf9k`RIDaU% z+$4R#cANa^!b#}u!doYZqUN^b@$qfYm0jWc&zkphH+1f_3N+FTvI9Ofw&P1?9#6Tk zAOW_mIHsnirq6w^V!YPJgIE5*KxH~%+0%OJ?d-G{Tzwi3&>;|{b|(t zy(xnO1OFOs%g3D&_cXHW8>%`dX1>Viqalq@@SZ;1^+07?nCU$Ck z=utQToTX zEw$iqTb73PRyD)KxO_%PTBX`u9lt#V2sRiTsQ1jxpPWCwGogtp2;G~TwSRnHQgd?D zt&X}0dD+IxlG2_7cFlS@_CTf`=ArsP=&+Y$%a(z3uo*)i_lLrll0KL=hDUpoA2!os z<1E+A7%^gGz%_}@nM!5CPx>wY%t{@x>f8giWX|hzEN{>1k~TiULcNEM=x3z+fPo+;WH7+(^A9oAGBuoOx{$=S0n zvDL@x4{8j$D`NWVm7))mlS#YBIP(@Rjg_37lJ^%}&6~5fe9@8+dT@4t3H_v%wY6Yq za4?-nAXEjh*~E$MR6E1Ej$R*!@@tiqV~@rLyXSc_7+vbOtBX!GM6GwBB;L(_JL>;7 zYN==TW83lq7R!s}njJL!yyxV;;-c5gfI@20p?5=w8%t3y+q-|~=lqs&rOax|S!ao% z!LwiTI;C_(GgD7v=dUwzt2oh|bl4VNHoJgvl{#QOno`lRX*IEuo{K1eE05U=?>Hk$ z3#Qh&60a6+S}lM2M%PDz$C+nf5qB)_yWG_LqpLKENG?Hkp1%9X3MoFbwLve)>lWYS z@7jr%&iYdpHu36Oi-`aE{jdE*Jbr$&PsbRN*`8%@KMF7#xK@aW z1+W2v0wON~} z003a>yNnqG?~#+AkpcXFyf29iZ#HrkR~{^mmM4Ky2=L~MqacK@5R8F>AdsKDwiTiQ zfUZIi!j*G50aTt?hz2KR&E5Pe-nD=U_P! z1{5n;woVEKuL}&}t&8JP_{b%m2%3TlD-c3*5TOvpi)2&<9r;-=6+Tb0F-XK`5qTUP z`Nb(NX9a>GmO==3G!ezaxseeh3L585A>#?I2s{=?#9%2H907&JQLz*%7Kiw{kgzo= zKbjiEWPh~mkTrQzvFiA;C=p;9^SQ>-DQ79A)7LUQ>QLqF`mMoHk3Y19ZIHiFJ z$#_zML@p4E5R)3gC~<NgDIAjGI6DLS{a6Y0Pr@(OR{@&1}AnXlwxl{lr1&n8kc?m*DB==>~k?;+g zFW^&oBr*|l$C6N#XkHYGfF)8;AOQ=ZC zMS^i87Kub8v)N=egUp!1`if+7P{f0#Yztu9U$MBq#Znnk2$YMZA!2d-R28g<70bo4 zSg{1bU`%G6gjmD@c>>WSbMa)NzPy_WNd<`zpDh&&5uYPX6@14FH;6|h5%CZTqVPc! zAvzk5qPXFrP*ETR@}k}Fc!)?se#P_u-w0x0r!bS{@|W_NV!<^zdHmK4F!8OOAQ9X{ zQn*=cimkW+U{LML^bS#Uz9_ire`J+qqqtCg_;^{hIb>bGZ*%o8W=vO~u9eZCRk6{_ z7b#w(^7Gomf4r(b69~2b6 zCT8Jow(WiEVfaJc*eg}vz*u)*UBv32L8Cbz{&NYi26Q7qU`G1pX;@&6K_kHZpBU+x zb_sPRClXtS_I_-RA7tg}7U_2n)%%wS)bE|zpw3*uGp^%7qD|vN`wHdufxLl*2Stw+ zw=Bm3^7`1GM>3~z4^${$=#T2_WbEwk?{AB{TR!S_zWd4Gzh5QRZ!Gz}y}jvp$N)&N z{a4zX-V0`QI{j*H4kJv5;9K-`Q{>fkTequYRgGg;`iqNpS65e8(ASM>8dZdRBCs$K$<>iHRv-XJjV)X3)8lI8lcn+W-lv`Wlz) z?CcHLGMal~aL48G@o~f0;LbLa3qM3yHrW;>63KlZysn0Yg^6lvYnOXb98gAWmf_*y zQE6!rwB#YCvam3}-QVAz#o=r}cJibJ3Wd_SW7u7p1v{3JlauqhSDUrkE{Na!^d4)U z$c59lBPT~q!D8Q_b{Th2>+9>I5)wi;H9b<+Y`jneC=ORvuH0g7=irbgj*ZoLW_Z<> z<>=?GkuwghFrU*d9#2hkLzy{V3>n7uCKk}=F4=8A?hxt3&oLioX7q@hXLBuT>}+j& zmXOI?ml^q<=TtXYi9D7+q5}7#Q;&M2B_~r}rc~T@K|Iv+D#Zmnal6)pH|e}_V`s7V zSySPIOnz34i}e0;J-emp&_G5q%{q&jIx?2BDzxsv0ehT>$4O<(+xIDYOQ($_x@~xJ z+4Q$tw|2Gp&!5#078Vt{5T(IXO;4t0=%Ph%Z?s>>U_O%gE~LZ zgoxHUhx-+k8KBNNDUBMdrUzxXFBr%T?d{GeF0W!W>SaS#{NIfv0`QsDL_-&K!t$yS z_NH}E$$slKik_xCSbLuECocE(+_@e)n@seTN+qqt3|DjH?Z}kr)SFMd0`(%zIrj7B z^_1?n<_7m=_^@u9ZuZ&JS5>y_Er~4EJ6bWT@A>mR0=7(cCfy>AdO3LOa3#94(P;7P zSZxfbsyZv4SF_mCyUE=8h}lKs>gO7bChi_`%@~O>b5JpkQ|fwd5@?d%ZHw~`*zEXX zE9)LzXU2UC3q&bgauGKI(=Ynua7)(J}8mL#hug)3{;)9+s;k`>F=!Bwl62v>REn>hy(mqjHHy4@pP_5Wm*U}uC3$x0btP4r#{1U@ zKKQJj@hEo3J1zR0AFckEwEBjIPofeR-?_$EKl~cs$0Eb^sU1<*TXtl>G9gyT9sO@t~`ABaGQ1%IsZZ7yh~A)6DpM|qNJqcj_9FUrJJ*4 z&oC{Oed&z0nS4LBaC$0gfr}o-#uN(jFMhw^XaJ^f;jJ9Mfvk|*+F$Q0U&{gNrV;scDj0D$Eq8u{3oh^0`uL?Pc&;)JuS1^CXR!*nn9=Vl>tX#6u;^eZgHhaz=``Pn3=lQ(v`#jI@`F(%C@AJES-WZ01wTj{n zMF0R)Y;9;vX!crpH>`ucgULZ8Xxc8NyGoseKGGnT7z8XiLT?ae%V!-2nIMZ3;{OCR z0|5C@uCuGu)&2m5E#xCvD>}$vz6e4CfZ5()5sU2yN@3pMajw7|{=T9b4&!pn;fD$K zXnPSA^yS)wib1DP2WNJuADhg9@7)743#LE@_@I;p3+D3#5=yW+{IgvOv|bUT;IPjs zQa^L}AEaFE88E6)48jOVB7%*Zq46jT8G*r3pa+kJeHn1b zo0#K6VbZL=_=0xka9^oZL_wi~f`X7iIHXW~9Kw>xC^Qy@#UdaLgd{{DWd$Py68%*R zG*H48b460FPyk!8$nq8jNX_98(?71j7unnYX;>in5-2ESs9=@|g+ZcGeE!P4K5I*) zOz__{{!&}w93lcyOi&^W5VN6t_~@^Kq1gSsqZLJn4aHH+g_6SJ(S+;(J}8jd(#+w| z36jI*P}n9UB1k}+Ajm#!Zv-AqBqLaOG>9PM$z&4(j?KXkS*v#b3U5WDTUtT!r(wxd z42Dj$#Gy^-RwO#f3XdicsPt8=tw17W3E1GOZ!YBf3l{UYSPE4PvZO+>vrx!etpbLx zP%4!83Pms~btUTrBmrh<&th{0D`KOSRQ+*t8Yt!lf*dQckPrJDYYO)-c#wQRHV#h& z5m*+PgTS-MI0VTX&qlC092SRzL;H|T(C{yK&i@-j6hsQOQZWBfK&v9CDp!_&wga^J zv!Or%)J0;bU5=y!AONgK+0rbXgL}qPU-})TYt)Q{PY41{Vh$c@AYP{7H|8<7?29oB z-$k=Y3|GLXB^1A=%B}4`mGIk5#>70G03cT@aze0R=l&q-D7$(L2Q)_t{)OZ6@3F|BGN_14I>I`q9GlsR$SlIde`SX@6 z`|A#^SCn`HQRG>pVli(ID|73Bb!G9DTiP=;wiw+c>pjwC z5N0x%cix`bvz)}*#;@!f74kmRCeFXUS!2^4+JmL~MUz|@!l69;XqboQTlFz3C#Uv? zEbgns==8FW0K9K8rm(OO**cFN&^0Y#luut7TL21NM!)j9#d}$`j&I>^yrZq|x6?a5 zOx+RzS|);1w#Fjww)D++M=s2xD}S1ctwqzvWO0`+xpWXZx2{i%Br8Xmub--PNYBh1 zcKdZOi5qMGz-m#Y;6dM3&7Mx2aztQ$_8XG2W%xzJ)dQt5nu0#*w{^CQk~kMIR*9c` z%x*G~BzOCqEZ944|5O4!(l=WdIFXe1^onZFIhuw>;6_G9u{bW{_N*{`mJxm9_6)GB z&3rmYw?Xy2uS*;$f9CS>1&41$*ke5&3RKruMMXvRKQig<%t=aq7!EijA&|v+p2KDg z?KQzN%6-Ah2gV+KE$TG%kA5BfK(3N4<)Ev3{LFUmZu#B&V~#hal*2r_+V}~CT#dc= z-%y5=w6X%ykX>DEPAUsKd0($YBDp`h|7_&B79-MG^gaI*XM-LZ z%m7n&ZFQXbs!q;+!XHS{RN5$TOdK$2U-FLKYtZ#gRYU9}Wb?e@$dm{AZEm<*_q^Ao zo>%Lkn)s=)#bD4d;}$_2geZ$qi2W6%s;WAfTfU3TO8mCE=3<6>$j?!v>byf=Yw4Q& z(}gn7dE}zDj!u~HalDRa`<3sQjYSpJ#!d1!7u0*zG>7Z!x0M~+nSSk-Vx8lQrNvME z0ovJf8;zf8)^6?MluCZeTW6%B-f&EP(A$is6_Wgpvf<^OJtkNz_Hy$`e&^V!+e*Zm ztwrVWC5b-#6N647?I8Nu^58uhnaO9osE63tt2}Kjt+9#8NnM*vW?n;~@Y>sFLqkKY zOG``b`0Zr0)xs&~q`Tc9u^e#uu@@^j8waNdW9E_^A zrc36eq9@K-Tl0g(l&QzVG5sPch2{j|`61_J5@h wC`8BrH9%3$0x;YFtVx6YcR|GZ{Y#s?fVAoJn;f$C$pC2B(j91b_j$>F2Vf?m{{R30 diff --git a/OsmAnd/res/drawable-xhdpi/map_default_location_view_angle_night.png b/OsmAnd/res/drawable-xhdpi/map_default_location_view_angle_night.png deleted file mode 100644 index 9ed2f183876b2a815d81c87c3e5c6727eb1ae27d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4280 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_nautical_location_night.png b/OsmAnd/res/drawable-xhdpi/map_nautical_location_night.png deleted file mode 100644 index 59251334903765d2da1d0613427b828856dc5d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2844 zcmbVOdpJ~iA3ttI61#4>lrbw&=3-ptvc!y;VG<)La)~i>hB3^HnZr!Fd$)RRk&$>& z+hy63Twew$F;20VK$IY87oQD@8A1>sviOl8j26d;0{uY-Ykzzb z=mG$05>7x66y&pmz~sjv8A=RN5+_iw0l>vgB49ANAOwp9qc}WQ_{%$Wa2SW>3J-Mh zLHh_iz-W$Fk`UaLt zy5I_HLKd6gPo{pdrP#T`qajE@K%vB9F;eV+4~qB+LZ+e~?5|eHiroFZAtg}Z4S_D?D2l>}CG(jHaUc(( zkzL`6H%JzTMPOoa&Y%+-i@>v)kqAe$GakWkM1u&tBOZ@+a$vITof#{7{)&%wz>=tV zDjH3~VeIWGcoGHeOtB|=;3;Hh3emx7g-hd!AO?>KuGr=%Y=7iZsDH~PcnCoT#1{te z`LQcq;1|t@_@ZdO0OsMLtU3;6%_u1Fc2(92Mof|0dzz#uxLj_B$|!IMPlt8m>4$v6QA`@Gl)_+g;KW5|FzG`k)kJ+ z;^$#dY(9?@$WzRaP%$j>V9P21SWTdji2;(n$*}iabBe*mf&Q91vg`*o#iOR%RVQ?d z{S8TlHiuKlUed!_(e9R<`xal?%;&jzEqPpC)_+Uf-rt_Q+pF#pHTcWor&YEph-k#M zo-Ld*gRM0q88!W=;k*4g&nI8|pXDZWPab&HQ*$9_PCgj*M{6FoB86(Z$?KUk&DtH% z1FX~m6?f7<6tXl-7&e`b#h2OMH|j=2a}4uNEPRmY2>uvzKA|8qsBL&Ia|pYZDpP6C zFKWZz-S!2OGfizyTBm13d$lfuCCh9coz~aa54*)1=nE+fs1=0G zt*IC@K+75&_EhOkxQ9hI^qYnntq(aRD?RQz6+Yv(K75So?a)>l`qOkrQDAB9b6i^~ zBvntitn;IWNoba(tcNtT$smNR2`~=+S!vQ(yjpkTB+GRvqz^_6NmnVq-IBjXRaJ0n zs^YW-UMvqqi4aGAU9w7#pPlS2hMjF*cT~?A2ws0V`}c1tEVaXZ>O+U7et#%$Yincd zd7Qbm&)ITw;|AeER9XV$YQASr>XF~>9lN?})v9gG1fehwg~E-T-FfP5{F6IZCwFg!rm6JY zyX75zM4Jr+DEdj-hOcY0-P0SodQ|=LAnoHM?K~H{_1UJYql*@Yf~_r%?3*?FQ>$w* zBCs)cUu9SV?!dY`m|0m&O>OtCeEzO2m$F;6vIzu&Go4O1#%rdjlWc%*OisjX0hmlC z|9Yd_!TRea;q-j3`k%|V8D>MqYICnzP&28AGmjikRNNv*k_!iC_+;WwrZ9o4Ut0+=nc7clKA)%ld%ja4f3 zkXtSgvAp;O)nw>u$(yySVV13GH(NA1Ghzz^u7@FSCk_<-bhdFUm+YPe`=Q8# zCVz-AG5&Wl6vmfoFH?-9S1wS2cD3>tx4v$}6dRk#FD}_~MhUc?i~M)9egpIXs{5P4 znY;Z$%Y0+GIG$Yi2-G-Y-CfYRu<@pu%9T@378VwUMo+#ddK0{32nX<#R-R*>bPYU# zYY*h9X4u+n?QYj+p6I6)W`XzmNg2M@CC$5QJ?uQ)NeqqP9a^E0bom>U;ux`Kq z2arIA-Sx7{XPv*RrA9OBDU4|vo7wuq)vInTqeAZJV#6al;ali8(3dv|_ zXn4sVs$J&JPN5npgG*bdUG#pjxTzDrYv17MWAa74VO6HU&1~-F(EIP6R~M` ztC)PGAk1ew0iJagKGG_|IZva9o%E_54)da;qb~*7?c+S1Z#QBcwL^+@x~0zu`qNu* zX$olQT>*u|gW>$n(F^<+q*AH8q@<)4A`DcmU&sP|QqP>Rc=6(eYioU*$*k8aS+51y^md+L0A3H`&*%6TLWg2vCLVQk zbTkdz5x>8;*6q=x_*m-;c@K?Q(~*{bNxpGbOBEl z(rZcQX!|wu%(T8Gl>pjPjcJPP8`QoAuUirUDqxh0bND;~Z1=DGh_y7O^ diff --git a/OsmAnd/res/drawable-xhdpi/map_nautical_location_view_angle.png b/OsmAnd/res/drawable-xhdpi/map_nautical_location_view_angle.png deleted file mode 100644 index db4d3d4a756be7c61190a8820d5a09dc9f3d7b05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_nautical_location_view_angle_night.png b/OsmAnd/res/drawable-xhdpi/map_nautical_location_view_angle_night.png deleted file mode 100644 index 908e52b411168cb6ce74edaf7671ffc646531ffa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4253 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 G1pf;-ckk5z diff --git a/OsmAnd/res/drawable-xhdpi/map_pedestrian_bearing_night.png b/OsmAnd/res/drawable-xhdpi/map_pedestrian_bearing_night.png deleted file mode 100644 index 37fba19f8ba0e6dfd58f7eb330708da72f20da3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6059 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 Khb~sP4gD`)4&qAy diff --git a/OsmAnd/res/drawable-xhdpi/map_pedestrian_location.png b/OsmAnd/res/drawable-xhdpi/map_pedestrian_location.png deleted file mode 100644 index c2cdd3879dc163f559526c1837c805f5707101f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2835 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_pedestrian_location_lost.png b/OsmAnd/res/drawable-xhdpi/map_pedestrian_location_lost.png deleted file mode 100644 index dfd5c4c6586d7af37168fce363b351c8a0f7120a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2709 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_pedestrian_location_night.png b/OsmAnd/res/drawable-xhdpi/map_pedestrian_location_night.png deleted file mode 100644 index 3eba24a741a586053003f397a75d92e27a7cb062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2835 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_pedestrian_location_view_angle_night.png b/OsmAnd/res/drawable-xhdpi/map_pedestrian_location_view_angle_night.png deleted file mode 100644 index e433ed7e0b43bb883e608508277587a1b775a8d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4256 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_bearing.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_bearing.png deleted file mode 100644 index a7d11cd28d42aa0a273f17027f79334f7baf2ea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9422 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_bearing_night.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_bearing_night.png deleted file mode 100644 index d20656fcedf057b651c0b7d520032abd25d32d3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9250 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 AN&o-= diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost.png deleted file mode 100644 index 35f3ecb1a46f0de2c21aff02739e8d3827f45d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8276 zcmbVxby$;a+xTE~cMD^L^hSrofKd-2ASF^`8$HSaqhufr(ntz8P+E{KX%Iw3N>V~F zKpF|Le)D~w=li}t-sAn_x8vCE`#yKpea3a2*LfzHn;Fp4@X!DN0D2=sxFzwL@#jlL zLHzxs|GtBG;l}FOVQ=`kVM7psXn;1#&lL?a!XVtymS_YjG+-R94gdggo>q2PJ5v)i zq#s5G@drl+hw&#;0|4q;IDZ7v8;u3IqTM}xHNXemePEC$N&{@GXbLs;*F}4H8ioa; zZ-kjyA;Y|pswl9QCP*EpMr43NV-X-6#>e-z8cqZJFTQHT`#)d^81yd`thWaE-%8n; znuB!x0?{Bv86|0?th@?HSye_>QB_4wK?)=Xl~sa3RUxtp(ok77sHz%N7WDTAOq3Rg za#OQ}>;El__@n{$z+(N?Adrxd5Sb8p8NWbxh^(rrDg-JAk&}}qVo2W(^~EA^(!RHa z{^0;e-$n*{`eQx)d_jLWB3%7~uo_^ZrvH8gjK8Vr|1kEw{kNfrCWGJ*{t#IiClP;FHmsJ@c2l7hCrtgN0gkxp4pSy@R%UtdLES4H<9S|i`vScESU{f}%fqod!zbvih`5&~9Mq%b}&wswjlCf}5M1w5q(UtF$WujX=7|%gLdYl)-<~ zqyB#_2q7v3`4cYxCw%?^5o7Yt?f)bL@!@~c3GGYFp+I7?6nve34gl~48o{-#a7(+6 zp;)Vt!iIgU4T~Wj1|ta|5vHJGLMf9h@@);Mb8;X)zETZK1KlMsT=1P%8I*RwnTI!j z9HsfGjD6nF$O%9&63R$)6A`S+I_9jTCOT&odDRDDlHaQ>}w?yJosCcR`*k#5&$FgZw%2A0f*XA=jATUG!n3`q<#Ni+U{{{aI21^yfO zH?HNsf&Yt33NjGmX0jNjEMf@3++10D(R%=pE4DK z$*3aq9`;%A;dezzwm9(5A4Pq9-@B>b-=xQr&&Mo=fpT%#@m+dTUaky8kH0no7r6{R z-3qu}7C<;R`^x=`-zL1x5MWseWI7S{>FW+tN@_s>0zhT(FAe3Y097(jR-Ez*srcp= zV79K$SHJX{D*niFd{cHC9HhY5K0`9b=+C#pUJi_Rl%;}C8RyCDHMEf_{W#lO zHdgXmjj*7k172qhTdV5}3C!a)5^UF$nSt#t%A)Qll!>vS;h6Bl^xp8D zot-ob=w8&tMnd0@%P$R*+wSygc%IXFQ&Ldp#Tz`8Aq{LGQ_aGVeFU`LD0ydZsdave z`iE|*W~AF)HLt7T^&9U;Qm%>PwZgU^<-MLt-w6UJfmc;aJmxE;PQEIhp)~X7lrFOry6`}@Ouu@*X589`v zr(5l7cZ6mEqPe-bTRU^LOYZda^e$Z4j~|P&u(Rt`x$C>Sy0%CvDc#2&tUeIFdNteW zSy*OEi-HbDvX=E`)b7I5--Viym(Q)_tY^}9u%1>4biTXwok>SL#g>RWyAM1np0IqC zJo@$hK)`TraP#QsNa&SjSzTSKLx+F#kHaCx*sk{&H;L5TFzi-5uPqN}?0cbjY?76>SZkf8yBixGdu+gwT8votK$;xg5|&V4P|XAMZn@T1_bvH<;ik-vYQ3u|c!hz?a=XGqWmnu$^4$tYAN zZE3;+ztp#T?Yv5?B2&wH@Zjfr<+X?#{60*2VEkc?vdt|iP(IcA!&J({A0jd``)=h) z6B83NK394n>w2=R4o{f^r{~aCE$%%{|Xj+sIOhHWbd#pN&)gxO`hjJY0;0B=+7%kFCc*97}cAUoz6tkzf%Kk>`eJi}aVzM@gz@EGz}^ z&q4Qayh&kB@e=h-O~-)N?@kq7^_G<8^noWus^wjdfLW*IFrO?B`Q~s1YWTf%E$(Pa zbt!&zsn7G7$8KeiH&;LNihjP9s;xghKEBuw{7E@-F&I-Fk<;Z!;p2Dp@KEO3EiR0O zbLpK+&(}foj_rnTsTAd?TT>!LtDjllXVzZB`44fqNXe1%o0pmDf|7;m#{(?jy@DWD z5;z^5`>QWu>(P`HlO-D8Ef!zR%779W1M}ktdiNEshmX4^2cyZS);5@&N61p(%5(t*8~S(6-H$b zu7$kLiKgt4rsMxeprqkH%y20Ha$Mhl;EWHsORf7?<fm4h_$(kj%dci8x&pyc&9E9xg@0aaLwa^Yc_A>;C<->x81{ zrz(b2qgB?5q^v+z8N%=|Tv}$PFDh!f-OqWNm>KsKrR;9h*3^JMeE6_6?;JH(0XH?h z*LVdGYpu(Vr<$gt^csYrXP`RwbO zp{(SSR|rK>m)ln%hjxnjh!~j8;WP!FG$3F5E`?{OhFo%b`n=58Pj1!YbDZcFQ*KU< zM}QcBLkJ)SV2{an`#!d-LgCBx<#gV;!BL$gy(Da>I=wXN*EiSKzXHI#iARg9;w*`g z{SLtt#lnu4!p@z6AGULHa;gbuZNBenKI}u?ij13Z9l@6f~G2`SqL8_(blx zRF~a;;FN7p$q4hok8LquGfXA`lu7cgN#v@eq+|h4oK6b!;18)%%6xB|D~IcyN29#s z#GO#EhW9vnkjUilB@9M}L}{^bb^BBUaTGm5_1%6~hC|Y$#>9*D6_iSDS=sse?!%{g zr5h=6+sKjD(e-FO=S8(09rt4lpVpmXK6PBswjH#1XHQ-r1EG|%O6GXI0#WWtQhYW{wmev7HgZ;vm|A*-S866BL&Q>Gb! zHL&QFk7OdHHet({c5XASprMnGlcjzBD;)tvVz@hkeeS=Xwj|l_dwt{Ur9JO|_9i}4 zI7ZWD+ruVzLl)`e|FqU3WF^4BZ@NonbXl7j30x$nz<#Zg1vS}i?m^yH^ZLr&-N3LEql5;<^upd)&e}$i=rdo3ZmXwiN3=IVmPno!WeEI=?8h`b7a%fjD-ds9_hJ^nF-6 z<1E9rpNor&2h0bi;ihm0w&ZAivd5wf<~$i?dncbJ4>&b=FHzPs8&7pzGPyTbLM)^6 zx_FRUR=m_VvTk-*ag|1L>AhPaAwZCaWQ1On>gYPA-tOspcCr#Tv!!)8tbSg0cLK?E z;MDPl3FmnCq)YsFjzpfJo`H&!EM>w_7K+1HsL)98c_U(o;u4s#SS5efis(bm_{enq24g%4mS7P8){xJh|qGm#`txLCK1XA^@DEr zw9s1FRp!A6;I$=?xX|}x-~Lb~HzFIdMNLUBExyHP;pZY|ODahL828??j#~g><)ixH zCAvuo2t*6KL%Uzj4M6aZ1!iEKE+ws3s;%=GGl&&pEVT-;>LCGAWeo^By_+9yPc1gt zNtAdsffsJhER6bb^t?eYav)NHm2ptLzh{7rmv>omrJq_64+kDfWN}})@=h09jyhe0 z;uANuz-o7XT!=@{W{|{j0TQ_Y6SaE;0%3+F2)W2`{G2yoXzDJPzzmZdY;jrp^0SuI zt-3y3+FXRYp)UK>>a%d;#2&96Dv)Il4UBk#8tWu3C$|X{WlaSl9|ifxrUOn#Jc@=< ziTQ>K3=%N`Vp4Q*x9`^f1zL>pzH{f7HCT&kL<*M*+X7a_#Kd?dbv>;ZgpLE?p#`7} zg$MR=-+(O8hDGN?sYKx$+5^6Q<;5>q+ph3z91g0Jx-G9S0H)}1rzYrP2^ko?thS=KcLe8qDeOTZjC5O!hv@*vqoA#iI93*?-CtKXkk zO#VHQSt#Dv)sn;*RB+D#Q(n9GNNEp|qv;f_>Lo=xLcZJAL>Tn1;86OR;mDhj;9mcU{+0ym!`;LXSo`^O)AM#4I?pg-IEGjg99bH{v)sZk%qFr#$rQ z@T!|@)x1e(^y!f?Q(j<*4Pd+{`#xxOd#2J@WO^{LnCv>4k21&9n}@ob5QmON#-mjV zqa7szP)#lUr8LJk_;@~35;FdG@QbP>epLdC#ZE)@@Fi7M3W;<;!Dl-az2UGjw z4xzA7?d3zdq?|*EK^MgtmbY&X(`@zob=O6hAq)vC{50*HA9FALza67D+9qIf=Z8x9 z@87#_pO27TIXHg+%QAWB=U+Sp)*6a{5@>i|)>L0>hQ8k$b!HZZC0)#KS{PX%n*Ce*_{` zfTFw@C46TollEX;;?Q8dbhW-bL_Sw1S}fyHO~;UUiQR^n(;iRp*k?tPTEAEP zgG$X_)`hG^hI}fJcjtdb+;kD0z|=M0ic=Fgo1%he3BN@KLpJz3IF~Y787Jd4T_z-l2C50`VJa@tpaUhs*0m770IyaCs`vAJlJK?mjZydK(IW z6%-WwtWNx0TctzEW_P($+hD(>aLYy8YL(oJ!M@t(El13FLSY)0x=l^)#vl!=s0kB4 zJ2`C?ay0c@`{3Z9a}Z!d_hzFhne^1MP11(9r&T>)Y*9GOGDqU zYL9+UzQZZQ+RYxZiQe zY=O#ND|pdUKsIfUl7B=XyiX#o!?coMvhFcaAK7^4U}%buPBCToj?KW3RcQgZC{M;w z4gUK#C+d4+cInYkzUGq%cSuvx{7@s$OdDClt@eH3B80;1a){z_?qKdNp4F#k5Pq=O zoY3?8*Y_oEb^^Iw6xpA0h@vHKUD+!|a*=1Jdb%OypFAK-<1nN>ttMAIL| zk}}nC@VN(ogFljs0>~ViM(p}hXRjNy6r#uGv9USyT(w)2=FhO(mJah()Z9}lc&__g z=HXRPACu-WamiJysP+Eny4 z0GMhaI)GR17n-)$t4~USCA`8hRMKqDaXoqa!b>j%StBJVDA-w7w@Y4Q8LK*y8L=|+ zvOxafbo}9WE47lpjE%#ao;-QNQvJl9timmto=rA)M~~V~#*B2p+L)UxC_>46^lb`H z%t^~*lY;l z$;rBRDd@xMdwYAcfQ)|UTuYjnEQVVevKIHj%?T~`FLMIsW*(b{7x83VMbQtEtq>P7 zVG)s$t4~-y2jmRgS5q0JBO^B3c%vytP2PPo?FUZV4;7yGz?nZK+91H#S!sp* zxHzJ5JZ^kM)8;VX4k{!y7p{U5k2CeTBOoTv9VsCpq0{w&yS3Tb*#^9dbQ029T5Im1 zF(Xkr7=foCkxARCbgBtfeM`zJVv}Tn*a5qpl9D2svE;grh}O+xpJPt~$dP910>F(a zU6qd>iEwgo$W%u8oy@Cju?!d~6GSNQb8|^SNjxrErSu!&q_sPQV*V0hKT5N5bwTtp zZ&AIK^iTyza@`id`Nk_Laly#0ANHH(~PI5jF@g4jcAcK!RLp z8+bC>Fw07w12N=`Q`G6oKw-m9e2`2;qOlki%euB{bUl(ng-LjYcrYC8-tYRtM9Odr zG_uZY#BUsbTbOigtm>mSTlz`_J>2-d6!*p1vLB?<3;b?($VKD|gAB z0KLz%%v_%PIQvTeh{J*QHlM}75}bhSNKB2XC~5rTt58dlt?MkZLxmr1G%GM+&dIFV zjRc5gtjSKRRQa^n+ZVb6nlW%i08528Ocdeh_(1e&|EZhgnM;K3C6!@LY%CcjL98Mi z;14>Y%<+sw}tfmI9_uO-)j|6T~}Z_n7Mml8l(Nki5bj^@L*;N zOLfw0iYnq>=hPl{x^t7*TzvVoW+_J0SG{DE*xUqmc6MG<_F3>xyC{jbnJi zXJ)JsQ?Q+%_D#nsDsxtrG7aq-~ z(Xg!zO=Py`CsD<}N}-gLY?PEd7C~~&fWgVzfi8i8{edjsNP?#q(yp?}uab*oa4#n| z^#m1X;0UR-4{%c(|52kap-;u&qTF=a~jHn@Y<o6Ow;b&h*V0V z7inrvEin)V9GxqJ@vKGw7Slu%31-$ZYBHGHTvh^{OVtpSMP~wrjl+;10m|0_Ys3lI zuuB&A8b67LI>*wk9DX|)Kr=!Xo=8}W3U~losICHLJ3fW|ml@pu8R8K~bN@TU`!la2 hPWHUyfA#@@fMH%;K%$;)|DQR(k)9d+iH=Lm{{ymYzF+_V diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost_night.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_lost_night.png deleted file mode 100644 index 79b685dcc76e51d92d04c9fb9829fa83ff087e26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8201 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 G_WuE58`v-a diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_night.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_night.png deleted file mode 100644 index 7281c69a601e9f3cc513008f0da21fccf8b510ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8941 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 ZGG#b6W*P1O{ILa~sivd)M%gOte*hLnHA?^h diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_view_angle_night.png b/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_view_angle_night.png deleted file mode 100644 index c3e2a1d2f783eba19cd845834824f76ec835c0d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16898 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_bearing_night.png b/OsmAnd/res/drawable-xxhdpi/map_car_bearing_night.png deleted file mode 100644 index 6a57c27d9236a4fff37cbed4c63c8206ef2410f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9211 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location.png b/OsmAnd/res/drawable-xxhdpi/map_car_location.png deleted file mode 100644 index 8b12c334f20547bddcf01e1b9c8624e4f1ac7048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6671 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 SyY>4Y0zEBbROMxt=zjq(c@YEv diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_lost_night.png b/OsmAnd/res/drawable-xxhdpi/map_car_location_lost_night.png deleted file mode 100644 index 46a316ec887c3d44cc59b9048478e62f9a21572c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6258 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_view_angle_night.png b/OsmAnd/res/drawable-xxhdpi/map_car_location_view_angle_night.png deleted file mode 100644 index 3eb0592c2904990182bd0b11ac6f2a98b71ced42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17079 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 Aj{pDw diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location.png b/OsmAnd/res/drawable-xxhdpi/map_default_location.png deleted file mode 100644 index 13061d7682ed83e13acfc2e78ad5236a7a0c8041..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_lost_night.png b/OsmAnd/res/drawable-xxhdpi/map_default_location_lost_night.png deleted file mode 100644 index e396e0e66c86cd4df344961d58d9bfe748fdfcd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3987 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 De%0Q- diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_night.png b/OsmAnd/res/drawable-xxhdpi/map_default_location_night.png deleted file mode 100644 index 3473c7d99ecc33da5091865eb2671af95c9068ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 aD9C~~6k~u80e{UQ5NiuN^J3Ez=l&Ni+v-37 diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_view_angle_night.png b/OsmAnd/res/drawable-xxhdpi/map_default_location_view_angle_night.png deleted file mode 100644 index 165f484907ad7a36d8e8253c2c1c3f141e82955a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7225 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_night.png b/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_night.png deleted file mode 100644 index e6687ff69a3989c75570b501e7ceb73d9505d0e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4685 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_pedestrian_bearing_night.png b/OsmAnd/res/drawable-xxhdpi/map_pedestrian_bearing_night.png deleted file mode 100644 index 9ec8b8e195878957fdcad902b0f1f1278e77e991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9190 zcmbVy1ymc|)+p{yao3{32^Jg*#ai4w6itG=Yq285p@kNTy9O_`K#{^nahIYg?!{hu z@AuvJ-dcD4Z>^WLlbJcQ?QA(Gv-iAyq5X^yj}{LF1%*&uO<5Ot%>VPn!9xDVxAkcu z4>VpX#$I|*2QOb64={>?J=7M=tnOy>3aksZvG;fX29`lVK@V`!H}*2t(v-4;x&dtd z-~jyGU`T2d6d5@`n2nta*o)Z~{K^ReVm<2UVP$r*2eBH7X$fkC3lvlu{}-%dzGm>DPu5E7FVmJsD*78Vo|7Z4N`5R&8<5|KiJs37y-A6BF^4|@kG zU1in3Wg)LXtd3q@Few26UteEg{2N^oIl6Kg3Ae{m+8_AR@Jq((!OYI>p9S8EWV4 z28MX4D}z{(cL4TI_EL60330HPAdp|u!OoUnR8U-!-$qmr%r7Y_DG3x4v9lKvxA}+9 zf1?*xL^=VeEG#4-@QVrqZTM|$z{32(U=cBUptvAV1Srn> zH@*G;uMGu|N(uZ4nExYy{ux3><)734qyzHeKM4hfAhXB=nJ!u`beSk9%xLP$3i^Hv zzY4JZ^o%kG$MtG6@d4RH;kX#WxTs`m)YxjwU9nzi>YQL&)O_ybd1u)m?~<=VgCWADp9z)9AY z*sWyOt>$vT!8zmk<1A+4F^;`8GdCgPO$NsXrWdAQ(YT6&rdB!!ucK|P3TkJ37=qPt z$#cG@8w<}$085+QRg*s1Cc2vw&k_%tkf5I(uds%eZfCQ`ROzu$ok3L4;#!*gSsQiu z3!x{SQ{Lr@)^_bUw7kbbhU`I#s3n=dUOGRS$d>41`zgT^uWBHG8D^*4%gJ(AK&+N| zywxZZx|85a6aMDqGy)TE@VNIYY>h2^@HA+ivCpokf*nJ&BA|<;O|4ESWUlQ>y|6C- zR&yxW5JjGEU9xDZ%Gems|NM9n#_Dm7ihJkjTCv12dB|sCFFgr!rk6x%;GLlUh=5|~dKKyu#c>io?+rEwRAQ1d(y&j9(~h<#VxK@@1_ivX&1#%57M{a$NUqE6Um6eNKXA&2LlwK zDZeVRngAJvFaj21oU**pP%Fp~!#PpEn(Ag`OK`JuUt1nz6uzNlaye8_o|KSPEeJ4e z|L`5s8i-S26sZrD)9v~ga@;m?@_C1|%z}M-(-YpMdZD{qqKc+{7^@w#^5xlXDJ7G> z|KYV)fp#S`sOOt~3-ot@*>t|YN=9rlz01>}_u^0N>Fdo#W9bb&EpUQRhs-gq=Wrld zTZy*;_r|rYC{(n9YD&|DtH7TG0p##u#7VfP-2HC*GsbqgjgG!rZ20^(nAgyV&$zRy zrK_u7>qVDTX}?GBGKj@1p_t)2Fjh;MPGB(3M2P5>zo`|99<=&Zl_1bSN#L*1Y&t0wm6VwVapTl zim|4vdJ(`2nK9lle%=ZsiiHfG(w`HsJE~A zBClXNS|uTgqvNtAEm?u|@MUas*V4*ghI`n2l+%$IrAF-xohuSC_?X&KC~d+GaV^Q^wow9S1VU(G`sE zJCY18((t-haOlZDKu%Ngo@Zr*W@*;sC+oBw9nzTK?*vN;Sw6yvN`G{D&aUL%BxKS8 zL%X_i^7VbJR7nqkEti=Zq~?&~^XI;0mipK2XqHe+?dNFPJVu`oji+)1`9apRv#k$~ zUykeMV-NUIsH#xLf1>RcZ>-*J?dM)nRHp1xP#PG_PD%BBwAQH{v5~VE0cOB0z7r+y zpKM*t;n;P*ec81_Ko5lV*65dv?_U+_*JMZObr$*nI?62_*v z;#u0rF0(0dr}rA-9BrCaD`ejjNjy-V`Vrfg>U`v=a?`T1Z3bN@GbiQCjT*1K9ODR< zA8pca;jIn1l!XPUkp;rMM5|G=7v6i=ACppUMc@T3N-dW&N`TlgWokq!*+@_YHpYbp z-ZUbq7nMbq5R2&AVTk5hiY+zZ2P?GaW+99?^uCfQy$0wWNJzgcUrPHMgK6aDwf+&f zIKUSi|7dLv0GgSGl+`%8*OOw>5nlU7>>EhCG6YtA`Xs^=Ep}wA z0hCj>s~hixi7ei^8qu?0esi;gnel48pp{I&cKM)*sd*C(tpl^vDxXyU4Y7h36%3PYVCs@2TzgH=$su3S4bT@Ka`%N`Z!G*L6Xag zi$%QOR3-FWYeDat-8}nd`JI~{g@?cK_QCj$>v3LMdiWAS1W_>8Z-URzW7PtIQeWcJ zAvUoMxzWo@qMhyPMc$rlBmLLr0!3kA-t7g+AAJ(wQ#N9=XQK|V_05U`X&QZj8HgST z)tt+O*kGF#n&lEhyvq(tTCE|MZ4 zn}1V&Bt>qD~iuR?)BMP8G%k*YFIP-T5i?0 zehn?60)9qiaJcMSm~sTdl7a7f}&e1ieCN5!gq5-&3To zv*LuHD#r_32@sxanR0=v1;6S3?CI6Wk;xSrsij@hEFz2gJ)HK^3ANLk&bffNf*!x} zYQL|!@ruO(T4VghXc3%Q{f5p?l>#d7n?=+OYBkn4p0rUf@c>Er@U>DMMLa@Tjhs8v zf44sVH0;mah)!3Z?V-Z`_Q`HXvQ}1h!luJ;6JPjPbRkOgWM{LXoI(0(>IuNycIk5L zJLLzaGfI-|miYxUUSXjT3hgEIQ zRt(}KuMZ)W*AEgN^E^9e;Jpod`&&{zh{#exKXxZ!&>8`!rSJB=c z@XGJWFDK+C1rZa=@LvMZ9aE9u@aLT>hb1LZ`2|gIki!Vx3`b)TJ6kxc?g>ZliwA9d zBwl@gzx9-9Su=p}$E9e0@{cT>Bi4rrn|^qwyzb3Yp}4aCz4Kr59kmV*ec*v4vlj6a z3X-|%ZL&Q078+7O+ec;iI~-C-=kQPeA`J-`S|NEFPUfwr$8!ub@rc7!G#&l!TKm%p zmdL){`H7)Ebc9Y}ZSP-h6PN@Y3xj_dAJKSeB-n^Sy|vs1b1&$U-j8utRkWMCJuS1W zTy&Ci6>EL_@x6nbxi)i_CN4KK3?D@RFu{QiGjGMCZ{^uZ-a0qAXG|HUSn(*yvdYhR zlnecRU_6P)HrFK%95*=ar1OG@%%V6>GQZ5M?feknJ3zv|8G#C&pPIDYT)4=iU541A zq5|?3+>mR3^mj}QMFSl*-JGP)%a`;pAuM9^-H6xL(Wa|bcDrYuK@p08!4eI<(^HRr z-Ddm>&~e}Prr$c+xU^!{E|9Ni0&^XB9gpqcaLZ%z#WYyyBPJC|(COEu=kFT0&E?kw z@)}xH)ph-?HWwej#%pXV*InL-Ue!xB&W4wFlXndA#IdbhL z_QI!Js;^^TcDHVw7E~2b%RJoy)VRB0d=tyhFK6E4xaYCiKv9YCAO7S_FFwLpS$^V$ zglYpw*@((co;K zyT(4u##Y9`RmCT}b%E1Lz6)PO-|vIs^`T+9cQ<4F{4E!Bt@;~87^T{wIsj&QJ5UGa zl|{X%(oO?6F{&&Cn@4wtyZ-Bkf_j+b+>M=fi{NdMD^D<(PmhhdFz zase3+JBoa`In~zk1%cN}D0R6&LojYv`ZHTzW|9ftuNH_Vv!3QAG5Q_l)?#`l{5yuS z58RBT?To0}QNt<~I7HuN$}V!)GEDn_T=(YZyWZ4Cc9e2w4A-?C*HSSYS3i~ zSkbDFII^TyY&SlG+uXuAqI^4#rJmx~Z{+uMMbp)S51V6)@TmcL0eD$jU^Memicnc( zfX3g}JOTVfbZnebk-VLkUZ_wE^F)I~##La=D0kigAZ&Aj&*D*{yYR?W2kHSj z2TFnb!2WaTPf-_aiy?O6zeMwv$R*AND{GF{yPwXE2#9F3r+ukFCtHL(s z#(O_WMWedi4@^)J;70OPf-(sw#a0*gLQ`5Q2OWJ47eiZz3KgyRDjni&!WjdzQ>nX# zdbkq0tP+CB{c>UpiA!j3UA-`!ckVk=qhJ*)ZB`54fd}!qfV<8%D25Wy8e>wAkiBue zjIy@>Ya?yCZ8j(6q%UT;kt?LLlVM1M1@zZ|d)14$0Ft(e^SG$=bbKsgvhvZCOwd|E zujK9X7EN0JgSa{aQ4U8Opf^L2S9z8^Rb4qUOolEqhFt7+J9NF_?ZI377X#xv{ACr@ z)t)eqfYp|1x*e4;0H9Z$?D_^LC+`f!UwHnO)4iIyh7O)$*3}@lsrtykL*uS0$6xnXqeJa! zl4&ayBcpV<>lzr@eja2-YZ#&i>%7qIVwbr<-}K+3(u0~oo(?XLzMA5tIE8s@7` z6qiJnbPGG|X78UdzuaS?;3p?kdd8zaVZ;J)T=!^Kbl^2M`e5~{0rlBiShOjS^?0P8 zcqvcIRL~-szPhAD=#p0h+*{_wjlJ-b0Ly`Bs!u0&U%rHFb`^~(G(@WOcqyYd9K^&e zq2|5DdZ0|*slN5RTC<3#-TYGg$3Y!0^Ow?QxL;;+x?Y8`jf%%b^SSmIGy^sV ztgT^>pkOsO)B0-A>RN(SAh#>txs#@5R$rsi#qlp|2FB|Iy2`?nqrW!WtcH0u`#45i z;P<){68?e6Wc82h#E~wiNL~+5B(AH=!FjD;lgT~(xuvRc)i0?G@=TL)&Vt2qnfjNi zn3H(Y8JO!Od;^UhErd|gM3I9}`{;jO?Ahei-#VsTJ0$YbUOH%)7caG5EKHTO<=J5FT z=ni7v>9UQ!#3#Y2r+;AuhSk;rFD$N)ob~;Xhnj0dGA0()B}0n3jEHln{YP= z$kJVVKr0c8e8qgOSd!@E9-_y>@xn}d0xRGRwKMDaA}LXTNR4q*OMX zTQHKYm>{fV0C-Z<)^2DLL6HRAWA1+`iX~O+nKJY?cd@2yF|S{(L|u$1Y;4CxrT0_s zOEukIaU%HWU`j4XL=8W9dgG}oVt?QLm5+>g<~mNnri-R8SeMz_V3@jMQ0MZ4EN4F;|@1F^*SCF zWLQe)4WT6}r&+!~hx&jv#YSHCSo9oK|}w>O!tVluL7*o|1_EJ^^z z>;2q?%M6#9&63DFH&*&f4-6Cd;+CM&PP@3Si(pZL<3ZC?>n6m_UVZAHpf!zZy1tQfU)>jspjp#Pz9f@wh3h ztr4%}ffAeiuxcmr19{rpg*-6m-qq}L&KbYP;M{St;nZ!U!s1dOR~pOhHMA;{W|v~| z@Ex1DBo3-PCMQcBV30tqY;OCkxO+570zPZk^){VpR$K1G%)Gzd;yvoPszEJAJZzd{ z-%Z$)VVMCF=doy}j?vmQs?#0@!PBf6#h0_uoD7Ig3?sR7Z8%>XO- zjInXkweWaI?TSw|L-j>To0$~Osx8Qrild0XGws>BvN#7jCjR7$xvAfy>)~I==Yt!5 zzLE7>wVw2T^!beSYTu0Q%{&<*xAdCOs>ZYSa1EpHV#BIe@*s(cL4HY{Fi;q~F4yxpI()=nErqp2noTtE!vC z1siDLh9{|z9uP_f_~F4vu^Tu9Sz`<$+xq_+;5X}HNG4(eY5#)#^pH%J2x3U4ExHB9 zXc#ZvMWH*fvB9SQJJgDhafIi%9p%!=P)d#z`%T}S<7+LoN^h%}`P-*k-n|fqs zwAP}|VU;K4CY$bRE7bxWm@UdY`BCItFf(ueLFn`9qR_&xJco$ejjGbv)OW7_)pSJE zbW;7FUW6-idss)Cb5>6Fw$U@lyf)wN=i+3f?-$Q%)7Xm9vN8%0@ELU%YLuC{YfGj-vWBY=o@)?-U8p;w}1_+GZ9hH@xhXR$u>2Eq?kn*l%R`&6I#?OD7qX7~Ze`5x3y?=gyg26C0THR@NvJ@R_7Myi}g4 zc9~+x3Z*%++T?%nN`Pc!5Gd|veMRj3!KVL*W|b*+I&wkt>t@}q9;Tzst3rso3Wq#w z-3^~n34EP&T2i_OO+Mh&pD$?zOxU7nuPKARb$OgYbV~*VWnsNlrSFFrCVH5Jl73&M zCw->8NmL{xihG40H`$6gRzW18769a7)jZuxsYOfiVJz~yH zOiX1#gN34n<7lQKM!8t!n(`|~Bqm(<$1@%yO`QDm-!1~ABZI!pbuT>XzcVqH1=W$_ z3Du8$aTbTyQZkNb1mxXD4Y1c*Ri0Z`wK9c33%<lJy7qyK5d4A2vR_COt``Syfnu|tmT zk*rZGN15dNIFQ!ORAMbbnHifFYC)B*FXc6eZbLCvGd)^o^QT6%XmBr_~SSW z)j;vr?WCTVMnqxw)QC~U0HhV0$nWR?7`Ja|gWkrL9v=PCmRDFR@GuB*YJf<@5$&ct zB?QD$P>E%RUkev1|56Aw2+LGkQ^OnF6+VS1poc=q+?M9(yjrz8bLNIzQ-)iwI;s0r zkY$mBvOedQqh1Bw1Nh>B7rnRf*p_3EA;037S_S3Emm7m}hh?!Cwuq+&WuLGfjvqRp zgs;?i^Hdhff2;y;6KGvnUD3}AN}3-8j|K8JUC0HzKAH(RQ@Tj8Z7FEjn?~W&F?)A# z*Hw;|rOHiea%bl=Ayi0=lgG?jje^CIMXjY>0%L65MmA)%kDl9kRzOfF31_d+65Ue%4Yk-pyCVd@0_aH@%_O*sp(BhnYYN|7K$JBx`;X zEZ@b@;DLO`UmFOh?(hjrY$Xw8ckhSmsFo%yoo4@ z%C+E6@s91o9F$8`CgZEA=U5 zl==iL|3virn&ob{xs1O^_rcf5`v3~(0!w5qDDb?rsthAgCd2W#XW42Bhs3|qm1+=_ zw!~r3NRnX4pY{&O{%J=G`P>(>^1-c7!<3RsC3W91$6O2_qz+IR%as8PhE$f{NN4?U z*plxb`+Zh!VwBeCt|y`v5zts;%!4w^jfu9-p&m|gX?cAf{F_3JeUh|S&0}KjSHy^u z9N4M4NB(+JMh1}f6TpUvVqwr|No-Pq{*0&lXZ!rbcXd+qWG)^`Cl}WW2X#DinKKwW zaQhN{d%G+Zqp!4Yj;j|nN=NKv*8Ipv{mf@uZ4;>2QtCrOWXY^TGQGzc56ZdhI%+f| znEW@Vu+%X8Xn?49-*FjvSe>eWm3$bNeHV#@>@3eZO20BSwyGYtA%?sw74wHe4jNeM z63+-OmJCMgH}8`AFjg!sJQD!}36eEo8d56{BZZ>E3)Z!3eeE(dA&WM^i=i5{H5^IW zmgdVelHF{K(7meOSseup@2vQqFI*G2G_4#Mf=C7o{kTy8GCoZ{!Iwid8-*;#90@1_ zhld#vJ`}3u78q~PRKpX92`o@kBBnbuVa+)I&;Iz|?R8|6{r~Q;|J`2y(_wdSdZe;O ZVQ9Y_d$_DM|MTXJx{9`PjiPnL{{lWU88H9= diff --git a/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location.png b/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location.png deleted file mode 100644 index 702898ca17280d1aaafab393c475242cb98cc64d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost.png b/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_lost.png deleted file mode 100644 index 5724c476a94abf206893020612923ac838420bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3916 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_night.png b/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_night.png deleted file mode 100644 index 9bab37fd8622242a7c0fe2f4c3021af68cc55e89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 W6r+z20e{UQ5G!+Avm%od=l&OyPwFxN diff --git a/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_view_angle.png b/OsmAnd/res/drawable-xxhdpi/map_pedestrian_location_view_angle.png deleted file mode 100644 index 304d21fe3d82d930b3c8b98b6cc517f4b1a520d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7161 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 diff --git a/OsmAnd/res/layout/plan_route_info.xml b/OsmAnd/res/layout/plan_route_info.xml index 37da3bafa0..6c62f16368 100644 --- a/OsmAnd/res/layout/plan_route_info.xml +++ b/OsmAnd/res/layout/plan_route_info.xml @@ -110,7 +110,7 @@ android:layout_marginEnd="@dimen/favorites_icon_right_margin" android:layout_marginRight="@dimen/favorites_icon_right_margin" android:layout_marginBottom="@dimen/list_header_text_left_margin" - android:src="@drawable/map_default_location" /> + android:src="@drawable/ic_action_location_color" /> + android:src="@drawable/ic_action_location_color" /> + android:src="@drawable/ic_action_location_color" /> Date: Wed, 15 Jan 2020 14:17:54 +0200 Subject: [PATCH 18/59] Apply profile color for radius and view angle --- OsmAnd/res/values/colors.xml | 9 -------- .../osmand/plus/views/PointLocationLayer.java | 21 ++++++++++++------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/OsmAnd/res/values/colors.xml b/OsmAnd/res/values/colors.xml index eef24cac63..93da10b6a0 100644 --- a/OsmAnd/res/values/colors.xml +++ b/OsmAnd/res/values/colors.xml @@ -202,15 +202,6 @@ #0080FF - - #320000FF - - #88536dfe - #280000FF - - #66536dfe - #707CDC - #B4B319FF #B400FFFF diff --git a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java index 08ae85afba..c6b0129091 100644 --- a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java @@ -1,12 +1,13 @@ package net.osmand.plus.views; - import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.PointF; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; import android.graphics.RectF; import android.graphics.drawable.LayerDrawable; import android.support.v4.content.ContextCompat; @@ -20,6 +21,7 @@ import net.osmand.data.RotatedTileBox; import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmAndLocationProvider; import net.osmand.plus.R; +import net.osmand.plus.UiUtilities; import net.osmand.plus.base.MapViewTrackingUtilities; import org.apache.commons.logging.Log; @@ -57,9 +59,7 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay private void initUI() { headingPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG); area = new Paint(); - area.setColor(view.getResources().getColor(R.color.pos_area)); aroundArea = new Paint(); - aroundArea.setColor(view.getResources().getColor(R.color.pos_around)); aroundArea.setStyle(Style.STROKE); aroundArea.setStrokeWidth(1); aroundArea.setAntiAlias(true); @@ -151,18 +151,23 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay } private void updateIcons(ApplicationMode appMode, boolean nighMode, boolean locationOutdated) { - if (appMode != this.appMode || this.nm != nighMode || this.locationOutdated != locationOutdated || - colorId != appMode.getIconColorInfo().getColor(nighMode)) { + if (appMode != this.appMode || this.nm != nighMode || this.locationOutdated != locationOutdated + || colorId != appMode.getIconColorInfo().getColor(nighMode) + || locationIcon != view.getResources().getDrawable(appMode.getLocationIcon().getIconId()) + || navigationIcon != view.getResources().getDrawable(appMode.getNavigationIcon().getIconId())) { this.appMode = appMode; this.colorId = appMode.getIconColorInfo().getColor(nighMode); this.nm = nighMode; this.locationOutdated = locationOutdated; + int color = ContextCompat.getColor(view.getContext(), colorId); navigationIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getNavigationIcon().getIconId()); - DrawableCompat.setTint(navigationIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), colorId)); + DrawableCompat.setTint(navigationIcon.getDrawable(1), color); headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getLocationIcon().getHeadingIconId()); + headingPaint.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)); locationIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getLocationIcon().getIconId()); - DrawableCompat.setTint(locationIcon.getDrawable(1), ContextCompat.getColor(view.getContext(), colorId)); - area.setColor(view.getResources().getColor(!nm ? R.color.pos_area : R.color.pos_area_night)); + DrawableCompat.setTint(locationIcon.getDrawable(1), color); + area.setColor(UiUtilities.getColorWithAlpha(color, 0.16f)); + aroundArea.setColor(color); } } From 27278fd802a9fd22d45ffb39f49b7638887c3da3 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Wed, 15 Jan 2020 18:53:15 +0200 Subject: [PATCH 19/59] Add browse map profile color changes --- OsmAnd/res/values/strings.xml | 6 ++++-- OsmAnd/src/net/osmand/plus/ApplicationMode.java | 6 ++++-- .../osmand/plus/settings/ConfigureProfileFragment.java | 9 ++------- .../net/osmand/plus/settings/MainSettingsFragment.java | 2 -- .../osmand/plus/settings/ProfileAppearanceFragment.java | 7 +++++++ 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 89b6bd1019..0f299533af 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,8 +11,10 @@ Thx - Hardy --> - %1$s %2$s - %1$s: %2$s + OSM + You will see the icon only while navigation or while moving. + Map icon appears only on the map, and changing while navigation to navigation icon. + %1$s: %2$s By clicking %1$s, you will lose all your changes. All profile settings will be reset to the state after installation. Reset all profile settings to default? diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index 5729d2ae80..6c5234de33 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -832,6 +832,7 @@ public class ApplicationMode { } public enum ProfileIcons { + DEFAULT(R.drawable.ic_world_globe_dark, R.string.app_mode_default, "ic_world_globe_dark"), CAR(R.drawable.ic_action_car_dark, R.string.app_mode_car, "ic_action_car_dark"), TAXI(R.drawable.ic_action_taxi, R.string.app_mode_taxi, "ic_action_taxi"), TRUCK(R.drawable.ic_action_truck_dark, R.string.app_mode_truck, "ic_action_truck_dark"), @@ -856,7 +857,8 @@ public class ApplicationMode { CAMPER(R.drawable.ic_action_camper, R.string.app_mode_camper, "ic_action_camper"), PICKUP_TRUCK(R.drawable.ic_action_pickup_truck, R.string.app_mode_pickup_truck, "ic_action_pickup_truck"), WAGON(R.drawable.ic_action_wagon, R.string.app_mode_wagon, "ic_action_wagon"), - UTV(R.drawable.ic_action_utv, R.string.app_mode_utv, "ic_action_utv"); + UTV(R.drawable.ic_action_utv, R.string.app_mode_utv, "ic_action_utv"), + OSM(R.drawable.ic_action_osmand_logo, R.string.app_mode_osm, "ic_action_osmand_logo"); @DrawableRes private int resId; @@ -896,7 +898,7 @@ public class ApplicationMode { return pi.resStringId; } } - return CAR.getResStringId(); + return DEFAULT.getResStringId(); } } diff --git a/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java b/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java index e882cc1c0f..328523f16d 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ConfigureProfileFragment.java @@ -265,14 +265,9 @@ public class ConfigureProfileFragment extends BaseSettingsFragment { if (ctx == null) { return; } - Preference configureMap = findPreference(PROFILE_APPEARANCE); - if (!getSelectedAppMode().equals(ApplicationMode.DEFAULT)) { - configureMap.setIcon(getContentIcon(getSelectedAppMode().getIconRes())); - configureMap.setFragment(ProfileAppearanceFragment.TAG); - } else { - configureMap.setVisible(false); - } + configureMap.setIcon(getContentIcon(getSelectedAppMode().getIconRes())); + configureMap.setFragment(ProfileAppearanceFragment.TAG); } private void setupCopyProfileSettingsPref() { diff --git a/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java index 3f1e028cab..28e7628f7b 100644 --- a/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/MainSettingsFragment.java @@ -59,9 +59,7 @@ public class MainSettingsFragment extends BaseSettingsFragment { @Override protected void setupPreferences() { allAppModes = new ArrayList<>(ApplicationMode.allPossibleValues()); - allAppModes.remove(ApplicationMode.DEFAULT); availableAppModes = new LinkedHashSet<>(ApplicationMode.values(getMyApplication())); - availableAppModes.remove(ApplicationMode.DEFAULT); Preference globalSettings = findPreference("global_settings"); globalSettings.setIcon(getContentIcon(R.drawable.ic_action_settings)); PreferenceCategory selectedProfile = (PreferenceCategory) findPreference(SELECTED_PROFILE); diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index 843068960d..ade7f3adde 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -183,6 +183,10 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { findPreference(SELECT_ICON).setIconSpaceReserved(false); findPreference(SELECT_LOCATION_ICON).setIconSpaceReserved(false); findPreference(SELECT_NAV_ICON).setIconSpaceReserved(false); + if (getSelectedAppMode().equals(ApplicationMode.DEFAULT)) { + findPreference(SELECT_ICON).setVisible(false); + findPreference(ICON_ITEMS).setVisible(false); + } } @SuppressLint("InlinedApi") @@ -326,6 +330,9 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { } } }); + if (getSelectedAppMode().equals(ApplicationMode.DEFAULT)) { + profileName.setFocusable(false); + } profileNameOtfb = (OsmandTextFieldBoxes) holder.findViewById(R.id.profile_name_otfb); } else if (MASTER_PROFILE.equals(preference.getKey())) { baseProfileName = (EditText) holder.findViewById(R.id.master_profile_et); From 533571724b2a338233401c326007e3bbb0c38316 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Wed, 15 Jan 2020 19:08:25 +0200 Subject: [PATCH 20/59] Fix heading icon color on ProfileAppearanceFragment --- .../plus/settings/ProfileAppearanceFragment.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index ade7f3adde..f654d3eed9 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.DialogInterface; import android.graphics.Matrix; import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; import android.graphics.drawable.GradientDrawable; import android.graphics.drawable.LayerDrawable; import android.os.Bundle; @@ -413,6 +414,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { updateColorSelector(colorRes); updatePreference(findPreference(MASTER_PROFILE)); updatePreference(findPreference(LOCATION_ICON_ITEMS)); + updatePreference(findPreference(NAV_ICON_ITEMS)); } } }); @@ -486,12 +488,14 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { private View createLocationIconView(final ApplicationMode.LocationIcon locationIcon, ViewGroup rootView) { FrameLayout locationIconView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) .inflate(R.layout.preference_select_icon_button, rootView, false); + int changedProfileColor = ContextCompat.getColor(app, changedProfile.color.getColor( + app.getDaynightHelper().isNightModeForMapControls())); LayerDrawable locationIconDrawable = (LayerDrawable) app.getResources().getDrawable(locationIcon.getIconId()); - DrawableCompat.setTint(locationIconDrawable.getDrawable(1), ContextCompat.getColor(app, changedProfile.color.getColor( - app.getDaynightHelper().isNightModeForMapControls()))); + DrawableCompat.setTint(locationIconDrawable.getDrawable(1), changedProfileColor); locationIconView.findViewById(R.id.icon).setImageDrawable(locationIconDrawable); - locationIconView.findViewById(R.id.headingIcon) - .setImageDrawable(ContextCompat.getDrawable(app, locationIcon.getHeadingIconId())); + ImageView headingIcon = locationIconView.findViewById(R.id.headingIcon); + headingIcon.setImageDrawable(ContextCompat.getDrawable(app, locationIcon.getHeadingIconId())); + headingIcon.setColorFilter(new PorterDuffColorFilter(changedProfileColor, PorterDuff.Mode.SRC_IN)); ImageView coloredRect = locationIconView.findViewById(R.id.backgroundRect); AndroidUtils.setBackground(coloredRect, UiUtilities.tintDrawable(ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button), @@ -506,8 +510,6 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { }); ImageView outlineRect = locationIconView.findViewById(R.id.outlineRect); GradientDrawable rectContourDrawable = (GradientDrawable) ContextCompat.getDrawable(app, R.drawable.bg_select_icon_button_outline); - int changedProfileColor = ContextCompat.getColor(app, changedProfile.color.getColor( - app.getDaynightHelper().isNightModeForMapControls())); if (rectContourDrawable != null) { rectContourDrawable.setStroke(AndroidUtils.dpToPx(app, 2), changedProfileColor); } From 20320ddc07f9cd633d7e36507a96e7c9fcc9edab Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Thu, 16 Jan 2020 14:25:27 +0200 Subject: [PATCH 21/59] Fix for api 16, code cleanup ApplicationMode --- .../bg_select_icon_button_outline.xml | 8 +- .../src/net/osmand/plus/ApplicationMode.java | 90 +++++++++++-------- .../settings/ProfileAppearanceFragment.java | 6 +- .../osmand/plus/views/PointLocationLayer.java | 2 +- 4 files changed, 62 insertions(+), 44 deletions(-) diff --git a/OsmAnd/res/drawable/bg_select_icon_button_outline.xml b/OsmAnd/res/drawable/bg_select_icon_button_outline.xml index 4b004aee51..b0af330779 100644 --- a/OsmAnd/res/drawable/bg_select_icon_button_outline.xml +++ b/OsmAnd/res/drawable/bg_select_icon_button_outline.xml @@ -1,9 +1,9 @@ - - + + + android:color="@color/divider_color_light" /> \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index 6c5234de33..c625aceb5a 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -102,7 +102,7 @@ public class ApplicationMode { public static final ApplicationMode BICYCLE = createBase(R.string.app_mode_bicycle, "bicycle") .speed(2.77f, 15).arrivalDistance(60).offRouteDistance(50) .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) - .icon(R.drawable.ic_action_bicycle_dark, R.drawable.map_action_bicycle_dark,"ic_action_bicycle_dark") + .icon(R.drawable.ic_action_bicycle_dark, R.drawable.map_action_bicycle_dark, "ic_action_bicycle_dark") .setRoutingProfile("bicycle").description(R.string.base_profile_descr_bicycle).reg(); public static final ApplicationMode PEDESTRIAN = createBase(R.string.app_mode_pedestrian, "pedestrian") @@ -111,7 +111,7 @@ public class ApplicationMode { .setRoutingProfile("pedestrian").description(R.string.base_profile_descr_pedestrian).reg(); public static final ApplicationMode PUBLIC_TRANSPORT = createBase(R.string.app_mode_public_transport, "public_transport") - .icon(R.drawable.ic_action_bus_dark, R.drawable.map_action_bus_dark,"ic_action_bus_dark") + .icon(R.drawable.ic_action_bus_dark, R.drawable.map_action_bus_dark, "ic_action_bus_dark") .setRoutingProfile("public_transport").description(R.string.base_profile_descr_public_transport).reg(); public static final ApplicationMode BOAT = createBase(R.string.app_mode_boat, "boat") @@ -123,26 +123,36 @@ public class ApplicationMode { public static final ApplicationMode AIRCRAFT = createBase(R.string.app_mode_aircraft, "aircraft") .speed(40f, 100) .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.CAR) - .icon(R.drawable.ic_action_aircraft, R.drawable.map_action_aircraft,"ic_action_aircraft").setRouteService(RouteService.STRAIGHT) + .icon(R.drawable.ic_action_aircraft, R.drawable.map_action_aircraft, "ic_action_aircraft").setRouteService(RouteService.STRAIGHT) .setRoutingProfile("STRAIGHT_LINE_MODE").description(R.string.base_profile_descr_aircraft).reg(); public static final ApplicationMode SKI = createBase(R.string.app_mode_skiing, "ski") .speed(1.38f, 15).arrivalDistance(60).offRouteDistance(50) .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) - .icon(R.drawable.ic_action_skiing, R.drawable.ic_action_skiing,"ic_action_skiing") + .icon(R.drawable.ic_action_skiing, R.drawable.ic_action_skiing, "ic_action_skiing") .setRoutingProfile("ski").description(R.string.base_profile_descr_ski).reg(); private static class ApplicationModeBean { - @Expose String stringKey; - @Expose String userProfileName; - @Expose String parent; - @Expose String iconName = "map_world_globe_dark"; - @Expose ProfileIconColors iconColor = ProfileIconColors.DEFAULT; - @Expose String routingProfile = null; - @Expose RouteService routeService = RouteService.OSMAND; - @Expose LocationIcon locationIcon = LocationIcon.DEFAULT; - @Expose NavigationIcon navigationIcon = NavigationIcon.CAR; - @Expose int order; + @Expose + String stringKey; + @Expose + String userProfileName; + @Expose + String parent; + @Expose + String iconName = "map_world_globe_dark"; + @Expose + ProfileIconColors iconColor = ProfileIconColors.DEFAULT; + @Expose + String routingProfile = null; + @Expose + RouteService routeService = RouteService.OSMAND; + @Expose + LocationIcon locationIcon = LocationIcon.DEFAULT; + @Expose + NavigationIcon navigationIcon = NavigationIcon.CAR; + @Expose + int order; } private static void initRegVisibility() { @@ -258,12 +268,12 @@ public class ApplicationMode { return this; } - public ApplicationModeBuilder locationIcon(LocationIcon locationIcon){ + public ApplicationModeBuilder locationIcon(LocationIcon locationIcon) { applicationMode.locationIcon = locationIcon; return this; } - public ApplicationModeBuilder navigationIcon(NavigationIcon navigationIcon){ + public ApplicationModeBuilder navigationIcon(NavigationIcon navigationIcon) { applicationMode.navigationIcon = navigationIcon; return this; } @@ -554,11 +564,13 @@ public class ApplicationMode { return routingProfile; } - @DrawableRes public int getIconRes() { + @DrawableRes + public int getIconRes() { return iconRes; } - @DrawableRes public int getMapIconRes() { + @DrawableRes + public int getMapIconRes() { return iconMapRes; } @@ -589,9 +601,9 @@ public class ApplicationMode { } private static void initDefaultSpeed(OsmandApplication app) { - for(ApplicationMode m : values) { + for (ApplicationMode m : values) { float spd = app.getSettings().DEFAULT_SPEED.getModeValue(m); - if(spd > 0) { + if (spd > 0) { m.defaultSpeed = spd; } } @@ -650,7 +662,8 @@ public class ApplicationMode { private static void initDefaultModesParams(OsmandApplication app) { Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); - Type t = new TypeToken>() {}.getType(); + Type t = new TypeToken>() { + }.getType(); List defaultAppModeBeans = gson.fromJson(app.getSettings().DEFAULT_APP_PROFILES.get(), t); if (!Algorithms.isEmpty(defaultAppModeBeans)) { @@ -670,9 +683,10 @@ public class ApplicationMode { } } - private static void initCustomModes(OsmandApplication app){ + private static void initCustomModes(OsmandApplication app) { Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); - Type t = new TypeToken>() {}.getType(); + Type t = new TypeToken>() { + }.getType(); List customProfiles = gson.fromJson(app.getSettings().CUSTOM_APP_PROFILES.get(), t); if (!Algorithms.isEmpty(customProfiles)) { @@ -804,17 +818,20 @@ public class ApplicationMode { } public enum ProfileIconColors { - DEFAULT(R.string.rendering_value_default_name, R.color.profile_icon_color_blue_light_default, R.color.profile_icon_color_blue_dark_default), + DEFAULT(R.string.rendering_value_default_name, R.color.profile_icon_color_blue_light_default, R.color.profile_icon_color_blue_dark_default), PURPLE(R.string.rendering_value_purple_name, R.color.profile_icon_color_purple_light, R.color.profile_icon_color_purple_dark), - GREEN(R.string.rendering_value_green_name, R.color.profile_icon_color_green_light, R.color.profile_icon_color_green_dark), - BLUE(R.string.rendering_value_blue_name, R.color.profile_icon_color_blue_light, R.color.profile_icon_color_blue_dark), + GREEN(R.string.rendering_value_green_name, R.color.profile_icon_color_green_light, R.color.profile_icon_color_green_dark), + BLUE(R.string.rendering_value_blue_name, R.color.profile_icon_color_blue_light, R.color.profile_icon_color_blue_dark), RED(R.string.rendering_value_red_name, R.color.profile_icon_color_red_light, R.color.profile_icon_color_red_dark), DARK_YELLOW(R.string.rendering_value_darkyellow_name, R.color.profile_icon_color_yellow_light, R.color.profile_icon_color_yellow_dark), MAGENTA(R.string.shared_string_color_magenta, R.color.profile_icon_color_magenta_light, R.color.profile_icon_color_magenta_dark); - @StringRes private int name; - @ColorRes private int dayColor; - @ColorRes private int nightColor; + @StringRes + private int name; + @ColorRes + private int dayColor; + @ColorRes + private int nightColor; ProfileIconColors(@StringRes int name, @ColorRes int dayColor, @ColorRes int nightColor) { this.name = name; @@ -902,12 +919,12 @@ public class ApplicationMode { } } - public enum LocationIcon{ - DEFAULT(R.drawable.map_default_location_xml,R.drawable.map_default_location_view_angle), - CAR(R.drawable.map_car_location_xml,R.drawable.map_car_location_view_angle), - BICYCLE(R.drawable.map_bicycle_location_xml,R.drawable.map_bicycle_location_view_angle); + public enum LocationIcon { + DEFAULT(R.drawable.map_default_location_xml, R.drawable.map_default_location_view_angle), + CAR(R.drawable.map_car_location_xml, R.drawable.map_car_location_view_angle), + BICYCLE(R.drawable.map_bicycle_location_xml, R.drawable.map_bicycle_location_view_angle); - LocationIcon(@DrawableRes int iconId, @DrawableRes int headingIconId){ + LocationIcon(@DrawableRes int iconId, @DrawableRes int headingIconId) { this.iconId = iconId; this.headingIconId = headingIconId; } @@ -920,16 +937,17 @@ public class ApplicationMode { public int getIconId() { return iconId; } + public int getHeadingIconId() { return headingIconId; } } - public enum NavigationIcon{ + public enum NavigationIcon { CAR(R.drawable.map_car_navigation_xml), NAUTICAL(R.drawable.map_nautical_navigation_xml); - NavigationIcon(@DrawableRes int iconId){ + NavigationIcon(@DrawableRes int iconId) { this.iconId = iconId; } diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index f654d3eed9..48a420f268 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -491,7 +491,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { int changedProfileColor = ContextCompat.getColor(app, changedProfile.color.getColor( app.getDaynightHelper().isNightModeForMapControls())); LayerDrawable locationIconDrawable = (LayerDrawable) app.getResources().getDrawable(locationIcon.getIconId()); - DrawableCompat.setTint(locationIconDrawable.getDrawable(1), changedProfileColor); + DrawableCompat.setTint(DrawableCompat.wrap(locationIconDrawable.getDrawable(1)), changedProfileColor); locationIconView.findViewById(R.id.icon).setImageDrawable(locationIconDrawable); ImageView headingIcon = locationIconView.findViewById(R.id.headingIcon); headingIcon.setImageDrawable(ContextCompat.getDrawable(app, locationIcon.getHeadingIconId())); @@ -531,8 +531,8 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { FrameLayout navigationIconView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) .inflate(R.layout.preference_select_icon_button, rootView, false); LayerDrawable navigationIconDrawable = (LayerDrawable) app.getResources().getDrawable(navigationIcon.getIconId()); - DrawableCompat.setTint(navigationIconDrawable.getDrawable(1), ContextCompat.getColor(app, changedProfile.color.getColor( - app.getDaynightHelper().isNightModeForMapControls()))); + DrawableCompat.setTint(DrawableCompat.wrap(navigationIconDrawable.getDrawable(1)), + ContextCompat.getColor(app, changedProfile.color.getColor(app.getDaynightHelper().isNightModeForMapControls()))); ImageView imageView = navigationIconView.findViewById(R.id.icon); imageView.setImageDrawable(navigationIconDrawable); Matrix matrix = new Matrix(); diff --git a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java index c6b0129091..f505e51639 100644 --- a/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/PointLocationLayer.java @@ -165,7 +165,7 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay headingIcon = BitmapFactory.decodeResource(view.getResources(), appMode.getLocationIcon().getHeadingIconId()); headingPaint.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)); locationIcon = (LayerDrawable) view.getResources().getDrawable(appMode.getLocationIcon().getIconId()); - DrawableCompat.setTint(locationIcon.getDrawable(1), color); + DrawableCompat.setTint(DrawableCompat.wrap(locationIcon.getDrawable(1)), color); area.setColor(UiUtilities.getColorWithAlpha(color, 0.16f)); aroundArea.setColor(color); } From d4949540880e32d371e4da8a86e876ca7818ce99 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Thu, 16 Jan 2020 17:24:53 +0200 Subject: [PATCH 22/59] Fix icon name --- OsmAnd/src/net/osmand/plus/ApplicationMode.java | 2 +- OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java | 2 +- OsmAnd/src/net/osmand/plus/views/GPXLayer.java | 2 +- OsmAnd/src/net/osmand/plus/views/RouteLayer.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index c625aceb5a..1e16a7ee38 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -129,7 +129,7 @@ public class ApplicationMode { public static final ApplicationMode SKI = createBase(R.string.app_mode_skiing, "ski") .speed(1.38f, 15).arrivalDistance(60).offRouteDistance(50) .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) - .icon(R.drawable.ic_action_skiing, R.drawable.ic_action_skiing, "ic_action_skiing") + .icon(R.drawable.ic_action_skiing, R.drawable.map_action_skiing, "ic_action_skiing") .setRoutingProfile("ski").description(R.string.base_profile_descr_ski).reg(); private static class ApplicationModeBean { diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java index f2e8203d06..11a5067527 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java @@ -85,7 +85,7 @@ public class TrackBitmapDrawer { defPointColor = ContextCompat.getColor(app, R.color.gpx_color_point); paintIcon = new Paint(); pointSmall = BitmapFactory.decodeResource(app.getResources(), R.drawable.map_white_shield_small); - selectedPoint = BitmapFactory.decodeResource(app.getResources(), R.drawable.ic_action_location_color); + selectedPoint = BitmapFactory.decodeResource(app.getResources(), R.drawable.map_default_location_xml); } public void addListener(TrackBitmapDrawerListener l) { diff --git a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java index 5494831dd4..e412378fc3 100644 --- a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java @@ -176,7 +176,7 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex paintIcon = new Paint(); pointSmall = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_white_shield_small); - selectedPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.ic_action_location_color); + selectedPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_default_location_xml); contextMenuLayer = view.getLayerByClass(ContextMenuLayer.class); diff --git a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java index df985742c4..053ed2a734 100644 --- a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java @@ -134,7 +134,7 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont wayContext = new GeometryWayContext(view.getContext(), density); paintIconSelected = new Paint(); - selectedPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.ic_action_location_color); + selectedPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_default_location_xml); paintGridCircle = new Paint(); paintGridCircle.setStyle(Paint.Style.FILL_AND_STROKE); From 1b73a7b8338d4d7dbded000e982910a5675ef95e Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Thu, 16 Jan 2020 18:13:15 +0200 Subject: [PATCH 23/59] Remove unnecessary string resource --- OsmAnd/res/values/strings.xml | 1 - OsmAnd/res/xml/multimedia_notes.xml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 0e3aee8ea8..6d40a20267 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -20,7 +20,6 @@ Logging accuracy You can find all your recorded tracks in Menu — My place — Tracks or in OsmAd folder using file manager. You can find all your notes in Menu — My places — Notes - Audio notes Video notes Photo notes Route recalculation diff --git a/OsmAnd/res/xml/multimedia_notes.xml b/OsmAnd/res/xml/multimedia_notes.xml index e246516368..79bdc03b31 100644 --- a/OsmAnd/res/xml/multimedia_notes.xml +++ b/OsmAnd/res/xml/multimedia_notes.xml @@ -45,7 +45,7 @@ + android:title="@string/map_widget_audionotes" /> Date: Thu, 16 Jan 2020 18:46:02 +0200 Subject: [PATCH 24/59] Fix strings --- OsmAnd/res/values/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 0f299533af..9cc50e7897 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -14,7 +14,8 @@ OSM You will see the icon only while navigation or while moving. Map icon appears only on the map, and changing while navigation to navigation icon. - %1$s: %2$s + %1$s %2$s + %1$s: %2$s By clicking %1$s, you will lose all your changes. All profile settings will be reset to the state after installation. Reset all profile settings to default? From ad6789a26d40e7baf36bd1cfa691a1306b695ea5 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Fri, 17 Jan 2020 10:25:51 +0200 Subject: [PATCH 25/59] Move plugins settings screens to plugins packages --- OsmAnd/src/net/osmand/access/AccessibilityPlugin.java | 1 - .../settings => access}/AccessibilitySettingsFragment.java | 4 +++- .../src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java | 1 - .../{settings => audionotes}/MultimediaNotesFragment.java | 4 ++-- .../{settings => monitoring}/MonitoringSettingsFragment.java | 3 ++- .../net/osmand/plus/monitoring/OsmandMonitoringPlugin.java | 1 - .../osmand/plus/{settings => osmedit}/OsmEditingFragment.java | 4 +++- OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java | 1 - OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java | 4 ++++ 9 files changed, 14 insertions(+), 9 deletions(-) rename OsmAnd/src/net/osmand/{plus/settings => access}/AccessibilitySettingsFragment.java (97%) rename OsmAnd/src/net/osmand/plus/{settings => audionotes}/MultimediaNotesFragment.java (99%) rename OsmAnd/src/net/osmand/plus/{settings => monitoring}/MonitoringSettingsFragment.java (98%) rename OsmAnd/src/net/osmand/plus/{settings => osmedit}/OsmEditingFragment.java (95%) diff --git a/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java b/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java index 23d1d25a34..d95064493d 100644 --- a/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java +++ b/OsmAnd/src/net/osmand/access/AccessibilityPlugin.java @@ -8,7 +8,6 @@ import android.support.annotation.NonNull; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; -import net.osmand.plus.settings.AccessibilitySettingsFragment; import net.osmand.plus.settings.BaseSettingsFragment; import java.io.IOException; diff --git a/OsmAnd/src/net/osmand/plus/settings/AccessibilitySettingsFragment.java b/OsmAnd/src/net/osmand/access/AccessibilitySettingsFragment.java similarity index 97% rename from OsmAnd/src/net/osmand/plus/settings/AccessibilitySettingsFragment.java rename to OsmAnd/src/net/osmand/access/AccessibilitySettingsFragment.java index 1f7fc0c048..6e1868124f 100644 --- a/OsmAnd/src/net/osmand/plus/settings/AccessibilitySettingsFragment.java +++ b/OsmAnd/src/net/osmand/access/AccessibilitySettingsFragment.java @@ -1,4 +1,4 @@ -package net.osmand.plus.settings; +package net.osmand.access; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; @@ -6,6 +6,8 @@ import android.support.v7.preference.PreferenceScreen; import net.osmand.plus.R; import net.osmand.plus.access.AccessibilityMode; import net.osmand.plus.access.RelativeDirectionStyle; +import net.osmand.plus.settings.BaseSettingsFragment; +import net.osmand.plus.settings.OnPreferenceChanged; import net.osmand.plus.settings.preferences.ListPreferenceEx; import net.osmand.plus.settings.preferences.SwitchPreferenceEx; diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index f68060fc76..36e8bcc4f2 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -64,7 +64,6 @@ import net.osmand.plus.helpers.AndroidUiHelper; import net.osmand.plus.mapcontextmenu.MapContextMenu; import net.osmand.plus.monitoring.OsmandMonitoringPlugin; import net.osmand.plus.myplaces.FavoritesActivity; -import net.osmand.plus.settings.MultimediaNotesFragment; import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapTileView; diff --git a/OsmAnd/src/net/osmand/plus/settings/MultimediaNotesFragment.java b/OsmAnd/src/net/osmand/plus/audionotes/MultimediaNotesFragment.java similarity index 99% rename from OsmAnd/src/net/osmand/plus/settings/MultimediaNotesFragment.java rename to OsmAnd/src/net/osmand/plus/audionotes/MultimediaNotesFragment.java index d0bbb9bf2a..3abdb37e56 100644 --- a/OsmAnd/src/net/osmand/plus/settings/MultimediaNotesFragment.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/MultimediaNotesFragment.java @@ -1,4 +1,4 @@ -package net.osmand.plus.settings; +package net.osmand.plus.audionotes; import android.content.Intent; import android.hardware.Camera; @@ -12,7 +12,7 @@ import net.osmand.PlatformUtil; import net.osmand.plus.OsmAndAppCustomization; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; -import net.osmand.plus.audionotes.AudioVideoNotesPlugin; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.settings.preferences.ListPreferenceEx; import net.osmand.plus.settings.preferences.SwitchPreferenceEx; diff --git a/OsmAnd/src/net/osmand/plus/settings/MonitoringSettingsFragment.java b/OsmAnd/src/net/osmand/plus/monitoring/MonitoringSettingsFragment.java similarity index 98% rename from OsmAnd/src/net/osmand/plus/settings/MonitoringSettingsFragment.java rename to OsmAnd/src/net/osmand/plus/monitoring/MonitoringSettingsFragment.java index 2ea96664ef..3d29e9bb13 100644 --- a/OsmAnd/src/net/osmand/plus/settings/MonitoringSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/MonitoringSettingsFragment.java @@ -1,4 +1,4 @@ -package net.osmand.plus.settings; +package net.osmand.plus.monitoring; import android.content.Intent; import android.support.v4.app.FragmentManager; @@ -8,6 +8,7 @@ import net.osmand.plus.OsmAndAppCustomization; import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.myplaces.FavoritesActivity; +import net.osmand.plus.settings.BaseSettingsFragment; import net.osmand.plus.settings.bottomsheets.ChangeGeneralProfilesPrefBottomSheet; import net.osmand.plus.settings.preferences.ListPreferenceEx; import net.osmand.plus.settings.preferences.SwitchPreferenceEx; diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index fd53e92811..7a4aacb035 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -35,7 +35,6 @@ import net.osmand.plus.activities.SavingTrackHelper; import net.osmand.plus.activities.SavingTrackHelper.SaveGpxResult; import net.osmand.plus.dashboard.tools.DashFragmentData; import net.osmand.plus.settings.BaseSettingsFragment; -import net.osmand.plus.settings.MonitoringSettingsFragment; import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.OsmandMapTileView; diff --git a/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingFragment.java similarity index 95% rename from OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java rename to OsmAnd/src/net/osmand/plus/osmedit/OsmEditingFragment.java index f4b3962ec3..f2240fa74f 100644 --- a/OsmAnd/src/net/osmand/plus/settings/OsmEditingFragment.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingFragment.java @@ -1,4 +1,4 @@ -package net.osmand.plus.settings; +package net.osmand.plus.osmedit; import android.content.Intent; import android.support.v4.app.FragmentManager; @@ -10,6 +10,8 @@ import android.widget.TextView; import net.osmand.plus.OsmAndAppCustomization; import net.osmand.plus.R; import net.osmand.plus.helpers.AndroidUiHelper; +import net.osmand.plus.settings.BaseSettingsFragment; +import net.osmand.plus.settings.OnPreferenceChanged; import net.osmand.plus.settings.bottomsheets.OsmLoginDataBottomSheet; import net.osmand.plus.settings.preferences.SwitchPreferenceEx; diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java index 389aea9377..0d3118a98d 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java @@ -41,7 +41,6 @@ import net.osmand.plus.myplaces.AvailableGPXFragment.GpxInfo; import net.osmand.plus.myplaces.FavoritesActivity; import net.osmand.plus.osmedit.OsmPoint.Action; import net.osmand.plus.settings.BaseSettingsFragment; -import net.osmand.plus.settings.OsmEditingFragment; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.util.Algorithms; diff --git a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java index bda4c894b4..83fa92524f 100644 --- a/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/BaseSettingsFragment.java @@ -40,6 +40,7 @@ import android.widget.TextView; import net.osmand.AndroidUtils; import net.osmand.PlatformUtil; +import net.osmand.access.AccessibilitySettingsFragment; import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; @@ -48,6 +49,9 @@ import net.osmand.plus.UiUtilities; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.OsmandActionBarActivity; import net.osmand.plus.activities.OsmandInAppPurchaseActivity; +import net.osmand.plus.audionotes.MultimediaNotesFragment; +import net.osmand.plus.monitoring.MonitoringSettingsFragment; +import net.osmand.plus.osmedit.OsmEditingFragment; import net.osmand.plus.profiles.SelectAppModesBottomSheetDialogFragment; import net.osmand.plus.profiles.SelectAppModesBottomSheetDialogFragment.AppModeChangedListener; import net.osmand.plus.settings.bottomsheets.BooleanPreferenceBottomSheet; From f7dcf50f4b4cddf62d36b878316affc52e4f3b62 Mon Sep 17 00:00:00 2001 From: Nazar Date: Fri, 17 Jan 2020 10:31:44 +0200 Subject: [PATCH 26/59] Small fixes --- OsmAnd/res/values/strings.xml | 2 +- OsmAnd/src/net/osmand/AndroidUtils.java | 2 +- .../src/net/osmand/plus/AppInitializer.java | 46 ++++++++++++++++++- .../src/net/osmand/plus/SettingsHelper.java | 2 +- .../net/osmand/plus/helpers/ImportHelper.java | 45 ++---------------- 5 files changed, 52 insertions(+), 45 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index b9a97db57b..bbcbecff48 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,7 +11,7 @@ Thx - Hardy --> - \'%1$s\' file doesn\'t contain routing rules, please choose another file. + \'%1$s\' file doesn\'t contain routing rules, please choose another file. Not supported file type. You need to select a file with %1$s extension. Import from file Import routing file diff --git a/OsmAnd/src/net/osmand/AndroidUtils.java b/OsmAnd/src/net/osmand/AndroidUtils.java index 1c6bd9d8d5..9e733fa186 100644 --- a/OsmAnd/src/net/osmand/AndroidUtils.java +++ b/OsmAnd/src/net/osmand/AndroidUtils.java @@ -690,7 +690,7 @@ public class AndroidUtils { return TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == ViewCompat.LAYOUT_DIRECTION_RTL; } - public static String createFileNameWithIncreasedNumber(String oldName) { + public static String createNewFileName(String oldName) { int firstDotIndex = oldName.indexOf('.'); String nameWithoutExt = oldName.substring(0, firstDotIndex); String ext = oldName.substring(firstDotIndex); diff --git a/OsmAnd/src/net/osmand/plus/AppInitializer.java b/OsmAnd/src/net/osmand/plus/AppInitializer.java index f2340c22b3..ce7bb80b77 100644 --- a/OsmAnd/src/net/osmand/plus/AppInitializer.java +++ b/OsmAnd/src/net/osmand/plus/AppInitializer.java @@ -11,6 +11,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Configuration; import android.content.res.Resources; +import android.os.AsyncTask; import android.os.Build; import android.support.v7.app.AlertDialog; @@ -31,7 +32,6 @@ import net.osmand.plus.base.MapViewTrackingUtilities; import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.ui.AbstractLoadLocalIndexTask; import net.osmand.plus.helpers.AvoidSpecificRoads; -import net.osmand.plus.helpers.ImportHelper; import net.osmand.plus.helpers.LockHelper; import net.osmand.plus.helpers.WaypointHelper; import net.osmand.plus.inapp.InAppPurchaseHelper; @@ -57,11 +57,16 @@ import net.osmand.plus.voice.MediaCommandPlayerImpl; import net.osmand.plus.voice.TTSCommandPlayerImpl; import net.osmand.plus.wikivoyage.data.TravelDbHelper; import net.osmand.render.RenderingRulesStorage; +import net.osmand.router.RoutingConfiguration; import net.osmand.util.Algorithms; import net.osmand.util.OpeningHoursParser; +import org.xmlpull.v1.XmlPullParserException; + import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.IOException; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; @@ -135,6 +140,10 @@ public class AppInitializer implements IProgress { void onFinish(AppInitializer init); } + + public interface LoadRoutingFilesCallback { + void onRoutingFilesLoaded(); + } public AppInitializer(OsmandApplication app) { @@ -573,7 +582,7 @@ public class AppInitializer implements IProgress { @SuppressLint("StaticFieldLeak") private void getLazyRoutingConfig() { - ImportHelper.loadRoutingFiles(app, new ImportHelper.LoadRoutingFilesCallback() { + loadRoutingFiles(app, new LoadRoutingFilesCallback() { @Override public void onRoutingFilesLoaded() { notifyEvent(InitEvents.ROUTING_CONFIG_INITIALIZED); @@ -581,6 +590,39 @@ public class AppInitializer implements IProgress { }); } + public static void loadRoutingFiles(final OsmandApplication app, final LoadRoutingFilesCallback callback) { + new AsyncTask() { + + @Override + protected RoutingConfiguration.Builder doInBackground(Void... voids) { + File routingFolder = app.getAppPath(IndexConstants.ROUTING_PROFILES_DIR); + RoutingConfiguration.Builder builder = RoutingConfiguration.getDefault(); + if (routingFolder.isDirectory()) { + File[] fl = routingFolder.listFiles(); + if (fl != null && fl.length > 0) { + for (File f : fl) { + if (f.isFile() && f.getName().endsWith(".xml") && f.canRead()) { + try { + RoutingConfiguration.parseFromInputStream(new FileInputStream(f), f.getName(), builder); + } catch (XmlPullParserException | IOException e) { + throw new IllegalStateException(e); + } + } + } + } + } + return builder; + } + + @Override + protected void onPostExecute(RoutingConfiguration.Builder builder) { + super.onPostExecute(builder); + app.updateRoutingConfig(builder); + callback.onRoutingFilesLoaded(); + } + }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + public synchronized void initVoiceDataInDifferentThread(final Activity uiContext, final ApplicationMode applicationMode, diff --git a/OsmAnd/src/net/osmand/plus/SettingsHelper.java b/OsmAnd/src/net/osmand/plus/SettingsHelper.java index 08c7969dfb..61509da462 100644 --- a/OsmAnd/src/net/osmand/plus/SettingsHelper.java +++ b/OsmAnd/src/net/osmand/plus/SettingsHelper.java @@ -83,7 +83,7 @@ public class SettingsHelper { private ImportAsyncTask importTask; public interface SettingsImportListener { - void onSettingsImportFinished(boolean succeed, boolean empty, List items); + void onSettingsImportFinished(boolean succeed, boolean empty, @NonNull List items); } public interface SettingsExportListener { diff --git a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java index 9f835cfbae..8997c4069a 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java @@ -76,6 +76,7 @@ import java.util.zip.ZipInputStream; import static android.app.Activity.RESULT_OK; import static net.osmand.IndexConstants.OSMAND_SETTINGS_FILE_EXT; import static net.osmand.IndexConstants.ROUTING_FILE_EXT; +import static net.osmand.plus.AppInitializer.loadRoutingFiles; import static net.osmand.plus.myplaces.FavoritesActivity.FAV_TAB; import static net.osmand.plus.myplaces.FavoritesActivity.GPX_TAB; import static net.osmand.plus.myplaces.FavoritesActivity.TAB_ID; @@ -113,10 +114,6 @@ public class ImportHelper { public interface OnGpxImportCompleteListener { void onComplete(boolean success); } - - public interface LoadRoutingFilesCallback { - void onRoutingFilesLoaded(); - } public ImportHelper(final AppCompatActivity activity, final OsmandApplication app, final OsmandMapTileView mapView) { this.activity = activity; @@ -609,38 +606,6 @@ public class ImportHelper { }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } - public static void loadRoutingFiles(final OsmandApplication app, final LoadRoutingFilesCallback callback) { - new AsyncTask() { - @Override - protected RoutingConfiguration.Builder doInBackground(Void... voids) { - File routingFolder = app.getAppPath(IndexConstants.ROUTING_PROFILES_DIR); - RoutingConfiguration.Builder builder = RoutingConfiguration.getDefault(); - if (routingFolder.isDirectory()) { - File[] fl = routingFolder.listFiles(); - if (fl != null && fl.length > 0) { - for (File f : fl) { - if (f.isFile() && f.getName().endsWith(".xml") && f.canRead()) { - try { - RoutingConfiguration.parseFromInputStream(new FileInputStream(f), f.getName(), builder); - } catch (XmlPullParserException | IOException e) { - throw new IllegalStateException(e); - } - } - } - } - } - return builder; - } - - @Override - protected void onPostExecute(RoutingConfiguration.Builder builder) { - super.onPostExecute(builder); - app.updateRoutingConfig(builder); - callback.onRoutingFilesLoaded(); - } - }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } - public void chooseFileToImport(final ImportType importType, final CallbackWithObject callback) { final MapActivity mapActivity = getMapActivity(); if (mapActivity == null) { @@ -716,7 +681,7 @@ public class ImportHelper { } File dest = new File(routingDir, mFileName); while (dest.exists()) { - mFileName = AndroidUtils.createFileNameWithIncreasedNumber(mFileName); + mFileName = AndroidUtils.createNewFileName(mFileName); dest = new File(routingDir, mFileName); } return copyFile(app, dest, uri, true); @@ -727,7 +692,7 @@ public class ImportHelper { File routingDir = app.getAppPath(IndexConstants.ROUTING_PROFILES_DIR); final File file = new File(routingDir, mFileName); if (error == null && file.exists()) { - loadRoutingFiles(app, new LoadRoutingFilesCallback() { + loadRoutingFiles(app, new AppInitializer.LoadRoutingFilesCallback() { @Override public void onRoutingFilesLoaded() { if (isActivityNotDestroyed(activity)) { @@ -740,7 +705,7 @@ public class ImportHelper { callback.processResult(profileKey); } } else { - app.showToastMessage(app.getString(R.string.file_does_not_contains_routing_rules, mFileName)); + app.showToastMessage(app.getString(R.string.file_does_not_contain_routing_rules, mFileName)); } } }); @@ -808,7 +773,7 @@ public class ImportHelper { if (error == null && file.exists()) { app.getSettingsHelper().importSettings(file, latestChanges, version, new SettingsImportListener() { @Override - public void onSettingsImportFinished(boolean succeed, boolean empty, List items) { + public void onSettingsImportFinished(boolean succeed, boolean empty, @NonNull List items) { if (isActivityNotDestroyed(activity)) { progress.dismiss(); } From 3e28a8202abd4cecec76e9300c72e943b33c24a9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 17 Jan 2020 12:04:56 +0200 Subject: [PATCH 27/59] Rename OSM to OpenStreetMap plugin --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 680cd07c43..4f92c63810 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -1707,7 +1707,7 @@ This plugin provides a map widget allowing creation of paths by tapping the map, or by using or modifying existing GPX files, to plan a trip and measure the distance between points. The results can be saved as a GPX file, which can later be used for guidance. Accessibility This plugin makes the device\'s accessibility features available directly in OsmAnd. It facilitates e.g. adjusting the speech rate for text-to-speech voices, configuring directional-pad screen navigation, using a trackball for zoom control, or text-to-speech feedback, for example to auto announcing your position. - OSM editing + OpenStreetMap editing Via this plugin OsmAnd can be used to make OSM contributions like creating or modifying OSM POI objects, opening or commenting OSM Notes, and contributing recorded GPX files. OSM is a community driven, global public domain mapping project. For details please refer to https://openstreetmap.org. Active participation is appreciated, and contributions can be made directly from OsmAnd, if you specify your personal OSM credentials in the app. This plugin displays settings for development and debugging features like to test or simulate routing, the rendering performance, or voice prompting. These settings are intended for developers and are not needed for the general user. OsmAnd development From b90e4db8e1973f9e6ec3a57454c4a93ba0935e34 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 13:00:42 +0200 Subject: [PATCH 28/59] rate us dialog logic --- OsmAnd/res/values/strings.xml | 2 +- .../src/net/osmand/plus/AppInitializer.java | 7 +++ .../src/net/osmand/plus/OsmandSettings.java | 3 ++ ...islikeOsmAndBottomSheetDialogFragment.java | 7 +-- .../plus/dialogs/RateUsBottomSheetDialog.java | 51 ++++++------------- 5 files changed, 30 insertions(+), 40 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 89b6bd1019..5e2ecaf7de 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -278,7 +278,7 @@ Magenta Icon Please share your feedback and rate our work on Google Play. - OK + Rate Privacy Policy Help us make OsmAnd better Allow OsmAnd to collect and process anonymous app usage data. No data about your position or locations you view on the map are collected.\n\nConfigure any time in \'Settings\' → \'Privacy and Security\'. diff --git a/OsmAnd/src/net/osmand/plus/AppInitializer.java b/OsmAnd/src/net/osmand/plus/AppInitializer.java index 095a819a2a..8ecaca958b 100644 --- a/OsmAnd/src/net/osmand/plus/AppInitializer.java +++ b/OsmAnd/src/net/osmand/plus/AppInitializer.java @@ -29,6 +29,7 @@ import net.osmand.plus.activities.LocalIndexHelper; import net.osmand.plus.activities.LocalIndexInfo; import net.osmand.plus.activities.SavingTrackHelper; import net.osmand.plus.base.MapViewTrackingUtilities; +import net.osmand.plus.dialogs.RateUsBottomSheetDialog.RateUsState; import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.ui.AbstractLoadLocalIndexTask; import net.osmand.plus.helpers.AvoidSpecificRoads; @@ -212,6 +213,12 @@ public class AppInitializer implements IProgress { } app.getSettings().SHOW_TRAVEL_UPDATE_CARD.set(true); app.getSettings().SHOW_TRAVEL_NEEDED_MAPS_CARD.set(true); + + RateUsState rateUsState = app.getSettings().RATE_US_STATE.get(); + if (rateUsState != RateUsState.INITIAL_STATE && rateUsState != RateUsState.LIKED) { + int startsAfterDismiss = app.getSettings().NUMBER_OF_APP_STARTS_AFTER_DISLIKE.get(); + app.getSettings().NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(startsAfterDismiss + 1); + } initSettings = true; } diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 17268ba03e..644b5250bf 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -3218,6 +3218,9 @@ public class OsmandSettings { public final OsmandPreference NUMBER_OF_APPLICATION_STARTS = new IntPreference("number_of_app_starts", 0).makeGlobal().cache(); + public final OsmandPreference NUMBER_OF_APP_STARTS_AFTER_DISLIKE = + new IntPreference("number_of_app_starts_after_dislike", 0).makeGlobal().cache(); + public final OsmandPreference RATE_US_STATE = new EnumIntPreference<>("rate_us_state", RateUsBottomSheetDialog.RateUsState.INITIAL_STATE, RateUsBottomSheetDialog.RateUsState.values()) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java index 4e39a67038..57ca2fdd8a 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java @@ -46,6 +46,8 @@ public class DislikeOsmAndBottomSheetDialogFragment extends MenuBottomSheetDialo OsmandApplication app = getMyApplication(); if (app != null) { app.getSettings().RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITHOUT_MESSAGE); + app.getSettings().NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); + app.getSettings().LAST_DISPLAY_TIME.set(System.currentTimeMillis()); } } @@ -61,11 +63,10 @@ public class DislikeOsmAndBottomSheetDialogFragment extends MenuBottomSheetDialo OsmandSettings settings = app.getSettings(); String email = getString(R.string.support_email); settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITH_MESSAGE); - settings.NUMBER_OF_APPLICATION_STARTS.set(0); + settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); Intent sendEmail = new Intent(Intent.ACTION_SENDTO); - sendEmail.setType("text/plain"); - sendEmail.setData(Uri.parse("mailto:" + email)); + sendEmail.setDataAndType(Uri.parse("mailto:" + email), "text/plain"); sendEmail.putExtra(Intent.EXTRA_EMAIL, email); startActivity(sendEmail); dismiss(); diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java index bd70893c37..eeb5b72bdf 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java @@ -37,55 +37,34 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { } public static boolean shouldShow(OsmandApplication application) { - if (Version.isMarketEnabled(application)) { + long firstInstalledDays = application.getAppInitializer().getFirstInstalledDays(); + if (!Version.isGooglePlayEnabled(application) || firstInstalledDays > 350) { return false; } OsmandSettings settings = application.getSettings(); if(!settings.LAST_DISPLAY_TIME.isSet()) { settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); } - long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get(); - int numberOfApplicationRuns = settings.NUMBER_OF_APPLICATION_STARTS.get(); + int numberOfStarts = application.getAppInitializer().getNumberOfStarts(); + RateUsState state = settings.RATE_US_STATE.get(); - - Calendar modifiedTime = Calendar.getInstance(); - Calendar lastDisplayTime = Calendar.getInstance(); - lastDisplayTime.setTimeInMillis(lastDisplayTimeInMillis); - - int bannerFreeRuns = 0; - switch (state) { case LIKED: return false; case INITIAL_STATE: - break; + return firstInstalledDays > 15 && numberOfStarts > 100; case IGNORED: - modifiedTime.add(Calendar.WEEK_OF_YEAR, -1); - bannerFreeRuns = 5; - break; case DISLIKED_WITH_MESSAGE: - modifiedTime.add(Calendar.MONTH, -3); - bannerFreeRuns = 3; - break; case DISLIKED_WITHOUT_MESSAGE: - modifiedTime.add(Calendar.MONTH, -2); - break; - default: - throw new IllegalStateException("Unexpected state:" + state); + int startsAfterDislike = settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.get(); + long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get(); + Calendar modifiedTime = Calendar.getInstance(); + modifiedTime.add(Calendar.DAY_OF_YEAR, -60); + Calendar lastDisplayTime = Calendar.getInstance(); + lastDisplayTime.setTimeInMillis(lastDisplayTimeInMillis); + return modifiedTime.after(lastDisplayTime) && startsAfterDislike > 50; } - - if (state != RateUsState.INITIAL_STATE) { - if (modifiedTime.after(lastDisplayTime) && numberOfApplicationRuns >= bannerFreeRuns) { - settings.RATE_US_STATE.set(RateUsState.INITIAL_STATE); - modifiedTime = Calendar.getInstance(); - } else { - return false; - } - } - // Initial state now - modifiedTime.add(Calendar.MONTH, -1); - bannerFreeRuns = 3; - return modifiedTime.after(lastDisplayTime) && numberOfApplicationRuns >= bannerFreeRuns; + return false; } public class PositiveButtonListener implements View.OnClickListener { @@ -123,7 +102,7 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { case USER_DISLIKES_APP: String email = getString(R.string.support_email); settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITH_MESSAGE); - settings.NUMBER_OF_APPLICATION_STARTS.set(0); + settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); Intent sendEmail = new Intent(Intent.ACTION_SENDTO); sendEmail.setType("text/plain"); @@ -169,7 +148,7 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITHOUT_MESSAGE); break; } - settings.NUMBER_OF_APPLICATION_STARTS.set(0); + settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); dismiss(); } From ef3bfeaf75986b270edf5e2a75420e33ad1a5275 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Fri, 17 Jan 2020 13:16:25 +0200 Subject: [PATCH 29/59] Fix layered icons on GPXLayer fix browse map name disable edit --- .../plus/myplaces/TrackBitmapDrawer.java | 11 ++++++--- .../settings/ProfileAppearanceFragment.java | 24 ++++++++++--------- .../src/net/osmand/plus/views/GPXLayer.java | 12 +++++++--- .../src/net/osmand/plus/views/RouteLayer.java | 11 ++++++--- 4 files changed, 38 insertions(+), 20 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java index 11a5067527..a317dbf150 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java @@ -6,6 +6,7 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; +import android.graphics.drawable.LayerDrawable; import android.support.annotation.ColorInt; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -51,7 +52,7 @@ public class TrackBitmapDrawer { private int trackColor; private int currentTrackColor; private Paint paint; - private Bitmap selectedPoint; + private LayerDrawable selectedPoint; private int defPointColor; private Paint paintIcon; private Bitmap pointSmall; @@ -85,7 +86,7 @@ public class TrackBitmapDrawer { defPointColor = ContextCompat.getColor(app, R.color.gpx_color_point); paintIcon = new Paint(); pointSmall = BitmapFactory.decodeResource(app.getResources(), R.drawable.map_white_shield_small); - selectedPoint = BitmapFactory.decodeResource(app.getResources(), R.drawable.map_default_location_xml); + selectedPoint = (LayerDrawable) app.getResources().getDrawable(R.drawable.map_default_location_xml); } public void addListener(TrackBitmapDrawerListener l) { @@ -283,7 +284,11 @@ public class TrackBitmapDrawer { paintIcon.setColorFilter(null); Bitmap bmp = mapTrackBitmap.copy(mapTrackBitmap.getConfig(), true); Canvas canvas = new Canvas(bmp); - canvas.drawBitmap(selectedPoint, x - selectedPoint.getWidth() / 2, y - selectedPoint.getHeight() / 2, paintIcon); + selectedPoint.setBounds((int) x - selectedPoint.getIntrinsicWidth() / 2, + (int) y - selectedPoint.getIntrinsicHeight() / 2, + (int) x + selectedPoint.getIntrinsicWidth() / 2, + (int) y + selectedPoint.getIntrinsicHeight() / 2); + selectedPoint.draw(canvas); return bmp; } else { return null; diff --git a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java index 48a420f268..d9707c0cfd 100644 --- a/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/ProfileAppearanceFragment.java @@ -25,7 +25,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; -import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.ImageView; @@ -310,7 +309,6 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { profileName.setImeOptions(EditorInfo.IME_ACTION_DONE); profileName.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES); profileName.setText(changedProfile.name); - profileName.requestFocus(); profileName.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -332,7 +330,10 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { } }); if (getSelectedAppMode().equals(ApplicationMode.DEFAULT)) { + profileName.setFocusableInTouchMode(false); profileName.setFocusable(false); + } else { + profileName.requestFocus(); } profileNameOtfb = (OsmandTextFieldBoxes) holder.findViewById(R.id.profile_name_otfb); } else if (MASTER_PROFILE.equals(preference.getKey())) { @@ -444,12 +445,18 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { if (iconItems != null) { setIconNewColor(changedProfile.iconRes); } - int selectedColor = ContextCompat.getColor(app, changedProfile.color.getColor(isNightMode())); - profileNameOtfb.setPrimaryColor(selectedColor); - profileName.getBackground().mutate().setColorFilter(selectedColor, PorterDuff.Mode.SRC_ATOP); + updateProfileNameAppearance(); updateProfileButton(); } + private void updateProfileNameAppearance() { + if (profileName.isFocusable() && profileName.isFocusableInTouchMode()) { + int selectedColor = ContextCompat.getColor(app, changedProfile.color.getColor(isNightMode())); + profileNameOtfb.setPrimaryColor(selectedColor); + profileName.getBackground().mutate().setColorFilter(selectedColor, PorterDuff.Mode.SRC_ATOP); + } + } + private View createIconItemView(final int iconRes, ViewGroup rootView) { FrameLayout iconItemView = (FrameLayout) UiUtilities.getInflater(getContext(), isNightMode()) .inflate(R.layout.preference_circle_item, rootView, false); @@ -597,12 +604,7 @@ public class ProfileAppearanceFragment extends BaseSettingsFragment { Activity activity = getActivity(); if (activity != null) { View cf = activity.getCurrentFocus(); - if (cf != null) { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm != null) { - imm.hideSoftInputFromWindow(cf.getWindowToken(), 0); - } - } + AndroidUtils.hideSoftKeyboard(activity, cf); } } diff --git a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java index e412378fc3..410eabcfa0 100644 --- a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java @@ -14,11 +14,13 @@ import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; import android.graphics.RectF; +import android.graphics.drawable.LayerDrawable; import android.os.AsyncTask; import android.support.annotation.ColorInt; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; +import android.support.v4.graphics.drawable.DrawableCompat; import android.util.Pair; import net.osmand.GPXUtilities; @@ -77,7 +79,7 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex private Bitmap pointSmall; private int currentTrackColor; - private Bitmap selectedPoint; + private LayerDrawable selectedPoint; private TrackChartPoints trackChartPoints; private static final int startZoom = 7; @@ -176,7 +178,7 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex paintIcon = new Paint(); pointSmall = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_white_shield_small); - selectedPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_default_location_xml); + selectedPoint = (LayerDrawable) view.getResources().getDrawable(R.drawable.map_default_location_xml); contextMenuLayer = view.getLayerByClass(ContextMenuLayer.class); @@ -422,7 +424,11 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex float x = tileBox.getPixXFromLatLon(highlightedPoint.getLatitude(), highlightedPoint.getLongitude()); float y = tileBox.getPixYFromLatLon(highlightedPoint.getLatitude(), highlightedPoint.getLongitude()); paintIcon.setColorFilter(null); - canvas.drawBitmap(selectedPoint, x - selectedPoint.getWidth() / 2, y - selectedPoint.getHeight() / 2, paintIcon); + selectedPoint.setBounds((int) x - selectedPoint.getIntrinsicWidth() / 2, + (int) y - selectedPoint.getIntrinsicHeight() / 2, + (int) x + selectedPoint.getIntrinsicWidth() / 2, + (int) y + selectedPoint.getIntrinsicHeight() / 2); + selectedPoint.draw(canvas); } } } diff --git a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java index 053ed2a734..89a498dc84 100644 --- a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java @@ -11,6 +11,7 @@ import android.graphics.Path; import android.graphics.PointF; import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffColorFilter; +import android.graphics.drawable.LayerDrawable; import android.support.annotation.ColorInt; import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; @@ -76,7 +77,7 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont private Paint paintGridCircle; private Paint paintIconSelected; - private Bitmap selectedPoint; + private LayerDrawable selectedPoint; private TrackChartPoints trackChartPoints; private RenderingLineAttributes attrs; @@ -134,7 +135,7 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont wayContext = new GeometryWayContext(view.getContext(), density); paintIconSelected = new Paint(); - selectedPoint = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_default_location_xml); + selectedPoint = (LayerDrawable) view.getResources().getDrawable(R.drawable.map_default_location_xml); paintGridCircle = new Paint(); paintGridCircle.setStyle(Paint.Style.FILL_AND_STROKE); @@ -196,7 +197,11 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont && highlightedPoint.getLongitude() <= latlonRect.right) { float x = tileBox.getPixXFromLatLon(highlightedPoint.getLatitude(), highlightedPoint.getLongitude()); float y = tileBox.getPixYFromLatLon(highlightedPoint.getLatitude(), highlightedPoint.getLongitude()); - canvas.drawBitmap(selectedPoint, x - selectedPoint.getWidth() / 2f, y - selectedPoint.getHeight() / 2f, paintIconSelected); + selectedPoint.setBounds((int) x - selectedPoint.getIntrinsicWidth() / 2, + (int) y - selectedPoint.getIntrinsicHeight() / 2, + (int) x + selectedPoint.getIntrinsicWidth() / 2, + (int) y + selectedPoint.getIntrinsicHeight() / 2); + selectedPoint.draw(canvas); } } } From faab3a7ff7e68051d0716d638735f8032795d3f3 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 14:15:35 +0200 Subject: [PATCH 30/59] remove button_rate string --- OsmAnd/res/values-ar/strings.xml | 1 - OsmAnd/res/values-be/strings.xml | 1 - OsmAnd/res/values-ca/strings.xml | 1 - OsmAnd/res/values-cs/strings.xml | 1 - OsmAnd/res/values-da/strings.xml | 1 - OsmAnd/res/values-de/strings.xml | 1 - OsmAnd/res/values-el/strings.xml | 1 - OsmAnd/res/values-eo/strings.xml | 1 - OsmAnd/res/values-es-rAR/strings.xml | 1 - OsmAnd/res/values-es-rUS/strings.xml | 1 - OsmAnd/res/values-es/strings.xml | 1 - OsmAnd/res/values-et/strings.xml | 1 - OsmAnd/res/values-eu/strings.xml | 1 - OsmAnd/res/values-fa/strings.xml | 1 - OsmAnd/res/values-fr/strings.xml | 1 - OsmAnd/res/values-gl/strings.xml | 1 - OsmAnd/res/values-he/strings.xml | 1 - OsmAnd/res/values-hi/strings.xml | 1 - OsmAnd/res/values-hu/strings.xml | 1 - OsmAnd/res/values-id/strings.xml | 1 - OsmAnd/res/values-is/strings.xml | 1 - OsmAnd/res/values-it/strings.xml | 1 - OsmAnd/res/values-ja/strings.xml | 1 - OsmAnd/res/values-lv/strings.xml | 1 - OsmAnd/res/values-my/strings.xml | 1 - OsmAnd/res/values-nb/strings.xml | 1 - OsmAnd/res/values-nl/strings.xml | 1 - OsmAnd/res/values-oc/strings.xml | 1 - OsmAnd/res/values-pl/strings.xml | 1 - OsmAnd/res/values-pt-rBR/strings.xml | 1 - OsmAnd/res/values-pt/strings.xml | 1 - OsmAnd/res/values-ro/strings.xml | 1 - OsmAnd/res/values-ru/strings.xml | 2 +- OsmAnd/res/values-sc/strings.xml | 1 - OsmAnd/res/values-sk/strings.xml | 1 - OsmAnd/res/values-sl/strings.xml | 1 - OsmAnd/res/values-sr/strings.xml | 1 - OsmAnd/res/values-sv/strings.xml | 1 - OsmAnd/res/values-tr/strings.xml | 1 - OsmAnd/res/values-uk/strings.xml | 1 - OsmAnd/res/values-zh-rTW/strings.xml | 1 - 41 files changed, 1 insertion(+), 41 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index a55120758a..534c72b8e5 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -3149,7 +3149,6 @@ غير محدد صعوبة الطريق يرجى مشاركة ملاحظاتك وتقييم أعمالنا على Google Play. - موافق خدمة تحميل أوسماند أرجواني أيقونة diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index c858ec64e4..2b5bc9d8f5 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -3098,7 +3098,6 @@ Вызначце максімальную колькасць змен Колькасць змен Калі ласка, пакінце водгук і ацаніце нашу працу на Google Play. - Добра Палітыка прыватнасці Дапамажыце нам палепшыць OsmAnd Абярыце тып даных, якімі хочаце падзяліцца: diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index 3583a48f35..9be3296704 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -3045,7 +3045,6 @@ Abasta l\'àrea: %1$s x %2$s Buscant GPS Giny de coordenades Si us plau, comenteu que us sembla i puntueu la nostra feina a Google Play. - D\'acord Política de privadesa Ajudeu-nos a millorar OsmAnd Autoritzeu a OsmAnd a recopilar i processar dades anònimes d\'ús de l\'aplicació. No es recollirà cap dada sobre la vostra ubicació ni dels llocs que consulteu al mapa. diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml index c8b443cc90..650e9cbd57 100644 --- a/OsmAnd/res/values-cs/strings.xml +++ b/OsmAnd/res/values-cs/strings.xml @@ -3007,7 +3007,6 @@ Zobrazená oblast: %1$s x %2$s Druh dopravy Vyhledávání GPS Nástroj souřadnic - OK Zásady soukromí Pomozte nám OsmAnd vylepšit Zvolte typ dat, který chcete sdílet: diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index a5ebd8857c..0dbbad56f4 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -3040,7 +3040,6 @@ Repræsenterer område: %1$s x %2$s Søger efter GPS Koordinat modul Del erfaringer og bedøm vores arbejde på Google Play. - OK Privatlivspolitik Hjælp med at gøre OsmAnd bedre Tillad OsmAnd at indsamle og behandle anonyme programdata. Vi indsamler ikke eller lagrer data om placering eller om steder på kortet. diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 83c953df78..79a8d11fa0 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3039,7 +3039,6 @@ Lon %2$s Suche GPS Koordinaten-Widget Bitte geben Sie uns Feedback und bewerten Sie unsere Arbeit auf Google Play. - OK Datenschutzrichtlinie Helfen Sie uns, OsmAnd besser zu machen Gestatten Sie OsmAnd, anonyme App-Nutzungsdaten zu sammeln und zu verarbeiten. Wir sammeln keine Daten zu Ihrem Standort oder zu irgendwelchen Orten, die Sie sich auf der Karte ansehen. diff --git a/OsmAnd/res/values-el/strings.xml b/OsmAnd/res/values-el/strings.xml index 73a0380935..bf8ff9d2b0 100644 --- a/OsmAnd/res/values-el/strings.xml +++ b/OsmAnd/res/values-el/strings.xml @@ -3114,7 +3114,6 @@ Αναζήτηση GPS Γραφικό στοιχείο συντεταγμένων Παρακαλούμε, στείλτε μας την αναπληροφόρηση και αξιολογηστε την εργασία μας στο Google Play. - Εντάξει Πολιτική απορρήτου Βοηθήστε μας να βελτιώσουμε το OsmAnd Να επιτρέπεται στο OsmAnd να συλλέγει και να επεξεργάζεται ανώνυμα δεδομένα χρήσης της εφαρμογής. Δεν συλλέγουμε, ούτε αποθηκεύουμε δεδομένα για την θέση σας, ή για τις τοποθεσίες που κοιτάτε στον χάρτη. diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 7446abe19e..d41ecf28a7 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3015,7 +3015,6 @@ Indikas lokon: %1$s x %2$s" Fenestraĵo de koordinatoj Frapetu ree por ŝanĝi map‑orientiĝon Bonvolu kunhavigi vian opinion kaj taksi nian laboron ĉe Google Play. - Bone privatecan politikon Helpu al ni igi OsmAnd pli bona Bonvolu permesi al OsmAnd kolekti kaj pritrakti anonimajn datumojn pri uzado. Neniuj datumoj pri via pozicio kaj pri foliumataj lokoj estas kolektataj. diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index c689ca6074..27a6ff62cd 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -3036,7 +3036,6 @@ Lon %2$s Buscando GPS Widget de coordenadas Por favor, comparte tus comentarios y califica nuestro trabajo en Google Play. - Valorar Política de privacidad Ayúdanos a mejorar OsmAnd Permite que OsmAnd recopile y procese datos de uso anónimos de la aplicación. No recopilamos datos sobre las ubicaciones que ve en el mapa. diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml index 7fdedcba69..f0a0a704db 100644 --- a/OsmAnd/res/values-es-rUS/strings.xml +++ b/OsmAnd/res/values-es-rUS/strings.xml @@ -3030,7 +3030,6 @@ Lon %2$s Widget de coordenadas Buscando GPS Por favor, comparte tus comentarios y califica nuestro trabajo en Google Play. - Valorar Política de privacidad Ayúdanos a mejorar OsmAnd Permite que OsmAnd recopile y procese datos de uso anónimos de la aplicación. No recopilamos datos sobre las ubicaciones que ve en el mapa. diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 7c22e410b4..7cec1ae1f0 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -3054,7 +3054,6 @@ Precisión horizontal: %1$s, vertical: %2$s Precisión horizontal: %s Por favor, comparte tus comentarios y califica nuestro trabajo en Google Play. - Valorar Política de privacidad Ayúdanos a mejorar OsmAnd Permite que OsmAnd recopile y procese datos de uso anónimos de la aplicación. No recopilamos datos sobre las ubicaciones que ve en el mapa. diff --git a/OsmAnd/res/values-et/strings.xml b/OsmAnd/res/values-et/strings.xml index 2e9f3aa6b6..e575b2957c 100644 --- a/OsmAnd/res/values-et/strings.xml +++ b/OsmAnd/res/values-et/strings.xml @@ -698,7 +698,6 @@ GPS-i otsimine Koordinaatide vidin Palun jaga oma tagasisidet ja hinda meie tööd Google Play keskkonnas. - OK Privaatsuspoliitika Aita meil teha OsmAnd paremaks Luba OsmAndil koguda ja töödelda anonüümseid rakenduse kasutamise andmeid. Teie asukoha või kaardil vaadeldavate asukohtade kohta andmeid ei koguta. diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml index a2a1da8a52..62b8025f7b 100644 --- a/OsmAnd/res/values-eu/strings.xml +++ b/OsmAnd/res/values-eu/strings.xml @@ -3016,7 +3016,6 @@ Area honi dagokio: %1$s x %2$s GPSa bilatzen Koordenatuen trepeta Eman zure iritzia eta baloratu gure lana Google Play-n. - Ados Lagundu gaitzazu OsmAnd hobetzen Aukeratu ze motako datuak partekatu nahi dituzun: Deskargatutako mapak diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index 9bdf0f7e48..8b178c28dd 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -3062,7 +3062,6 @@ جست‌وجوی GPS‏ ابزارک مختصات لطفاً در گوگل‌پلی دربارهٔ کار ما نظر و امتیاز بدهید. - باشد سیاست حریم خصوصی یاری‌مان کنید تا OsmAnd را بهتر کنیم به OsmAnd اجازه بدهید دربارهٔ نحوهٔ استفاده از برنامه داده‌های ناشناس جمع‌آوری و پردازش کند. دربارهٔ موقعیت شما یا جاهایی که روی نقشه می‌بینید داده‌ای جمع‌آوری نمی‌کنیم. diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 6f20c4a2ff..e461fbd9e3 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3038,7 +3038,6 @@ représentant la zone : %1$s x %2$s icône Données collectées Merci de nous donner votre avis et d\'évaluer notre travail sur Google Play. - OK Aidez-nous à analyser quelles sont les fonctions d\'OsmAnd les plus utilisées. Sélectionnez une icône Vous devez d\'abord indiquer un nom de profil. diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml index 1a7c0f0c1a..2d87d12986 100644 --- a/OsmAnd/res/values-gl/strings.xml +++ b/OsmAnd/res/values-gl/strings.xml @@ -3063,7 +3063,6 @@ Lon %2$s Estase a procurar o GPS Trebello de coordenadas Por favor, comparte os teus comentarios e valora na Google Play o noso traballo. - Dacordo Política de privacidade Axúdanos a mellorar o OsmAnd Permite que o OsmAnd recompile e procese datos anónimos de uso da aplicación. Non recompilamos datos sobre a túa ubicación, nin sobre os lugares que ves no mapa. diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index cfd3ced71e..9582f445aa 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -3074,7 +3074,6 @@ פרופיל חדש קריסה הטעינה האחרונה של OsmAnd קרסה. נא לסייע לנו לשפר את OsmAnd על ידי שיתוף הודעת השגיאה. - אישור מדיניות פרטיות נשמח לקבל סיוע בשיפור OsmAnd נא לבחור את סוג הנתונים שברצונך לשתף: diff --git a/OsmAnd/res/values-hi/strings.xml b/OsmAnd/res/values-hi/strings.xml index 1d9f81837d..936cba2484 100644 --- a/OsmAnd/res/values-hi/strings.xml +++ b/OsmAnd/res/values-hi/strings.xml @@ -49,7 +49,6 @@ जीपीएस की खोज निर्देशांक विजेट कृपया अपनी प्रतिक्रिया साझा करके हमें 30 सेकंड दें और Google Play पर हमारे काम को रेटिंग दें। - मूल्यांकन करें गोपनीयता नीति हमें OsmAnd को बेहतर बनाने में मदद करें! चुनें कि आप किस प्रकार का डेटा साझा करना चाहते हैं: diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index cb3cba869e..43ce8f74ea 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -2997,7 +2997,6 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Koordináta-widget Az Kedvencek vagy GPX-útpontok csoportjaként hozzáadott és elhagyottként megjelölt jelölők a térképen maradnak. A jelölők akkor tűnnek el a térképről, ha a csoport nem aktív (ki van kapcsolva). Kérlek, adj visszajelzést vagy értékelést a Google Play-en. - OK Adatvédelmi irányelvek Segítsen, hogy jobbá tehessük az OsmAndot Engedélyezze, hogy az OsmAnd névtelen alkalmazáshasználati adatokat gyűjtsön és dolgozzon fel. Nem gyűjtünk vagy tárolunk adatokat a helyzetéről vagy az Ön által a térképen megtekintett helyekről. diff --git a/OsmAnd/res/values-id/strings.xml b/OsmAnd/res/values-id/strings.xml index 566e3cf7b8..1db6439b0f 100644 --- a/OsmAnd/res/values-id/strings.xml +++ b/OsmAnd/res/values-id/strings.xml @@ -464,7 +464,6 @@ Hindari jalan beku dan arungan sungai. Keluar di Luangkan waktu 30 detik, beri masukan dan nilai aplikasi kami di Google Play. - Nilai Kebijakan Privasi Bantu kami membuat OsmAnd lebih baik! Izinkan OsmAnd untuk mengumpulkan dan memproses data penggunaan aplikasi secara anonim. Kami tidak mengumpulkan atau menyimpan data lokasi anda, atau data lokasi yang anda lihat di peta. diff --git a/OsmAnd/res/values-is/strings.xml b/OsmAnd/res/values-is/strings.xml index ea31d75473..bb0137fcfc 100644 --- a/OsmAnd/res/values-is/strings.xml +++ b/OsmAnd/res/values-is/strings.xml @@ -3038,7 +3038,6 @@ Stendur fyrir svæði: %1$s x %2$s Tegund samgangna Leita að GPS Viðmótshluti fyrir hnit - Í lagi Meðferð persónuupplýsinga Hjálpaðu okkur við að gera OsmAnd betra Sótt kort diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index 869f4bee80..b0e829db9d 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -3137,7 +3137,6 @@ Rappresenta l\'area: %1$s x %2$s Piste per slittino. Interruzione Per favore condividi il tuo feedback e dai un voto al nostro lavoro su Google Play. - OK Politica della privacy Servizio di download OsmAnd Permetti a OsmAnd di raccogliere ed elaborare anonimamente dati di utilizzo dell\'applicazione. Nessuna informazione circa la tua posizione o i luoghi che visualizzi nella mappa vengono raccolti. diff --git a/OsmAnd/res/values-ja/strings.xml b/OsmAnd/res/values-ja/strings.xml index d86329f96f..3f5ffef2db 100644 --- a/OsmAnd/res/values-ja/strings.xml +++ b/OsmAnd/res/values-ja/strings.xml @@ -3084,7 +3084,6 @@ POIの更新は利用できません 交通機関の種類 GPS検索 フィードバックの共有や、Google Playでの評価をお願いします。 - OK OsmAndの改善にご協力ください OsmAnd側で匿名にてアプリ使用データの収集および処理ができるようにします。マップに表示されている自身の位置やその他場所に関するデータは収集されません。 \n diff --git a/OsmAnd/res/values-lv/strings.xml b/OsmAnd/res/values-lv/strings.xml index 6925788a45..00debf5c9f 100644 --- a/OsmAnd/res/values-lv/strings.xml +++ b/OsmAnd/res/values-lv/strings.xml @@ -2575,7 +2575,6 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl Spiežot darbības pogu, tiks pārslēgts dienas un nakts režīms Smaiļošana pa upēm "Lūdzu veltiet 30 sekundes laika atsauksmēm un novērtējiet mūsu darbu Google Play." - Novērtēt Privātuma politika Palīdziet mums veidot OsmAnd labāku! OsmAnd lejupielādes serviss diff --git a/OsmAnd/res/values-my/strings.xml b/OsmAnd/res/values-my/strings.xml index 2cb43999b6..be686ece0f 100644 --- a/OsmAnd/res/values-my/strings.xml +++ b/OsmAnd/res/values-my/strings.xml @@ -198,7 +198,6 @@ GPS ရှာဖွေခြင်း Coordinates ဝစ်ဂျက် စက္ကန့် ၃၀လောက်အချိန်ပေးပြီး Google Play မှာ ကျွန်ုပ်တို့၏ application ကို သင်၏ထင်မြင်ချက်များ တင်ပြပေးပါ။ - သတ်မှတ်ချက် တစ်ကိုယ်ရေ မူဝါဒ ကျွန်တော်တို့ရဲ့ OsmAnd ကိုပိုကောင်းအောင်ကူညီပါ! သင်မျှဝေလိုသည့်အချက်အလက်အမျိုးအစားကိုရွေးချယ်ပါ။ diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 4ec679813e..c226ecf399 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -3037,7 +3037,6 @@ Søker etter GPS Koordinat-miniprogram Del din tilbakemelding og legg til en vurdering på Google Play. - OK 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 plasseringer ser på på kartet. diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml index bbe3ff601e..aecebb50c9 100644 --- a/OsmAnd/res/values-nl/strings.xml +++ b/OsmAnd/res/values-nl/strings.xml @@ -2953,7 +2953,6 @@ voor Gebied: %1$s x %2$s Probeer de wandelroute. Probeer de instellingen te wijzigen. Looproute berekenen - Ok Help ons OsmAnd beter te maken Privacy en veiligheid Kies welke gegevens je deelt diff --git a/OsmAnd/res/values-oc/strings.xml b/OsmAnd/res/values-oc/strings.xml index bda263590e..8db78dec1f 100644 --- a/OsmAnd/res/values-oc/strings.xml +++ b/OsmAnd/res/values-oc/strings.xml @@ -223,7 +223,6 @@ Legit Servidor de descargament d\'OsmAnd Donatz-nos lèu, per plaser, vòstre avejaire, vòstrei comentaris e avaloratz lo produch dins Google Play. - Avalorar Politica per la vida privada Ajudatz-nos per melhorar OsmAnd ! Indicatz quinei menas de dadas volètz partejar: diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 7352597b2f..55e905dd69 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -3028,7 +3028,6 @@ Reprezentuje obszar: %1$s x %2$s Wyszukiwanie GPS Widżet współrzędnych Podziel się opinią i oceń naszą pracę w Google Play. - Ok Polityka prywatności Pomóż nam uczynić OsmAnd lepszym Pozwól OsmAnd zbierać i przetwarzać anonimowe dane użytkowe aplikacji. Nie przechowujemy danych dotyczących twojego położenia ani lokalizacji, które widziałeś na mapie. diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 71d8868f5d..8e6f95a3ed 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3018,7 +3018,6 @@ Pôr do Sol: %2$s Pesquisando GPS Widget de coordenadas Compartilhe seus comentários e avalie nosso trabalho no Google Play. - OK Política de privacidade Ajude-nos a fazer o OsmAnd melhor Permita OsmAnd coletar e processar dados anônimos de uso do aplicativo. Não são recolhidos dados sobre a sua posição ou localidades que você vê no mapa. diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml index 6fed020d9a..55fa242a73 100644 --- a/OsmAnd/res/values-pt/strings.xml +++ b/OsmAnd/res/values-pt/strings.xml @@ -3033,7 +3033,6 @@ Procurando GPS Widget de coordenadas Por favor compartilhe os seus comentários e avalie o nosso trabalho no Google Play. - OK Política de privacidade Ajude-nos a melhorar o OsmAnd Permitir que OsmAnd colete e processe dados anônimos de uso de app. Nenhuns dados sobre a sua posição, nem sobre as localizações que visualiza no mapa são recolhidos. diff --git a/OsmAnd/res/values-ro/strings.xml b/OsmAnd/res/values-ro/strings.xml index 36d5a86a09..32aa71b28c 100644 --- a/OsmAnd/res/values-ro/strings.xml +++ b/OsmAnd/res/values-ro/strings.xml @@ -2305,7 +2305,6 @@ Tip transport Căutare GPS Acordați-ne 30 de secunde, trimiteți părerea dvs. și evaluați munca noastră pe Google Play. - Evaluați Politica de confidențialitate Ajutați-ne să facem OsmAnd mai bun! Alegeți ce tip de date doriți să partajați: diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index 94384d2ee5..05c178b475 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -3127,7 +3127,7 @@ Предпочитаемая сложность Служба скачивания OsmAnd Пурпурный - OK + Оценить Показать компас линейку Скрыть компас линейку Мин. скорость diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 09af46fdd5..e933637353 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -3032,7 +3032,6 @@ Pro praghere iscrie su còdighe intreu Chirchende su GPS Widget de sas coordinatas Pro praghere cumpartzi s\'opinione tua e vota su traballu nostru in Google Play. - AB Polìtica de riservadesa Agiuda·nos a megiorare OsmAnd Permiti a OsmAnd de collire e protzessare datos anònimos a pitzu de s\'impreu de s\'aplicatzione. Non collimus o sarvamus datos a pitzu de sa positzione tua, o a pitzu de cale si siat positzione chi pompias in sa mapa. diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index 957a36d5cc..7b9d23c687 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -3014,7 +3014,6 @@ Zodpovedá oblasti: %1$s x %2$s Hľadá sa GPS Nástroj súradníc Prosím podeľte sa so spätnou väzbou a ohodnoťte našu prácu na Google Play. - OK Ochrana súkromia Pomôžte nám vylepšiť OsmAnd Umožnite OsmAndu zbierať a spracovať anonymné údaje o používaní aplikácie. Nezbierame žiadne údaje o vašej polohe, ani o miestach, ktoré si prezeráte na mape. diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index c87a3b706b..3d2c2254ea 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -3121,7 +3121,6 @@ Koda predstavlja območje: %1$s x %2$s Pokaži področja z omejitvijo izpustov Upoštevaj začasne omejitve Privzeto - Ocena Prevoz s podzemno železnico Pokaži kompas Skrij kompas diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml index 43f6ea4bd6..983f2e7d09 100644 --- a/OsmAnd/res/values-sr/strings.xml +++ b/OsmAnd/res/values-sr/strings.xml @@ -3011,7 +3011,6 @@ Тип превоза Тражим GPS Справица за координате - У реду Политика приватности Помозите нам да побољшамо OsmAnd Одаберите које типове података желите да делите: diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index 3c1fbb8339..f93d333fa6 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -2767,7 +2767,6 @@ Vänligen tillhandahåll fullständig kod Mellanliggande destinationer Ankomst klockan %1$s Vänligen dela din feedback och betygsätt vårt arbete på Google Play. - Okej Sekretesspolicy Hjälp oss att göra OsmAnd bättre Tillåt OsmAnd att samla in och bearbeta data för anonym appanvändning. Inga data om din position eller dina platser du visar på kartan samlas in. diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 3d9a30b8ab..d7a1357c8a 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -2618,7 +2618,6 @@ \n OsmAnd+ uygulamanın ücretli versiyonudur. Satın alarak, projeyi desteklemekte, yeni özelliklerin geliştirilmesini finanse etmekte ve en son güncellemeleri almaktasınız. \n \n Ana özelliklerden bazıları: - Tamam OsmAnd\'ın anonim uygulama kullanım verilerini toplamasına ve işlemesine izin ver. Konumunuz veya haritada görüntülediğiniz yerler hakkında veri toplanmaz. \n \n\'Ayarlar\' → \'Gizlilik ve Güvenlik\' bölümünde istediğiniz zaman yapılandırın. diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index a243a06cf6..b475f1563e 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -3025,7 +3025,6 @@ Пошук GPS Віджет координат Поділіться своїми відгуками та оцініть нашу роботу в Google Play. - Добре Політика конфіденційності Допоможіть нам зробити OsmAnd кращим Дозвольте OsmAnd збирати та обробляти анонімні дані про використання додатку. Ми не збираємо і не зберігаємо дані про ваше розташування або будь-які інші розташування, які ви переглядаєте на мапі. diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 52a9a0ffee..25c9dbdfaa 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -3019,7 +3019,6 @@ 正在搜尋 GPS 座標小工具 請在 Google Play 上分享您的回饋與為我們的努力進行評分。 - 確定 隱私權政策 協助我們讓 OsmAnd 變得更好 允許 OsmAnd 蒐集與處理匿名應用程式使用資料。不會蒐集關於您的位置或是您在地圖上檢視了哪些地點的資料。 From 6675070704b8b6724a5709c1639c983ba79d37dd Mon Sep 17 00:00:00 2001 From: Nazar Date: Fri, 17 Jan 2020 14:55:24 +0200 Subject: [PATCH 31/59] Fix a few Arabic strings --- OsmAnd/res/values-ar/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index a55120758a..8fd67c36ed 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -3198,7 +3198,7 @@ %1$d الملفات (%2$s) موجودة بالموقع السابق \'%3$s\'. نقل الخرائط عدم النقل - المسار على الأقدام حوالي٪1$s ، وقد يكون أسرع من وسائل النقل العام + المسار على الأقدام حوالي%1$s ، وقد يكون أسرع من وسائل النقل العام لسوء الحظ ، لم يستطع أوسماند العثور علي مسار مناسب للإعدادات الخاصة بك. حاول التنقل مشيا على الأقدام. حاول تغيير الإعدادات. @@ -3215,7 +3215,7 @@ حدد البيانات التي تسمح لأوسماند بمشاركتها. يساعدنا في فهم أي الخرائط من المناطق والبلدان الأكثر شعبية. يساعدنا في فهم ميزات أوسماند الأكثر شيوعا. - انقر فوق \"السماح\" إذا كنت توافق على٪1$s + انقر فوق \"السماح\" إذا كنت توافق على%1$s الخصوصية والأمان اختر البيانات للمشاركة لا ، شكراً @@ -3312,7 +3312,7 @@ ثم %1$s %1$s • وفر %2$s تطبيق فقط على \"%1$s\" - إعدادات التوجيه في ملف التعريف المحدد \"٪1$s\". + إعدادات التوجيه في ملف التعريف المحدد \"%1$s\". حد العرض حدد الحد المسموح به لعرض السيارة على الطرق. محاكاة موقعك باستخدام مسار GPX مسجل. From 796f85a2b46a7494aaecb651c24fbee852d9f44c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 17 Jan 2020 14:59:36 +0200 Subject: [PATCH 32/59] Add Car icon for navigation --- .../drawable-hdpi/map_bearing_car_bottom.png | Bin 0 -> 4530 bytes .../drawable-hdpi/map_bearing_car_center.png | Bin 0 -> 1021 bytes .../res/drawable-hdpi/map_bearing_car_top.png | Bin 0 -> 5355 bytes .../drawable-mdpi/map_bearing_car_bottom.png | Bin 0 -> 2510 bytes .../drawable-mdpi/map_bearing_car_center.png | Bin 0 -> 707 bytes .../res/drawable-mdpi/map_bearing_car_top.png | Bin 0 -> 2744 bytes .../drawable-xhdpi/map_bearing_car_bottom.png | Bin 0 -> 6947 bytes .../drawable-xhdpi/map_bearing_car_center.png | Bin 0 -> 1338 bytes .../res/drawable-xhdpi/map_bearing_car_top.png | Bin 0 -> 8149 bytes .../drawable-xxhdpi/map_bearing_car_bottom.png | Bin 0 -> 13258 bytes .../drawable-xxhdpi/map_bearing_car_center.png | Bin 0 -> 2164 bytes .../res/drawable-xxhdpi/map_bearing_car_top.png | Bin 0 -> 15496 bytes .../drawable-xxxhdpi/map_bearing_car_bottom.png | Bin 0 -> 21042 bytes .../drawable-xxxhdpi/map_bearing_car_center.png | Bin 0 -> 3155 bytes .../drawable-xxxhdpi/map_bearing_car_top.png | Bin 0 -> 24303 bytes 15 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/map_bearing_car_bottom.png create mode 100644 OsmAnd/res/drawable-hdpi/map_bearing_car_center.png create mode 100644 OsmAnd/res/drawable-hdpi/map_bearing_car_top.png create mode 100644 OsmAnd/res/drawable-mdpi/map_bearing_car_bottom.png create mode 100644 OsmAnd/res/drawable-mdpi/map_bearing_car_center.png create mode 100644 OsmAnd/res/drawable-mdpi/map_bearing_car_top.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_bearing_car_bottom.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_bearing_car_center.png create mode 100644 OsmAnd/res/drawable-xhdpi/map_bearing_car_top.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_bearing_car_bottom.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_bearing_car_center.png create mode 100644 OsmAnd/res/drawable-xxhdpi/map_bearing_car_top.png create mode 100644 OsmAnd/res/drawable-xxxhdpi/map_bearing_car_bottom.png create mode 100644 OsmAnd/res/drawable-xxxhdpi/map_bearing_car_center.png create mode 100644 OsmAnd/res/drawable-xxxhdpi/map_bearing_car_top.png diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-hdpi/map_bearing_car_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..0d16b3d41fa76a1844a6b0b123fff21cc8f737b4 GIT binary patch literal 4530 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 QoB#j-07*qoM6N<$f+qv)Q2+n{ literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-hdpi/map_bearing_car_center.png new file mode 100644 index 0000000000000000000000000000000000000000..67b2aadf11ee7c0fcc09aac209cc7da43128e4a7 GIT binary patch literal 1021 zcmVq)h>Acdx{?~CTVjNi@8{k`w~$$d8wxNB|#GPk8Ogo9@w0te5*Gaz7K>Xhf;84xfq zb;@(_3M0W}2Jw z{2eWO&rlcOC4gGShSY+3d(zC8tAs=87M z=Zv7@D=e|pM}ZeKv<^Y4JnNSxcy)Ft9qW#UyC}j%8nUBEXhW9*uhP_00agk9l)8w* zwk$JzQQ!qlRYou)AFO%LI=mMRT}=e1On3?4pSR_^ZJ*ZR`MX*xm2hG^kjeXtVC~x* z>Dl(_;298h@Ep9`1d23lX>S+f)%FLf(L3oIh-xNN`@?om%cW~v%=9!1YE+o5O3I_s z&~uT6r=jjetw8^*E!73}!-Kc6uDsOy@@wsS9yS>P0Vv$-*^U738Ssji7-;D_6h{nr ztd%y6g)(fZ`8?7}OM{m>VkHN{won8?g-2R(Y3V2~JWfup7q(@MF}G6T1x-yeD_IY> zvvMdVJknl|w#TC?&%w(&h$h-Qcn;nz0<=9*(9$C))(!YSZmRek9*A8Z6Hmc|=T_Ut zJAYaW(%Ee>H_1UuFBVjf_fQWG!nQ2U-^JN1DZ|z$W|LW2WZFKDd3GBYEvr&#s!N7u zn-TuBt~9hGg6(oLC~d{Ht~};SJEG^Rq%ux)lg(Kx zu6^a@P+}G**oY40*ns~`rqCQyJppk>;;N2nMlxHA`!oVYzT8wbB zN-nI=d3jXB7X}`)PNi_0bMOoZ7??WcId}#H3`~ClvG|r>M#?;a00000NkvXXu0mjf`-aw{ literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-hdpi/map_bearing_car_top.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3effa5f598411933dc5a633bf6cba1a55c00c4 GIT binary patch literal 5355 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 JPDHLkV1kWliEsb_ literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-mdpi/map_bearing_car_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c36664434177c0a762bc4284c0551be1fa6492a7 GIT binary patch literal 2510 zcmV;<2{HDGP)umw1UNtAFZ=0QfM_4nno#sephz_ zYQfslUk0nOe@Y9Pib5691f7?B-T}({vn#5#xXJ&WqeBSR@-px!6RqNiF+59LT z7?e&(q<B7T3Ql2ckYB8J9a>|TJ=(?6s)eUdUJDg z-onBHF))u|zzqb{13^TQ$z;UEix<@k7cM9OASWj$Wvy0=IF2(-MB5P2kWv}|aDIAv zx>YWh9bMNQ0B|yyj8iI=JOE&6@!!5j-$0i>C<@k^>FH_JFbruJM$k0Pt8Lr9K?rdZ z0E7WR2Y?CyXaEodfN{_BnnH*_ODSIs1OgYQrlyQjr%qV_;O6srk5#i@Y4r^R03w^s ziej-C0DzFHsx!82-vI!75OD?o#<~EJcYW?w7jhKKBOL6B82?{KX?HD=T{e;BG|B0KnBgH*$`M-c%Ij`EWS=S|X8X-F)-SR-sVn zsi3dv`U1-5^CF+mtMPa|(&=<|xvu*V5q%l};=We@*TXsyolsTvJE2f$sa~(Qh{#4n z-}clO5CAB%v$Nq!r4p}JtM?${T>!AVPnh0oe?`O}YMS<9r_<4Mxm>3oDftFsXRv3_ z9`*eB^HI|@$4t}w1|r_cb~GT6LqtE*H0^QIG^^=!y0NgZz*6!Rr}_e#nwkpPwjEzz zU;nVeiExA%u7| z7K^>2>pI6ScJUm1H$D7H2y?ldIDY(itX8Xy3nAt_&-)gl-)a8y{<`_yW16PD91e$9 zues)$cBxcipiSG6ubr?%xbemt<(V^QqPnhc7eah~*g#Us#}!5SiKc1gYp=bw@%rnp zJANF4Z=ikq_OT7cSmkWn{;cPD-y5ccgb+`ts#-8jb2XdIHjBmL)~Oszs8A?~Lx&C} z%H=Wx-RgPXGlfzO=Mt`iVh(0deVY?AS4R_UzdWAj`7uK*X;Az^*}n0N^awL_&y{HBDP?G#YgP zu(uqj7hF%DKAkX4bGzd>pCqCKLnt5qhKN6qQvSlStd(>+U0+;W zDz5ALWV_wwSad%k4q6YLLd5Tf!{OtIxO$m{wj2nv*{o73m9{k+jd1|D6A||Vzz2M- z{O=Dh5z)~=Ai!x)56D*@*Ov{kBgtekvQ#Q1*s}>C?j)kG4gu)zhq)02osqZ7?$lba)4f)DDpxdZer&9xf z_LiqU99WMWITF%!eatY7n-K940Ql%2y4HJ_i2kG~%G0Wu7`vWk9eN<^KL)9c_p%KHIYa}4a499k4x}x53^$B`byI@ zu2{>tT(04_+33q{cTXH71949Q0KNp zCP^-rGp|Hn4sXBx_Q1)LCu62*j=QdVlk2(%5Rs2m`t6`{Gvo~-IuZy3exFPxtINyF zJ%_NhZLF?psmWwA)NZ%82_Ys7!^nD`HwOSIL>%cJxok!YT_RdW#IuO_(_k?8+h8!b zvbMIyr33fmu1Lko877AD?1tGk zSOVWQ?-{D3g5f>3%MNwLoWm%n0$DEy=HIvDtqiLF*&1SuRVFr@WWoE(G#rUVp%*+T~ z*Hy=H6vuJYMx!CZ;V|3KMn=+ZxB08P@p#-xCX-&P)pGa})4liJ>pu6~a~=_SetX&P z_B_5)pa0>uHo)fR=lKrY2E@$F4DuDT%irVcW}~B{ZY&m~0|yS!;^HFTrSs*Q-)kTL Y1Xu{WaqB`dfdBvi07*qoM6N<$f@iAVT>t<8 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-mdpi/map_bearing_car_center.png new file mode 100644 index 0000000000000000000000000000000000000000..d7eef1d9b8ed2c4a2a6b13470aab697d7b5037dc GIT binary patch literal 707 zcmV;!0zCbRP)L%Tg8#ty1;0SPnk`tskLC7uzB&Zae?g}TUZ_xAvp(iK@sKGr!yeLwo z)}HF2fKsYf(0@=Z7fbATqxs%HZ{F{*pk$Afj0XpxqAPk(=)YFTZ)+7#;CmkGnIMHC z#aB#|k)-?D81s^I5S1fbh@b&1f4@8mOhqxya!iufl32o-0WCqEqAx&u#{{EnflDjZ z%z%QfeiWd-Bh2#ePO*G}rUjG*y_zVz$G#<(^ z8G{G%uhez1Ih%-Ep9B7UD4&^Fv_iF>wxD>&B(YwrIFCb#m{>GW(9wYi`b-k*bClz9 zb|WJuR$Fsr{EGed8tvQf-@=^#rrsv78S$H%XM@l zf(s^@VwqC|w@@e`i`K0Mw#V%C!2$>d#?%bR!k`waDa}f**44Y; zjjXm#ut@h%sjQDb(5m+h_ggFRhd*Wu9J8Y=+MN1V+VDKMlB1tOygrz|;2B)5v_cjw zyHIbefq^l7RI7CBrWG=}gH}xc9>`K5Rg7n$?E3ZMr)ESeRJt={;Gq>%AjTH}f#7D0r%g|(pjAlSC(8C0E z0KxOEhmL|&fbsV)7_p{wr7V4hHcP~P4fl@Fg5V5-`X-zz5~*OSiVyh$krl|^fY>v@ pt~XbRO^9880AhD=-|I`K&<` literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-mdpi/map_bearing_car_top.png new file mode 100644 index 0000000000000000000000000000000000000000..850c07017041f162e5817774a78a20aeb4cc5f95 GIT binary patch literal 2744 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-xhdpi/map_bearing_car_center.png new file mode 100644 index 0000000000000000000000000000000000000000..1aff7af44ab07b27b3a00d279979fb8fb0b83ec4 GIT binary patch literal 1338 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 NRV7WuT6yz`{{g3r-;)3U literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-xxhdpi/map_bearing_car_center.png new file mode 100644 index 0000000000000000000000000000000000000000..010cc3924cea1c86195a68359d10869e741aa2ca GIT binary patch literal 2164 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-xxhdpi/map_bearing_car_top.png new file mode 100644 index 0000000000000000000000000000000000000000..273ee55ccdb1b08e5b39e2718423b28116fcd67c GIT binary patch literal 15496 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_bearing_car_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..ce817488cd0edf6401f762bc4c8629375b095ce4 GIT binary patch literal 21042 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

q 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 literal 0 HcmV?d00001 From ce75dbab5c600fe4e186abb986de15bc7dccac6b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 17 Jan 2020 15:06:41 +0200 Subject: [PATCH 33/59] fix icon angle --- .../drawable-hdpi/map_bearing_car_bottom.png | Bin 4530 -> 4164 bytes .../drawable-hdpi/map_bearing_car_center.png | Bin 1021 -> 969 bytes .../res/drawable-hdpi/map_bearing_car_top.png | Bin 5355 -> 4659 bytes .../drawable-mdpi/map_bearing_car_bottom.png | Bin 2510 -> 2206 bytes .../drawable-mdpi/map_bearing_car_center.png | Bin 707 -> 648 bytes .../res/drawable-mdpi/map_bearing_car_top.png | Bin 2744 -> 2503 bytes .../drawable-xhdpi/map_bearing_car_bottom.png | Bin 6947 -> 6334 bytes .../drawable-xhdpi/map_bearing_car_center.png | Bin 1338 -> 1226 bytes .../drawable-xhdpi/map_bearing_car_top.png | Bin 8149 -> 7153 bytes .../map_bearing_car_bottom.png | Bin 13258 -> 11968 bytes .../map_bearing_car_center.png | Bin 2164 -> 2077 bytes .../drawable-xxhdpi/map_bearing_car_top.png | Bin 15496 -> 13658 bytes .../map_bearing_car_bottom.png | Bin 21042 -> 18987 bytes .../map_bearing_car_center.png | Bin 3155 -> 2921 bytes .../drawable-xxxhdpi/map_bearing_car_top.png | Bin 24303 -> 21483 bytes 15 files changed, 0 insertions(+), 0 deletions(-) diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-hdpi/map_bearing_car_bottom.png index 0d16b3d41fa76a1844a6b0b123fff21cc8f737b4..a0864094e3ab09953c53bf4d712ec6d4de4b759a 100644 GIT binary patch literal 4164 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 QoB#j-07*qoM6N<$f+qv)Q2+n{ diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-hdpi/map_bearing_car_center.png index 67b2aadf11ee7c0fcc09aac209cc7da43128e4a7..1fd71cf7b1b10c23f6fea06d9787fcb01eddb7d6 100644 GIT binary patch literal 969 zcmeAS@N?(olHy`uVBq!ia0vp^{vgc31|(OR%xGg^V4mRV;uum9_jXpG-)#qhw*MP1 zugZ$QBdx<*t9D0W&H@?6Jcj%Z1yh@ruvgAI9gCT-2v3;T@P&b`xapT_Xy}IJQNgz+ zG;MxusAc%r-23zUb9KM-=iH5KvYW~okh+v>;RhDAfC?^u2M2}F=bAQ*jEy04mw#Yk zVF@aocSu-3z~gEq36kIUKb$FRc0ynwtFY0cmo-KTn)m7x=EwwTo!AJHvOwNg%)*{kl$XsUdyt1uObj8sWK`Tdw$Fths zPR`liqaWE9_-Wocwa^b02dnp-Bq&OAY#J(o-)!vONCn zrM1($G6qak-;mjAoY55LZ+m5OdMz<^PE`3w*Et2&!0Lw$s05`?_9J1-(x8El;fYTFWPgNb$c| zdZ<{{Kv>P44Wa z)SP4NCSPX$*?Der@7C`>qAyQh_kPmWm^lw@n{3xzZ)~{C_t@&h7fUX^3wM|Tj&jYK z{8`5(dh=Ok8S|W<_v&AM>}M{&!J^ogtRaKwtshSPObJSJXa%-;4s>Vc*8`ou;qe}jcw{tr1hIF`J!X;oKHn6T=z$h?LI ohgHC^WMX1kX+?&l@PXf~jQ(F;17=YMPgg&ebxsLQ08)X!Bme*a delta 999 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 JPDHLkV1kWliEsb_ diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-mdpi/map_bearing_car_bottom.png index c36664434177c0a762bc4284c0551be1fa6492a7..1259b9a747f68077b1fdf929171fb31422f3e2d5 100644 GIT binary patch delta 2195 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 P00000NkvXXu0mjfG;rm$ diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-mdpi/map_bearing_car_center.png index d7eef1d9b8ed2c4a2a6b13470aab697d7b5037dc..9c276f19ea8da8bb176f526b88dd43b09382db3e 100644 GIT binary patch delta 623 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 IM6N<$f*bD2OaK4? delta 2737 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 diff --git a/OsmAnd/res/drawable-xhdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-xhdpi/map_bearing_car_center.png index 1aff7af44ab07b27b3a00d279979fb8fb0b83ec4..58a76bb2fc2cfe6e7378d938c6d2282dfa6b57fe 100644 GIT binary patch literal 1226 zcmeAS@N?(olHy`uVBq!ia0vp^86eET1|(%=wk~8~V43LY;uum9_ja~_-em`gqxZ$b zJ6O95nr1CoBb_(lUW4?7c@3MKJyp9{T4kTIToAq>E#T)6;T&Dev}a`t%eVGpswS$<%Ljao-Tk99(foUn_-FeoiHY$9xjgkF$`hJ)Q3e zzv;dU-RnIj*Lv#y+Hzrz&GeMWUsB!yd)C&*9A6=x$dV8$vXM#ot+H}l9(QMf82t~ZgjL684v;x; zu6Wd!v0sQiGg|O4B)00-&HU(njcc_zVxMU-OZj|R z@_FytYq_u2F$?C@R6W{1GfEO@-L1O?|Mt%_Io|v@ebakuBc@NKIv;96_t@Ne~_+j;K#J}_NTYv#(o_I}!D z$E|WFzsZM`f8iA=e|>V#uC=>wyn2|H`QuMk{pONf_v5Q-?g|`PaV+}kDRa(`>%J|1 zZ}E`Zy51$SEqbB6aTwc^l#g>K*vov6EJ$C!XXhDKhE*H)?7X)}=!w*aqjSZVJ~3Gq#z$LMwDc>yeR?*;f`zf@ z)3s&0)*k5A3V!J|_p-vA1+!Z|r_F9iS=sP<&8586?>2?~mMZzjZ>8DDk~Zt{<{d^S zE_zA-Memnebg9juu^Ej2tCW^hU7vD4?7-}Z|O zem98snf691E%$XcPryx|g3Uh;728Y-xaNL&zrM+K-iPtKteLNDsSJPmpW}o@CKK5? ekb(?+kN<*BZ^a4Tqkh0Liow&>&t;ucLK6TMdpQaK delta 1320 zcmV+@1=sq@3Azf9BYy<}Nkl>gZ2(dZ*Thvv|^Sr!i{gHn2;LzVQ+5>WDd`!B3NbU{}Z7SNqq64m7Y?Y`F5 zqD_5wouvc4rGKgl3FynZ?+r}nCY9F)V|qos#P#CWwsp4jdvpH`4p0UsP4s?as>ydv zKXDz6{WULMBL+~l;Xg}yx%eY& zZI+w*-IhI_RcIUkM*tcI2PNHXjZ`Y%wCr}?@|!A$090-IpqU2m`3R$IBE6)Qjhsx~}}-WE-MuK4IPZg>6CZClYH zKVxNSrGM@>W?M_^%nP>HZQ1U;g*R1>q9EVY1FlkUw`GOr4MC+9>Lm)}YXS5UlzriU>IKoMrs6~vean)DK4UWlTgNcB*|?BP48 z?k{D^=7TWTAk~ZB8@njlAcTU5W1+!7yM(m~2!B9B6*c{1fr~{Zg%T5XlOCxw{K_<3 zXHB>e0Yc^ojDmK*^|K@yF7GY=f=o4_09ERKVy5qkrz5%R`|Gxy5NyFHh!n|DA~=+S zhD&};SBO>{>*DTXAcfk5EcVDlm@ck-;yb0k^pT(-!b~a-5Gku2fO2F4$!a4Oiy##g zfPe0{T+BNtGc5oGpm}1D=;HFc6bcFjg@WesKwcThlmlj}0hQ{BanQrf78AvhG6{p< z^^~#$2?h`;SsJ;x2h>dZ$~&eT9spEnc+I4rRtYlJb}!`fM^unN`V5lt`6CJt>NCh# zlW@N?f{cMihGE7+h$xOUn>r#yiR37NFn{~>i~vz0IRqfmlB*FQPxb2hjh(J7GF-AE z1R%&ZWRosLY^cNl1l-8NrOtKBo-f((*LE8M5M&-`(y54vI|QKkh&W$xg##jGu_xU` z$Z8i42)I`qX)F|gro7GxgVg{OfTl;B#57NIabwH^(DVizU0if=vj^2N4g!yZhJVYg zSfAjd=7b9G;xca#Q$3N38&fqjn~m5jfuf+;OeyCz!~jHEa`nkkF=02>VxBd9-<@$Z z&B!du5j6+}5i{C^Om?h`%O8Fq0t6Hw!1;A|xF~zYp#TjBtbm;tO?vgARs3q6yLaL2 zM9g+eJZt)idojCS(cs_|G-?V(9Dj6crX$M1g5#1vL~(f<&AL1{9dB?a#^IUXgp;=N ze1HZtuBg;hlj-Y~_chJV?@skDNpwL}%p|Bs0chOlY*3q~IyBQ)?kdkZ7|LBeOVsgH zw;7bbe^ZC@{pmb!_eTe4o`?EBl?gy_ngJ*P!94&sFBBAj;2waR7YYhMa3K%C%?kwu eAh-wM=KTZWj1Y%0N{li90000_d6Tj_YaC#5v>t>wy3>o)rwJ46g6vCDMd?Bdz9F_g4R|-)uw{j`)$RZv6a*c zYSsSw{1@NzJolXQ%YB|ZUiaMBecfn1-DgzfOymFnfJ#eK&EPIN{;vT^?mR0?T|NN7 z+@PhVV(4SF=TCv4oBD=dsw>@YM!%R?l$4BGjCy@A;B-{{hg;p$;WfCJy<#K;--0 z>a)uKhwLe}pml4rNS4y&u0+oIgUgcQoSLJt7p=q6i=Hq0mIqq*<5ULIMW`hrN@>1_ zfmpW%tIOUb8~AV_Q8_R(xPiHwaH9daT^wDOl#c2_DA-4JXUt2X$cc&jUL6hew0(#F zWszsDE)D=hS5QBHR8C-N8QB#V9R#iVl9N-I3VSF6&51`>I0IMN;ChJ_%zF`^Ggb5T zumy>VO!C>M+2YD>VThROxVb4E9eL_s_4Q|>y$#?mV!iMpTMPsT(+aQdMIvA`)!z-l zIuk3s9VE~w4d9p;RFVi}ITNqPm*<=zOx5KwBU!#Esl{R!pa`ii=Np{qVm z*(SXL!MJA0>`yVsH$;3JJ<)0wJ?s63a@jSkkp@Uw2B;_;j<_!X1&4MNA~ZZ%hp7Ib zb%(e~n>9%ZdxI=R-erkzjI}IFnHJyEv$X8e#Oz_u_LXK^e2;McFG~zzKowaAL*Oce zWHYUY7zzVJd63!w|CL88MPVHrn^_N#JS1+EL^N>(EN|Xr&;Y}=A8-mmfRIO=MPxw2 zPZ<$pagH49y|ZJIue+pH&>18%(+C8iI#;qdKT;cMV94LWhYU3!2!m_&e=Ty-mD6Fx zqFB2`1^e<7DjqmsK_&y>gMBwQj8xT(s3#$cUtJseE6EnZ*)^()eh)7g)6^G*%(2I7 zDE<>R^BMK<1JrGlZ4k%hL91$UNcu_6PQ%@d=TYGsbKcIDS`FX5s+rUmdn2aWK^b(t9OBC9sk zjU`%5?{O**q>JMt;|EQCLLD9Jn^Dx>U~Ejxe+R2w^*Mp3W<#QJJrhMb&bPv|o(2FR zb5t3O|LH^eSn0N#i(R2i>ENJrd*r?$?8L%C@F-QJUrDN zSsjcC8gX~Y((JDDlta2>L}gU@^D~R0Ws5arSf&eU<>0D5j!Yyr(O|;Y+#nLNB3idm zTAOe%Jrt-Og@9y+dUTL+CcV4|ARq$fq^G5Ic^Fw)yrvZ8s}x zq!{%6&Ag+tb2NUo+LeW~a5I!b_@85U6iwvCsgSvx`&#!)lC46(&rMo6Am?kKgFnakDAg6L|bM!w;9;_KFNpIFY@<%1XN5c!X(^reqINd1-F` z!f$8Vl7mps-8~w{vnG>`GV(h4Hj65`WKxt5_*doM;wcy1wF*w?K}!NEN=n4gP7}p1 zGKzdR|4UZ#+aG`Ky!++LmwI09uPa#tfjOeeUS7dhpAD{x@OVu5dauIqgF)Es1E}Nj z5B-^it0n*E$2LinD;8!MMXK8M@T4bp3)}bv`Mtfx=^5+#(a%Jrd3|h6^%pB0*W9dq zjQz5gx&Zk!Zcz>Q3Ch-w{SUbvmb_*fWCGrfeV^k_>Br9$(i$ae{?>EdyXq4V7||ri zi92NDw;xBDJ(JT(k@tR5?8;od>zrBincrUc@8V*1dqBWHx6CJRF&{)+oaO%+IypJ* zEPCI5w0Cl9ODlQFTX|bbI5|3c(10+-d=)Dw$eXBy(%lCt}9>Fyo z$$nEZ5=vaRPSthA1qMnQ8yW@$;j*a%7H1n$sF^$;ZST7DZERfAWsy=sqJqu`Gk=0u zX1(gxO}WFtCIVjXC?_OcE%o&e2c@LaEB$ZI=c?1vuK!HD*tu|-Kkhe#Wgi;A{tMFt zetvgn%RY7(|GZf~I@knIUDF*2CXQDw`6#LL5F(L+%GP9;ar?Trvz!%@ObQ57$0(7#snLDTAOf1O+kI^c~HQ{xX)i2c($xJH9c*RqFY>%W-!ece!=&UQ}DE(Fn-vLP34|ZC6C^d`#9Q4~<*6xI0YdS>t6lRMFEAp+^gJZjpwI2Uk_F;)z#ITcy%(4r}}ID zzyUuit-aDKc8D@EP{HE1oduNw4@DqS+xwO0D`6L$&^$@bZYa>~dAhKIM@MM=TQLn9 zz`X)mOqRdSJss}6B`~L)IHiIHkYIE=!y&Kw*RR(*-O(aJL`(r~NP7`BNyn-Ih5dy_ zif}0Uk}+T;m}-OoK}32w$#ehE2@I960XSReSu_Paif1}ex;;mx-`Ft#DF9Jmn`8>= zFhg<>tZHeJa6lyschHwPXQQiL+A~@OwqJ!Eix_8_qY-<|3V!b>l_7G+EDV&lKKm`{ zKPR?mJw+lsFp(aZckm=BXq2KAq4hye*q<)kQq zUhRV0HUFXV^Na++z-m06Ee)oR^7kI1^0(`~x>k<_)hWGv^=e++_wVlrz5guSYi#ii zjK5y@#CVX2-OzA0o>y-j;&gUmb^N*jzX{k+UGR+py*7U|Tdh3dRE4!x` zA`76EAF+kF7XK+dc_-l2!9F~?OJuXqemIX>MdYnl%&I;_iz>g{0x66sUy{4d_ zyqT!7WpFGa18_3%Sd!K*26O{>khFEK(%tS82+41Tpge+jWZbR`<7P9qxW)*^sLg#CnqQM_g_=KcalB8F-ll1Tbh||#IY&#+-$uV zxuk;*5J!L!6?eGPaNTQW1d!tZ38dhx4lTtnahLuOf_#xK;Y6KwQJ-ZYgM_LM=JUCH za^?O2Jnt=~-rP|C?;IDB4)5TbBkQN)_5%-wgFu8NTXLbh+$-886tt07MAV5Yp*^p^ z5QU-9E=%M0835gfMW5GDVJ5S>QQ%dH>#`BUvSHG1= z!fcZ%z;J1s(FS)r>*qXQuCK1v35d`C8&q}sXDg5?wdCI@%a;=Q@kpye^FL9(`d-;r zJ?E=JCNkjfb?@iK|8X4eiI*L|;{txLdjGv5^oU^1LbQ)YFgXvr)M}f=zWK!E2eqN$ zy%Bz45Xl|wntOnM%px6TT;bw_{{DU0#I8@V1}&|Oi#LKbuC%YWUiJze#=NW~86W{F z9~owe6noHR^>HZuK8F&TBFcyS7%~{EllBe@c5*E8u0*%QMqhrsA9%izU>+g_9+$xl znYg==kf`{?_WAp`yCaGW=#QB!L!kNhPdC#26AAy6Rz6|MpjRqwkeS6b;&RNr=OOn1 zsp)5~eg_>|rO^DSucE8Ie=Hk0K_8Qf@+GSrkN^0m0r*-7{)YU8vJ7E-eS1oM|I`1@ zDNpK~>%2TE{_Odm-2ji>j6Q1jmYw{i{85t#Hs$50dw?j3O)=m-LcklWf(0xk!{NYO zJ#-{bCsT2<%eGjKmOQQXc$^|wu^eDzhzOQ?zwn#-BLQJ_d{Pw+*VZMz$vc`ffnmCt ziw^nJrm{c;3jnTnX11|m|FD=Y&wgrXKv;0Q{#o0rzKJoi0S{r{KuuBa1~JdAK4*}9wu(AZ8F2mN z;7!|FUY^2ll_=~J7$T`7U*+YzP80+R^*Hsgp$2SDsl*@+@B!(WVXg5hJJUi`2J^Bm zEA0~hN-J;hwG$+x-_?V^T3K1O296i2TrFzl8-4mH&PmwI+1z|6&qbFgB_lMnbh4w2_*Q%6by=&Y9urx#X+y zR?n>%BOM)oe{q0)smyDI!|ruz6bfavE`y=5UFmn>qhF=WhHGQ`jXb`w+!K_beBtNM zSy68nIF*X6*t(XhzfQqQ4uir7?{Is4)W=@=4ODiRi45ZHU?5WrtMM4E4{tcxF-d-* zWNEDEsMq!!_Wbfgj)H&hmVn{1pYu&%hfS5^OhsDa&i1xBMi$3~E6T*%&ryboN(WvX zDLJ{ojT71D1Bh`1_c$>lDnWZGi!8&S;Gizadb14HHF5HC?=y}j_L-(~k22^K5&r5( zB%lO^ImmsZWNpD~#!gp*CrJ|CU{q>Mb)1Q`%H(}n=%5yA9daT2 zqkb2&H+&A*p#K`Qrer+4-iE95{dkm646N-4zxs5!=dB&^x1aay7~iusnfb}a3^2!0 zyXa5?{(^l{+$amAUAQ_Iq37hmFv%Uq#mvvoUp%1taB#g&;<(xwj(e5n!2tEa3RE^X z>dp`yGqm~e+?~t1wvf#bgU(0Y+8tcUVs?1TH(1?d>Ld}!-R{lHJR2dl-wY4PPcr|( zRw|M{_{B~~=MBOf56>?C%f#IFkEZuKZ3f#-)@U-c&O`)s;igB8G;n$kACvQg>r=wyX=a%f zfu*70Rk7F3^f0_t5IXnZQx-q*;K|nzGb1G5*`u98<|W931r&d5pAgD@U6-_-QDQTL zGZMs_#RP=x&O29r;1iHaWIo4z%E%oGV+K>~DM$aG8nOy0)F8m`qUAAugxH*iFlh)$LW9X^-GT!~W zITH!IIGK4X-Ps9)Dl4iku79dtl%OrE5}zs!<{?f_(k^N!+Cn4&7OQNV?&i*k#hM?? zR?pmKBL1!s5RnKqZ2zQjjb#wAa2H?6(u)ccX*-$j^l+6ILl^TNo=ld!yd}l$zV8wZ zS{xfQ`T+SY2>g&yB*nJZ{ToL*&!VQ;oeEid+i&ak`)gG*@s zXzugpgG!YZt!_95>)o|vO~bn}&MI|zEeD>R8Kq5;?fkAVhQ%AgjB|H&I`$>0Dkr>Z zPgf&zbEqr*{S4ln;dQ3AJY62!T?w~Uldr9Ok9|kqcCkIA4hOr{9HW5)bfj=)m2H_c z^>x(Vtfi&G*7US0=5()V?oI@a&UEsyb$F6a8 z2v_VAYl~Uj|}qp8FED|dX`yq-ib_4 z2n&$Rr@ zDHgjy6&^!7yVMpOJh{-^cVa2dI8#`7(Hhu9G(0RX;?A-|20fmR6-N8?`{DvCU2m?I zbKOYgFRgST9RCiTE3a`AC5Gf9S?8}NmRg!}^so)^)faeq zik+LEr#G*4P!;@k3{AEDIv`5;vq2`b35{NG7S|9fV}4Qmpc^H$CXFurC4WSYe*{?r{5zt^^dFo@+6~`#Cu+h!ypGB)&S68RHe%Rfxxw(0IhcMSR*Ww^y zWQZ@Vq1Dp!R_Jxm(#XUM%L1TuS@1JBYdppx;`040FX=ah_5GmWwPhBKvLNgQA zzry%C8z)yO17C82AKm*T)-LA<`a9#0-e z6e`^?kdfMQ~4JQS;59ESNn8F;0;&;m)mzxYo{lGep%ZpVDrlLcB<`LH-Bnse}-I$9FuV5w& z>4FqKF+T8L)~$*aLw0bivXD^BmP^8Xzkzq}#~nTlyg=+i6t6CK1Ox_^zRG*Q$Mx4d zy7cCy0$aRUYW6MoqIKDO_o!nrt$E`_fi&zK(B7xENd(2cV*uZNhD*Q2v8@>XG4*eA zKRX3*Td;Swf+paR(Ne=9!&W>HNl8m;$ErvH7Eot}G|Sx*M~L|>6Onb@a{YNr&ybGj zRLnIMd|y1lZwe7{!6s)(bjS{w=>v4-Kwf*EEX$u58U%~{FB9_GC}QnaDNku$uj&2A zGvqsA6$A`l7TY~$+@rW)-hMhkjja;vgb;MG&l^;UpIZ)(~{AB zCI09kkNxZ_$ubc*#Q27Qn?Zw@Q;}#TB46d5W3r|mMWiaveSShcxIv-NeKMX@adb?K z&A{9r8$syKPGV(!o#PnStdj}a-&VHjV3?hT6nXBkt6dSQ~k6P98?e&Q8kl5+}cO zCz6z&9*w@t4?*4qho+d)@^T@%(5z%lPtf-6uAqE?jKlmVuGz6M^`@p4WOGK*x-tha zOg27gmpqcYWNpnRy~xS67~A^NVe~NJ>%-@1h%WEDN?c&&?>aD$~e!MuRIWe7F{@Qv6C0u1khLK1G14)XseyH@(9rCa-gLL~O? PD-WQhuB%o7wF&({ctXM$ literal 8149 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 literal 13258 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 NRV7WuT6yz`{{g3r-;)3U diff --git a/OsmAnd/res/drawable-xxhdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-xxhdpi/map_bearing_car_center.png index 010cc3924cea1c86195a68359d10869e741aa2ca..41ebfab2c0d9a4770cfbbdb9c6b6ff13b199ec2b 100644 GIT binary patch literal 2077 zcmeH|`8V5%8pe}o5D_96TQr8MsjWqknOcNUs1gI?EE;jvfX@ z30qNn)b6X8co~iM-c803^R{>yQ&RNgn!V2S(-$nDG$Qj>R#UNKHXiaRU_#T`KL4Cj zkz2`;^)BC{TJ34XOAtX%J65j=Bww#}$)tDT!e^c6aMcfxovW*@Fw*=GE|#-#NIT69 zv-q_lLKlD!Xh2nv?jy8gyyPg|)?r!*PH$i~@zV>LzPlN8J3tcbkt9pX$pocurLVEp zq=spCDa0Yzb(Ed8{E5$mA%RysOnYw2u7+T|CSh?>mO(c4b$MOk4R2vnJ}%UT zA1#E?LZ^qzl(}sLPSQevg*!VfFU&+!M}u)U@!DkzQy2-{HRau>LOH&w@bMNK*3Y9W5Zu1Y76$h-Z2q{z}_S_V%y>gnhg5v9V$)(!4>(^ z6xR8?gBMPV0cyK3N4*oDWUWM+FG-%kko}j;?*CdDHCu?koo1;8<%)V7^9+hebG!KU zEA7VdjXi2mZfWf^iKob4?LG%TcD9Wfx8bY9t)60sD~ifzpXaWieIM6v&oo(+Ld}1B z^;I`SRGl#LRb$ia?-q^zkuvD2RFW_$%Go`@@k3uQ0}oM>J{trE2q67v$Geq(ZkmFp zXZZ^J52!=LF^a*+B{qs=w%TKqTg{N#rXMgEiQ6~&lpBQ+EG#S(hOMH-+mVhelS{K# z6J^!AxTbD?*blTD(5Hm!g~#63^nYPO$&wgk$dJtoi~6%YR9!i zxBk#y09(~N4JRrRJdNEg3mOH1w*|21AF*vJgMC2Nhck360H5 zNwUrFY{z&KRUIe|AHHWZhY*`3pmDwEoo^hQO{Msu8<_mlg(` zQYMlrx???$i@B-mXZ28)-_`LXJl(~G0bA5hq`G zq6l&|0O>bB`RmK{+8#MRqx z=bZ~y6UESw$*f)c+H`Y23&^zSI|iBi0uD7mjiw{ty1U5-|;Y#=^Ashhevh{kISDbn|g-af!(N3)4{MssI20 literal 2164 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 diff --git a/OsmAnd/res/drawable-xxhdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-xxhdpi/map_bearing_car_top.png index 273ee55ccdb1b08e5b39e2718423b28116fcd67c..2ac90c5519df61d410255eba230193ca7c6b7958 100644 GIT binary patch literal 13658 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 literal 15496 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 diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_bearing_car_bottom.png index ce817488cd0edf6401f762bc4c8629375b095ce4..7ed881ecc4e950be9274e4155e1f60ef7b0fe2ca 100644 GIT binary patch literal 18987 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 literal 21042 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

q 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 K*`~%SFy-Hm7us0> literal 3155 zcmb7Hc{r5a`yY=7kL@*u(|Ys(Nm~(2$dPB}b4(m%toA1ED4UZ)TLZs|-w-mIty8Azn@ouJ zA4h&ZQix_i6Hx;~2?m zZEEAYx3{-X*6%nJ_*Ka>q%U6{#9~2t2#YpBA@ZXq_5ct;2*$>u0P}Z$;Xrh<6axmi zz-tUkXU-Z;6aoQ|1XpS?8pe8|08tRF0?0bcG2jN&?j{c4v0_sclFS7W&@dBtb zaJRc>yV#7l+1!t?$X*Yh5=S=;oZP?sXXWPh)!P5dW=XTI`i0=+y+3CQVgUAoKcX*( zOZ_t8KWV`{YOwS6x>M&QeZ@JonK)L*fVo<)4OB=f1@V$!>zU_tFU;h=snIk3{l}&Q zxHK34(f)b2|E$OMaASGP8+?YyEN_;qCeK3O6=<^VaoTjV^%L%6#h<6;xA5HtVn-t6 zfFl~#4!MWri9K^7i^L$WikkW3YU`yzym1p}`g-q66>RRDXJX#e)=Ztr^wXO{1$S-x z_2m||db$jWvJ&l%hXz!IS&R~WPVX#VODJ|OW57oep9a4EYh#_U%$x74a*}%wf_o<+ zVjY6~J`ANL6q|7&xazbkxVQv78R0>cn6yQwywGy>^^73Vi5N6h{)|iIuy_{TdrsH( zo$&JJ@{9R;9|8(d;u#EHoUAZOBco~S9YfmvcRR2h6>#n6I3uH~snw{GfRQh~_eS0? znll|sXgl5e9&tYo>3z}Orr525zyf8-oG>vKG+dbT}kRil&6T5d$jHlQ!yZo0mm zC~;YF7CCA>c3Tp|O1?i8ROQ#DzD>DHvr-aE%t?h$0zogYXdBtM3N98J7R7ZNxi!Z* z*T_lmh_X;+YyohmpJEPRs9L98k^SSTc6P5rV+F5je3j}|C!I8F_%{OUFu>`bg$@grHo5JnT0CxjB^9ZMZ1FFENQh15rsw+hcKs0k*SwX9mjj8VCYf@lU={E02)O#_)k!X{$$W zB|YwD>9Yx94DWHxh-#aV*z>Vbi95;{Td75UWH1*t|9Cfzw-KB{c6xt$XM1$D03IS6 z#T#lnDc`!zx~P5XV;oE`V?WOS^dQpmyN;w*2PmG)_37;S$i4A!%Aw>4?l!oAydtrW zGa*)3I?Hp(j*kPEfyh19EEHfHs;f=Y*6v99k{fhz((;^>DAf^Lso5$Z%_&-k2~!O1 zLeV=zdtW>kYypwS>p;_Tm~#!8gDMo@;VEoygPcRq-KTTa5tqi5qB1P^{cC8EB>oTZ;gbLwQPk^e*vmKnZy_a43A4>h^H+!FS}-Ip8gL0=fUqT~0;_}Xo?4`f{o z)t#|t@2y04QCIRcSR4p4{K)>pA-Vi-bxN?v!K=>wTwf*3Po<~8^(+$(btp4nZ$w|v zP$RarVtXciKc9B&(-M=k_k(0y&ua z%6Z-)os0d%r_DZ46IzXZ0OYWWDN_m%8cQ^*-d`nG6w#?8zK-%4YlcbZETPn0KtU25 z#nA$U4F=_ycay$xM{-z0&LRHC(?$zs*^jXoHz~Sh2Oy-8$IH?`*<_BWN-dLqjVh~| ziqx*EHGOcE0Z(+Y@6T+`-wGX`9gKEJ;ZY^=;tVoE#sK*T=bj~&qNzIZLr1!=Gc>F# zRg~}Cd?kwr><#pTs%1+hlZA9JYBf1^XR#SS(~!bP39H;|f(;u8nx%DGKc~k=K9?(9 zBUpqSTSuEgBzP7zXm(%~wUybDE zy{)_=+Yh2s*Y*3a1KXhX7 zFTguXc6r3L_NaY<6M*2>qrIEv|Iw7uOKhBBHqFVD(~kEwZk}QNdc71;7#`E2>`<6@ zrL%tfZH{tBFH`9@;!pEFW#K3 zm}Q5(;6tQ|N~$Mp>@V+B*3Sx5ns4p{m%e?9@wqU%9H6yIC=9tH`%|Fl>nP0hv5-_; zk`%2PG_ZyrP2jto7NRx*Ze&wm*yc*rL^z*as-#{1v042$n?2q+ZbTy10ebc*FgIl| zXx?CE2Vo22Or%&KP@U$jkVM*CCYzWQL?;SbBMU4uvd+^jiZS($au z-OLDlC0BYazI;;7q3g5##5sPf1K#AjvMma^y+D^f zV1q)u_#KV?0O)S$YWHtfju5seRj?}cLV^)0n%c^s;)mz z+mVxq)tV8sE!5AyS|kpm2*bl-eZ*~ofg)_vgpV`!qh4`LADn*AJ1qi@h@3N?KY< z3XZ<)e_g+C-+%6)LfNEE5Tf(-)_~m-^e}eSr}I^W6+z0X!U@182!s;>M2fg>=4V3} zfu7_EU3Ao#u%@^@sH|w8Fk$IVfZ1>o6uy{3xtKp)&FG*DeKMp^Y$(V908rpX&o@!% z0_7R{=}J=Ma8q;vAAf>m$l(;15Jiw9L|`d=Bq-W0W)z`|9sx`lJzQ)g7%<9a;GZDq z0{0GTM{bM|QkD`DYa2KLx~RhV|0exEvrAoqcs``wFPHd3BDnqEEfEnAz|vuT4$Uwt zc8*GmR*kA4N1erSj$|{x0%XVcxNj_%QIR4k+Z!{3WZwKNNU(1Qg{`eCrw0eNoXHVv z-fu6fJeb1$j2$+BfS`El;`xR^!kmM;l!95y6^R1X8O}swaYvo#qyn?U7VEzayBdjd zZQM@C6gOXuHL3l`kzZP=r2(mQVSaSdHFRNOAK@q@k=Rw$#<4|ea_F4(Ei}L1g)vri zoxjhKv6yHk7PeOKtTmL=jBf*xaxm)c?M-{Q!D`Wt*r%)7Dz%Bl4$il! z;S^I7pLm4^Zk=Qhk6Jpf>PnUuR&TgQgm~~yLfTErKdX8=uWZ^bn~py0zzT*~X^Tf$ z%@HAxQZ~_8Q;mwUAHtOCM}8JZU6XE6I?B>oW}&OBB3v$lWLC{oI?NXFxwk4VNT06d zCkGihQVrF^$zApOjRM#Iv7ka!lixzJ=w`734^rMp4;BNaS0ca|^Za14Op5Dbs~Q zUfoulnR?kyCMGJ*n13`FS*}QUo~kovh#s= zq=uXa9X@)eg&>Cfv+oGHcbu3Hhh`$xLxt;Azy_{(tdV%=P)W&1SPnx9zLJsVDq*PD z8yMh2tw;J+BS z{13I$@N~AOsmd3wdqiu4?0PbZ#xE><=yeeOy4x`@!^cG@y(SEj1#EI?-V>yZBx zD2&u8Oaq9alE&UaaUfVf6d=li8_iaq_C@JbdECMj4`j+^4ic#NX3V?=UTG*|qEPwp z*-wa^6W+Vx*Z`mmpz$CmG7?wA(?gG4#i|(TKS3Ur zGa{kxh>{}}7dAn`h%&DgmQw_vwC30m?3VPw?+u9@WfSV1^S$czj-d{O4Nev&7}i|R zs~{F7zCCSv@4iR&9jLb@{h+?#6U9}*Xpm)>Ty)^${{`klREbQ3{?gP~1Dy;2QOMBE zKHna(>O-$BRcr|G5f&U{3{YD27u1JaDkqq9Z>4MuR@|2~Qk+bM6SA3Br->0@7D(E;s#3=~5 zOe9Lx#<}IN?z(~a23a_tOle-e{F>R|d130mZq>UBAr(bJOw)>cSchSTqlEi~{UnHh z@v+lw8PFd0=;O+~5=64cSMy*LOx_Sf` z82ICM(T;M|p}!gyRP|`eGq^t_MQu;HbSDlkV4;a3a)`;z8qI=tq^Ly@DOMWPhOT!1 zsK2`xtG*-@^#8^V)v!@faaha_p7=*SYA!olr@@~Q@+rQ$EQb!`Bz)Pl5@`B(wTq~g z=o!1cWISp=;_u)5Z+G;M&6HEAX^L}muA$^NclYN-%ay0Dn?p|4bUvp6dGm0dC~lM* z=66mxoOFcrC_0%wwRxlzVu>Y1!`{VeD+$UAgbJ|Wk`3EPHS?cQHpf0kKB`0+arRg# zsR!$ohJXpZ6dJCboarJsx!(GOLZ_kyzXn*4>1$dE zJCrNST4Tj+z2ZC!9$zJUe<-~5^nCTy(a{+RLOY(MgUILxH--snCVn1EcR%?EgAb-d zl;Y3u`IUnfK3$!kj~6Lt-<*aSYD!HS9h$G)Y!D#!ZTlfZ*4M+!2iDZqRxzYM$3Q?( zs@1+&H33GZU>a<`0#vl54*Dy>eLzjje?uHCOTahb!A7)4^a<2NV|4GJe}@#%<>DhQ z&c%?ATYZj2O@LHHi;=wH0e}HXsHr`$!BYLCp2%osYtHI!9u9{=SQLsE;smlih~=`Q z5Wld;h#kBK@;8r>8=i23jRLf-0n6zGK`d9yI~dJsWZZJ1I~?#`LMA}P7{d5+Aeq$R z$w^Y3-FDEmv8K7wd_=D*)89Wrb?PuTb1Dk2J>c=C zZ60`~1XP8uw>RH(bk;mq8f~nW>&&)E8mt<#eF3CzkIRelHddyl_EU6iFhoQ|ftH^c z`wTAi$-AAZHT)7r#Zf4Ig1k-iiumzgn2{>%n^h@NySvi@qPhTy@$5A@I9=!6>;M!x zzrQ`*c##tHQ?|rEOl2M>0b2Z|!8Ez?a>P=k8$A98(`OfJaNS^LbFbfBIbKrK*x7o@ zYV+5KFen2}LWZ>1(i}WIA=laxyRE9Z044xZ-G7I-Pz*pef+OVA-47h=G@s@c|%ksQ2}PW{|&7fUUTLy4s(PlFTKi}Bv) zZ)K$-B`V555;=gHudF}Z!9mfw2&nUTyxL|S<(+Uk6&|z;TWLIBZ8PYvwP}Cc8#sh+ z)VtuKQvsascI4gSPmjwe=jf9i`IPj=MoLZGd7UTn5zC&aSq_SfQ zS-bD6cRTNIZjj2$!S*r$#jQ)auOAmLt{-j*=KO&8UH#o~rx@hB*TAa+xnmmZ)uv5z zHMO|dkb=JL>K+rp=fldaRFIlOxBnv%?~@pD z6;tVZvdP=UNQqkMmQ8!Tn-bc^iK(gS>z$hVTGP>#C`QO>=ldM}uu&Ufi*%gOGQ?5@ zcZ77f#^9($KA8#?i$BqdD9G$%c+hE!=5gI@2UmTm#XftGlE899x*?pfs{+ieHORPb z-&E_yq}GJY`FK#k`33-%R&)?TZF_rKH*s`6bG7dYSU8j<`+A>!J=wY8HClrbr0?5x z$clg4P4cA$(dBH_%E`qA6^B-y_;;TDU+QX&ykDKkJa%zYYwe|5m;Q_U*Fd~QJ3S}I z6I>X6A7t+-S?`x^oXnHc({v174(w36@o_mD5|`DFqzW{gk%x{Y^vMx|t`ofbb?F>`rS{c;fk5MH)=W~QMo$U@4#)J-5D^G>62~493V@d4CakUdIKF($KnzR?vexU6P zck7o5{ewSE6{)`N@B>%hbf2#LKk9mHDla52iPcIPX%v{D@kO!6j3=_ws{LzoQ->k< zWpdm1xAZ5$BDb(eWpZ@>j$j0EZDaP^2O3paxWUOQ1^hZXJxx4szmFP4rl=J@1Bf~7 zjWs{#lD(R;q|0*^&JK59PkcFln}*e^Ta4!QVNh;>Ao0TGPIf0FLYH0 zll|n$Ewvc5s`$2NAOMON1z?T|`y8~czn(=a@Ez{lCO~Y9))9QNysI=dL=O1V$d@Y2 zTHF>tebQ;P->uR7y&YNpX;6vax;hx6$ZEDO$OqBKPSI+$$=94h8@;xwvQqN*PV5&G z7nk!E*d5dyyqUwBs7kL}!9?o#;RRWmS&@*2ldbU1&h7NKbB#BFJ;3j~zb4TfACARD zq~sGJ+Pb>y4Wq2@mm3XMKi&xHcC+2QUXSwydCr=sKs55Q-q`FM1@udCMnC*~2CBbq z(1DkqOaxnxP>WSX2UnX1%LH$xdY?v&NmLv2=~9wM(fIP?^!M$>TNS5tB0{u7gs*d( z-6#)_j|(_9o;!jVChM(CD#(#I2Wns>?9S5)%(%Tz4BzcX`#kb_m=|Itiz6WM5XA$FQGiEcZtXe~dS{h|L|99|f}t|yI6^Hem9z!{Zd z^Zwkq=amJL)f@Y)4v-*qL-bh_v&xAz0lmD=U8C2>3_W zYmYr&*~@pk2`M?JOJ6G(CglCnkT(6M{#@6#TiizU*p=P?fJ|>nd!>LvwStK%Mm<}P z67E{E3h4lj8TPjs2)Pc=)XAqpdtr1q&)m@o?I_UCI)&!$%b`!8iNp_EO`ry`EgLFK z9+7p^OH4(@1S8uIANo^AzV_3d_|9scWLa6+{J3}|r3_cr`l%$?|6t`ToN${Erc@`> zsOGF=3v1IxaOywTZHT%*8fo~aNw2G6E|<^!?WZE8dVe(^YX)T=aesvQ2p~1zsLGLsHOt?7xDJ%$V zn1AVa$qyO#y<{0*;phhK_As|52>Std@_+WA?VD=0w5l<#0;ks>j>o_1l}gA93mWAV{bX zlaiE4+P<@dp?Oi)+wfHUqmGABal*U!M&R=M!(byi|5iwGaB0bdu&gp?`}?aIzfSGS8;)23Yv8xjvrB#b^0i<~4^d@I1A1S9#y zQ1q?kBGZLoJ3WXinf{@+3uaq`I~}&!&4Y&#szpu z$JLW62P6u#dC85EX*Y( zo654w4xRXV-0l06wqCAUa<=Q`QA(B^^Qw%X8Fc(=y<*F?!JyMrt}wMqnc^(mshmEEe@OQ zg*($=b^7(B;Q7nh*_rot2L|`1M{Q*7x3PsmyNH^MJHi<;QroOphORy?2-COI9J)$1 zwcUDCa7RhGRcC!+y7OU7?u4(ey!IO1L!`IBg)h*&fp7x(4M9(BozWE?k+gF!Sdia% zpiAi7TXa^>n(<&(HO11BjZmI=4grTW5tF0p*LcgMR9r3D5L|R*u8KXJcb+V_lHhlpjiq+CsORExm8B|Z%AZ0-DRO-BWumIgL8G?H7IVb z|8$n+0jGv($sC5x*46|AYY==mlE)fm6$H1f0d)A`x1Q(j>+a4>fGhcX;%|U)S}{u) zAA@Swv%e)jP9A#1I^w~OzB(8l2G_$)srUl$O~2v+Ff zFm;{ZP`X(=MYY(i>AV+=9*%e2?f>5GyEQLV1dBT_lJU#n`R53Cdz5FP_vw@}^!

    Pa5pAK*w4(8fw5x;yz#6G{7?*biu>D0vxSp4~%p4_ZGsXYr8v|PDU*IvAofED#v{pN1Ue>xEzkhXVEsTGRbmN)!S~Oo@bDMmTU+eJdj7IjsbjvC^ivA@1cl?E{cwbVm z<;ktrc8ts7=L733(>t_>ols!*5&Z+MZipD%R6m$DFxh6#ahsPR!L9Xn;fLVkVrRuu zXr)uqd9N(D^$a^&-w>R{hirfL@hxB=%mDXx)1H1xXy(VZUqh>wVs0ScSJEhk+Oz|XjhWBsDXDenQ#{d*{brf{th>% zV4?Ck=s|tokFjicE|hxm!8ftObo)#yIO2DYibOezAN&v!M zswDMNz|vme$G44_iVBuIPYibJG&leA-g8~5F7VD|$lZY`#$DU|vo(dJ?2VLtO z&ZkfD;?u$(Fm8R}V1Ox9OP|vf^Or-$5tSHH{rqDn$U^+YFbP7Y_W0Q`_I(3I2aqnt zwtkxBl%~oSXakD08`8Uldxv*#vUi3W|1C4+DYI9%zsgBtTAIxkEap@vrDgC`XLH3$ z$;weoxme;%32;zcn9-7f$xaq3_S>-f zVWZN^>AIwG{cK?~CZ}s6JD9YX%>6{Y*jAorGs`9?oKuh%iSpOT<^xqU)7OVk+Kd-n zdCg~PSk6t4^}?9|QN-x(h*17iE2xC@xt_N(bHzOc> z-PbFZM@1P5liQDD&1nmmzVc?q!r<{2D*xc{*_>TixSL&ne=Fu%+Akxb`WlNSyYEGp zMR5J=OJe_?53cxa61M;%w6hoj*UNT5%~*Q1ooYucl(@@tSaUhpWPMr zaPha^0`atRrNJt}`TSpjOdOtE;Wio?+M)ENtK)Al$ouu>dS7jfeL-Pyu0v%FCSX`) z&~75$xcSGdfoFl4i?01}w7RH1c`~XSJrrxVZ{ePAV0wu7STx7dN|$!45PEi18cr&midMT!)eU*F zwpBd|OPIj5;Qe1MfIcS~(#r>M&XaO3cf?kYm!u6Iy989qXbW305NISmip*@Xr$4( z)*b?m+T5-yhJQIYG-X2LaY~;=cP|(-^`k*<2U#qDETq;}IL^nvQ2BU{28&1Iq5Z|8 znYDjRz`P4ygT2!q@imE@^Se98?0t9=YL{l6Onf8v^-(RaJ*U(Tb@w9JeIC)Qul9L%CBinY6gL>|v3pD*(L#vQLec2l;W#qz_ zezIO;JQ@To|J+P0j>V4N>l);%J1!%ygAN98x=CR=sTYY5xTZVUMQ8{RJl&ohL=uV)hSS~C+Y ze*apy4Ggc1fqB~fK_W{~GMh%r|r#b9K4!!__zQ4I=+4=mOL zM4d8SN`09|Kh4u<*Ap&IUnVjk?Jfl%M@A;g+RJbxCl!~>#DDzhN>P$|22oh!nyN8Y zm{7;97FMEc^!Ucue(L;0^yhc(IXAnCzR*kNJ?Pj<;2xyBqAhNH3ZLE-gIC)hx0`^v2CO zOO`#hmS+*g>hFq-NuzeItEvh%-Y@FcY-b`S5{{Wz!z>1OEqV>Tz?x%P1dd!#Xv(#G62^iw!tp*r+VW83& zPa{ESh@+l6CR+0=JY(i(c&Mr!R|87HE9U)K?3@e)8-&#OOVsSCy&wVM7TR&VG*yx_ z;A6pG+vU}Je+Ib`Xx(viv||0E3WQT!R)@zq+$M;LoH2}WH;zHQ3qqpcr&|GFcZ1PJ zddxs}jwBJpR5<)J)Ay>pvymNS+0-_ZCE1Q)h*Dx&h~m7V^)@-= z@CBk};kqmwBUE(qAi!oZiT9|4C_KKG>hi{q*?HcLNanczde5pe@Je#_exXPz!N7*; zOQ7eIGw;h!7CO6x1sdq}%+g}g=Ff0^dUkN9#&VTJdlCi$TX7eespF)}xuAzAmA^HT z|L14R;-3Feg>NGB59izx^YlyCI@)w=V*cF(n^(eR#JwLXDx8l!A3Kz`K4^am?edfK z#EF83K>Ou^A8&7NNH--39ze7__r3L4_u&sxKf|pIjR1>ajpA;TotJF^(LoyR!!UF_ zFGVLuQDz*LB5?wWuI-x_snDb0#aPqRk!>oNp3Lpy@hY|8^N2Jmu$%o#{OBK6-Jus! z>%?jTp31Fb#WbQJm@(icznCGANg%WfDd0CSq}HzCD}jZzd_6Vxa)cP=vd81@pYe-qTV4Ab>F|6c_5Kd9MopX6|xv2_WM_%6R2+!oVqbTCGR7he(xmVj%${ zo*Kbx>l{1}IV{H)e>m|^^W*iy86JgMk3(FJY(H5Zv@cyPZ=nfxi!13K24`@bCxlcF z2`=`x8JhMrTNMT6N_by^km04(7-CL6<66>oi#TYZmrIf3?}nqxeN3!JRu=x2SIqVY zF}!}WsD8@XnZvoV#KeL2&)Hfo|BFLA6O8K_@x$*6W)JxRxRC>xZ^Cj-n*dM>Vvd8L zFd0%-3io*$e7>?7Y}aF2&CnyXyc9lt z8$9F04#k`!hTPcaS8{lG1^Wjo-PHqH3PWeJ+`d~}B>+u%zD@v2&8F8_J6}dL+bTY% z;utI=frdumbA(VHgnqhWL<(#mJCi?{+M8HN*+EAtTu%c zGpg0#=@vLH<2+-RQ(W?Zg#d#d`MoTOffyzkO+h{HC9)<(c@>^kDyU+;K*f99gb_Kg zKs0c6Dq6yoTd$ZT^ZOUxsN|niXf0h8<@jx?>MC936aZxZ$cu&u7QRG>Cz4OMfzQ;7?w!6TU}E zs5%d#Jn*kl>S&<<&Wo{AYgSK%ZqDgm9}2U+UOe}i3YzgnQJT?+7SczCVFx?BC8}}YW$2tYoDexS6XRl%{GgJcZDLM{cgNFFsb+N``&$H|&(@`? z4Fe3LkA=D2{s8fD(Z5k_9#VT1g(0%^|YTwzivv zfNU@qvkAWhqR7pmQR3U}FaG+NkwwqVZygm{b2sL7x(xvk(Hj+h*NDRKF>h&2F)jK` z<{w{LFQk?%C>8*8wxX{V2MNC1+!?}>t3^6~iWl&CpgtO+hApgqm4f?> zv9n~7X19=Qi9W>r*A;<*dzNAR^TbT`wHviay`V~YC`0^#UqtFT<20>4TWR0InGP0*`7w<8yW0Z^;ZBZwI;=}^Ep z`BlL}yW;w@8a%8-c%P~c7)`YjSQ`C0JvtOOfsweV>Zs7ocRq0y-35dV8rE)I?xZkQ zdSt>LR1cEAi-SRjei#YE)YpX>zb6;~MNn@0u$3wXDJ0O4hDbvZ(^?ytZa0t|eU-$m zyYf%~Vx{Z>>^%z;+jfV}jYQ0C`sQ`3o{zY4uiKQMe?~)q*rVajiBToX&o7r?8$sfW zx|_3QB2`FS`O@Ml()NqfeMi7tRN5t62Q5y=@BY=cdJBrQ=*ROlxK;wipt7OfG2VGK z+<1vkRUYILW)9{n7&Nz;O}YmHdTa2F2OM^npGznkk7d&$o-Z^^cxr zJ+Egj(XW{~MLJN>$1Mf-AmsjeQv=+fE;enrMa&nfbqcI*CMRR!j|j#>_4+NU$oR;l zZG5723O*a5ZYCcmDJxYZY~KieV=L#t=KQR@b9;dV>+MxALtK_GCy{bp+}{MB+#DMc zo`n(M4rOniwl%>GqQXExWM9vw%TJsr%v!&Jf=`=m0WEq=#6SEY#(A(pNr*=$C(ai6 zoO7_48cmTzy5GgCSC^KTdAQQ$CzR)RGQA#0@99G?rbMGxF(W1T;)lnqrg5$<7kC`B5$;n`C%lP*!_hbz%HPo_L2Fh9eE^+LLz;gT1$KRTXAa zaoWk6*(^q#PZ`VPHmGxQnliN#Lc1)RIN# z=)UiZlx0fnkr`#?z#aev8?k`>$st6F}fRaMUUXDf)G8p3kc~y9$9RuGV-NhjxoLDLXh?8fEzI zeO;BrS@Bska4O;gOXUyIVd+4TD|8H3@3i<){zx>dPq(Zir>B*YI*qIR`XbjistoPk zG&s6X9qCd!EjQVzxZ;1IM1KoR7Uu-dA6TUBym~-iPW2)7-A@r6HZr7a{(YU~(OvXg zDs&G}s)Dk8$_hrdK2BLg;P$nU*K&8p3q?k@mc>;)el;flp394jcTNh-wrsjCVPTCk z4Cf|K?suJ(lHa67d=6Z$B=V`vztBSte8Z+DHIKd~;{4)`$@OfJI0A}~V% z5);%BzP$kqkv#=Qu#9C=oXSd&;2PWdJ>Qwb;)x(MDhC+A)X}`Rs`J?@?l=LiSOs)5uNwa8F_hn)R5Q^t6eu z^Q!=C;o+s|d?fSzbw$7c(tX;&$rhL7NHSXqgMSuVew;kDm}KjxI7|Wt$cj z7CI}mANP+nNij{<2z*MU;Yh2;Ra$|63#0zboTB(`X4SD$>{0-x>(qjM_+1AR&djeP zaghF=tPD$uSz1|Jr%lgr=+7`WuG$Vh;|txd-FHFasCh!ga=yfyjja7Xws~tXn@yz5 zskQ)`-ZfV7;G=Y09Qf;rtZ^-BJ8h-fbnqrjbY1(pS}PjsKa#hfrt+nklV-Fi>I9m& z7MErP5zY-fwAgSBerHCid=JXSiqh+Hoz0xGOx!IJ|)W9Fs&4;n~%syxB_iv*}6w|K!|JJ6al72Lt+xVnVWj7AIjX?zRyga}{#Z(8?8u(yi?k}f<%p=KpQW*^MPj9xO~J| zm7VIG0YvmR+2S-Q$y~ZLHJ6Y)x3mOqFD}kLUie}2bPYYKZ;7kVBuoZbW*~D)BVEti zTlEYN`+gRl&?Kofn@;~RE&8=pL=>N3*h6UPWA=1gX`_YvVe@jl0h*Q6>38YZ+GgjY z0#TpDsLV1pBYxO!)g?M_;WP=?_{5{m>vKSabLyqxy#*{3xc)K7wH;+mnd3(-j-qCK zj1bTR`Z9W)TF`o)2MfMneGj=fBCV?F=-?g9Dc96@%P0@iLc%Wx4(@pqn7*{wwj8&_ z>Km88Vd0!L?`J5kyKe6WQ1hadm*cF^$Xg~aEG21sUypNlUI`#f#l8Q*+%ycMJeSYs zc!kQCJYMfsKHBt}0@3E?z|-jXc$@TV{2(G(VyG+F`<>W$UEd&DuE@jr%lOlz>1t=> zdpP*0eWxj>#$vekyVK6ETWF?Iqba|mb^K}|T zjpYaDr@)_8G$bi-6)U9()X!wL=^5kBh}BA;8Nc%7@p*|*&2x0O%-EL8L(k`=j;~l* zIhHhRY&beAt$cFY^vhbR(yzby)A{oA`1n{>DsE+UW`@VOCqNo7bp;LVc9n`th9Zkqi_VAZJ9xV>az)ExP5={n&ST(pFK&VH0MBIynyda4@)Zr(bYoq29ad zu&=|(#>N&LkML$xlKBxg0)i@Ga;=zg6wtIuEpni>;9!C1H4d>x+r{ zvFIaro)iD)jvNkpKtR5ntJ4g5=tj#JqD+2DTKSJJLGyvAGm97AZ*TXz)!NoBCDrVa zEw)ziH1+jNT6G)T?%$pxkbR&noer}Cvs~AgGgEMolW$8!%hA(E5YdkhQ_1sUeuA-K zLduB?Bup0YoM$79-u5#;Y}#+p#$X=vJqca?j^W_PF$HV_uztHjrnUOFO8@W`%a#!# z`*dsl1^hTQJuvq+QJ6+)6GgNbQ>%6GS_PTxED>WH-udCWe)=>~c}*ykiC6Z4GmiSO zv9hBDVS>l=(@%{I$dmEBRQpwjqjG(mry*f6+ggcq00TfR;chpZpPvlcxYH|okgdOS zd%c}U8RK4A;2a;1#L?2yDwIu{vV?lA6-H+zOhB-1+e2d~c|ZbXtduST1l08QMD%^R zK~XlJqb}_{g0S{>JNliEdF6Kxa&0Ga&{C#UzF3dqZ{Wg*mivFtCW5awDvR*nG#=r1 z-Hc#a+0Nrpp-JaXbusc849PF^i$(C-?AMCWwj~YWwC|1~To`6#Ji9Oy#+kf_NR-$p z%3-P&a>H?I`fHUZ67D}M2yboslf7(+V+cH8ZVd+kcFHlpVusfds(slt)O<_`a*GH# z5NS6n%T9a|W2+M_!eV!s!+|!8BQyT@7fx~v%CBEZq!+nTL7)_xx_UV=^22XXGJC0% z5j^)58-`@7v9tZ2f2Dy&Dh>eHeY*%&D}BEy+;73)w{0*>XP_0f^ktZ;)(wu`WZ&=PN0l{kYUiaz%Og&HZ#V-wEfND` z^a97TUs;;&a^s9qNz|88lI-z1S>_G+deFU_E6ZF4lD{6Vixq6HbF8>&wZla6ePHdR z0Au$nS!WvFt%a+nB`C5heAM9%tsb)~+Jju=0&%9RQWg{;<|Ejr+|qr~%p%K^ff2BE z#ea@y599i`fD7ycqXN4TKufG@Op2;&noNNB3p{|NiD$(LoO;qT>!(NEx+VLfa-TMCf zUE1r5JgENb;lw1G3Mv>>0Y8Cugg>`3TBqd8GT~dLgUx#K78brAb9Xj-Rzhk)Dgb7U zD)I`m>0`^4!@(yZD9Ppi_V}kPY%u;QiX=6f84|{g42z#LQ*m@U-hmlT?;vdGfZhG= za1Yfgd#J{9^6Ndx)tpM_yBk|kf+P_f7rMgk9w?0Ox39fw_sAD2agFDc0o{(g?~29L z(!A1f>ecLS=(AKh$%k8 z>IbJKQ8?Zg2kpgl|9XW|!-M~Pq;zP=7L6c6p1^tm+3#g#zEsx(DO}^y_^f>-Z;r{( zLF9u_#=_;DCJE0wLAk7q1*I5enF#%&SiW*7ED{$MfPV~ldv9{c5v}ph==NyQs*DUT zVG)h{MNh>2IWZo|ZZ9M!CQ7WXqZj?lONZGkja=BE3hSEN{y(nufdH`$Ru5>ONB_zJ zc0qE!&eW?v%tZG$H08Nitu)X#NtmC_sZ3_n>UBrH(@1mFQE+V&M2?3s<@Dh#RISw* zf4eCutdZD-upCfIqNHe6F)y`#hfnqWy^L-IU2c@$ zWy3dfcmWm;-><~_h1}=Ci>v5@By&THXKIE~oh4(NXCat*lz+hPAfx1_5 z9Kz(qMaD+j+@PS>gEZ9R+1hWF4wnWF%uQ4D=%P>ac`oXe&GfNahN{$wQeE>s4_kzW z5dE4FD6>`VgAXjqI4xJ~5CMLn>+_KM2CJ1*xLx45!#LOaQ}K2Tub&XLbQ}a3hi3J* z8-o#T9eE|0@k?Aq5;)gDE-?*8UquyeLj?L@SVx!f`!O|TM z#g5*;%dN{XsQ#lBO_K%@8MY+8CSP7d1EVWo&Kg$nFSIhbY=k27N41OrMVV z+dat751r}+?U2Bv?*EX|xsD_7^*U=J8&ByhF*{apY^Npn*;0vF9;eNsI zvA=)yytyRxJWsAuZLmo^3y!iQKK4ekYgc1@5sCC*F{j3a7gp=dv-Ey@oTn`*;a5vM ztkLQVN4Eo70H+}>?K9s$Q{W5Fvp2{95iz@;in?W0PgEAroUpQdUF9r^8iGuEtk#zG zA)}!3bo9TTTR4(94Q<=Q!A7;7>OJ}WHDV>8zjjl?4vDhqe0Cxh78a8^;w~@Q1;5F* z{SCK(o5}hE`pNFIb+XcNSRYxlNYxvI8yX)bI)-f>H+Onx;=%*whhjfQT0G5yhp z4^3wll~yy{mP^*60x|Giy$IwgEl)>of=)X2bPuRX2|EP^17Ggf-$nmI9Z_M(C~ov4 zi}u50{n%H~1{8+8vFdOOZnpIJl#B$T5q<8ko0a4C=&LES0Hz!1P3H*8@@)oCp+`&1 zV~|&=#vxT=1cMQ6##KdpZ=l4vyYc7L)MG@*m2xw`3MAFua*f;rmWD{DepwLIfdf010Dnb+6SY4*@9TTa6^YZj{sY}&84f|d*hZ?moYm0Z^11UT)lRy z$$mmm72H&yKe8RCA2~Pzj2V^#0AN5P3J#oIFr5rk2v;6Cn0xw1$9Z?3i@>oQtvM%r0?tVzeoF3XA zUErK717mf^$a7<}IQ*k|dB3}JmTCEk?f#n&0=??T+0e1FQ5ez!&jb?aG=wIH@krm; zSn_NN2m~T+K5baJlfj$OvVv;VTaGI}Wpc{BG6w165(g(hb5e^Tbb|v$D0Hh6^Qq~% zq2rOwAEC^b#GVhZz!N$Yj^roZ{p16o>dV>ibr#9%ne_Hrvx}oP7Q9ZLY`2{f4!-$_ zB2GuQ!Y1o}fA;fBDoGu;jddg67xyHReNS}$3%%uOKukl!u!xDtpRO-tpsUNl^R(FU zJL2{~;4xF%CQ-F{cWBLX{<=f^Uf-UdFMe=(D*p92dm1_kHv2lBn%Oz$lz!fmR#tJ> zD;?m-cRd5$i>3uTVyqn)fed`V;yrOg{{{q8uuZ7@oTwgvvad!~g@6e+OhQ1H!NvJ5 zA=A^j9zFT$&(76=OC69b@1g5E%f~)d272hEoaV^xZ-|FLq4jdzo@B-G#9duk-^K8^!l-vEs7!_qF(y*@?D8r zJGJyZH&^}Jxz{s^SZ<6Pg}1oUp}XM^hFjTMt5<_Xr~hf^O#h+$`Zzvgr;#PeG8jy< zj5Q%km~6vPM3J#gVPyG{H6)oZ%~(fBS*Hjwzf6{pExSRM?AeECvb7+J`?~*y`|*7} zI!~_i;JnW3dp_rTKJQPnE3b?-iRT7pCu6HWPcIw?_ckK?3`xGI0t<1#+5^9r_^iC0 zYC~Rf`{Wksb3f+qL7gASeY}E?A7Z(+i}x+`=ZOdR($L?m@OUSO3DQ@pi{7dbiM_)i za@stgK)-$?e|44nG2r^r($dsC@&wjr*Ya;&`kZ$^_|b#+5j#t&%!c0=+d;8@%QX|O zGr&WC>aH*kzD^b?yB|n~&*}!RCQ|bZ4o}qs-hHJ@PkLXL#6D)lh0G>MBxim@PlPIu zBCv9wY5v^fcx57aY`&nT&$E51{)d0#i(A=Ep7a!AY{zM(tihg@gVe5E9%;s!`mV>E zzhOE39vQAWa9b>9Y(zu!HXBMV<0WPsrI;xv|J_wF^Rax^V3^Au(ikSXpFCVD2L-?% zDc!x#_pGWKNCv%D|w})cRWS+?-^uS|5#??LgPCr)$U>804LKM~#9- z0FY#{z2dK#tgPNful}cGKVRQdTg``qouLAsH1X>S0;&xFswK#rHKy|r+a`*aFEa=O9aiNgI# zXjPnL1NsUlOrr3D085k>6Y$z`3`A9XfYb(ux2pKg6H6lZvMtHg08=oZhxXD1I8h~( zM)YaGTfcukKt>=(hQ5T)K}UXlW%ze}J}>4#TMEfADYNhU@*^JXqHXoyVDzB*jO%^| z@N+45k`3RFH#MOw_tT=AjcUX}Z3Rik0DqSUr=8bn~avsQUnt&hAsiPe`pb9i_N zpQ(k50~Yra^I3XXf>ah_I^;vO^2i z#FJn5e;4;?YUkNpJI^oL`KNM6A{M|*jA&C8X=u3)jLNwM5kpR+GL93{RGd>5lYB<@?dYaop)EKYs5K}={T*Vk&o`D?YTVzM_!hh$Fj4$zz<&& zGSwwgs?MTJ0(c~(r@|k@1yMy9m0KmbT4AkOuj*{%GLS{B!i3fstr^vNs*;=_chS`z z(lE}xV-G2n7O6I4zig^*lcT|p_go#I}~vuT|6e{MlT zSkzjZmPPN}LUUcc=i^vuR6 zF!$rEP6~k{#nQL_n6kD2o#BWzx#6&0AL2%aJC9O?Fc#*m9dZmMl;9Yq7mgjZ+`kv-&o`>GVD#=i?~#o<)oFd5rxX4l~R@QKhPgKcyp&k!qqTUL-|^>r&*4s)qO1 z;FlMcCYE*PIl0PPmbEoCm~7OEA?iz}E<2l;h;vest1M|!kfpGPLY*NaSlI~6FY;XA zY|bYkpIVoc=;}^NL^Py*vDNtHTQ0Q-e`8JF48;_Jj*ZynxrJZuac%Is`wThHzW2<1 zB`j>`DABP^Uxxkp!z5O;G=!12pzO8rKo)m-1%gZQq@o$i1z zn7tXz;v5h@`O7pmoI5#3F5@+YUle~b;|xRDBIQ=iRPBznF-#qoZvm%89sK+&`BbCW zI#;LaG>K0?2u6EV`p>w3zqdO;}yMyQyqr$_AwlXi{FPS;Qi^+o^klK*S)4_L3dQ6MRXYgmG=YFr`~0*7TF+ z!aR4jLPphEsUm2_D9nD`ui%bqMYYids5oJAfpK;*@-LxxI3pY9WS<4%VNds8{=JqJ zv&Z1JPQEV0`{Jj7G3;25h_%l;t1gyYS#at8L0@miIc{a;%GwfzRMnf+@-6?yCN>{O z?Wh44_=^;b))fuw%i0k7T(!@&c|4!W?7EJO^#|k&PO}M*RqpfVY}5Pv@9T6mH-vCF zzaTzS+fr`U4Sr}P{s$EOeCY78TFaXicO!Gwp7%BudI<=+nibCQgCV2PqeR%SYj8*R ze81E`1%!02WL>F)fsB@k9k3YB)ztdpw4ztJ5wHLxR8Zz{o zTk~vdXSJx+;V$}8`J(>7qc#H7ogz>46;V4;=BL#EVc{6^^LY`Nm{W%4h+go(pJF9H zNIGeezZx#)GI7K&{lx#d0&2uaQ*0*J#=91s|9SjE5SEmM*816r9qGHztG^{0yPXQq zq;nUG$uTsaX8@*s9Wb%(0-k1Ok5_Olg4F^SGL)Fq7v~gPs zic;Q3F`;MoAvG0;1+)c?+r-6QpQ9`(*y(~!Mte6)3Wx?yTBxFih{A1m(o@ z%UEHHg!xb?NhNeaBJsL3mDEQG;bsF7^1Vf>r{yK0VJ9%{o*ceT)PC=@(8B2HK%>$n&nMndk6Y%0hj5*3Mhyr_m$aOqF#xALYEj@6;~&d&Zr*w zg5Df{+Ki$+e8;wMs-7A}^_fOJ5`aJ;YkUSj8!KmLT@t9y)kU5;sqg%N%J@!pZOAnl z^RZ$FE%EhM1Z+FjSeA(2>h%v#`uXV_cP-&e^M?y;+D+T{aS8bk&&p8n^t)^=D4LZ7n4hMWoeCg@!}VqDF;m$=m1J{Mz+kUpOAb`8;FyE2`Y@4ubyax+*t`L}Z!d zr;iS$`Ni>LtK??^b!rWN>G}2|y|#)4n#B|Jn0b>BX4as&8s=Ur6Opmjunz7!n`Qbi zeqNeX)W)q>ZN?p>SRD>R*XU}1P&F5ihqbMyfDXiKt}(_?*CaBa%F&M4i3QxSS4Y-O z;9}OlO7Hy41fD)NHtzGNJMjI;XW{xt3t1m=EVDnLEbExx66>Zx0OdHo0U%&s4iWUu z_W~X#5ojLWxbNvt;!fP;ndWI_37o`rN2j^V-sNQ+av)selVkf6J>+;jw@P=n&CHD* z7U^pKGAO|w4qJy?6!>FuiK(fB0|@Fgs;MqK3O7!>ZEDNu=_D^tycy_1PVF9h?}_q4 z$gQa7V6Ft;Ui?sO-TQJzo(tI@)KLN)-e*Yh+=ST>Xycfs#D(V@%FKp<@X!s#Y)eyd zaQ;=Vw0}L<)$+I*ys`BvaYh#lOaC$bTQ)5P^`=1%F6S2;t*luO*-6=wWn>(ILtjRb zDC2VzdKbTHYp1|gS=x9@{nv^qNjP+q-n#g4H=mVY*fUaW^*qGoIAJ;MuS9nkPkh|( zCDQBpIhtpbK=7+l1CDEKyeVd8w?_Hh`0Ujr)V@aUEg!Mu+3pRfc17It;uzDI^ls+y z#o-_)VL1Lj3CgS_MPqyqO{RPKS!wyR3Li!64_$U+M91TBobCZ+qQ0~260+0@vGQF-p=?d^RpP%SZ6k_QnW%z`fEV~LHB zlgM<2VWUb7J<_Dvp0Q8o}@=POm z`w}bc=ndf}!GwH`tt~gs#0J^Z;TKkTwm^!XlhexV!GnUM-5Hn2ddwTljl0V9m(1HR z1F4&q6V_k#syb^*4P|>Y^0Y-+AhH~j`U28J^6m~Eu03%j3ej_k&z#c&di1HYM#RI?RH2ZtzT8EVcNKXwR(U`o~p1x-D&U}?R@)d?uwpXBeAK;U?nA` zE>!3s5XvLZQULjWOJgs`(B^4tMJ61gFG%4uNiv{8M9tthZ=OswB64* zdCV#+E4Z<+jUVSQs4Op6pi@wUAtkOj?n=SrzTb|B@wfl_WJaW}1=a#VQ zmZ5xN3DTQZ8NpktF7xzY*cV5H7UR~X?bf$pRwP(RXlTx{AL!n>i^tc%Yk96(e+-@& zH36A}rE`M3TiVqB#t>pIgzwXSWdX^6kye`T=iiZmQP9}uMf$ii5GnXod3ZZ!*%BCa zIRq!FI{yP?5ti4Pv>zrb{WqTQ#(+e#-~T84{~G>J+h+S1?D93+-uiA|5D55CrZy&2 IqKuHiaWu*Kyi210)^lX!L@jChvLQEU5i_R;-y$|_czaZuk#Pi zha_M2m3wFQ?3p#Q)+9<*Sr!A81Qh@PV93i!tHVBL{(GSy!QMTJ&)fh2DuBGSgr=AA zKY!$O{Kbd61)-KZ-@DWLuf}2GSgLi@(L{auwxMNF3~EKT4$^{XF;u2~8?(~%sLgVs z7|pt>vqWeJ-)L(8^*494q#a&~oc$E>-A_ftc@9Lh&PD!v`cuHhdaAR>`^gvb^H(e} zhxJxZF5Gj^>1Q_{>)v#@pMV4jgkf~DA#@^uVDuPwI|;WbU^E}j0x8ZM2^~N_^oQ8! zD=`Paat6u?l;s2>LF3FXW2=W@%eicO(}RlA;eg_@oZcUGEMUutc}#!ys{Mq*Jz=?(E`!%aJgMxFLA3=NvFHOdr_6mQ#fw#S(*~Vb5{HOSW<2 zg)L8z0REqC>qSfwh=GA&oi<@L?3`V|IL?C7I%3(+kvqZ>ouo%L(m-TAj6hA?^YAyz z;w}F7t#cqL67-clp*NG)o{0m!GRoPQZbBJ-z%Z$pktlquo~6<=Y`3+L@zb3U z4GQ=Z7M=VKQTP>tL?bT3iZYgTc42L^UV}C7i-}kE?qd?{>o7Y5w%8n7d_x(TfE!A|{6d{5$mJUKT0$YI+Ove~a_W@O0X23YX zsxz6c&Iu*hmJ7W2_B_E0xEA9X0gyxtaH^`MY$p|Kq6Je$7BXH6v&$zTh%I)}jn&i1 z*B3JOdMt=YFh;Z3Q%RCVQf;Y_rCE`|Mbc^E!R2#A7cwT5d`5j$!;?s)Q^G}9l1%#R zlr%OP7aopu8+f1=e{6;Ucp0sEtL`|h7;yGOn2vdoQKLhE;}`&XA*dl>m2Y7qN+dwn zO^Fz`TUjnTS(519?PSr&C&BmJw1n@1;Y?{z;72&Z206&21$wcfcEK|92vKGXtCln$ zlIWDsrDpN0;CV6_qp_T`H+eby1 z6VvF_w!DJ~5pt1-Y2|}^ooU`jr$fzf0H2bq^ahaKU*26nT_58IqA0GD|cNf_Ryu zFIOnv?njy_w=d$4ssFnQ$0l_<8$L;R%D6IZ`c~Xf0{8cjr@J%Ela+?M!8(hPYDB6J z(fxHSXucAu_(4>1*aKcs`>_F%|-RF~6x8 z9=#fZ8B$$bs#O$M20)R4!DiB;`+n!D(&z5<$=k^2i;xUlx-IU&3`3^1Z7@{_QTXG( zzgbSNkBlYTt*3T?gC4IJl95CeT!e1I2^X@Fx=zN+Y%00m8(qFqPq(~Z6}~5F^;$A0 zf{(S;EWPDv1ORb#WAGF8Nt4z(HRP_0razZYte)Xg|!Ooa1rSkX=J=jIEJqg(!a?Mc2sqKxw#Z~MB;NYK$_RjRC}-A>qYd-AGyr3kl6wzx z>SS4uMmgB5Wep;+)z>Lb!*L<308H50d^+ptf**+jWYfw=*RD9Qy1U;PJYFBJe@bc` zGUv=74(BxZVU09$sPcCz=jAn!gMP$c0~W^Q;9~&M;Heo9P zl?&G4-PzN-ROR;zn*a_BU7B}Cc;RDoBUXo#S(|N{`(YY=JjjxiGKt{y?h_ALSAYNY z)PR@A##tT<-V8LT%K?UGShp7hA1VtdeUC(2pY{^}Cg^pS#g(4Ln4AobmYvst%NdOW6 z(&z)K0X>2Hzv?Vn5a8j458Xm-rn_(2Xxm;dR)@F5BfPFEwSNfaSUu!1B$w-I%!~eO zm=@LO8*mo(lG5^4+69Z^gBKThQ6*;T=MU8s89EHr)PA^pTkr5R6XP=l$<}%Zg$%gE zNyAJK)?vtJIGx!2d>K-3=vGfE$D@RcZc#`SUSP!L`KNJS`N@D$6Xqp9*7kq4eVN~` z_Uz2%2P_O^^;}H}8ATTw<|r~0jaf2WJ|5S+@#QG5=%#A)h3xh^Gw~U^jP0!{F~nFl zt$u@9^n-PS)K@CGQUOG`vU?l?v@n|n^QoQGH;j|VyR(Rs)h2_JLZ@Zipc3_Lc+(G_ z-ObH;^?`4Won2irh}ezqA~11G9k##($Z^*-f&LsU$?}zjISf;rDT{XBgZrX$aNp-P zt(TQtuXxbB>iJ!Q8ghlS*1Fe}SI6YFz0vQm`=QRe;gRbY0)Cwlf_ z4u`T8hY|-qQW2LwD#jF?=F+R%we*fXFSq;gI&7|G`+NXRYY(d2uU0FcqogaizkTwA zoytVR++m|p(%@}hh>EVD$3NmPKIfX6nx+)-Ds^lAOpuDoWBe=(TG~Wq8lu5kIfN1F zITG`a1z*6wS9UuoD==W;34Zx(_GG~MrAQSo_o)MIt%;fbWPJ^8Tat)~7)0TqenYb* zZE9)zMFjdjnG9l~q;P_=su8M?TCM z=#>XDEx0Pe^4qN(U+QL3CiePwF1+pzd}dnLi3nmon+796s)=+DoEDH)1#+U{Uw%9C z6NFH*(cOPH3c!L4%$$3j?YblUX9 z)#dY@O!+{_8!CC4FtJze)<%Z8>9zayH>c#2*tiAEwum$DSSIpPX~u4KjJ-dn zvM6-0cb;EHbZtNvN>#)%=#(nT!do$)kwAZL^hd>e?dsOZiNfjYq~SGC;0LUTH3Z@Y z3K+-eaDH$oD&6)u|K5f$j#;WJyh_N6w{=Z~?M8)qBp-CXrcRL0=c$xxP?eY+x{)9c zY)4QAe0zC)GCF!WC?XQ4#6bW}ThAlN@6b(@q<>lK)`e_%@7LTsbW+zWYgjdLnM~#g z-Q|g)?vc}m{Lju2qoh}{V}>y4k`JdaNR3-tOnQR&L6oA+FmF)iC83%<+3M5Qx+|}) zR+BwkoG@$FHH;k!9?MYFM+_}AMUArn|GP=6U!zX_krExfCMom_v`jF_N~W@1Mh;*g zs!HI_NU`I9vL=shmE%o_yAw15!zWDZiLJnqV`m$!TpXa_*JPm|1={@nd zap@p07jXUid_z?5Lb=C@4!~Eku&~(W%|Kr!j&UbfWOz6?d3!uUoG+R5LTZg)!{Bt_ z`(9tKzb6i$SmfSW4OZ#Zxe11>IP|{b z_-Wlxu|Las5V9)46M_Wgsm@tmrGfmN_S~7lgu;K}%3yJ9(x+-SSeK>I>vtGVQOar_ zyfH*UtO#aAhO5X&Yieo1VP);83`Zv(M+y-&kqN6AKXgMTVAVgrkC*fw8Kpvky0PP2 zQ|1x|Vn<15HR!#X+SuqQs*O4@E+~j=^KXfQA{1srkYiCSMnIfvCu~_m@YxJ8AEIT( ztQ(jJ>-B@~eM^WcwRV*=&`Y{8E46?Um?HVC)i-bnc+K-BXoC{>LO5f8hsVuVSi)b< z2VQ@cC>hktg#vTRy1K}v0Ko^2NrR(`3^H>(jyDg#bH~R~v3BhmR<2{1b*g_ddyb%B zy{?UL05nnZ3l4dn=Dmbxv&ZOGX%Zch%p9uLPQEcQRnTpTZe77?@IXr{D%4L-uCy3m zp0d{IJ{N7H#hVeFqm=L0ublQcqg=qjf819UiWw@z@px^0b??_*-{0~lUkXOvHA_b# zNwvCgAef`CCz@~pM@ABTtoPh_ki$8p98?uS4i@bV>#fR}ERj!+GLc<^9Xset~SKoT}B@#$_;r${sTJg11wc35X5Lnl-O^H z&tSA-0p11V`QMIGL690&s^UTFa`08g^*NJGaiBv!?lmp*dG^+w^}K0+-T1gH zZio{5E<-UXg>GY^QfE|K4I9O$>(s7e9owK4a%wO_0<-KsC!jd1&1xcbQjTtJ#Y=bv zC%&|w?7dZ|agSUQLwQ9-8V*XR<~lMU6bhsw0oP)x>Fk5x?#%Q6*hP$}S-^KiB-m8D znrc5$xEsnhSr-yhNAsBsa*%uvJ+sH<(?J-lp?q)qG@H`=~(zp?g_+rOX# z_BI$Tv&@N{wYV}iNaNpwiq#!>C{*fhZv18B)h!XI2L1C%cf?}IV1yf_XU1in&bVl&o^zyK%4>PEVrUZFh?&DJm%Z?ZYq~*`~@qM zlL7{vGabXgsxZiUd-~OY=HkY`zhy{1T+(DBwb2VYUh~Y4ta2KKLVH6ZJ$|N3 zfRc*4JUVEkJ{Y50K$71jd*==)G9ZPBIFJ;$G7-W-sPd_1(iH)GFU}Z#!ts4x>peFX zd(+&g0D_D@xRIIoU9W62D%?~Zjh9W&0}1NfR_<#*HL_Y zYQ%@Y{I(5LWTeo(kQa$)8V8cZEEn2K0A85c7Oj=KSMCV@P_b!xbZye4Wia1CNJ*0! z5$>?_-WuhHZTNhix_F(D`BR|A&V{AV-uTFXEtyE9sx2lSJDdp0C(DNyM_G;o%(nGv zpO~R*D=Ddgp7?8uxIGV;^_)Cs3+ZjF8&?mBsvZdE<7OTohHYDR$w|+cudl{=P1?N}eV$$x0ypnKf2%cyK*Rw<~zy zGH9^^iAS0VS9c&G8Ags?)Qi?(qe?f@wnc)BhWe9N-IQ1-Z0X-80 z=#P@3c`ZwJP0j2^?e~-;TpV%ND=ipeXu`&mcZZ)Hn+bD-Zo@i~~Wy@UjhYWty$b=gesADZqqq zk}ZoDPy%0afH6K_-SoSVK!_x>=NXD0zbdNY>9<`?m3ki0VqZ%GOB`wk;h?&FQrepL z4h5=ITOLBk|2&X;9P|c`Wj|StxCjBo+gdtI`-0Il%B#rY-`|z0uW(F66GsfNuAEFc z0^w;8x`;cf*#JnPJ{XKleazld5>oDJWUa_bYnBpN5CHMN31^ZQffLV6aq*)l6t%n^ z=ZPRRMNAG5R1Zt~c{l#8$!T}k6U^vQ*wT+ribGX}JZ^#*VvKTF?k-5av^PQeb<|-X zGU5Hi!`1#96M=&J(C*k@#qeVsgbYN0#53tV^qRq80S!D;Yu2P3KcbzpD@ybaPB9}k zVONyN)TJlLOCcXR-?*WUEQi;=)~DMh%5)z+y(hzkUj5^Ck&h=1Nn4^9wHJ-b(a}-p z{_&V{kZRFjx5}flp#ccQ2E8IlNh&Ddj$M(#;ny%R`HA*y>g;-~`Fs9$9?6TdnsOYR-DY>4%8N=c%x2~YobebAe7Gpr=ihcNn+9dC}FpiE)h^O0|IhZRD>mliu2H2_z5a7?%11AR!mAQCoEBCZ; zK^}_&UvwcJRw84xI=2`vmUx&tEI`Lp9K@J^cq(8-$6X}(jz|g;U!aWeSS2E11fck+ z=5MYFd{M-j=b=(RCtcULyYVtsWHEk*W}1~EV?7&9;piBh+^n8d+eHk_mUed!pCb~} zWPfaI*$n7Vz#AeSv-D8mA#qBi6SiyV@CwfV{`e@$6`trqh1L7h8p%da8G}Kl4q}tT z`;3q|EN=?n!JtxqXV}L=INZL-X(Lf1Y=~$5(k*WRfD|Y;n<6Luc_rP z5oya7AjKZQNUJb~`NQj6OD-Ud;exemg(wvOOLr@udPm%JJbX^8AR$6{Kf6v$!sNNI z4ERk-HRaR6Cy?Q~p~NnFMf!IaBrqnKR1Y$iU9YsDVu5a|ebz3^5javRRgRz#rSCfl zL|P3<1aKV)Z|U)Vdx>vfrU@Pt1n=KHai)-3Ht0FWDP%eD4dbHRR~WI`P&Q=n0W2X@ zC!{d&gX!D-9IGJXqz zqC~VN4a;N6N=R3&19|3KF~9!-ymPO1Rg~U!Xsc_NY4j7q0DGU77}Fx-VNq*=!XNhs z<*{FfJx}abZ$87JvhwMgP+hImN zqMpL9d~Q_e1IFHa_?sPP-GOR+S?lu~6r%ZzDX96zU3Qj`LP?TfnAHKWy3JwK&gux7 zfSst0hgiu~wnHit1wj9H&$~mwnYsu_A-v&9#6%HArf>SX5-dsIV0>vtAvzOh3g80oBdf@iYpl&MqX{g3^Do=&*JQ3!!#g{Xc{AgSFg2pQr!)! zz&`^|T-%>b z7gdWCJRUYfsK-rb3z!>ZY}D~q;V;-1(A?044v!k#L6dD|UBko4mM20O0u6y^jo;|v zsN|7OG3{vGfN0|$lQ|vwKmO?c47vvFJfP#E`-nKU6zM1_E%rL^4!;a-iHCz0F!I@Z zo*(N=O8%Z%)JdaFGh>&|55OTy1{JTcR6?mG&ZI?-tFUR`N!Hu%5LU4)E1kM1Kj;V~ z&_xl+s}ucG;71J!NV4mg&szp634tucNq?|DW4x#eU3+fhyZJ-ZLK&Sb2WOx|SAN!u z6{X#h#N`n52iS&aP*xmTvP1%UT6FS6yCS}l2|TO7_zFPzLbLPk$Ky1U0RMrhoQ~#T zd}XYZ>hW=sDTn5mNFX&39$MDWpz&jr+pK?UUS3_vq_>ftxI;hz#6!XXrR_@-8~L{2 zPr*YJH?@Duk?o_nOJ;uB!qp`b zh(Pf$m4^PNLD>tkDEp*BH`j*%?^rXkTTRSkyY)^Xl|^6cuRY{9IhR}hZ)TG=mz(|{ z1}*;hAlXbrIJ6E!V*;}B+UEFaWc5tz@sDJ-e@0(#Mg5tS5kzR-tM5sdpEfB;XsTnt z6D{Zt(kZGnx`Nrt&57hCo76E703bKA0lBckMm}^YCbBfbHbB`7$fwuqob(oeN~8iL zh79`Usf#5?+HeWO-68q6I6OS&sfa%KA!&~SMNlq-O#LDT!YRQsRn{dtt(MLm#CdBc zHN?C}?`fTS{5^J^BT~6A9RQ5{A23Dl&six0pT~0L=$cKEYHNpfMm4pUP<_Zzj;M8i zSd)pvuJHg+ODhPQE-GjiP|Em`7ZFGV20f^E^d&bWl?O7{)^`nm&8KKiY3Th-CAE`Z zQVLj}11B~g`b&m6X^dEzddnLEDN0=uB@@YS= z$=VV%%>dz(l8zB6%Dz*3+x=dixK`DI)1fPM&mZ8{Qp=<@F`KDza#Lw>Wla&}=#dUv z8EgmR8fGH&M|%~a6TCC`Wh0xE7OpDDgVTZQw8&it|HiMBSm{EgDCv>`M^E|)bmG1c zQNWnn3{G|oRurJ8rqz7hHi^z}wffiviPffX<2ce$IaDzxs(>4sb$WQ2XbtFhV}V=lH-*8>i0#twI?;8&^(FEv>A0 z&+c^Ox_q>lS6E7+^p2wm)I<}P<1&OfyorS_)&A(x)VNh&D@bsm97+toj^!0!q_Abe z)|*f4pNrx}-#M-|HwDt+lt+(P^mz#rr&yIM!zdFh1m^G$jtiuVdj*X15}74)47kaB z83&CMd(V7CRR?9|Bir*#A0 ztL8Y|f1PVD(B=z&r<^x!w9*r}`D!teo1P78P58j*N@)9M)0fAa_b*SIn_nLukDZzs zk~2aWl6g5TMld(4ZlpJ5 zy>wa}PCy-2MKZaSX1fH}vTL>HKF|4HP#AwA-NW{1V$p`zd0)g``lMx39B?}cfw+>X ztoG%}pvS?%u!sP4b{{B1lY^ID`$IeVJ<+v}QaWT6+_Kj7dO5+qX$BYtsPbb#*%=99 zcsp-b?axZ*C1Y52)$(d+3=Gy}#c9YY#;+RkzE-#B{tGGKUZ9?l=2!gH>Fs*my!Q8* zB}>VKcA}otnTY)DfZ^Jl>QCEDV#0SMs==u7J4QIY;7g!Ou*wJJ& z*flq~2Z%Xsj583Sp}(uG=O66r`-D-hxnSPJC0aVaVgGpj*`{^9I{br130a};MWXOP z-Rv-j#qq{&I0h+!(`w^q16S8IQ5k9>Y-lvMda07oNhzH?0`D6}d6l8J&7^%zmj{e{ ze1G%v!zF?dOZ~SbbOFMD9%fZyj&Vu4T9Gp-#y;holD*!AKF(gWp- z2CVr9m|^bu-RaHU?PM}v?T~s_yYl<6y}jFyQL`LOMxphBL^(sBrU;fvMO;>3@8Y^Y zEL}Fn0YyaEwa1pUP?3L}x40x022?*kJTK5<;T`io_QVJf%*A7+U;C)39B+R9a(TDq z;oF_gZF4#gYvub0P1__d8+V-JVr}-WrYjDkjLMxH*_8^geTncv2|>mrbDNX5_>RWj zIit(YE6We-o&kJLnwEzHU=gFXZDI>hOIck7-? zfiE{b#{KnnoKi~Mv%an_TOW|CgzG#zAgHm(Bm7NfEgjM`A^C@cQM+GiI_ponzml5t z5cRq;UR0hNiiS`-1;)z`! zl`zGg6;bKuKPzO@5$XNSfn}u2#`)p5#_sN0V%kU^u^S|4G}ifyRQyJ>_tjq~F5**w zJeQpve^pGhw#~UuQ~`U}^-d`{xxUq!@bXwzZj;4cB!$sGIk${{z9FQLTnrR%s$06H zZ=`5TYB_>8`^lRDPgg3?HA!?bB5b^{mh{P#wX-{Im2}8omFl*?Eg!KyW9C&`gp^Y3 zX*?gQOi%gj=Xl;(av3Tx49GlQ6Q?7BLIHT_TsN4)kh4t~eqA)F5SAd+pBTq>qzL^U zx;bBTFe1=Mf2x|SW$i$Zu*K)*K)l`QM=An4LZ)wpG>g_V~F zZg+4E#!svI|Em>FY}h+992`QN#;d5vGvkAVR+uJ?oUe z_&i_I<*i7)#Yi~}P@P5ik7U|~-G|D)r`waa+}%NstjUba2g!;Lq~L^rsN@I=J1>o- zVhuD_>!D~N7q7nqZr5f)4-h5g>7NZ+FbdpY((FP8hkJWArM4vTLVP5S4y zJc<{7!)7f8k^>Q#6kO(mk<+CrdEGaRpHI_|906r`;)@*~FC1Tvmrgbzh80?=Kb&7^ z24={9%)J~{+S_B2+0I3|*w#uGvLf~-=CI#V?*U~Ke(Bf=vTp?n^u&w0m7P0(Yh64d z(b3@UY;)Rt9e;fhOTY@lDF0pikqIG@3w;|stb!>5<5zdZe|tgc>w3$GihtUUI{(?m5y0fcH>>vlahdy|b!ie9{(dfbxFfTEeh2Y%4$Zi$BiarqX42b@>5 zw6xSjtbZQl-5zSZi+pVt&H|S#`Xs&-dr9 z;k}O^%NWQOBml>x(p2KC2$B8O)we$XJUnm4-p31VKOP4L-l+xD#e!V5lo@d!%-Q@`8q)f)z&JKOm{JCb+nE%ytG46mMF%KXR-9wZA^ zA1)8kzn5b?tTFGqu`W7|fB%SQaI!G|4$uAOV3tsL-(>{?z+xe}Js(hD%i}v4ci#dA zn@1C%eQ^e}7?;j#yN-V-y|3xI^$ZmKiv>x+v;>s>M0kCeo;JCkmCYKGrdbKybsMy- zw>JGQII3*aWEU`>VWUjpb2W*fwt%1N-T88B@@ka2H~(p#U_9uPlis{*+)ma9bf(D| zC!hDn1^!BVhf<$O1l@M9vL?$z2aweq1!g0v|Eqh+D^Y)$LRz zz-1$%R**av)BHEN=kL}}ctgjfDsNv&&A0M#;#U;)nVFs?VCBB&FtN=bdxt}KqO^`Q zJM5$Y2jA0-Nnn&5<;|4kudd*HH}NnEtnK_m|2y7_Y@73~Z7H2iZsXGL&0|R6~E_3F}2W z-tXf=@N#u~RSRu;={N;lG=Kt@;|8UPt_R84+Fx_XB63OXkCzksVrvVH$xxXjGvA}~ zz4)}1C{VN?h{L|q6(>#59UfbuR1$$(E{+2T2Ug$Y293Nxd1zD8li6W+QP=m;9 zON31WU4@wJ?R;)1MSK=U!ZFKIJkUX!NGb_S=ZiW9>?jc(9`wl>OKzFddx%<$3aP)B zz6j?tKDO=W1)kXv!ApaG)#zS4Jp@y+%!ISXjk0OKHfj6#e>B0|R>l4`l(;nHlaPy6 z_yjEr(NM{G=l6_s2vw(?aylz9x zem&mg>2|-pc9}FaHwUIEH}nSWXje)x{uSr=b$>yq`NPoLBz9L?PI5r!NBdr=CD)@~ z8+1xaNCmA3ZJZcsT)-afrc&MJ%WDw+PscmZ(b`?{3k2OQujBO5!pPqK%JWekjvPh~ zeuM5Q3R6VP!?OF*k~Sucv+Ay6up>U=1gl~u=)-ylRY2s-mQwZpJ_qf{Fv&&u0gmzU zZ)h}+Y@;;DsbBzhwn6u^{$hH*lV=%YsAFGsnI`@Y&0dnm%`X1!vhnA-Wc-l}rxL}s z&s76veJzeJsK|iH3|BGDZzRQ?7Vu4dY+3OpDDH3A9 z(RLWSLG!<~lauXR2zZGmT9<{W3ePq(@mf%|+8)*;ztd`N0V@z3gQqr2p#3@)nJ%G&e+Cz89=^Ww8b3efpDJDyFNW6AuU7`kBew5cE`rjb{r4 z75^B8N|0rjR#X%+5ut|@up65$NN|8>5(6pH*t&M3r>3St$~B*1G?7|x{vxjirN5gy z9C9!=Fleidz59L)+4j0L*RJaL0DRviic_FTH!sVAcV2Ny;v5m*FX~p@v~g#_l`#@W z;oql?kYAds@1f5XRrvmL85y)NHzzHa!#8aAeZ4QgqrIX632^-{aeCuoer`)#r1MxN zCe<)ov1BJv?w>eU##dM?C!A7v1FC>#e@wgR|)3D7S>AbjjGmgRk>=04N=66fI>d37+);1lgE6<@U62O+b69AbY3mzB%A8=`=oWifOamyVryv;yIrnkKFJe;9Y|IE`Sk#68Pn0B$&Rn6<0YmzD@%m92vU zAG0)QCf3OCUoUjiXph24KB!H??#`-WEzbaU0YhFyyqpS)_}6#ez3a;CyqwIlilZ>t%bMp*URu=+}eA?u4&AEdBa3I6ex1g zb>|TQedcw?R^~{DF^$r_&0OH}{|Jn+TNh$tp`vJ65{L znT-gY993M`-@iw~e)-kNXd3|K@x7H%VT|_kt^;YjI(4y^`DIkm>WMMFff@PYykHO8 z+&~%$LVMZ9oR_6bu45Gmf{R5V8^KX7o%{ny_jhb*7~XYOM?z*2vw+D3;qu)waU1lS z1rkR;B1rrN4Fqv?tOwj2*987}RH)Ze)9dhfWl_UBW6Jxk@3-A~Su?G@sE;qGgf`TD zsjQ2j9!%vVv>RJVAx&nxH%?ko>(D&1xQ7LWIesnY9ajkpI_GwUJvJowG^`+d%Phn455s?_p9dK*LUzk&gjS z$U%wWYDmX$HeY|n<7^{r-D52b?Xs`>J7(Zcl+FDQZDtVJ=w5xfV8Z-iaVndUgYNeD zOf<}o0gbk^Ngwne02y;u7Up5g3{y-iX{Z^@dZ#~HJf1;={D4_B_TK_D-=Zs-iBqoL z4&sl~L}%GwbPdN*iSc|~W(dSU1L@NOhs7Bc-bUP1hQQfndXVM>F{cft4PIi4QM zlHs9RmDYezgwmfJ`V>aklhr_zq0fv`&@_oK% z{(0~S$fs8bK$}_*MsawlQcUMqq>KuU%FHxw954&AQu6WcQa;-miZKzsToDS;ClOS| zJo6b#qEEAFSOIQB3VFYo?{3M7WaERvR~uv-|E;yukcz|56Aixjqh@Gsh!pQ`kTEjT zkM3mTIMkx-v}P|Ep}{_7(T7WOfEA|9Mm`Xx^&hX7Lk=-6`=pPL;>8RTGUN&cm^%Ma zu>+JvwAtC}`e@N4u4a9*(qCKce-~bdqDr`}N`?~dbJn#^K-YhBw)r2DU@++9sC`ZH zuGD+51!B;B4=S;Zb?K{kbk#Ae8$@5?&%wP(0Kjv5FeIzP;h{d{bon4M8L>H?4G)Jm z$tr7)s3-u%tu}66?l#Y2KjO}-m*00+S8EzD4AA#QLg)aiZ5osr7 z79<}$$FeZD#?Ip&PkN_t6YzL*9Pj`7V2!m6dPhaqzjC6@gog@#2~dH_4X^pKlxlc* zcU3zpXV zx3Ahl99t@l)mXA%33S=p($f98kqe;t*NC5|s%qGId!f2oPD60g!_DI(7hl#@LSL~h z5nVqu8v;PmM@f{i5nR@|-xQSa8Y(T&b&>CqY{@Hs9o&fUo(~0Vuk+->ByZFoD_HTGNVjkrh+~ z63PK1kT$-_73=-SUuxxgnNL#R0I;@A#7wF31s(8hPke$ca%5gz zI2ZhDb{2ozJF02r-`qABD-Ksl$m1NC2nQFwQM;|&+$gB>d1!8KjS;z8oi;QeXnXEc z8Ii}ukn2xVe^PGiPWY$q3V}~ug=DLV<5w)Ri}(!o_P!Y}0rC8>mUo*Wo6E%x;zy&< zLP9G*nK0CPaJSr+heYhx+*~F{28&+SBsDo(I^IZ>6D+FjgNblxutndVd6!>bHd~J8 zo3E7BwPwbRjNV8t+tr;DA9mUyVHWs;_SorUai(QXn-`px!=hwRRY586ZwZ)o(be7k z+r){7=7XQ;^v)1kEQA6m9zn=KLYnr*KybWD8S~v>ZLI?bK|(?V;SiFDf~ENQa@U#p z^3L!e$8%|k9>47OpA6K65fI2#Bn#nfwe&o5J`4 z5Z{KpuTqueLLXXK(iS>CVv=%fY1ue-7xUfy%I^}9*SA|5))y4L!FvxykPwBTL*AiX zBl0g_E)bNs;Q^!D5YvdcAXP!&T+mWg+aXWxbVd1$Z0a}tPhJsdOp_yhpMO`ib}b$e zaetm`GEn2`-<~7xjqK%MpdtB+MSuo``yOZ9#l-v^V8SZF=mY~BZe(KT;OGA$L1xkL zu$I5KC^sL$v7MuRj7PD0M&pXZ?z&?Ojr=9`4+zgB%Ua{-CvwJ={Yiex%zoz;jG<7Y z^fRChuSTxaU_guhLI=rP6(dbvQ>O=7X+>@ZqFA*WK6c)bN}b3755*9KY$W zLkCi-Kk2Z2DR|HJUC@RyoA1l*molb9Am&eE?5I#*7AE*Q2-f((6MLKOT(eBkcE~n_X}q3n-{T1(y71cooZJ}@ zp0Zi3X5nv z#bDAU4>vakNVfG4?W{i#F#W-T1|w!1uE8ek%KdtL^ijm){0HUx3_q62-UifgM-7r>8s}tIXSa0hi=V9O-&*Nj0iSdoLmRu5fxvR)c!O$ zbu~#DonjBR$WmnJEH5s$OPOfa%^a3H7fYqREV?p_)a~J(sp^@$xT{8D?x-d#iF}^> zR@bt*A=he1@xAUM^ZoUN;E^m6w}-4O=?8fn5Fp8_Pt(NY_}t47AEtd+vTpF}gltQ) zwod&*rwz_Uf*nfE&-(I>S=;)yBHG_$^^!Ov@`+|Yxgb z#BjDZN5>`B4H-9Kk1ED=%!C~ z2;Elyr(0Ezj;}6lWVh|@s=X(-5{W}yFrU01?2Y3CA|cPI^(WCQl+Yy;E9mGH(-SC! z?q0a9IyB2+4Fd&LzkH#DV|6uAgb7qJiJyO2)KsFKi{tgju(O#^$2)mveFEO_`mNDP=$n|XeSv8GFwhk0(3G)-=fSZ&|RZ#TI=<1h|8T{WK`>rg2Vxd2eS6wLxwcyeH|s zWypCqx0=Q;XKS%VI`TEkne)@JXbOefXD{?mfK_z%^>h90(Y`m(jQ?+!bef#qzJundk8O>ob*I%#i z^47NMaK6U*-^$gGwu%az8VWBR=Goe$lk~JjIe)~xO$DQhB?!Ab(`nLt@vc~qu_e^&PpzBdu zG&bga)t8quLO~cSLW?y16wJ#;azbOoh71@zys0Sp*KRs{JYx7gCuloGlJfObC~ zY2ZSU;Xfe;y)WpEoZk1iJ<=k+e&}>3K)aHGjWzH|#d61@tn<`Dw)-_;Q;=uX)n2Y( zvd{4&$)96}*n%-p2KgCTOw`n9S@c{iIFVQ1c48*%U=!UVwwB7mAlbmhE@JTELdM{y7*qo@$K>&ZyeRFi!NU;FQDjPGMNoxCHNpxY(AZHBMc`O{gRMjzZHQxkPMoDU~3v(HeDhTZ|1#ght%Y6rf#t$WWgA^H(#7q9^vV5B1k;$BF zY=Vh4_iudc$Uw*~c8jP3DPIo6z2~y{oi=`Y3Fl%&Sg=M((UFHcT{u;s@I$sZ zM6poDhRDjQ9Y?p^k2h>3ch=h7Jr_OP$VPvR=3_py{AD{>^{FmyVrL;x7yfwRN$Fhf zvPKn@-t0{|#;|NCD6t;36J4UBh(Zt!nwo4Ms*zIqc^9dbF91|?iT0-Et_$`miJMiLH7|Ljl-0%Gy*D;OGrz{(hDrzAc}N%cf-OG(v5To0wOITAxL*G zD_znhAt~_A^CjN-0Q1MpIcM&<@9X+iw>d9iu@OWuvv>T`weRQRbcm1_&1EfX6zs&kB}MH;u8C-hHhRgC{;$LRqRIywj8fPt{A21}=Ff zETBE5+FT_C1senL`~)&AHYg<~8Y>A17ZaO+tgF0`Z2htmSVrLu?~T#_bOE!)SO+mt zqTqt&_GcjlNfBTF`BeV$)jT9ezMpNyR63U|akqFbA0qoWJiPKG6060fgBA;I1M(ag zZvhs*08y`O7>$t;jk~}2@t5IYO$nuJ;pLz!8vDkAO+S7}Qa{|D|E0IKXx`G|3awLY zUkYv|k{tsFgAO?0Hv99&574o0Cv-IK|LP|Wl!2cfkBhm87g)`FfAw2Sz-yiSMP~i< z3t3Jh1w|J_O+WoC%7ukf84DS++3<(#qy-++u9siv(J#Qir2fvHIZKpNhjwMzH)h*K z^=uPh-xtNiKwaK{Uh&^8Y9mCWnJ^)~I79bVsB} z2I}7M?0Q7X!0|d)O*BZhn}HG3*289AFac4CTOrxBowq84dIdE%H=nQG;MOqD5C+1r zcC0~h%TVXi0(%W84)~W%OxI-aUp#D|#4zN&b%c)?poU9dr)gMCl3CwS&P%*sKg(su zku$O-fl01WMG+VL!{=cLe7tYozgulN-4i8$5fuko4Z0#E1j=0&kS92%STS*655Vy7 zihNtzj$0in(F-?&uz3g^Y;CWB)pT7pWg7^*^nfVvATB|V-0K%0jxx-OTjE?m{OtBM z)_!(&a~|TQsbU6IN&o#5evxC|_X9$R-p}@~?%R?ByAZ=g+O+0u^q83(2@bbf_6>huHB$+))!x|Z2oM3iIAV;%+54p+w# zE%iTwVHlilg*a9XY=O(IcXUreCezqD-TC6)e}L&{ISQ%CuqGA{cERj=;eat46cjX; z>9I2|i00WIBE5F=u1a5UKZ@=${%}9$@L)ft=@n^33F?5%E<2eX4;=>Sct-S3YC`;c zK{QrwCIlL2Q2#rdElc&bZ@QcQ<|UV*CdE_l746S2zF$O0$NVjFujB!v?WdmL%`gj0 z5hX#jKC8&bef$R;Bcc2u59jQI#Qp>?pF+5l=peNPksgXTz${ZtrpPp6Wb129<$;AO zm@!R(aUNh5+()GzZ?D`}%klz;wg{Iz0lfKkC-+31RrT;5Sw`a_ayzL5m2H=gei-~826O1a%E*V3VdEe)90aVQeY zpvf>$tEDn683-)MMaf9p=<0&@Em4FNJhlg~o0tCdoj#xo!5{=Zw0^&n%}jzCy{O64 zP7V+4X4lhb+G(4gIFdeoLUym|kozSiHjH4_CbgVbkU`WRoc3ocxvI*` zyDksstEQpMsof_XK2x2*lUpSq#0vY>y!tRgknU%iSNMiKLRLL##42175d&Pe(&4wA zJ|nODvn&2P-wis0@4K2;{C6(&IIBN<*zh@yZk;I#IHkPAw(qtR1t?thtChAtr=9ml z_Xj^&un-CROoj zg>7!P;M-&(-H%TzQHg)Ob-`ZA~TiR5{|&|5b}9(#;uUH^QQX_yi#DiwSKl!(-!DbqaA5BXE$7?k#&y5g$q?+C9>VcPs z?=ur9y)N~mVGvhS;_xt~S4s%cdFIa5%`aas-rWZNTp?r5eaJ`uZ*i7xdmYT(NZlRA zW;r?GcsDjH=<~niQlBA+I)ej(k9;ESME7dNEIb>4Ir|h-n8axl(}pZhBO@1C1cgsR zL`^`FH7?+wvUaUP&96G-5_On9GSu>q5!|Z8+*QP7ILSi6Zl&65nnjvh=_n(ga|1w6 z8nWc0xDH@adJFU;jWEz=m)cd-Y$h)Xc&vo@nQKs6?%#8Dfid_MjhOd^1HbjCtz@vD zhHvFeSQ-UlP#;fVy6VXQ9k_Ev)%V z#5soP9{$|rSk&!~MJ$ynVh$nsCKK$^NzB@qga8*mibEFR2q5{hm6!v03YbuIKKOD@kv zRu;caWTMXoFRX?738zu3=g%gmRcFE|Mx5?-#aa8tbHK($Xwug98@c|BBM<=C!nh>P z97_TVUbK|?QPX#ZZhN8$oBiq8@m@*OV*<)sbJW!l){dTB1;BIb*eQ3yNU_t@SEO zK0xfS8hKs=S@{``aI&C%V=`&v@gJ|`?dkQ3sCRRSD~8Wa(gcbaLN}R=e#%mxlq~AB zfUt*PV`B@rb>1RJxyj|ccO9PZj!pQZk)M`2pR&6Ic6mldwD(m_4o8M5{~brR+rBfr zRo?PbHVb8wOU5~FJ4wcMRVVR%wj$2G79W4r2vznGU$MhxVTXN^Wliicku5V`e;P2G06UfqsOHGQx!757()vj=STUidEh`RNXb2HWy$P~6aV*|#q zs147VMvdf@L1#$*pS@py@GMRn9ml`8g$6A zH&>MzAXxD+6q1?DDuDv0%YHePrNE-|Y?y-(?IqeUrtNa;i!#TB3;Ei{Mhh2#Y}+zB z<}KG2Bsn&#)02&*A(jGq)hu^?sYtWg;_$T@#Qi>!V`34Y^v;vh*@H|VHo^AbwjyycL58|qL4uCHPDDMzCuUC`S>ytSC4PV{d~J> z;R(D%lNdd>oCIg!oHN2Kg^~PAd3jaUmjVGh?SauOeq?%Q;?-Df_ZI8g_nmyPt@DXT zLH~gS8nNOj7{|yNZl~1XNIhp!^kJQa#tx9)@l`*vClv!k@M4krhtdq|{&jremcrWOdhB3P58RR)8h~hdy)%Z~Mu!3|M zU|I-4L>eG*WC^=$1(y$EK2xH{qY9MHQjIaASTHuC`AW@Wx?4!5L47|l!d+m-S#RZ9 zD30}Tmf1Obxb*!lMnh`3z6xklvxBsO+t+E*QFZ%)+1LM_bC0X%2R2O{l-}|Yl%|xk znnNIra1h)a5S5rNhB;~sU&hKQfWk=FFHgZ8<+*H>dxFqwMe>;o#$wCHWApp6UwTEI zMA9UCrnMU$?=3ZhJ5nk)ibz=L}@N-6m?Cs;`yofuA*@igA(7-`Hdtk?*>awf85Kvo>26l zRBDzDAeRlzzlB_`qVaGRKeiYlbv9Ta1?-1Rpb;x|{=CFVpbx3cdoCZVZ$df32{ zKq2Hfcm{kG%Y*ASgZR-(K84;L2blKt$A{ci0~D?)U)CO9)~HhAz{n>I#Mm)mj~HF(lW5I| zy9ljyad8Eq9Q)3_&tl$T#O2@pnxAxGs^ow$Y=*37glbUhe{aHcQ&}`<{YPGhd<ChZrRN`DVpVSyy6qe5)XQ?h8DfDSS}PzOM+tJ;TeQ8P z|H#&57m9`s%Z9*)DeJ!EDoJo4DY z{Fq|fnXYu-1d4O@#2ZZ^&8DTdW24) zjh~Cd&0Gsei3&r`$A~58+iy$`e}>i+yH4Rqv5MPw14 zpVAiT%t;#V(B(Dd_06H%O|Toxf+{+Y4ZgRvDmBp0rcJlrY)dhUf`>IWc{1k#(sG(!}ag{9wu!L+)WnY^tgSHWL^ZjfSn3CWg0t%c7+tX zGEMm=hW4)PhqKDkid#nQ^nn5)`<$i^>97Rzq4{Vb203Z9a#CGICy(?sKaSb^+c|gjxFLg~-?=sQ4vZC$Z1i{_Avf)Z@zhP zF`Kae*py-QSk(E*EoIc?|4QFB}T>HXZZZ^oF_{Ry`FtFQ2VEsmw0k2!Z zOkB2!luc!8nKmj)AM&cdPr9g@Q}8;Z2Bn!DiuY@Oxve^1EB z$Wk#eYl2gTEYFqMT1hswV>QhC2R$csjlWYasyVdLWFfBU}Nwt5#3@>sc&FA?$} zV)1af?`@{K;+h-zf>$W_=6undSZb+_KnPjS>F<0nR|QV@WT!8Dr8%aFCa4ZNZQ1dg z|D^E9pQ7C1CZoLNF>Wg=aif5kY~N?duzILyyUVxn_ZKRq^Rw)Ex8c@?55gGt)kUy9 zd-`lor`nBd3 z?m68YlxM${P^#W(n5W;{#l^)&VW3!O(VH~E;-R>v#znh9L8Y)V0iJ0>drfQcAd$bb zl}IabIS&*K>b(7dtK33Xd@p%63k;0lW^4R)AMXxt{~BNi`2X0fHvGOZQhneZiI1n3 z{(P_6VoCS;<(J{n>8onZOwO_IVeRrtMwl$38DstfKzh}E&xF*Y`TD2C%W8IVzFO(G zEmgg$lnqC}CR9^DQPfsb=G?97?ceR44i*A^fu$lyn7{6Ue#1?R>+T-G)kDMbpT@Rq6z|zQG_1b zy^Cy(Ijn+|2&fP}l=Wk;iYpoGm`m8r5a(iRlBd=5Xzm2pi^1Y)hf#))6W<5j$5{pj zSQO|24o^qhPL7W^mQ4Eez;2Y>Gl#q*?jct1$18lrt*`z%?b|vy)u`%eZiG}{k+|u!FB|!0V#IH z0>lYY#r08I^38Js{Ou1_=A1Vk9xbmdMaFV`Dk*6soMvg)ug*I5+g*un984tgXv6PS z<3D^j_w^Tz=gs(i)T~1l)Ok%V!|L}e`A?S9Kz`RpRUpHoz8`2QdN?p7yTV0GeVyN5 zysv6CqLol9tc?2thr`pAEAkDi*WAWmTBs5b(^1TKKK5J;4ziAK@e%X(cLt@ib8(qG zAdh|9;ci?o&N;B5Fqhg4Hut+NNL{ER$;)qs3gRnzB2j}yTL));UJ&DGJHjn-Zem`- zxIoEp5gS*gT9N06)%Sa4I1f*#c8&IEc$vj$2431bI-UWOq=(Dn=QA6qh}4|DE5+-ED%nb;-tzey?Nbc0qOLcf{VF~x zyyNtfo&haAD5yspeon<`8kRbwDkkF^U~YaGgwU*YbJZO-Q@#B7`5pxX77QUP-!*a> zEiCW1az(&Eb>_S%J^~Nh^X-#I9sZqRkS&H$&n^Wub^F-WjeLI$?s&um1+n+Z_L5DR zdR`u&6s}$;Gb*^&?FPkr{CLAQk4^_>E5)qS+vJKPbf$>pA>ia;mh7ic#HuuOC66?N zhW2NROadQJbJ6aCGz@(DauRClweqxXZDrC@a;=yo)$MM3`d`G|3vpy=DdC7;bW46a z?z2c_x?y|Er#>&EFcM}G9AFWW4LVWGsQ@D^QGdceFwt1%NkQ+&t}ZCP%(YhkKkWV% zZYj7qkZe^Atn&d-Bf}d1~6y`G>8Sm<7|XONx4~B5S z_>N}zH*kD6O6 z-d-e82|;Pmp1Mdxi8Mkx3>U6zw~5t%os=OY+|tk}yBv@6tyTUb$ITDJxTJO}`gtxy ztywTurMEW22eUil3KGRq&2_vIg+CS_UHi6*$jN`mu+p1qp%cJL;k><8p*Qj9_LN`0 z{2V7`jFct*-&HLfkjpVXc8BPbaZrJg*M=QL&-SnjN71vt)TF8SC_N4V4Ku oMmF>>L-~jTCHnvMM%UcJVIkwsl^D-~AbT_=IdxdIjA_{a09fK?tpET3 From 1e28fa3c20b663b88a8ee55f119889cdea7a1809 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 15:21:22 +0200 Subject: [PATCH 34/59] remove DashRateUsFragment --- .../src/net/osmand/plus/OsmandSettings.java | 5 +- .../plus/dashboard/DashRateUsFragment.java | 165 ------------------ .../osmand/plus/dashboard/DashboardOnMap.java | 2 - 3 files changed, 1 insertion(+), 171 deletions(-) delete mode 100644 OsmAnd/src/net/osmand/plus/dashboard/DashRateUsFragment.java diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 644b5250bf..e29ca9da5a 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -3208,16 +3208,13 @@ public class OsmandSettings { public final OsmandPreference NUMBER_OF_FREE_DOWNLOADS = new IntPreference(NUMBER_OF_FREE_DOWNLOADS_ID, 0).makeGlobal(); - // For DashRateUsFragment + // For RateUsDialog public final OsmandPreference LAST_DISPLAY_TIME = new LongPreference("last_display_time", 0).makeGlobal().cache(); public final OsmandPreference LAST_CHECKED_UPDATES = new LongPreference("last_checked_updates", 0).makeGlobal(); - public final OsmandPreference NUMBER_OF_APPLICATION_STARTS = - new IntPreference("number_of_app_starts", 0).makeGlobal().cache(); - public final OsmandPreference NUMBER_OF_APP_STARTS_AFTER_DISLIKE = new IntPreference("number_of_app_starts_after_dislike", 0).makeGlobal().cache(); diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashRateUsFragment.java b/OsmAnd/src/net/osmand/plus/dashboard/DashRateUsFragment.java deleted file mode 100644 index bb372f91f9..0000000000 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashRateUsFragment.java +++ /dev/null @@ -1,165 +0,0 @@ -package net.osmand.plus.dashboard; - -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.TextView; - -import net.osmand.plus.OsmandSettings; -import net.osmand.plus.R; -import net.osmand.plus.Version; -import net.osmand.plus.activities.MapActivity; -import net.osmand.plus.dashboard.tools.DashFragmentData; -import net.osmand.plus.dialogs.RateUsBottomSheetDialog; - -public class DashRateUsFragment extends DashBaseFragment { - public static final String TAG = "DASH_RATE_US_FRAGMENT"; - - public static final DashFragmentData.ShouldShowFunction SHOULD_SHOW_FUNCTION = - new DashboardOnMap.DefaultShouldShow() { - @Override - public boolean shouldShow(OsmandSettings settings, MapActivity activity, String tag) { - return RateUsBottomSheetDialog.shouldShow(activity.getMyApplication()) - && super.shouldShow(settings, activity, tag); - } - }; - - private RateUsBottomSheetDialog.FragmentState state = RateUsBottomSheetDialog.FragmentState.INITIAL_STATE; - private RateUsDismissListener mRateUsDismissListener; - - @Override - public void onOpenDash() { - - } - - @Override - public View initView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - View view = getActivity().getLayoutInflater().inflate(R.layout.dash_rate_us_fragment, container, false); - TextView header = (TextView) view.findViewById(R.id.header); - TextView subheader = (TextView) view.findViewById(R.id.subheader); - Button positiveButton = (Button) view.findViewById(R.id.positive_button); - Button negativeButton = (Button) view.findViewById(R.id.negative_button); - positiveButton.setOnClickListener( - new PositiveButtonListener(header, subheader, positiveButton, negativeButton)); - negativeButton.setOnClickListener( - new NegativeButtonListener(header, subheader, positiveButton, negativeButton)); - OsmandSettings settings = getMyApplication().getSettings(); - mRateUsDismissListener = new RateUsDismissListener(dashboard, settings); - return view; - } - - @Override - public DismissListener getDismissCallback() { - return mRateUsDismissListener; - } - - public class PositiveButtonListener implements View.OnClickListener { - private TextView header; - private TextView subheader; - private Button positiveButton; - private Button negativeButton; - - public PositiveButtonListener(TextView header, TextView subheader, Button positiveButton, - Button negativeButton) { - this.header = header; - this.subheader = subheader; - this.positiveButton = positiveButton; - this.negativeButton = negativeButton; - } - - @Override - public void onClick(View v) { - final OsmandSettings settings = getMyApplication().getSettings(); - switch (state) { - case INITIAL_STATE: - state = RateUsBottomSheetDialog.FragmentState.USER_LIKES_APP; - - header.setText(getResources().getString(R.string.rate_this_app)); - subheader.setText(getResources().getString(R.string.rate_this_app_long)); - positiveButton.setText(getResources().getString(R.string.shared_string_ok)); - negativeButton.setText(getResources().getString(R.string.shared_string_no_thanks)); - return; - case USER_LIKES_APP: - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.LIKED); - Uri uri = Uri.parse(Version.getUrlWithUtmRef(getMyApplication(), getActivity().getPackageName())); - Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); - startActivity(goToMarket); - break; - case USER_DISLIKES_APP: - String email = getString(R.string.support_email); - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITH_MESSAGE); - settings.NUMBER_OF_APPLICATION_STARTS.set(0); - settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); - Intent sendEmail = new Intent(Intent.ACTION_SENDTO); - sendEmail.setType("text/plain"); - sendEmail.setData(Uri.parse("mailto:" + email)); - sendEmail.putExtra(Intent.EXTRA_EMAIL, email); - startActivity(sendEmail); - break; - } - dashboard.refreshDashboardFragments(); - } - } - - public class NegativeButtonListener implements View.OnClickListener { - private TextView header; - private TextView subheader; - private Button positiveButton; - private Button negativeButton; - - public NegativeButtonListener(TextView header, TextView subheader, Button positiveButton, - Button negativeButton) { - this.header = header; - this.subheader = subheader; - this.positiveButton = positiveButton; - this.negativeButton = negativeButton; - } - - @Override - public void onClick(View v) { - final OsmandSettings settings = getMyApplication().getSettings(); - switch (state) { - case INITIAL_STATE: - state = RateUsBottomSheetDialog.FragmentState.USER_DISLIKES_APP; - - header.setText(getResources().getString(R.string.user_hates_app_get_feedback)); - subheader.setText(getResources().getString(R.string.user_hates_app_get_feedback_long)); - positiveButton.setText(getResources().getString(R.string.shared_string_ok)); - negativeButton.setText(getResources().getString(R.string.shared_string_no_thanks)); - return; - case USER_LIKES_APP: - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.IGNORED); - break; - case USER_DISLIKES_APP: - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITHOUT_MESSAGE); - break; - } - settings.NUMBER_OF_APPLICATION_STARTS.set(0); - settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); - dashboard.refreshDashboardFragments(); - } - } - - private static class RateUsDismissListener implements DismissListener { - private DashboardOnMap dashboardOnMap; - private OsmandSettings settings; - - public RateUsDismissListener(DashboardOnMap dashboardOnMap, OsmandSettings settings) { - this.dashboardOnMap = dashboardOnMap; - this.settings = settings; - } - - @Override - public void onDismiss() { - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.IGNORED); - settings.NUMBER_OF_APPLICATION_STARTS.set(0); - settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); - dashboardOnMap.refreshDashboardFragments(); - } - } -} diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java index d7999b53fb..eb4ecde9ba 100644 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java +++ b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java @@ -103,8 +103,6 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, IRouteInfo private final DashFragmentData[] fragmentsData = new DashFragmentData[]{ - new DashFragmentData(DashRateUsFragment.TAG, DashRateUsFragment.class, - DashRateUsFragment.SHOULD_SHOW_FUNCTION, 0, null), new DashFragmentData(DashDashboardOrDrawerFragment.TAG, DashDashboardOrDrawerFragment.class, DashDashboardOrDrawerFragment.SHOULD_SHOW_FUNCTION, 5, null), new DashFragmentData(DashErrorFragment.TAG, DashErrorFragment.class, From 3f247e85d5ec45d77e4ab3086a5ea8eb3ad01e1b Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Fri, 17 Jan 2020 15:23:46 +0200 Subject: [PATCH 35/59] Fix tracker compatibility with old osmand versions --- .../telegram/helpers/ShowLocationHelper.kt | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt b/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt index 0fdb748018..53b77aa8c4 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt @@ -35,6 +35,7 @@ class ShowLocationHelper(private val app: TelegramApplication) { const val MIN_OSMAND_CALLBACK_VERSION_CODE = 320 const val MIN_OSMAND_CREATE_IMPORT_DIRS_VERSION_CODE = 340 + const val MIN_OSMAND_SHARE_WIDGET_ICON_VERSION_CODE = 360 const val MAP_CONTEXT_MENU_BUTTON_ID = 1 const val MAP_CONTEXT_MENU_BUTTONS_PARAMS_ID = "DIRECTION" @@ -46,6 +47,8 @@ class ShowLocationHelper(private val app: TelegramApplication) { private const val STATUS_WIDGET_ID = "status_widget" private const val STATUS_WIDGET_MENU_ICON = "widget_location_sharing_night" + private const val STATUS_WIDGET_MENU_ICON_OLD = "ic_action_relative_bearing" + private const val STATUS_WIDGET_ICON_OLD = "widget_relative_bearing_day" private const val STATUS_WIDGET_ANIM_ICON_DAY = "anim_widget_location_sharing_day" private const val STATUS_WIDGET_ANIM_ICON_NIGHT = "anim_widget_location_sharing_night" private const val STATUS_WIDGET_ON_ANIM_ICON_DAY = "anim_widget_location_sharing_on_day" @@ -209,8 +212,13 @@ class ShowLocationHelper(private val app: TelegramApplication) { } fun addOrUpdateStatusWidget(time: Long, isSending: Boolean) { - val iconDay: String - val iconNight: String + var iconDay: String + var iconNight: String + val menuIcon = if (isOsmandHasStatusWidgetIcon()) { + STATUS_WIDGET_MENU_ICON + } else { + STATUS_WIDGET_MENU_ICON_OLD + } val text = when { time > 0L -> { iconDay = STATUS_WIDGET_ANIM_ICON_DAY @@ -234,6 +242,10 @@ class ShowLocationHelper(private val app: TelegramApplication) { app.getString(R.string.shared_string_start) } } + if (!isOsmandHasStatusWidgetIcon()) { + iconDay = STATUS_WIDGET_ICON_OLD + iconNight = STATUS_WIDGET_ICON_OLD + } val subText = when { time > 0 -> { if (text.length > 2) { @@ -246,7 +258,7 @@ class ShowLocationHelper(private val app: TelegramApplication) { } osmandAidlHelper.addMapWidget( STATUS_WIDGET_ID, - STATUS_WIDGET_MENU_ICON, + menuIcon, app.getString(R.string.status_widget_title), iconDay, iconNight, @@ -456,6 +468,11 @@ class ShowLocationHelper(private val app: TelegramApplication) { return version >= MIN_OSMAND_CREATE_IMPORT_DIRS_VERSION_CODE } + fun isOsmandHasStatusWidgetIcon(): Boolean { + val version = AndroidUtils.getAppVersionCode(app, app.settings.appToConnectPackage) + return version >= MIN_OSMAND_SHARE_WIDGET_ICON_VERSION_CODE + } + fun startShowMessagesTask(chatId: Long, vararg messages: TdApi.Message) { if (app.settings.isShowingChatOnMap(chatId)) { ShowMessagesTask(app).executeOnExecutor(executor, *messages) From 4b4d1e0e2ffca8c1ec63d10be9e494b8a0534a1c Mon Sep 17 00:00:00 2001 From: max-klaus Date: Fri, 17 Jan 2020 16:26:11 +0300 Subject: [PATCH 36/59] Fix #8101 --- .../osmand/plus/measurementtool/MeasurementEditingContext.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java index 154a2044ad..940ee0f2ef 100644 --- a/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java +++ b/OsmAnd/src/net/osmand/plus/measurementtool/MeasurementEditingContext.java @@ -178,8 +178,9 @@ public class MeasurementEditingContext { } public WptPt removePoint(int position, boolean updateSnapToRoad) { - if(position < 0 || position > before.points.size()) + if (position < 0 || position >= before.points.size()) { return new WptPt(); + } WptPt pt = before.points.remove(position); if (updateSnapToRoad) { updateCacheForSnapIfNeeded(false); From 8e3b9f7e1db9667999189ff63d22823957f94768 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 15:45:01 +0200 Subject: [PATCH 37/59] refactor --- OsmAnd/src/net/osmand/plus/AppInitializer.java | 7 ------- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 4 ++-- .../DislikeOsmAndBottomSheetDialogFragment.java | 4 ++-- .../plus/dialogs/RateUsBottomSheetDialog.java | 15 ++++----------- 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/AppInitializer.java b/OsmAnd/src/net/osmand/plus/AppInitializer.java index 8ecaca958b..095a819a2a 100644 --- a/OsmAnd/src/net/osmand/plus/AppInitializer.java +++ b/OsmAnd/src/net/osmand/plus/AppInitializer.java @@ -29,7 +29,6 @@ import net.osmand.plus.activities.LocalIndexHelper; import net.osmand.plus.activities.LocalIndexInfo; import net.osmand.plus.activities.SavingTrackHelper; import net.osmand.plus.base.MapViewTrackingUtilities; -import net.osmand.plus.dialogs.RateUsBottomSheetDialog.RateUsState; import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.ui.AbstractLoadLocalIndexTask; import net.osmand.plus.helpers.AvoidSpecificRoads; @@ -213,12 +212,6 @@ public class AppInitializer implements IProgress { } app.getSettings().SHOW_TRAVEL_UPDATE_CARD.set(true); app.getSettings().SHOW_TRAVEL_NEEDED_MAPS_CARD.set(true); - - RateUsState rateUsState = app.getSettings().RATE_US_STATE.get(); - if (rateUsState != RateUsState.INITIAL_STATE && rateUsState != RateUsState.LIKED) { - int startsAfterDismiss = app.getSettings().NUMBER_OF_APP_STARTS_AFTER_DISLIKE.get(); - app.getSettings().NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(startsAfterDismiss + 1); - } initSettings = true; } diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index e29ca9da5a..d494eb3c4a 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -3215,8 +3215,8 @@ public class OsmandSettings { public final OsmandPreference LAST_CHECKED_UPDATES = new LongPreference("last_checked_updates", 0).makeGlobal(); - public final OsmandPreference NUMBER_OF_APP_STARTS_AFTER_DISLIKE = - new IntPreference("number_of_app_starts_after_dislike", 0).makeGlobal().cache(); + public final OsmandPreference NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT = + new IntPreference("number_of_app_starts_on_dislike_moment", 0).makeGlobal().cache(); public final OsmandPreference RATE_US_STATE = new EnumIntPreference<>("rate_us_state", diff --git a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java index 57ca2fdd8a..c1708b4a85 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java @@ -46,7 +46,7 @@ public class DislikeOsmAndBottomSheetDialogFragment extends MenuBottomSheetDialo OsmandApplication app = getMyApplication(); if (app != null) { app.getSettings().RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITHOUT_MESSAGE); - app.getSettings().NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); + app.getSettings().NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.set(app.getAppInitializer().getNumberOfStarts()); app.getSettings().LAST_DISPLAY_TIME.set(System.currentTimeMillis()); } } @@ -63,7 +63,7 @@ public class DislikeOsmAndBottomSheetDialogFragment extends MenuBottomSheetDialo OsmandSettings settings = app.getSettings(); String email = getString(R.string.support_email); settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITH_MESSAGE); - settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); + settings.NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.set(app.getAppInitializer().getNumberOfStarts()); settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); Intent sendEmail = new Intent(Intent.ACTION_SENDTO); sendEmail.setDataAndType(Uri.parse("mailto:" + email), "text/plain"); diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java index eeb5b72bdf..424ba9c6ba 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java @@ -17,7 +17,6 @@ import net.osmand.plus.R; import net.osmand.plus.Version; import net.osmand.plus.base.BottomSheetDialogFragment; -import java.util.Calendar; public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { private RateUsBottomSheetDialog.FragmentState state = RateUsBottomSheetDialog.FragmentState.INITIAL_STATE; @@ -56,13 +55,11 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { case IGNORED: case DISLIKED_WITH_MESSAGE: case DISLIKED_WITHOUT_MESSAGE: - int startsAfterDislike = settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.get(); + int startsOnDislikeMoment = settings.NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.get(); long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get(); - Calendar modifiedTime = Calendar.getInstance(); - modifiedTime.add(Calendar.DAY_OF_YEAR, -60); - Calendar lastDisplayTime = Calendar.getInstance(); - lastDisplayTime.setTimeInMillis(lastDisplayTimeInMillis); - return modifiedTime.after(lastDisplayTime) && startsAfterDislike > 50; + long currentTime = System.currentTimeMillis(); + return currentTime - lastDisplayTimeInMillis > 5_184_000_000L + && numberOfStarts - startsOnDislikeMoment > 50; } return false; } @@ -102,8 +99,6 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { case USER_DISLIKES_APP: String email = getString(R.string.support_email); settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITH_MESSAGE); - settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); - settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); Intent sendEmail = new Intent(Intent.ACTION_SENDTO); sendEmail.setType("text/plain"); sendEmail.setData(Uri.parse("mailto:" + email)); @@ -148,8 +143,6 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITHOUT_MESSAGE); break; } - settings.NUMBER_OF_APP_STARTS_AFTER_DISLIKE.set(0); - settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); dismiss(); } } From 18decbc7ac48292d2190c3920906c5acd08dbcb2 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Fri, 17 Jan 2020 15:51:39 +0200 Subject: [PATCH 38/59] Update ShowLocationHelper.kt Change check for min osmand version --- .../src/net/osmand/telegram/helpers/ShowLocationHelper.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt b/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt index 53b77aa8c4..d8096cb6cc 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/helpers/ShowLocationHelper.kt @@ -35,7 +35,7 @@ class ShowLocationHelper(private val app: TelegramApplication) { const val MIN_OSMAND_CALLBACK_VERSION_CODE = 320 const val MIN_OSMAND_CREATE_IMPORT_DIRS_VERSION_CODE = 340 - const val MIN_OSMAND_SHARE_WIDGET_ICON_VERSION_CODE = 360 + const val MIN_OSMAND_SHARE_WIDGET_ICON_VERSION_CODE = 356 const val MAP_CONTEXT_MENU_BUTTON_ID = 1 const val MAP_CONTEXT_MENU_BUTTONS_PARAMS_ID = "DIRECTION" @@ -581,4 +581,4 @@ class ShowLocationHelper(private val app: TelegramApplication) { osmandAidlHelper.removeMapPoint(MAP_LAYER_ID, "${chatId}_${content.deviceName}") } } -} \ No newline at end of file +} From 6db7ffff3d461e7931391e931073a624cc20d199 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 16:03:24 +0200 Subject: [PATCH 39/59] refactor --- .../src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java index 424ba9c6ba..140dae86aa 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java @@ -19,6 +19,7 @@ import net.osmand.plus.base.BottomSheetDialogFragment; public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { + private static long sixtyDays = 60 * 24 * 60 * 60 * 1000L; private RateUsBottomSheetDialog.FragmentState state = RateUsBottomSheetDialog.FragmentState.INITIAL_STATE; @Nullable @Override @@ -58,7 +59,7 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { int startsOnDislikeMoment = settings.NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.get(); long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get(); long currentTime = System.currentTimeMillis(); - return currentTime - lastDisplayTimeInMillis > 5_184_000_000L + return currentTime - lastDisplayTimeInMillis > sixtyDays && numberOfStarts - startsOnDislikeMoment > 50; } return false; From 8e36b14c0dd1da3a78c962cffa023d0a8a293d85 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Fri, 17 Jan 2020 16:23:19 +0200 Subject: [PATCH 40/59] Add car bearing icon --- OsmAnd/res/drawable/map_bearing_car_xml.xml | 18 ++++++++++++++++++ .../res/drawable/map_bicycle_location_xml.xml | 6 +++--- OsmAnd/res/drawable/map_car_location_xml.xml | 6 +++--- .../res/drawable/map_default_location_xml.xml | 6 +++--- .../src/net/osmand/plus/ApplicationMode.java | 19 ++++++++++--------- 5 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 OsmAnd/res/drawable/map_bearing_car_xml.xml diff --git a/OsmAnd/res/drawable/map_bearing_car_xml.xml b/OsmAnd/res/drawable/map_bearing_car_xml.xml new file mode 100644 index 0000000000..a6677936e2 --- /dev/null +++ b/OsmAnd/res/drawable/map_bearing_car_xml.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_bicycle_location_xml.xml b/OsmAnd/res/drawable/map_bicycle_location_xml.xml index 0065008710..972c962dee 100644 --- a/OsmAnd/res/drawable/map_bicycle_location_xml.xml +++ b/OsmAnd/res/drawable/map_bicycle_location_xml.xml @@ -1,16 +1,16 @@ - + - + - + diff --git a/OsmAnd/res/drawable/map_car_location_xml.xml b/OsmAnd/res/drawable/map_car_location_xml.xml index 7fec9f8839..f170bbaef4 100644 --- a/OsmAnd/res/drawable/map_car_location_xml.xml +++ b/OsmAnd/res/drawable/map_car_location_xml.xml @@ -1,16 +1,16 @@ - + - + - + diff --git a/OsmAnd/res/drawable/map_default_location_xml.xml b/OsmAnd/res/drawable/map_default_location_xml.xml index ed1f37c833..485175bb4a 100644 --- a/OsmAnd/res/drawable/map_default_location_xml.xml +++ b/OsmAnd/res/drawable/map_default_location_xml.xml @@ -1,16 +1,16 @@ - + - + - + diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index 1e16a7ee38..6dc37dda05 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -77,7 +77,7 @@ public class ApplicationMode { private int minDistanceForTurn = 50; private int arrivalDistance = 90; private int offRouteDistance = 350; - private NavigationIcon navigationIcon = NavigationIcon.CAR; + private NavigationIcon navigationIcon = NavigationIcon.DEFAULT; private LocationIcon locationIcon = LocationIcon.DEFAULT; private ApplicationMode(int key, String stringKey) { @@ -90,18 +90,18 @@ public class ApplicationMode { */ public static final ApplicationMode DEFAULT = createBase(R.string.app_mode_default, "default") .speed(1.5f, 5).arrivalDistance(90) - .locationIcon(LocationIcon.DEFAULT).navigationIcon(NavigationIcon.CAR) + .locationIcon(LocationIcon.DEFAULT).navigationIcon(NavigationIcon.DEFAULT) .icon(R.drawable.ic_world_globe_dark, R.drawable.map_world_globe_dark, "ic_world_globe_dark").reg(); public static final ApplicationMode CAR = createBase(R.string.app_mode_car, "car") .speed(12.5f, 35) - .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.CAR) + .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.DEFAULT) .icon(R.drawable.ic_action_car_dark, R.drawable.map_action_car_dark, "ic_action_car_dark") .setRoutingProfile("car").description(R.string.base_profile_descr_car).reg(); public static final ApplicationMode BICYCLE = createBase(R.string.app_mode_bicycle, "bicycle") .speed(2.77f, 15).arrivalDistance(60).offRouteDistance(50) - .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) + .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.DEFAULT) .icon(R.drawable.ic_action_bicycle_dark, R.drawable.map_action_bicycle_dark, "ic_action_bicycle_dark") .setRoutingProfile("bicycle").description(R.string.base_profile_descr_bicycle).reg(); @@ -122,13 +122,13 @@ public class ApplicationMode { public static final ApplicationMode AIRCRAFT = createBase(R.string.app_mode_aircraft, "aircraft") .speed(40f, 100) - .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.CAR) + .locationIcon(LocationIcon.CAR).navigationIcon(NavigationIcon.DEFAULT) .icon(R.drawable.ic_action_aircraft, R.drawable.map_action_aircraft, "ic_action_aircraft").setRouteService(RouteService.STRAIGHT) .setRoutingProfile("STRAIGHT_LINE_MODE").description(R.string.base_profile_descr_aircraft).reg(); public static final ApplicationMode SKI = createBase(R.string.app_mode_skiing, "ski") .speed(1.38f, 15).arrivalDistance(60).offRouteDistance(50) - .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.CAR) + .locationIcon(LocationIcon.BICYCLE).navigationIcon(NavigationIcon.DEFAULT) .icon(R.drawable.ic_action_skiing, R.drawable.map_action_skiing, "ic_action_skiing") .setRoutingProfile("ski").description(R.string.base_profile_descr_ski).reg(); @@ -150,7 +150,7 @@ public class ApplicationMode { @Expose LocationIcon locationIcon = LocationIcon.DEFAULT; @Expose - NavigationIcon navigationIcon = NavigationIcon.CAR; + NavigationIcon navigationIcon = NavigationIcon.DEFAULT; @Expose int order; } @@ -944,8 +944,9 @@ public class ApplicationMode { } public enum NavigationIcon { - CAR(R.drawable.map_car_navigation_xml), - NAUTICAL(R.drawable.map_nautical_navigation_xml); + DEFAULT(R.drawable.map_car_navigation_xml), + NAUTICAL(R.drawable.map_nautical_navigation_xml), + CAR(R.drawable.map_bearing_car_xml); NavigationIcon(@DrawableRes int iconId) { this.iconId = iconId; From ea64df6f9193315ae52409f6b621fe226ef5a76c Mon Sep 17 00:00:00 2001 From: max-klaus Date: Fri, 17 Jan 2020 17:42:50 +0300 Subject: [PATCH 41/59] Push version to 356 --- OsmAnd/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/build.gradle b/OsmAnd/build.gradle index b8ee55cad3..e52705773c 100644 --- a/OsmAnd/build.gradle +++ b/OsmAnd/build.gradle @@ -45,10 +45,10 @@ android { defaultConfig { minSdkVersion System.getenv("MIN_SDK_VERSION") ? System.getenv("MIN_SDK_VERSION").toInteger() : 15 targetSdkVersion 28 - versionCode 350 + versionCode 356 versionCode System.getenv("APK_NUMBER_VERSION") ? System.getenv("APK_NUMBER_VERSION").toInteger() : versionCode multiDexEnabled true - versionName "3.5.0" + versionName "3.5.6" versionName System.getenv("APK_VERSION")? System.getenv("APK_VERSION").toString(): versionName versionName System.getenv("APK_VERSION_SUFFIX")? versionName + System.getenv("APK_VERSION_SUFFIX").toString(): versionName From 8bb06e8d64c357aa21c6fb397ebbb7bcc2ffb448 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 16:49:28 +0200 Subject: [PATCH 42/59] refactor --- .../src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java index 140dae86aa..a42d0f6e46 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java @@ -19,7 +19,7 @@ import net.osmand.plus.base.BottomSheetDialogFragment; public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { - private static long sixtyDays = 60 * 24 * 60 * 60 * 1000L; + private static final long SIXTY_DAYS = 60 * 24 * 60 * 60 * 1000L; private RateUsBottomSheetDialog.FragmentState state = RateUsBottomSheetDialog.FragmentState.INITIAL_STATE; @Nullable @Override @@ -59,7 +59,7 @@ public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { int startsOnDislikeMoment = settings.NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.get(); long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get(); long currentTime = System.currentTimeMillis(); - return currentTime - lastDisplayTimeInMillis > sixtyDays + return currentTime - lastDisplayTimeInMillis > SIXTY_DAYS && numberOfStarts - startsOnDislikeMoment > 50; } return false; From a9ac35d3e0783b48fa594fc5803638d3a328e312 Mon Sep 17 00:00:00 2001 From: Dima-1 Date: Fri, 17 Jan 2020 17:37:57 +0200 Subject: [PATCH 43/59] Add renaming icons --- ...om.png => map_location_bicycle_bottom.png} | Bin ...er.png => map_location_bicycle_center.png} | Bin ...n_top.png => map_location_bicycle_top.png} | Bin ...ng => map_location_bicycle_view_angle.png} | Bin ...bottom.png => map_location_car_bottom.png} | Bin ...center.png => map_location_car_center.png} | Bin ...ation_top.png => map_location_car_top.png} | Bin ...le.png => map_location_car_view_angle.png} | Bin ...om.png => map_location_default_bottom.png} | Bin ...er.png => map_location_default_center.png} | Bin ...n_top.png => map_location_default_top.png} | Bin ...ng => map_location_default_view_angle.png} | Bin ...ttom.png => map_navigation_car_bottom.png} | Bin ...nter.png => map_navigation_car_center.png} | Bin ...car_top.png => map_navigation_car_top.png} | Bin ....png => map_navigation_default_bottom.png} | Bin ....png => map_navigation_default_center.png} | Bin ...top.png => map_navigation_default_top.png} | Bin ...png => map_navigation_nautical_bottom.png} | Bin ...png => map_navigation_nautical_center.png} | Bin ...op.png => map_navigation_nautical_top.png} | Bin ...om.png => map_location_bicycle_bottom.png} | Bin ...er.png => map_location_bicycle_center.png} | Bin ...n_top.png => map_location_bicycle_top.png} | Bin ...ng => map_location_bicycle_view_angle.png} | Bin ...bottom.png => map_location_car_bottom.png} | Bin ...center.png => map_location_car_center.png} | Bin ...ation_top.png => map_location_car_top.png} | Bin ...le.png => map_location_car_view_angle.png} | Bin ...om.png => map_location_default_bottom.png} | Bin ...er.png => map_location_default_center.png} | Bin ...n_top.png => map_location_default_top.png} | Bin ...ng => map_location_default_view_angle.png} | Bin ...ttom.png => map_navigation_car_bottom.png} | Bin ...nter.png => map_navigation_car_center.png} | Bin ...car_top.png => map_navigation_car_top.png} | Bin ....png => map_navigation_default_bottom.png} | Bin ....png => map_navigation_default_center.png} | Bin ...top.png => map_navigation_default_top.png} | Bin ...png => map_navigation_nautical_bottom.png} | Bin ...png => map_navigation_nautical_center.png} | Bin ...op.png => map_navigation_nautical_top.png} | Bin ...om.png => map_location_bicycle_bottom.png} | Bin ...er.png => map_location_bicycle_center.png} | Bin ...n_top.png => map_location_bicycle_top.png} | Bin ...ng => map_location_bicycle_view_angle.png} | Bin ...bottom.png => map_location_car_bottom.png} | Bin ...center.png => map_location_car_center.png} | Bin ...ation_top.png => map_location_car_top.png} | Bin ...le.png => map_location_car_view_angle.png} | Bin ...om.png => map_location_default_bottom.png} | Bin ...er.png => map_location_default_center.png} | Bin ...n_top.png => map_location_default_top.png} | Bin ...ng => map_location_default_view_angle.png} | Bin ...ttom.png => map_navigation_car_bottom.png} | Bin ...nter.png => map_navigation_car_center.png} | Bin ...car_top.png => map_navigation_car_top.png} | Bin ....png => map_navigation_default_bottom.png} | Bin ....png => map_navigation_default_center.png} | Bin ...top.png => map_navigation_default_top.png} | Bin ...png => map_navigation_nautical_bottom.png} | Bin ...png => map_navigation_nautical_center.png} | Bin ...op.png => map_navigation_nautical_top.png} | Bin ...om.png => map_location_bicycle_bottom.png} | Bin ...er.png => map_location_bicycle_center.png} | Bin ...n_top.png => map_location_bicycle_top.png} | Bin ...ng => map_location_bicycle_view_angle.png} | Bin ...bottom.png => map_location_car_bottom.png} | Bin ...center.png => map_location_car_center.png} | Bin ...ation_top.png => map_location_car_top.png} | Bin ...le.png => map_location_car_view_angle.png} | Bin ...om.png => map_location_default_bottom.png} | Bin ...er.png => map_location_default_center.png} | Bin ...n_top.png => map_location_default_top.png} | Bin ...ng => map_location_default_view_angle.png} | Bin ...ttom.png => map_navigation_car_bottom.png} | Bin ...nter.png => map_navigation_car_center.png} | Bin ...car_top.png => map_navigation_car_top.png} | Bin ....png => map_navigation_default_bottom.png} | Bin ....png => map_navigation_default_center.png} | Bin ...top.png => map_navigation_default_top.png} | Bin ...png => map_navigation_nautical_bottom.png} | Bin ...png => map_navigation_nautical_center.png} | Bin ...op.png => map_navigation_nautical_top.png} | Bin ...om.png => map_location_bicycle_bottom.png} | Bin ...er.png => map_location_bicycle_center.png} | Bin ...n_top.png => map_location_bicycle_top.png} | Bin ...bottom.png => map_location_car_bottom.png} | Bin ...center.png => map_location_car_center.png} | Bin ...ation_top.png => map_location_car_top.png} | Bin ...om.png => map_location_default_bottom.png} | Bin ...er.png => map_location_default_center.png} | Bin ...n_top.png => map_location_default_top.png} | Bin ...ttom.png => map_navigation_car_bottom.png} | Bin ...nter.png => map_navigation_car_center.png} | Bin ...car_top.png => map_navigation_car_top.png} | Bin ....png => map_navigation_default_bottom.png} | Bin ....png => map_navigation_default_center.png} | Bin ...top.png => map_navigation_default_top.png} | Bin ...png => map_navigation_nautical_bottom.png} | Bin ...png => map_navigation_nautical_center.png} | Bin ...op.png => map_navigation_nautical_top.png} | Bin .../res/drawable/map_default_location_xml.xml | 18 ------------------ ...ation_xml.xml => map_location_bicycle.xml} | 6 +++--- ...aring_car_xml.xml => map_location_car.xml} | 6 +++--- ...ation_xml.xml => map_location_default.xml} | 6 +++--- .../drawable/map_nautical_navigation_xml.xml | 18 ------------------ ...ocation_xml.xml => map_navigation_car.xml} | 6 +++--- .../res/drawable/map_navigation_default.xml | 18 ++++++++++++++++++ .../res/drawable/map_navigation_nautical.xml | 18 ++++++++++++++++++ .../src/net/osmand/plus/ApplicationMode.java | 12 ++++++------ .../plus/myplaces/TrackBitmapDrawer.java | 2 +- .../src/net/osmand/plus/views/GPXLayer.java | 3 +-- .../src/net/osmand/plus/views/RouteLayer.java | 2 +- 114 files changed, 57 insertions(+), 58 deletions(-) rename OsmAnd/res/drawable-hdpi/{map_bicycle_location_bottom.png => map_location_bicycle_bottom.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_bicycle_location_center.png => map_location_bicycle_center.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_bicycle_location_top.png => map_location_bicycle_top.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_bicycle_location_view_angle.png => map_location_bicycle_view_angle.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_car_location_bottom.png => map_location_car_bottom.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_car_location_center.png => map_location_car_center.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_car_location_top.png => map_location_car_top.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_car_location_view_angle.png => map_location_car_view_angle.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_default_location_bottom.png => map_location_default_bottom.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_default_location_center.png => map_location_default_center.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_default_location_top.png => map_location_default_top.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_default_location_view_angle.png => map_location_default_view_angle.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_bearing_car_bottom.png => map_navigation_car_bottom.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_bearing_car_center.png => map_navigation_car_center.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_bearing_car_top.png => map_navigation_car_top.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_car_bearing_bottom.png => map_navigation_default_bottom.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_car_bearing_center.png => map_navigation_default_center.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_car_bearing_top.png => map_navigation_default_top.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_nautical_bearing_bottom.png => map_navigation_nautical_bottom.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_nautical_bearing_center.png => map_navigation_nautical_center.png} (100%) rename OsmAnd/res/drawable-hdpi/{map_nautical_bearing_top.png => map_navigation_nautical_top.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_bicycle_location_bottom.png => map_location_bicycle_bottom.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_bicycle_location_center.png => map_location_bicycle_center.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_bicycle_location_top.png => map_location_bicycle_top.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_bicycle_location_view_angle.png => map_location_bicycle_view_angle.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_car_location_bottom.png => map_location_car_bottom.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_car_location_center.png => map_location_car_center.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_car_location_top.png => map_location_car_top.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_car_location_view_angle.png => map_location_car_view_angle.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_default_location_bottom.png => map_location_default_bottom.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_default_location_center.png => map_location_default_center.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_default_location_top.png => map_location_default_top.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_default_location_view_angle.png => map_location_default_view_angle.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_bearing_car_bottom.png => map_navigation_car_bottom.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_bearing_car_center.png => map_navigation_car_center.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_bearing_car_top.png => map_navigation_car_top.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_car_bearing_bottom.png => map_navigation_default_bottom.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_car_bearing_center.png => map_navigation_default_center.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_car_bearing_top.png => map_navigation_default_top.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_nautical_bearing_bottom.png => map_navigation_nautical_bottom.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_nautical_bearing_center.png => map_navigation_nautical_center.png} (100%) rename OsmAnd/res/drawable-mdpi/{map_nautical_bearing_top.png => map_navigation_nautical_top.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_bicycle_location_bottom.png => map_location_bicycle_bottom.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_bicycle_location_center.png => map_location_bicycle_center.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_bicycle_location_top.png => map_location_bicycle_top.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_bicycle_location_view_angle.png => map_location_bicycle_view_angle.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_car_location_bottom.png => map_location_car_bottom.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_car_location_center.png => map_location_car_center.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_car_location_top.png => map_location_car_top.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_car_location_view_angle.png => map_location_car_view_angle.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_default_location_bottom.png => map_location_default_bottom.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_default_location_center.png => map_location_default_center.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_default_location_top.png => map_location_default_top.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_default_location_view_angle.png => map_location_default_view_angle.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_bearing_car_bottom.png => map_navigation_car_bottom.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_bearing_car_center.png => map_navigation_car_center.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_bearing_car_top.png => map_navigation_car_top.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_car_bearing_bottom.png => map_navigation_default_bottom.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_car_bearing_center.png => map_navigation_default_center.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_car_bearing_top.png => map_navigation_default_top.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_nautical_bearing_bottom.png => map_navigation_nautical_bottom.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_nautical_bearing_center.png => map_navigation_nautical_center.png} (100%) rename OsmAnd/res/drawable-xhdpi/{map_nautical_bearing_top.png => map_navigation_nautical_top.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_bicycle_location_bottom.png => map_location_bicycle_bottom.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_bicycle_location_center.png => map_location_bicycle_center.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_bicycle_location_top.png => map_location_bicycle_top.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_bicycle_location_view_angle.png => map_location_bicycle_view_angle.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_car_location_bottom.png => map_location_car_bottom.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_car_location_center.png => map_location_car_center.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_car_location_top.png => map_location_car_top.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_car_location_view_angle.png => map_location_car_view_angle.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_default_location_bottom.png => map_location_default_bottom.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_default_location_center.png => map_location_default_center.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_default_location_top.png => map_location_default_top.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_default_location_view_angle.png => map_location_default_view_angle.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_bearing_car_bottom.png => map_navigation_car_bottom.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_bearing_car_center.png => map_navigation_car_center.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_bearing_car_top.png => map_navigation_car_top.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_car_bearing_bottom.png => map_navigation_default_bottom.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_car_bearing_center.png => map_navigation_default_center.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_car_bearing_top.png => map_navigation_default_top.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_nautical_bearing_bottom.png => map_navigation_nautical_bottom.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_nautical_bearing_center.png => map_navigation_nautical_center.png} (100%) rename OsmAnd/res/drawable-xxhdpi/{map_nautical_bearing_top.png => map_navigation_nautical_top.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_bicycle_location_bottom.png => map_location_bicycle_bottom.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_bicycle_location_center.png => map_location_bicycle_center.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_bicycle_location_top.png => map_location_bicycle_top.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_car_location_bottom.png => map_location_car_bottom.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_car_location_center.png => map_location_car_center.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_car_location_top.png => map_location_car_top.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_default_location_bottom.png => map_location_default_bottom.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_default_location_center.png => map_location_default_center.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_default_location_top.png => map_location_default_top.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_bearing_car_bottom.png => map_navigation_car_bottom.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_bearing_car_center.png => map_navigation_car_center.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_bearing_car_top.png => map_navigation_car_top.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_car_bearing_bottom.png => map_navigation_default_bottom.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_car_bearing_center.png => map_navigation_default_center.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_car_bearing_top.png => map_navigation_default_top.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_nautical_bearing_bottom.png => map_navigation_nautical_bottom.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_nautical_bearing_center.png => map_navigation_nautical_center.png} (100%) rename OsmAnd/res/drawable-xxxhdpi/{map_nautical_bearing_top.png => map_navigation_nautical_top.png} (100%) delete mode 100644 OsmAnd/res/drawable/map_default_location_xml.xml rename OsmAnd/res/drawable/{map_bicycle_location_xml.xml => map_location_bicycle.xml} (70%) rename OsmAnd/res/drawable/{map_bearing_car_xml.xml => map_location_car.xml} (72%) rename OsmAnd/res/drawable/{map_car_navigation_xml.xml => map_location_default.xml} (70%) delete mode 100644 OsmAnd/res/drawable/map_nautical_navigation_xml.xml rename OsmAnd/res/drawable/{map_car_location_xml.xml => map_navigation_car.xml} (71%) create mode 100644 OsmAnd/res/drawable/map_navigation_default.xml create mode 100644 OsmAnd/res/drawable/map_navigation_nautical.xml diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-hdpi/map_location_bicycle_bottom.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_bicycle_location_bottom.png rename to OsmAnd/res/drawable-hdpi/map_location_bicycle_bottom.png diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-hdpi/map_location_bicycle_center.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_bicycle_location_center.png rename to OsmAnd/res/drawable-hdpi/map_location_bicycle_center.png diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_top.png b/OsmAnd/res/drawable-hdpi/map_location_bicycle_top.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_bicycle_location_top.png rename to OsmAnd/res/drawable-hdpi/map_location_bicycle_top.png diff --git a/OsmAnd/res/drawable-hdpi/map_bicycle_location_view_angle.png b/OsmAnd/res/drawable-hdpi/map_location_bicycle_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_bicycle_location_view_angle.png rename to OsmAnd/res/drawable-hdpi/map_location_bicycle_view_angle.png diff --git a/OsmAnd/res/drawable-hdpi/map_car_location_bottom.png b/OsmAnd/res/drawable-hdpi/map_location_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_car_location_bottom.png rename to OsmAnd/res/drawable-hdpi/map_location_car_bottom.png diff --git a/OsmAnd/res/drawable-hdpi/map_car_location_center.png b/OsmAnd/res/drawable-hdpi/map_location_car_center.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_car_location_center.png rename to OsmAnd/res/drawable-hdpi/map_location_car_center.png diff --git a/OsmAnd/res/drawable-hdpi/map_car_location_top.png b/OsmAnd/res/drawable-hdpi/map_location_car_top.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_car_location_top.png rename to OsmAnd/res/drawable-hdpi/map_location_car_top.png diff --git a/OsmAnd/res/drawable-hdpi/map_car_location_view_angle.png b/OsmAnd/res/drawable-hdpi/map_location_car_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_car_location_view_angle.png rename to OsmAnd/res/drawable-hdpi/map_location_car_view_angle.png diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_bottom.png b/OsmAnd/res/drawable-hdpi/map_location_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_default_location_bottom.png rename to OsmAnd/res/drawable-hdpi/map_location_default_bottom.png diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_center.png b/OsmAnd/res/drawable-hdpi/map_location_default_center.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_default_location_center.png rename to OsmAnd/res/drawable-hdpi/map_location_default_center.png diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_top.png b/OsmAnd/res/drawable-hdpi/map_location_default_top.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_default_location_top.png rename to OsmAnd/res/drawable-hdpi/map_location_default_top.png diff --git a/OsmAnd/res/drawable-hdpi/map_default_location_view_angle.png b/OsmAnd/res/drawable-hdpi/map_location_default_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_default_location_view_angle.png rename to OsmAnd/res/drawable-hdpi/map_location_default_view_angle.png diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-hdpi/map_navigation_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_bearing_car_bottom.png rename to OsmAnd/res/drawable-hdpi/map_navigation_car_bottom.png diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-hdpi/map_navigation_car_center.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_bearing_car_center.png rename to OsmAnd/res/drawable-hdpi/map_navigation_car_center.png diff --git a/OsmAnd/res/drawable-hdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-hdpi/map_navigation_car_top.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_bearing_car_top.png rename to OsmAnd/res/drawable-hdpi/map_navigation_car_top.png diff --git a/OsmAnd/res/drawable-hdpi/map_car_bearing_bottom.png b/OsmAnd/res/drawable-hdpi/map_navigation_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_car_bearing_bottom.png rename to OsmAnd/res/drawable-hdpi/map_navigation_default_bottom.png diff --git a/OsmAnd/res/drawable-hdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-hdpi/map_navigation_default_center.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_car_bearing_center.png rename to OsmAnd/res/drawable-hdpi/map_navigation_default_center.png diff --git a/OsmAnd/res/drawable-hdpi/map_car_bearing_top.png b/OsmAnd/res/drawable-hdpi/map_navigation_default_top.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_car_bearing_top.png rename to OsmAnd/res/drawable-hdpi/map_navigation_default_top.png diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-hdpi/map_navigation_nautical_bottom.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_nautical_bearing_bottom.png rename to OsmAnd/res/drawable-hdpi/map_navigation_nautical_bottom.png diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-hdpi/map_navigation_nautical_center.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_nautical_bearing_center.png rename to OsmAnd/res/drawable-hdpi/map_navigation_nautical_center.png diff --git a/OsmAnd/res/drawable-hdpi/map_nautical_bearing_top.png b/OsmAnd/res/drawable-hdpi/map_navigation_nautical_top.png similarity index 100% rename from OsmAnd/res/drawable-hdpi/map_nautical_bearing_top.png rename to OsmAnd/res/drawable-hdpi/map_navigation_nautical_top.png diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-mdpi/map_location_bicycle_bottom.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_bicycle_location_bottom.png rename to OsmAnd/res/drawable-mdpi/map_location_bicycle_bottom.png diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-mdpi/map_location_bicycle_center.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_bicycle_location_center.png rename to OsmAnd/res/drawable-mdpi/map_location_bicycle_center.png diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_top.png b/OsmAnd/res/drawable-mdpi/map_location_bicycle_top.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_bicycle_location_top.png rename to OsmAnd/res/drawable-mdpi/map_location_bicycle_top.png diff --git a/OsmAnd/res/drawable-mdpi/map_bicycle_location_view_angle.png b/OsmAnd/res/drawable-mdpi/map_location_bicycle_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_bicycle_location_view_angle.png rename to OsmAnd/res/drawable-mdpi/map_location_bicycle_view_angle.png diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_bottom.png b/OsmAnd/res/drawable-mdpi/map_location_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_car_location_bottom.png rename to OsmAnd/res/drawable-mdpi/map_location_car_bottom.png diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_center.png b/OsmAnd/res/drawable-mdpi/map_location_car_center.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_car_location_center.png rename to OsmAnd/res/drawable-mdpi/map_location_car_center.png diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_top.png b/OsmAnd/res/drawable-mdpi/map_location_car_top.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_car_location_top.png rename to OsmAnd/res/drawable-mdpi/map_location_car_top.png diff --git a/OsmAnd/res/drawable-mdpi/map_car_location_view_angle.png b/OsmAnd/res/drawable-mdpi/map_location_car_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_car_location_view_angle.png rename to OsmAnd/res/drawable-mdpi/map_location_car_view_angle.png diff --git a/OsmAnd/res/drawable-mdpi/map_default_location_bottom.png b/OsmAnd/res/drawable-mdpi/map_location_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_default_location_bottom.png rename to OsmAnd/res/drawable-mdpi/map_location_default_bottom.png diff --git a/OsmAnd/res/drawable-mdpi/map_default_location_center.png b/OsmAnd/res/drawable-mdpi/map_location_default_center.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_default_location_center.png rename to OsmAnd/res/drawable-mdpi/map_location_default_center.png diff --git a/OsmAnd/res/drawable-mdpi/map_default_location_top.png b/OsmAnd/res/drawable-mdpi/map_location_default_top.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_default_location_top.png rename to OsmAnd/res/drawable-mdpi/map_location_default_top.png diff --git a/OsmAnd/res/drawable-mdpi/map_default_location_view_angle.png b/OsmAnd/res/drawable-mdpi/map_location_default_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_default_location_view_angle.png rename to OsmAnd/res/drawable-mdpi/map_location_default_view_angle.png diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-mdpi/map_navigation_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_bearing_car_bottom.png rename to OsmAnd/res/drawable-mdpi/map_navigation_car_bottom.png diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-mdpi/map_navigation_car_center.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_bearing_car_center.png rename to OsmAnd/res/drawable-mdpi/map_navigation_car_center.png diff --git a/OsmAnd/res/drawable-mdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-mdpi/map_navigation_car_top.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_bearing_car_top.png rename to OsmAnd/res/drawable-mdpi/map_navigation_car_top.png diff --git a/OsmAnd/res/drawable-mdpi/map_car_bearing_bottom.png b/OsmAnd/res/drawable-mdpi/map_navigation_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_car_bearing_bottom.png rename to OsmAnd/res/drawable-mdpi/map_navigation_default_bottom.png diff --git a/OsmAnd/res/drawable-mdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-mdpi/map_navigation_default_center.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_car_bearing_center.png rename to OsmAnd/res/drawable-mdpi/map_navigation_default_center.png diff --git a/OsmAnd/res/drawable-mdpi/map_car_bearing_top.png b/OsmAnd/res/drawable-mdpi/map_navigation_default_top.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_car_bearing_top.png rename to OsmAnd/res/drawable-mdpi/map_navigation_default_top.png diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-mdpi/map_navigation_nautical_bottom.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_nautical_bearing_bottom.png rename to OsmAnd/res/drawable-mdpi/map_navigation_nautical_bottom.png diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-mdpi/map_navigation_nautical_center.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_nautical_bearing_center.png rename to OsmAnd/res/drawable-mdpi/map_navigation_nautical_center.png diff --git a/OsmAnd/res/drawable-mdpi/map_nautical_bearing_top.png b/OsmAnd/res/drawable-mdpi/map_navigation_nautical_top.png similarity index 100% rename from OsmAnd/res/drawable-mdpi/map_nautical_bearing_top.png rename to OsmAnd/res/drawable-mdpi/map_navigation_nautical_top.png diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-xhdpi/map_location_bicycle_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_bicycle_location_bottom.png rename to OsmAnd/res/drawable-xhdpi/map_location_bicycle_bottom.png diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-xhdpi/map_location_bicycle_center.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_bicycle_location_center.png rename to OsmAnd/res/drawable-xhdpi/map_location_bicycle_center.png diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_top.png b/OsmAnd/res/drawable-xhdpi/map_location_bicycle_top.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_bicycle_location_top.png rename to OsmAnd/res/drawable-xhdpi/map_location_bicycle_top.png diff --git a/OsmAnd/res/drawable-xhdpi/map_bicycle_location_view_angle.png b/OsmAnd/res/drawable-xhdpi/map_location_bicycle_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_bicycle_location_view_angle.png rename to OsmAnd/res/drawable-xhdpi/map_location_bicycle_view_angle.png diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_bottom.png b/OsmAnd/res/drawable-xhdpi/map_location_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_car_location_bottom.png rename to OsmAnd/res/drawable-xhdpi/map_location_car_bottom.png diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_center.png b/OsmAnd/res/drawable-xhdpi/map_location_car_center.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_car_location_center.png rename to OsmAnd/res/drawable-xhdpi/map_location_car_center.png diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_top.png b/OsmAnd/res/drawable-xhdpi/map_location_car_top.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_car_location_top.png rename to OsmAnd/res/drawable-xhdpi/map_location_car_top.png diff --git a/OsmAnd/res/drawable-xhdpi/map_car_location_view_angle.png b/OsmAnd/res/drawable-xhdpi/map_location_car_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_car_location_view_angle.png rename to OsmAnd/res/drawable-xhdpi/map_location_car_view_angle.png diff --git a/OsmAnd/res/drawable-xhdpi/map_default_location_bottom.png b/OsmAnd/res/drawable-xhdpi/map_location_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_default_location_bottom.png rename to OsmAnd/res/drawable-xhdpi/map_location_default_bottom.png diff --git a/OsmAnd/res/drawable-xhdpi/map_default_location_center.png b/OsmAnd/res/drawable-xhdpi/map_location_default_center.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_default_location_center.png rename to OsmAnd/res/drawable-xhdpi/map_location_default_center.png diff --git a/OsmAnd/res/drawable-xhdpi/map_default_location_top.png b/OsmAnd/res/drawable-xhdpi/map_location_default_top.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_default_location_top.png rename to OsmAnd/res/drawable-xhdpi/map_location_default_top.png diff --git a/OsmAnd/res/drawable-xhdpi/map_default_location_view_angle.png b/OsmAnd/res/drawable-xhdpi/map_location_default_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_default_location_view_angle.png rename to OsmAnd/res/drawable-xhdpi/map_location_default_view_angle.png diff --git a/OsmAnd/res/drawable-xhdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-xhdpi/map_navigation_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_bearing_car_bottom.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_car_bottom.png diff --git a/OsmAnd/res/drawable-xhdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-xhdpi/map_navigation_car_center.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_bearing_car_center.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_car_center.png diff --git a/OsmAnd/res/drawable-xhdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-xhdpi/map_navigation_car_top.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_bearing_car_top.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_car_top.png diff --git a/OsmAnd/res/drawable-xhdpi/map_car_bearing_bottom.png b/OsmAnd/res/drawable-xhdpi/map_navigation_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_car_bearing_bottom.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_default_bottom.png diff --git a/OsmAnd/res/drawable-xhdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-xhdpi/map_navigation_default_center.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_car_bearing_center.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_default_center.png diff --git a/OsmAnd/res/drawable-xhdpi/map_car_bearing_top.png b/OsmAnd/res/drawable-xhdpi/map_navigation_default_top.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_car_bearing_top.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_default_top.png diff --git a/OsmAnd/res/drawable-xhdpi/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-xhdpi/map_navigation_nautical_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_nautical_bearing_bottom.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_nautical_bottom.png diff --git a/OsmAnd/res/drawable-xhdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-xhdpi/map_navigation_nautical_center.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_nautical_bearing_center.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_nautical_center.png diff --git a/OsmAnd/res/drawable-xhdpi/map_nautical_bearing_top.png b/OsmAnd/res/drawable-xhdpi/map_navigation_nautical_top.png similarity index 100% rename from OsmAnd/res/drawable-xhdpi/map_nautical_bearing_top.png rename to OsmAnd/res/drawable-xhdpi/map_navigation_nautical_top.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-xxhdpi/map_location_bicycle_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_bicycle_location_bottom.png rename to OsmAnd/res/drawable-xxhdpi/map_location_bicycle_bottom.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-xxhdpi/map_location_bicycle_center.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_bicycle_location_center.png rename to OsmAnd/res/drawable-xxhdpi/map_location_bicycle_center.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_top.png b/OsmAnd/res/drawable-xxhdpi/map_location_bicycle_top.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_bicycle_location_top.png rename to OsmAnd/res/drawable-xxhdpi/map_location_bicycle_top.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_bicycle_location_view_angle.png b/OsmAnd/res/drawable-xxhdpi/map_location_bicycle_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_bicycle_location_view_angle.png rename to OsmAnd/res/drawable-xxhdpi/map_location_bicycle_view_angle.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_bottom.png b/OsmAnd/res/drawable-xxhdpi/map_location_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_car_location_bottom.png rename to OsmAnd/res/drawable-xxhdpi/map_location_car_bottom.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_center.png b/OsmAnd/res/drawable-xxhdpi/map_location_car_center.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_car_location_center.png rename to OsmAnd/res/drawable-xxhdpi/map_location_car_center.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_top.png b/OsmAnd/res/drawable-xxhdpi/map_location_car_top.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_car_location_top.png rename to OsmAnd/res/drawable-xxhdpi/map_location_car_top.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_location_view_angle.png b/OsmAnd/res/drawable-xxhdpi/map_location_car_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_car_location_view_angle.png rename to OsmAnd/res/drawable-xxhdpi/map_location_car_view_angle.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_bottom.png b/OsmAnd/res/drawable-xxhdpi/map_location_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_default_location_bottom.png rename to OsmAnd/res/drawable-xxhdpi/map_location_default_bottom.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_center.png b/OsmAnd/res/drawable-xxhdpi/map_location_default_center.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_default_location_center.png rename to OsmAnd/res/drawable-xxhdpi/map_location_default_center.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_top.png b/OsmAnd/res/drawable-xxhdpi/map_location_default_top.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_default_location_top.png rename to OsmAnd/res/drawable-xxhdpi/map_location_default_top.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_default_location_view_angle.png b/OsmAnd/res/drawable-xxhdpi/map_location_default_view_angle.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_default_location_view_angle.png rename to OsmAnd/res/drawable-xxhdpi/map_location_default_view_angle.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_bearing_car_bottom.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_car_bottom.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_car_center.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_bearing_car_center.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_car_center.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_car_top.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_bearing_car_top.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_car_top.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_bearing_bottom.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_car_bearing_bottom.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_default_bottom.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_default_center.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_car_bearing_center.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_default_center.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_car_bearing_top.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_default_top.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_car_bearing_top.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_default_top.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_nautical_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_bottom.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_nautical_bottom.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_nautical_center.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_center.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_nautical_center.png diff --git a/OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_top.png b/OsmAnd/res/drawable-xxhdpi/map_navigation_nautical_top.png similarity index 100% rename from OsmAnd/res/drawable-xxhdpi/map_nautical_bearing_top.png rename to OsmAnd/res/drawable-xxhdpi/map_navigation_nautical_top.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_location_bicycle_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_bottom.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_bicycle_bottom.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-xxxhdpi/map_location_bicycle_center.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_center.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_bicycle_center.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_top.png b/OsmAnd/res/drawable-xxxhdpi/map_location_bicycle_top.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_bicycle_location_top.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_bicycle_top.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_location_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_location_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_car_location_bottom.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_car_bottom.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_location_center.png b/OsmAnd/res/drawable-xxxhdpi/map_location_car_center.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_car_location_center.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_car_center.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_location_top.png b/OsmAnd/res/drawable-xxxhdpi/map_location_car_top.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_car_location_top.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_car_top.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_default_location_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_location_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_default_location_bottom.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_default_bottom.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_default_location_center.png b/OsmAnd/res/drawable-xxxhdpi/map_location_default_center.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_default_location_center.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_default_center.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_default_location_top.png b/OsmAnd/res/drawable-xxxhdpi/map_location_default_top.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_default_location_top.png rename to OsmAnd/res/drawable-xxxhdpi/map_location_default_top.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bearing_car_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_car_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_bearing_car_bottom.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_car_bottom.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bearing_car_center.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_car_center.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_bearing_car_center.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_car_center.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_bearing_car_top.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_car_top.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_bearing_car_top.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_car_top.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_bearing_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_default_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_car_bearing_bottom.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_default_bottom.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_default_center.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_car_bearing_center.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_default_center.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_car_bearing_top.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_default_top.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_car_bearing_top.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_default_top.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_nautical_bottom.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_bottom.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_nautical_bottom.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_nautical_center.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_center.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_nautical_center.png diff --git a/OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_top.png b/OsmAnd/res/drawable-xxxhdpi/map_navigation_nautical_top.png similarity index 100% rename from OsmAnd/res/drawable-xxxhdpi/map_nautical_bearing_top.png rename to OsmAnd/res/drawable-xxxhdpi/map_navigation_nautical_top.png diff --git a/OsmAnd/res/drawable/map_default_location_xml.xml b/OsmAnd/res/drawable/map_default_location_xml.xml deleted file mode 100644 index 485175bb4a..0000000000 --- a/OsmAnd/res/drawable/map_default_location_xml.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_bicycle_location_xml.xml b/OsmAnd/res/drawable/map_location_bicycle.xml similarity index 70% rename from OsmAnd/res/drawable/map_bicycle_location_xml.xml rename to OsmAnd/res/drawable/map_location_bicycle.xml index 972c962dee..69e37b2bed 100644 --- a/OsmAnd/res/drawable/map_bicycle_location_xml.xml +++ b/OsmAnd/res/drawable/map_location_bicycle.xml @@ -2,17 +2,17 @@ \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_bearing_car_xml.xml b/OsmAnd/res/drawable/map_location_car.xml similarity index 72% rename from OsmAnd/res/drawable/map_bearing_car_xml.xml rename to OsmAnd/res/drawable/map_location_car.xml index a6677936e2..6a0e7d9b38 100644 --- a/OsmAnd/res/drawable/map_bearing_car_xml.xml +++ b/OsmAnd/res/drawable/map_location_car.xml @@ -2,17 +2,17 @@ \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_car_navigation_xml.xml b/OsmAnd/res/drawable/map_location_default.xml similarity index 70% rename from OsmAnd/res/drawable/map_car_navigation_xml.xml rename to OsmAnd/res/drawable/map_location_default.xml index 17336e0c72..80a35ade43 100644 --- a/OsmAnd/res/drawable/map_car_navigation_xml.xml +++ b/OsmAnd/res/drawable/map_location_default.xml @@ -2,17 +2,17 @@ \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_nautical_navigation_xml.xml b/OsmAnd/res/drawable/map_nautical_navigation_xml.xml deleted file mode 100644 index 86204ce6e3..0000000000 --- a/OsmAnd/res/drawable/map_nautical_navigation_xml.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_car_location_xml.xml b/OsmAnd/res/drawable/map_navigation_car.xml similarity index 71% rename from OsmAnd/res/drawable/map_car_location_xml.xml rename to OsmAnd/res/drawable/map_navigation_car.xml index f170bbaef4..8b4e5f9635 100644 --- a/OsmAnd/res/drawable/map_car_location_xml.xml +++ b/OsmAnd/res/drawable/map_navigation_car.xml @@ -2,17 +2,17 @@ \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_navigation_default.xml b/OsmAnd/res/drawable/map_navigation_default.xml new file mode 100644 index 0000000000..5e2ac3ffa5 --- /dev/null +++ b/OsmAnd/res/drawable/map_navigation_default.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/drawable/map_navigation_nautical.xml b/OsmAnd/res/drawable/map_navigation_nautical.xml new file mode 100644 index 0000000000..376ccc54c3 --- /dev/null +++ b/OsmAnd/res/drawable/map_navigation_nautical.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/ApplicationMode.java b/OsmAnd/src/net/osmand/plus/ApplicationMode.java index 6dc37dda05..00d0c0c695 100644 --- a/OsmAnd/src/net/osmand/plus/ApplicationMode.java +++ b/OsmAnd/src/net/osmand/plus/ApplicationMode.java @@ -920,9 +920,9 @@ public class ApplicationMode { } public enum LocationIcon { - DEFAULT(R.drawable.map_default_location_xml, R.drawable.map_default_location_view_angle), - CAR(R.drawable.map_car_location_xml, R.drawable.map_car_location_view_angle), - BICYCLE(R.drawable.map_bicycle_location_xml, R.drawable.map_bicycle_location_view_angle); + DEFAULT(R.drawable.map_location_default, R.drawable.map_location_default_view_angle), + CAR(R.drawable.map_location_car, R.drawable.map_location_car_view_angle), + BICYCLE(R.drawable.map_location_bicycle, R.drawable.map_location_bicycle_view_angle); LocationIcon(@DrawableRes int iconId, @DrawableRes int headingIconId) { this.iconId = iconId; @@ -944,9 +944,9 @@ public class ApplicationMode { } public enum NavigationIcon { - DEFAULT(R.drawable.map_car_navigation_xml), - NAUTICAL(R.drawable.map_nautical_navigation_xml), - CAR(R.drawable.map_bearing_car_xml); + DEFAULT(R.drawable.map_navigation_default), + NAUTICAL(R.drawable.map_navigation_nautical), + CAR(R.drawable.map_navigation_car); NavigationIcon(@DrawableRes int iconId) { this.iconId = iconId; diff --git a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java index a317dbf150..1f0f86fea6 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/TrackBitmapDrawer.java @@ -86,7 +86,7 @@ public class TrackBitmapDrawer { defPointColor = ContextCompat.getColor(app, R.color.gpx_color_point); paintIcon = new Paint(); pointSmall = BitmapFactory.decodeResource(app.getResources(), R.drawable.map_white_shield_small); - selectedPoint = (LayerDrawable) app.getResources().getDrawable(R.drawable.map_default_location_xml); + selectedPoint = (LayerDrawable) app.getResources().getDrawable(R.drawable.map_location_default); } public void addListener(TrackBitmapDrawerListener l) { diff --git a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java index 410eabcfa0..43c3fcb164 100644 --- a/OsmAnd/src/net/osmand/plus/views/GPXLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/GPXLayer.java @@ -20,7 +20,6 @@ import android.support.annotation.ColorInt; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; -import android.support.v4.graphics.drawable.DrawableCompat; import android.util.Pair; import net.osmand.GPXUtilities; @@ -178,7 +177,7 @@ public class GPXLayer extends OsmandMapLayer implements ContextMenuLayer.IContex paintIcon = new Paint(); pointSmall = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_white_shield_small); - selectedPoint = (LayerDrawable) view.getResources().getDrawable(R.drawable.map_default_location_xml); + selectedPoint = (LayerDrawable) view.getResources().getDrawable(R.drawable.map_location_default); contextMenuLayer = view.getLayerByClass(ContextMenuLayer.class); diff --git a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java index 89a498dc84..07ea31bb69 100644 --- a/OsmAnd/src/net/osmand/plus/views/RouteLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/RouteLayer.java @@ -135,7 +135,7 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont wayContext = new GeometryWayContext(view.getContext(), density); paintIconSelected = new Paint(); - selectedPoint = (LayerDrawable) view.getResources().getDrawable(R.drawable.map_default_location_xml); + selectedPoint = (LayerDrawable) view.getResources().getDrawable(R.drawable.map_location_default); paintGridCircle = new Paint(); paintGridCircle.setStyle(Paint.Style.FILL_AND_STROKE); From 6f8d04d1642664f20cae100f57b7bb7330bc0d19 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 17:44:07 +0200 Subject: [PATCH 44/59] refactor && delete RateUsBottomSheetDialog --- .../net/osmand/plus/OsmandApplication.java | 6 +- .../src/net/osmand/plus/OsmandSettings.java | 6 +- ...islikeOsmAndBottomSheetDialogFragment.java | 8 +- .../plus/dialogs/RateUsBottomSheetDialog.java | 164 ------------------ .../RateUsBottomSheetDialogFragment.java | 44 ++++- 5 files changed, 49 insertions(+), 179 deletions(-) delete mode 100644 OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java diff --git a/OsmAnd/src/net/osmand/plus/OsmandApplication.java b/OsmAnd/src/net/osmand/plus/OsmandApplication.java index 0fdffdf8cb..b793eaecfd 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandApplication.java +++ b/OsmAnd/src/net/osmand/plus/OsmandApplication.java @@ -50,7 +50,7 @@ import net.osmand.plus.api.SQLiteAPI; import net.osmand.plus.api.SQLiteAPIImpl; import net.osmand.plus.base.MapViewTrackingUtilities; import net.osmand.plus.dialogs.CrashBottomSheetDialogFragment; -import net.osmand.plus.dialogs.RateUsBottomSheetDialog; +import net.osmand.plus.dialogs.RateUsBottomSheetDialogFragment; import net.osmand.plus.download.DownloadIndexesThread; import net.osmand.plus.download.DownloadService; import net.osmand.plus.download.IndexItem; @@ -244,8 +244,8 @@ public class OsmandApplication extends MultiDexApplication { if (routingHelper != null) { routingHelper.getVoiceRouter().onApplicationTerminate(); } - if(RateUsBottomSheetDialog.shouldShow(this)) { - osmandSettings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.IGNORED); + if(RateUsBottomSheetDialogFragment.shouldShow(this)) { + osmandSettings.RATE_US_STATE.set(RateUsBottomSheetDialogFragment.RateUsState.IGNORED); } getNotificationHelper().removeNotifications(false); } diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index d494eb3c4a..9bbfc5c206 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -35,7 +35,7 @@ import net.osmand.plus.access.RelativeDirectionStyle; import net.osmand.plus.api.SettingsAPI; import net.osmand.plus.api.SettingsAPI.SettingsEditor; import net.osmand.plus.api.SettingsAPIImpl; -import net.osmand.plus.dialogs.RateUsBottomSheetDialog; +import net.osmand.plus.dialogs.RateUsBottomSheetDialogFragment; import net.osmand.plus.helpers.SearchHistoryHelper; import net.osmand.plus.mapillary.MapillaryPlugin; import net.osmand.plus.mapmarkers.CoordinateInputFormats.Format; @@ -3218,9 +3218,9 @@ public class OsmandSettings { public final OsmandPreference NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT = new IntPreference("number_of_app_starts_on_dislike_moment", 0).makeGlobal().cache(); - public final OsmandPreference RATE_US_STATE = + public final OsmandPreference RATE_US_STATE = new EnumIntPreference<>("rate_us_state", - RateUsBottomSheetDialog.RateUsState.INITIAL_STATE, RateUsBottomSheetDialog.RateUsState.values()) + RateUsBottomSheetDialogFragment.RateUsState.INITIAL_STATE, RateUsBottomSheetDialogFragment.RateUsState.values()) .makeGlobal(); public final CommonPreference DEFAULT_APP_PROFILES = diff --git a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java index c1708b4a85..443b348f6f 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java @@ -45,7 +45,7 @@ public class DislikeOsmAndBottomSheetDialogFragment extends MenuBottomSheetDialo protected void onDismissButtonClickAction() { OsmandApplication app = getMyApplication(); if (app != null) { - app.getSettings().RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITHOUT_MESSAGE); + app.getSettings().RATE_US_STATE.set(RateUsBottomSheetDialogFragment.RateUsState.DISLIKED_WITHOUT_MESSAGE); app.getSettings().NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.set(app.getAppInitializer().getNumberOfStarts()); app.getSettings().LAST_DISPLAY_TIME.set(System.currentTimeMillis()); } @@ -62,13 +62,13 @@ public class DislikeOsmAndBottomSheetDialogFragment extends MenuBottomSheetDialo if (app != null) { OsmandSettings settings = app.getSettings(); String email = getString(R.string.support_email); - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITH_MESSAGE); + settings.RATE_US_STATE.set(RateUsBottomSheetDialogFragment.RateUsState.DISLIKED_WITH_MESSAGE); settings.NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.set(app.getAppInitializer().getNumberOfStarts()); settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); Intent sendEmail = new Intent(Intent.ACTION_SENDTO); - sendEmail.setDataAndType(Uri.parse("mailto:" + email), "text/plain"); + sendEmail.setData(Uri.parse("mailto:" + email)); sendEmail.putExtra(Intent.EXTRA_EMAIL, email); - startActivity(sendEmail); + startActivity(Intent.createChooser(sendEmail, "Send Email")); dismiss(); } } diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java deleted file mode 100644 index a42d0f6e46..0000000000 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialog.java +++ /dev/null @@ -1,164 +0,0 @@ -package net.osmand.plus.dialogs; - -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.TextView; - -import net.osmand.plus.OsmandApplication; -import net.osmand.plus.OsmandSettings; -import net.osmand.plus.R; -import net.osmand.plus.Version; -import net.osmand.plus.base.BottomSheetDialogFragment; - - -public class RateUsBottomSheetDialog extends BottomSheetDialogFragment { - private static final long SIXTY_DAYS = 60 * 24 * 60 * 60 * 1000L; - private RateUsBottomSheetDialog.FragmentState state = RateUsBottomSheetDialog.FragmentState.INITIAL_STATE; - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = getActivity().getLayoutInflater().inflate(R.layout.dash_rate_us_fragment, container, false); - TextView header = (TextView) view.findViewById(R.id.header); - TextView subheader = (TextView) view.findViewById(R.id.subheader); - Button positiveButton = (Button) view.findViewById(R.id.positive_button); - Button negativeButton = (Button) view.findViewById(R.id.negative_button); - positiveButton.setOnClickListener( - new PositiveButtonListener(header, subheader, positiveButton, negativeButton)); - negativeButton.setOnClickListener( - new NegativeButtonListener(header, subheader, positiveButton, negativeButton)); - return view; - } - - public static boolean shouldShow(OsmandApplication application) { - long firstInstalledDays = application.getAppInitializer().getFirstInstalledDays(); - if (!Version.isGooglePlayEnabled(application) || firstInstalledDays > 350) { - return false; - } - OsmandSettings settings = application.getSettings(); - if(!settings.LAST_DISPLAY_TIME.isSet()) { - settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); - } - int numberOfStarts = application.getAppInitializer().getNumberOfStarts(); - - RateUsState state = settings.RATE_US_STATE.get(); - switch (state) { - case LIKED: - return false; - case INITIAL_STATE: - return firstInstalledDays > 15 && numberOfStarts > 100; - case IGNORED: - case DISLIKED_WITH_MESSAGE: - case DISLIKED_WITHOUT_MESSAGE: - int startsOnDislikeMoment = settings.NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.get(); - long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get(); - long currentTime = System.currentTimeMillis(); - return currentTime - lastDisplayTimeInMillis > SIXTY_DAYS - && numberOfStarts - startsOnDislikeMoment > 50; - } - return false; - } - - public class PositiveButtonListener implements View.OnClickListener { - private TextView header; - private TextView subheader; - private Button positiveButton; - private Button negativeButton; - - public PositiveButtonListener(TextView header, TextView subheader, Button positiveButton, - Button negativeButton) { - this.header = header; - this.subheader = subheader; - this.positiveButton = positiveButton; - this.negativeButton = negativeButton; - } - - @Override - public void onClick(View v) { - final OsmandSettings settings = getMyApplication().getSettings(); - switch (state) { - case INITIAL_STATE: - state = RateUsBottomSheetDialog.FragmentState.USER_LIKES_APP; - - header.setText(getResources().getString(R.string.rate_this_app)); - subheader.setText(getResources().getString(R.string.rate_this_app_long)); - positiveButton.setText(getResources().getString(R.string.shared_string_ok)); - negativeButton.setText(getResources().getString(R.string.shared_string_no_thanks)); - return; - case USER_LIKES_APP: - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.LIKED); - Uri uri = Uri.parse(Version.getUrlWithUtmRef(getMyApplication(), getActivity().getPackageName())); - Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); - startActivity(goToMarket); - break; - case USER_DISLIKES_APP: - String email = getString(R.string.support_email); - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITH_MESSAGE); - Intent sendEmail = new Intent(Intent.ACTION_SENDTO); - sendEmail.setType("text/plain"); - sendEmail.setData(Uri.parse("mailto:" + email)); - sendEmail.putExtra(Intent.EXTRA_EMAIL, email); - startActivity(sendEmail); - break; - } - dismiss(); - } - } - - public class NegativeButtonListener implements View.OnClickListener { - private TextView header; - private TextView subheader; - private Button positiveButton; - private Button negativeButton; - - public NegativeButtonListener(TextView header, TextView subheader, Button positiveButton, - Button negativeButton) { - this.header = header; - this.subheader = subheader; - this.positiveButton = positiveButton; - this.negativeButton = negativeButton; - } - - @Override - public void onClick(View v) { - final OsmandSettings settings = getMyApplication().getSettings(); - switch (state) { - case INITIAL_STATE: - state = RateUsBottomSheetDialog.FragmentState.USER_DISLIKES_APP; - - header.setText(getResources().getString(R.string.user_hates_app_get_feedback)); - subheader.setText(getResources().getString(R.string.user_hates_app_get_feedback_long)); - positiveButton.setText(getResources().getString(R.string.shared_string_ok)); - negativeButton.setText(getResources().getString(R.string.shared_string_no_thanks)); - return; - case USER_LIKES_APP: - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.IGNORED); - break; - case USER_DISLIKES_APP: - settings.RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.DISLIKED_WITHOUT_MESSAGE); - break; - } - dismiss(); - } - } - - public enum FragmentState { - INITIAL_STATE, - USER_LIKES_APP, - USER_DISLIKES_APP - } - - public enum RateUsState { - INITIAL_STATE, - IGNORED, - LIKED, - DISLIKED_WITH_MESSAGE, - DISLIKED_WITHOUT_MESSAGE - } -} diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java index 51b46fc143..20bd10f612 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java @@ -25,6 +25,7 @@ import java.util.Calendar; public class RateUsBottomSheetDialogFragment extends MenuBottomSheetDialogFragment { public static final String TAG = "RateUsBottomSheetDialogFragment"; private static final Log LOG = PlatformUtil.getLog(SendAnalyticsBottomSheetDialogFragment.class); + private static final long SIXTY_DAYS = 60 * 24 * 60 * 60 * 1000L; @Override public void createMenuItems(Bundle savedInstanceState) { @@ -62,7 +63,7 @@ public class RateUsBottomSheetDialogFragment extends MenuBottomSheetDialogFragme protected void onRightBottomButtonClick() { OsmandApplication app = getMyApplication(); if (app != null) { - app.getSettings().RATE_US_STATE.set(RateUsBottomSheetDialog.RateUsState.LIKED); + app.getSettings().RATE_US_STATE.set(RateUsState.LIKED); Uri uri = Uri.parse(Version.getUrlWithUtmRef(app, app.getPackageName())); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); startActivity(goToMarket); @@ -70,10 +71,6 @@ public class RateUsBottomSheetDialogFragment extends MenuBottomSheetDialogFragme } } - public static boolean shouldShow(OsmandApplication app) { - return RateUsBottomSheetDialog.shouldShow(app); - } - public static void showInstance(@NonNull FragmentManager fm) { try { if (fm.findFragmentByTag(RateUsBottomSheetDialogFragment.TAG) == null) { @@ -84,4 +81,41 @@ public class RateUsBottomSheetDialogFragment extends MenuBottomSheetDialogFragme LOG.error("showInstance", e); } } + + public static boolean shouldShow(OsmandApplication application) { + long firstInstalledDays = application.getAppInitializer().getFirstInstalledDays(); + if (!Version.isGooglePlayEnabled(application) || firstInstalledDays > 350) { + return false; + } + OsmandSettings settings = application.getSettings(); + if (!settings.LAST_DISPLAY_TIME.isSet()) { + settings.LAST_DISPLAY_TIME.set(System.currentTimeMillis()); + } + int numberOfStarts = application.getAppInitializer().getNumberOfStarts(); + + RateUsState state = settings.RATE_US_STATE.get(); + switch (state) { + case LIKED: + return false; + case INITIAL_STATE: + return firstInstalledDays > 15 && numberOfStarts > 100; + case IGNORED: + case DISLIKED_WITH_MESSAGE: + case DISLIKED_WITHOUT_MESSAGE: + int startsOnDislikeMoment = settings.NUMBER_OF_APP_STARTS_ON_DISLIKE_MOMENT.get(); + long lastDisplayTimeInMillis = settings.LAST_DISPLAY_TIME.get(); + long currentTime = System.currentTimeMillis(); + return currentTime - lastDisplayTimeInMillis > SIXTY_DAYS + && numberOfStarts - startsOnDislikeMoment > 50; + } + return false; + } + + public enum RateUsState { + INITIAL_STATE, + IGNORED, + LIKED, + DISLIKED_WITH_MESSAGE, + DISLIKED_WITHOUT_MESSAGE + } } From f67d28ec4020fdd5b8bf2bcad358e1a26be8806a Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 18:23:10 +0200 Subject: [PATCH 45/59] add title to chooser --- .../plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java index 443b348f6f..eaae1f27cb 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/DislikeOsmAndBottomSheetDialogFragment.java @@ -68,7 +68,7 @@ public class DislikeOsmAndBottomSheetDialogFragment extends MenuBottomSheetDialo Intent sendEmail = new Intent(Intent.ACTION_SENDTO); sendEmail.setData(Uri.parse("mailto:" + email)); sendEmail.putExtra(Intent.EXTRA_EMAIL, email); - startActivity(Intent.createChooser(sendEmail, "Send Email")); + startActivity(Intent.createChooser(sendEmail, getString(R.string.send_report))); dismiss(); } } From f3ca263287583438bd255bafbb31cdb113b5a1ce Mon Sep 17 00:00:00 2001 From: vshcherb Date: Fri, 17 Jan 2020 17:42:57 +0100 Subject: [PATCH 46/59] Update RateUsBottomSheetDialogFragment.java --- .../osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java index 20bd10f612..f70ae2e6f2 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java @@ -25,7 +25,8 @@ import java.util.Calendar; public class RateUsBottomSheetDialogFragment extends MenuBottomSheetDialogFragment { public static final String TAG = "RateUsBottomSheetDialogFragment"; private static final Log LOG = PlatformUtil.getLog(SendAnalyticsBottomSheetDialogFragment.class); - private static final long SIXTY_DAYS = 60 * 24 * 60 * 60 * 1000L; + // FIXME + private static final long SIXTY_DAYS = 15 * 1000; // 60 * 24 * 60 * 60 * 1000L; @Override public void createMenuItems(Bundle savedInstanceState) { From 1c85de09da38e0a6b899b3401cf3cd2df4f5380d Mon Sep 17 00:00:00 2001 From: vshcherb Date: Fri, 17 Jan 2020 17:48:16 +0100 Subject: [PATCH 47/59] Update RateUsBottomSheetDialogFragment.java --- .../osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java index f70ae2e6f2..20bd10f612 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/RateUsBottomSheetDialogFragment.java @@ -25,8 +25,7 @@ import java.util.Calendar; public class RateUsBottomSheetDialogFragment extends MenuBottomSheetDialogFragment { public static final String TAG = "RateUsBottomSheetDialogFragment"; private static final Log LOG = PlatformUtil.getLog(SendAnalyticsBottomSheetDialogFragment.class); - // FIXME - private static final long SIXTY_DAYS = 15 * 1000; // 60 * 24 * 60 * 60 * 1000L; + private static final long SIXTY_DAYS = 60 * 24 * 60 * 60 * 1000L; @Override public void createMenuItems(Bundle savedInstanceState) { From d71cf6e87f3a0e2802f38b6aafd7670420fe21c8 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 17 Jan 2020 18:59:19 +0200 Subject: [PATCH 48/59] test voice for takeExit and takeExitIn --- OsmAnd/src/net/osmand/plus/development/TestVoiceActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/development/TestVoiceActivity.java b/OsmAnd/src/net/osmand/plus/development/TestVoiceActivity.java index 68a7ab97f9..5e4ecb58ca 100644 --- a/OsmAnd/src/net/osmand/plus/development/TestVoiceActivity.java +++ b/OsmAnd/src/net/osmand/plus/development/TestVoiceActivity.java @@ -162,13 +162,15 @@ public class TestVoiceActivity extends OsmandActionBarActivity { addButton(ll, "\u25BA (2.3) Route recalculated 89750m, 55800sec (15:30)", builder(p).routeRecalculated(89750, 55800) ); addButton(ll, "\u25BA (2.4) Route recalculated 125900m, 92700sec (25:45)", builder(p).routeRecalculated(125900, 92700) ); - addButton(ll, "All turn types: prepareTurn, makeTurnIn, turn:", builder(p)); + addButton(ll, "All turn types: prepareTurn, makeTurnIn, turn, takeExit, takeExitIn:", builder(p)); addButton(ll, "\u25BA (3.1) After 1520m turn slightly left", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_LEFT_SL, 1520, street(p, ""))); addButton(ll, "\u25BA (3.2) In 450m turn sharply left onto 'Hauptstra"+"\u00df"+"e', then bear right", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT_SH, 450, street(p, "Hauptstraße")).then().bearRight(street(p, ""))); addButton(ll, "\u25BA (3.3) Turn left, then in 100m turn slightly right", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT, street(p, "")).then().turn(AbstractPrologCommandPlayer.A_RIGHT_SL, 100, street(p, ""))); addButton(ll, "\u25BA (3.4) After 3100m turn right onto 'SR 80' toward 'Rome'", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_RIGHT, 3100, street(p, "SR 80", "", "Rome"))); addButton(ll, "\u25BA (3.5) In 370m turn slightly right onto 'Route 23' 'Main Street', then bear left", builder(p).turn(AbstractPrologCommandPlayer.A_RIGHT_SL, 370, street(p, "Route 23", "Main Street", "")).then().bearLeft(street(p, ""))); addButton(ll, "\u25BA (3.6) Turn sharply right onto 'Dr.-Quinn-Stra"+"\u00df"+"e'", builder(p).turn(AbstractPrologCommandPlayer.A_RIGHT_SH, street(p, "", "Dr.-Quinn-Straße", ""))); + addButton(ll, "\u25BA (3.7) Turn slightly right to exit 6 onto 'Amsterdam-Osdorp'", builder(p).takeExit(AbstractPrologCommandPlayer.A_RIGHT_SL, 6, street(p, "", "Amsterdam-Osdorp", ""))); + addButton(ll, "\u25BA (3.8) In 350m turn slightly right to exit 6 onto 'Amsterdam-Osdorp'", builder(p).takeExit(AbstractPrologCommandPlayer.A_RIGHT_SL, 350, 6, street(p, "", "Amsterdam-Osdorp", ""))); addButton(ll, "Keep left/right: prepareTurn, makeTurnIn, turn:", builder(p)); addButton(ll, "\u25BA (4.1) After 1810m keep left ' '", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_LEFT_KEEP, 1810, street(p, ""))); From e141a9ecdebe368e791e901567a2022e899c3afd Mon Sep 17 00:00:00 2001 From: Viktar Palsciuk Date: Thu, 16 Jan 2020 19:11:46 +0000 Subject: [PATCH 49/59] Translated using Weblate (Belarusian) Currently translated at 94.9% (2942 of 3101 strings) --- OsmAnd/res/values-be/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index b19bce1b0c..ea40484a1d 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -58,7 +58,7 @@ Аптымальны парадак прамежкавых пунктаў па шляху да месца прызначэння. Упарадкаваць ад дзвярэй да дзвярэй Файл OSM-змен створаны ў %1$s - Не атрымалася зарэзерваваць OSM-змены + Не ўдалося стварыць рэзервовую копію правак OSM. Рэзервовае капіяванне файла змен OSM Выдаліць пункт час @@ -100,7 +100,7 @@ Наладзьце запіс вашых паездак. Паказвае налады ўключэння фонавага адсочвання і навігацыі праз перыядычнае абуджэнне GPS прылады (з выключаным экранам). Усталёўка версіі - Абраць выгляд дадатку. + Налада вонкавага выгляду прыкладання. Выгляд Налады адмысловых магчымасцяў Абраць адрас @@ -135,9 +135,9 @@ Выбар па запыце Запіс відэа Запіс аўдыё - Абярыце прадвызначанае дзеянне віджэта. + Дзеянне віджэта па змаўчанні: Прадвызначанае дзеянне віджэта - Выбар выоднага фармату відэа. + Фармат вываду відэа: Фармат відэа Выкарыстоўваць сістэмны дадатак для запісу відэа. Выкарыстоўваць сістэмны дадатак для запісу @@ -155,7 +155,7 @@ Запісаць аўдыянататку Запісаць відэанататку Пласт запісу - Запіс немагчыма прайграць + Не атрымалася прайграць запіс. Выдаліць запіс Граць Запіс %1$s %3$s %2$s @@ -1160,12 +1160,12 @@ Навігацыйны знак Пешы турызм Човен - Вы збіраецеся выдаліць %1$d змены OSM. Вы ўпэўненыя\? + Вы ўпэўненыя, што хочаце выдаліць %1$d правак OSM\? Калі ласка, спачатку разлічыце маршрут Ад версіі 4.4 Android (KitKat) вы не можаце спампоўваць і абнаўляць мапу ў старым каталогу захоўвання (%s). Скапіяваць усе файлы OsmAnd у новае сховішча\? \n Заўвага 1: Вашыя старыя файлы застануцца некранутымі (вы можаце выдаліць іх самастойна).          \n Заўвага 2: У новым месцы захоўвання будзе немагчыма адначасова выкарыстоўваць файлы ў OsmAnd і OsmAnd+. - Абярыце профілі, бачныя ў дадатку. + Абярыце бачныя профілі. Голас Рознае Лакалізацыя @@ -3188,9 +3188,9 @@ 4 клас 5 клас Вонкавыя прылады ўводу - "Абярыце прыладу, напрыклад, клавіятуру або WunderLINQ для вонкавага кіравання." + Выберыце знешнюю прыладу кіравання, напрыклад, клавіятуру або WunderLINQ. Няма - Універсальны Клавіятура + Клавіятура WunderLINQ Parrot Калі ласка, ўключыце па меншай меры адзін профіль дадатку, каб выкарыстоўваць гэты параметр. From cfaa9c002b7523f28c248295cdfd3a079c7b5ea7 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Fri, 17 Jan 2020 09:51:35 +0000 Subject: [PATCH 50/59] Translated using Weblate (Catalan) Currently translated at 90.6% (2808 of 3101 strings) --- OsmAnd/res/values-ca/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml index 3583a48f35..65dfe8677f 100644 --- a/OsmAnd/res/values-ca/strings.xml +++ b/OsmAnd/res/values-ca/strings.xml @@ -2909,7 +2909,7 @@ Abasta l\'àrea: %1$s x %2$s Tipus de via Superfície Uniformitat - Pendent + Inclinació Afegeix casa meva Afegeix lloc de la feina Feina @@ -2957,7 +2957,7 @@ Abasta l\'àrea: %1$s x %2$s Sense asfaltar Sorra Gespa - Gespa i paviment + Gespa de paviment Terra Fangar Gel From 2513b9e3d0958f95322593c1e14bcc5a60ca02ca Mon Sep 17 00:00:00 2001 From: OpenSourceForEver Date: Fri, 17 Jan 2020 19:29:24 +0000 Subject: [PATCH 51/59] Translated using Weblate (Spanish) Currently translated at 100.0% (3101 of 3101 strings) --- OsmAnd/res/values-es/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index 7c22e410b4..f102de5101 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -3416,4 +3416,6 @@ Haciendo click en %1$s, perderás todos tus cambios. Todos los ajustes del perfil se restablecerán al estado después de la instalación. ¿Restablecer todos los ajustes del perfil a los valores predeterminados\? + %1$s %2$s + %1$s: %2$s \ No newline at end of file From 3101248d8815ad982ce1ab7c72d386bcde55071d Mon Sep 17 00:00:00 2001 From: Zmicer Turok Date: Sat, 18 Jan 2020 06:33:03 +0000 Subject: [PATCH 52/59] Translated using Weblate (Belarusian) Currently translated at 94.9% (2942 of 3101 strings) --- OsmAnd/res/values-be/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index ea40484a1d..3f8ab8680d 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -135,7 +135,7 @@ Выбар па запыце Запіс відэа Запіс аўдыё - Дзеянне віджэта па змаўчанні: + Прадвызначанае дзеянне віджэта: Прадвызначанае дзеянне віджэта Фармат вываду відэа: Фармат відэа From cf175730096310dafb288c30ab91bbcb29d7a7ef Mon Sep 17 00:00:00 2001 From: iman Date: Fri, 17 Jan 2020 17:41:58 +0000 Subject: [PATCH 53/59] Translated using Weblate (Persian) Currently translated at 99.8% (3096 of 3101 strings) --- OsmAnd/res/values-fa/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index 9bdf0f7e48..d9c45bd9fa 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -3455,4 +3455,6 @@ همهٔ تنظیمات پروفایل به حالت اولیهٔ پس از نصب بازنشانی می‌شود. همهٔ تنظیمات پروفایل را بازنشانی می‌کنید؟ %1$s: ‪%2$s‬ + ‪%1$s %2$s‬ + %1$s: ‪%2$s‬ \ No newline at end of file From dc66583c0a4879bd2ed6a85ea32f527c2c6f9900 Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Fri, 17 Jan 2020 22:20:39 +0000 Subject: [PATCH 54/59] Translated using Weblate (Italian) Currently translated at 71.1% (2666 of 3750 strings) --- OsmAnd/res/values-it/phrases.xml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/OsmAnd/res/values-it/phrases.xml b/OsmAnd/res/values-it/phrases.xml index 129a735173..cdd58aa0b2 100644 --- a/OsmAnd/res/values-it/phrases.xml +++ b/OsmAnd/res/values-it/phrases.xml @@ -2679,4 +2679,33 @@ Postbank Campo turistico Tomba + Fumetti + Antiquario + Religione + Autobus + Ufficio Taxi + Accesso al veicolo: sì + Accesso ai veicoli: privato + Accesso ai veicoli: no + Accesso ai veicoli: residenti + Accesso ai veicoli: clienti + Accesso ai veicoli: militare + Accesso ai veicoli: consegna + Accesso ai veicoli: silvicoltura + Accesso all\'automobile: + Accesso all\'automobile: privato + Accesso all\'automobile: no + Accesso all\'automobile: residenti + Accesso all\'automobile: permissivo + Accesso all\'automobile: clienti + Accesso all\'automobile: silvicoltura + Accesso ai mezzi pesanti: no + Accesso ai mezzi pesanti: agricolo + Accesso a motocicli: no + Accesso a cavallo: privato + Accesso a cavallo: destinazione + Accesso a cavallo: permissivo + Accesso a cavallo: silvicoltura + Accesso pedonale: sì + URL \ No newline at end of file From f8335c43bfae37cae73b834409fff1dff8ad0d4f Mon Sep 17 00:00:00 2001 From: Mr-Update Date: Thu, 16 Jan 2020 21:01:54 +0000 Subject: [PATCH 55/59] Translated using Weblate (German) Currently translated at 100.0% (3750 of 3750 strings) --- OsmAnd/res/values-de/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 4e437468bb..91ea565471 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -536,7 +536,7 @@ Rodel Toilette Mautstelle - Informationen + Information Kleinstadt Rathaus Spielwarenhandlung From 0f8d10b50c2666e095c00493ef2420e8c5fe50fd Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Thu, 16 Jan 2020 14:40:43 +0000 Subject: [PATCH 56/59] Translated using Weblate (Sardinian) Currently translated at 99.6% (3736 of 3750 strings) --- OsmAnd/res/values-sc/phrases.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-sc/phrases.xml b/OsmAnd/res/values-sc/phrases.xml index 0edc4573cf..07e9733b8b 100644 --- a/OsmAnd/res/values-sc/phrases.xml +++ b/OsmAnd/res/values-sc/phrases.xml @@ -3765,4 +3765,6 @@ Gènere de sa comunidade: òmines Gènere de sa comunidade: ambos Tumba + Parchègiu + URL \ No newline at end of file From 2675bbaf2d3d62db77aab0e72ff4602806196b3d Mon Sep 17 00:00:00 2001 From: Aulo Aasmaa Date: Thu, 16 Jan 2020 16:19:00 +0000 Subject: [PATCH 57/59] Translated using Weblate (Estonian) Currently translated at 100.0% (3750 of 3750 strings) --- OsmAnd/res/values-et/phrases.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-et/phrases.xml b/OsmAnd/res/values-et/phrases.xml index becf4f67e4..49a36ecf45 100644 --- a/OsmAnd/res/values-et/phrases.xml +++ b/OsmAnd/res/values-et/phrases.xml @@ -3749,4 +3749,6 @@ Kogukonna sugu: mees Kogukonna sugu: sega Haud + Parkimiskoht + URL \ No newline at end of file From 8eb8d0690f8e3b013ae13cc74583ceca7b835853 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Thu, 16 Jan 2020 23:29:10 +0000 Subject: [PATCH 58/59] Translated using Weblate (Esperanto) Currently translated at 100.0% (3750 of 3750 strings) --- OsmAnd/res/values-eo/phrases.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index 3999e72e74..e1b26de8cf 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -3760,4 +3760,6 @@ Komunumo: vira Komunumo: gea Tombo + Parkumeja loko + Ligilo \ No newline at end of file From 07f2ead209055e0815cb108fdef6d375c419302e Mon Sep 17 00:00:00 2001 From: josep constanti Date: Fri, 17 Jan 2020 09:43:54 +0000 Subject: [PATCH 59/59] Translated using Weblate (Catalan) Currently translated at 100.0% (261 of 261 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/ca/ --- OsmAnd-telegram/res/values-ca/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd-telegram/res/values-ca/strings.xml b/OsmAnd-telegram/res/values-ca/strings.xml index b65d1117a6..8f35ab819a 100644 --- a/OsmAnd-telegram/res/values-ca/strings.xml +++ b/OsmAnd-telegram/res/values-ca/strings.xml @@ -260,4 +260,7 @@ Unitat de velocitat Temps màxim per mantenir punts a la memòria intermèdia Temps de caducitat de la memòria intermèdia + Suggeriment + Estat de l\'enregistrador d\'OsmAnd + Torna a OsmAnd \ No newline at end of file