Compare commits

..

22 Commits

Author SHA1 Message Date
Jean-Baptiste
13c73bef07 [android] Fix tracks description not showed on the place page
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-07 07:15:40 +01:00
matheusgomesms
20d9185c79 Removing maxspeed estimate from generator
Signed-off-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
2026-01-06 14:54:00 +01:00
Chris H. Meyer
90c18f4983 [types] Add miniature railway
Signed-off-by: Chris H. Meyer <christian.h.meyer@t-online.de>
2026-01-06 14:47:40 +01:00
Viktor Govako
fe5d4f5286 [classifier] Added railway=miniature.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
Co-authored-by: Chris H. Meyer <christian.h.meyer@t-online.de>
2026-01-06 14:47:40 +01:00
Yannik Bloscheck
13d7def519 [ios] Fix file path
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2026-01-06 00:31:44 +01:00
Chris H. Meyer
93b35454eb [styles] Fix missing comma
Signed-off-by: Chris H. Meyer <christian.h.meyer@t-online.de>
2026-01-05 18:26:16 +01:00
Chris H. Meyer
de1c0a061d [styles] Set text color of fortress and other castles
Signed-off-by: Chris H. Meyer <christian.h.meyer@t-online.de>
2026-01-05 18:24:48 +01:00
gedankenstuecke
18ce55afa3 incorp review feedback 2026-01-05 13:27:42 +01:00
gedankenstuecke
43ffd199a4 [docs] Update CB teams description
Keeps the docs up to date on the currently existing teams

Signed-off-by: gedankenstuecke <gedankenstuecke@noreply.codeberg.org>
2026-01-05 13:23:29 +01:00
thesupertechie
3e75e5e802 [core] Add Tamil TTS support
This PR adds TTS voice instruction support for the Tamil language.

Co-authored-by: thesupertechie <thesupertechie1@gmail.com>
Co-committed-by: thesupertechie <thesupertechie1@gmail.com>
2026-01-05 10:42:53 +01:00
Jean-Baptiste
fc96d17ed7 [android] Remove background apply on item phone view
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-04 19:33:18 +01:00
Jean-Baptiste
e869fe1da1 [android] Fix custom dialog styles
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-04 19:32:11 +01:00
matheusgomesms
f38953458d [ios] Fix project.pbxproj
Signed-off-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-authored-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
Co-committed-by: matheusgomesms <matheusgomesms@noreply.codeberg.org>
2026-01-04 19:31:56 +01:00
Jean-Baptiste
5e8d2e1a59 [android] Use Material Cardview foreach item phone
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-03 22:53:00 +01:00
Jean-Baptiste
07e42c0626 [android] Add comment about issues with Material library
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-03 22:43:15 +01:00
Jean-Baptiste
14e45aa6db [android] Use Material 3 alert dialogs
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-03 22:34:15 +01:00
Jean-Baptiste
8bd7f9d59a [android] Use M3 dark background in the app
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-03 22:32:51 +01:00
Radek Olsak
ead092af79 [desktop] Added Void dependencies
Signed-off-by: Radek Olsak <radek@olsak.net>
2026-01-03 22:25:36 +01:00
Chris H. Meyer
c3f5986f12 [styles] render man_made=wastewater_plant like landuse=industrial
Signed-off-by: Chris H. Meyer <christian.h.meyer@t-online.de>
2026-01-03 22:24:11 +01:00
Jean-Baptiste
143e0562e6 [android] Remove stroke border on cardview in navigation view
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-03 22:22:09 +01:00
Konstantin Pastbin
89cfc6f8e6 [search] Enable Lithuanian for search categories/synonyms
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2026-01-03 21:13:45 +01:00
Jean-Baptiste
4788956720 [android] Simplify some views to improve performance
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-03 20:50:11 +01:00
122 changed files with 2757 additions and 2960 deletions

View File

@@ -352,6 +352,7 @@ dependencies {
implementation libs.androidx.work.runtime
implementation libs.androidx.lifecycle.process
implementation libs.androidx.documentfile
// 1.13 Material library version doesn't render properly alpha properties on map buttons
implementation libs.android.material
// Fix for app/organicmaps/util/FileUploadWorker.java:14: error: cannot access ListenableFuture
// https://github.com/organicmaps/organicmaps/issues/6106

View File

@@ -446,7 +446,7 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity
default -> throw new AssertionError("Unexpected result code = " + result);
};
mAlertDialog = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
mAlertDialog = new MaterialAlertDialogBuilder(this)
.setTitle(titleId)
.setMessage(messageId)
.setCancelable(true)

View File

@@ -9,8 +9,7 @@ import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_HELP_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_RECORD_TRACK_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_SETTINGS_CODE;
import static app.organicmaps.sdk.location.LocationState.FOLLOW;
import static app.organicmaps.sdk.location.LocationState.FOLLOW_AND_ROTATE_COMPASS;
import static app.organicmaps.sdk.location.LocationState.FOLLOW_AND_ROTATE_ROUTE;
import static app.organicmaps.sdk.location.LocationState.FOLLOW_AND_ROTATE;
import static app.organicmaps.sdk.location.LocationState.LOCATION_TAG;
import static app.organicmaps.sdk.util.PowerManagment.POWER_MANAGEMENT_TAG;
import static app.organicmaps.sdk.util.Utils.dimen;
@@ -433,7 +432,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
}
dismissLocationErrorDialog();
mLocationErrorDialog = new MaterialAlertDialogBuilder(MwmActivity.this, R.style.MwmTheme_AlertDialog)
mLocationErrorDialog = new MaterialAlertDialogBuilder(MwmActivity.this)
.setMessage(R.string.unknown_current_position)
.setCancelable(true)
.setPositiveButton(R.string.ok, null)
@@ -656,7 +655,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
else
{
dismissAlertDialog();
mAlertDialog = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
mAlertDialog = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.message_invalid_feature_position)
.setPositiveButton(R.string.ok, null)
.setOnDismissListener(dialog -> mAlertDialog = null)
@@ -1156,7 +1155,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
if (type == IsolinesState.EXPIREDDATA)
{
mAlertDialog = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
mAlertDialog = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.downloader_update_maps)
.setMessage(R.string.isolines_activation_error_dialog)
.setPositiveButton(
@@ -1775,7 +1774,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
{
dismissAlertDialog();
mAlertDialog =
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(this)
.setTitle(R.string.unable_to_calc_alert_title)
.setMessage(R.string.unable_to_calc_alert_subtitle)
.setPositiveButton(R.string.settings,
@@ -1798,7 +1797,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
builder.append(getString(resId)).append("\n\n");
dismissAlertDialog();
mAlertDialog = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
mAlertDialog = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.dialog_routing_disclaimer_title)
.setMessage(builder.toString())
.setCancelable(false)
@@ -1847,7 +1846,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
return true;
final MapObject endPoint = Objects.requireNonNull(controller.getEndPoint());
final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.p2p_only_from_current)
.setMessage(R.string.p2p_reroute_from_current)
.setCancelable(false)
@@ -1901,8 +1900,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
locationHelper.restartWithNewMode();
if ((newMode == FOLLOW || newMode == FOLLOW_AND_ROTATE_ROUTE || newMode == FOLLOW_AND_ROTATE_COMPASS)
&& !LocationUtils.checkFineLocationPermission(this))
if ((newMode == FOLLOW || newMode == FOLLOW_AND_ROTATE) && !LocationUtils.checkFineLocationPermission(this))
{
// Try to optimistically request FINE permission for FOLLOW and FOLLOW_AND_ROTATE modes.
Logger.i(LOCATION_TAG, "Requesting ACCESS_FINE_LOCATION permission for " + LocationState.nameOf(newMode));
@@ -2042,7 +2040,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
{
mPreciseLocationDialogShown = true;
final MaterialAlertDialogBuilder builder =
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(this)
.setTitle("" + getString(R.string.limited_accuracy))
.setMessage(R.string.precise_location_is_disabled_long_text)
.setNegativeButton(R.string.close, (dialog, which) -> dialog.dismiss())
@@ -2076,7 +2074,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
return;
}
mLocationErrorDialog = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
mLocationErrorDialog = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.enable_location_services)
.setMessage(R.string.location_is_disabled_long_text)
.setOnDismissListener(dialog -> mLocationErrorDialog = null)
@@ -2169,7 +2167,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
return;
}
final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.enable_location_services)
.setMessage(R.string.location_is_disabled_long_text)
.setOnDismissListener(dialog -> mLocationErrorDialog = null)
@@ -2255,7 +2253,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
dismissAlertDialog();
final MaterialAlertDialogBuilder builder =
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(this)
.setTitle(R.string.current_location_unknown_error_title)
.setCancelable(true)
.setMessage(R.string.power_save_dialog_summary)
@@ -2280,7 +2278,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
{
dismissAlertDialog();
mAlertDialog =
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(this)
.setTitle(R.string.load_kmz_title)
.setMessage(getString(R.string.unknown_file_type, uri))
.setPositiveButton(R.string.ok, null)
@@ -2297,7 +2295,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
{
dismissAlertDialog();
mAlertDialog =
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(this)
.setTitle(R.string.load_kmz_title)
.setMessage(getString(R.string.failed_to_open_file, uri, error))
.setPositiveButton(R.string.ok, null)
@@ -2319,7 +2317,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
public void onBookmarksFileImportFailed()
{
dismissAlertDialog();
mAlertDialog = new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
mAlertDialog = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.load_kmz_title)
.setMessage(R.string.load_kmz_failed)
.setPositiveButton(R.string.ok, null)
@@ -2580,7 +2578,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
private void reportUnsupported()
{
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(this)
.setMessage(R.string.unsupported_phone)
.setCancelable(false)
.setPositiveButton(R.string.close, (dlg, which) -> this.moveTaskToBack(true))

View File

@@ -120,7 +120,7 @@ public class SplashActivity extends AppCompatActivity
private void showFatalErrorDialog(@StringRes int titleId, @StringRes int messageId, Exception error)
{
mCanceled = true;
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(this, R.style.MwmTheme_M3_AlertDialog)
.setTitle(titleId)
.setMessage(messageId)
.setPositiveButton(

View File

@@ -60,14 +60,14 @@ public enum BookmarksSharingHelper
case BookmarkSharingResult.SUCCESS ->
SharingUtils.shareBookmarkFile(context, launcher, result.getSharingPath(), result.getMimeType());
case BookmarkSharingResult.EMPTY_CATEGORY ->
new MaterialAlertDialogBuilder(context, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(context)
.setTitle(R.string.bookmarks_error_title_share_empty)
.setMessage(R.string.bookmarks_error_message_share_empty)
.setPositiveButton(R.string.ok, null)
.show();
case BookmarkSharingResult.ARCHIVE_ERROR, BookmarkSharingResult.FILE_ERROR ->
{
new MaterialAlertDialogBuilder(context, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(context)
.setTitle(R.string.dialog_routing_system_error)
.setMessage(R.string.bookmarks_error_message_share_general)
.setPositiveButton(R.string.ok, null)

View File

@@ -42,6 +42,7 @@ public class ChooseBookmarkCategoryFragment
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View root = inflater.inflate(R.layout.choose_bookmark_category_fragment, container, false);
getDialog().getWindow().setBackgroundDrawableResource(android.R.color.transparent);
mRecycler = root.findViewById(R.id.recycler);
mRecycler.setLayoutManager(new LinearLayoutManager(requireActivity()));
return root;

View File

@@ -77,6 +77,7 @@ public class ChooseBookmarksSortingTypeFragment
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
getDialog().getWindow().setBackgroundDrawableResource(android.R.color.transparent);
final Bundle args = getArguments();
if (args == null)

View File

@@ -183,16 +183,11 @@ public final class UiHelpers
drawableRes = R.drawable.ic_follow;
tintColor = Colors.LOCATION_TINT;
}
case LocationState.FOLLOW_AND_ROTATE_COMPASS ->
case LocationState.FOLLOW_AND_ROTATE ->
{
drawableRes = R.drawable.ic_follow_and_rotate;
tintColor = Colors.LOCATION_TINT;
}
case LocationState.FOLLOW_AND_ROTATE_ROUTE ->
{
drawableRes = R.drawable.ic_follow_route;
tintColor = Colors.LOCATION_TINT;
}
default -> throw new IllegalArgumentException("Invalid button mode: " + locationMode);
}

View File

@@ -42,7 +42,7 @@ public final class CustomMapServerDialog
edit.setText(current);
MaterialAlertDialogBuilder builder =
new MaterialAlertDialogBuilder(context, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(context)
.setTitle(R.string.download_resources_custom_url_title)
.setMessage(R.string.download_resources_custom_url_message)
.setView(dialogView)

View File

@@ -113,7 +113,7 @@ public class EditTextDialogFragment extends BaseMwmDialogFragment
negativeButtonText = args.getString(ARG_NEGATIVE_BUTTON);
}
AlertDialog editTextDialog = new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
AlertDialog editTextDialog = new MaterialAlertDialogBuilder(requireActivity())
.setView(buildView())
.setNegativeButton(negativeButtonText, null)
.setPositiveButton(positiveButtonText, null)

View File

@@ -119,7 +119,7 @@ class DownloaderAdapter extends RecyclerView.Adapter<DownloaderAdapter.ViewHolde
{
if (RoutingController.get().isNavigating())
{
new MaterialAlertDialogBuilder(adapter.mActivity, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(adapter.mActivity)
.setTitle(R.string.downloader_delete_map)
.setMessage(R.string.downloader_delete_map_while_routing_dialog)
.setPositiveButton(R.string.ok, null)
@@ -133,7 +133,7 @@ class DownloaderAdapter extends RecyclerView.Adapter<DownloaderAdapter.ViewHolde
return;
}
new MaterialAlertDialogBuilder(adapter.mActivity, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(adapter.mActivity)
.setTitle(R.string.downloader_delete_map)
.setMessage(R.string.downloader_delete_map_dialog)
.setNegativeButton(R.string.cancel, null)

View File

@@ -49,7 +49,7 @@ public class MapManagerHelper
return;
}
final AlertDialog dlg = new MaterialAlertDialogBuilder(activity, R.style.MwmTheme_AlertDialog)
final AlertDialog dlg = new MaterialAlertDialogBuilder(activity)
.setTitle(R.string.country_status_download_failed)
.setMessage(getErrorCodeStrRes(errorData.errorCode))
.setNegativeButton(R.string.cancel,
@@ -72,7 +72,7 @@ public class MapManagerHelper
private static void notifyNoSpaceInternal(Activity activity)
{
new MaterialAlertDialogBuilder(activity, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(activity)
.setTitle(R.string.downloader_no_space_title)
.setMessage(R.string.downloader_no_space_message)
.setPositiveButton(android.R.string.ok, null)
@@ -123,7 +123,7 @@ public class MapManagerHelper
return false;
}
new MaterialAlertDialogBuilder(activity, R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(activity)
.setTitle(R.string.download_over_mobile_header)
.setMessage(R.string.download_over_mobile_message)
.setNegativeButton(R.string.cancel, null)

View File

@@ -493,7 +493,7 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
}
});
return new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
return new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.editor_socket)
.setView(dialogView)
.setPositiveButton(R.string.save,
@@ -997,7 +997,7 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
message = R.string.editor_reset_edits_message;
}
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(message)
.setPositiveButton(title,
(dialog, which) -> {
@@ -1020,7 +1020,7 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
private void placeDisused()
{
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.editor_mark_business_vacant_title)
.setMessage(R.string.editor_mark_business_vacant_description)
.setPositiveButton(R.string.editor_submit, (dlg, which) -> {

View File

@@ -352,7 +352,7 @@ public class EditorHostFragment
private void processNoFeatures()
{
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.downloader_no_space_title)
.setPositiveButton(R.string.ok, null)
.show();
@@ -386,7 +386,7 @@ public class EditorHostFragment
private void showNoobDialog()
{
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.editor_share_to_all_dialog_title)
.setMessage(getString(R.string.editor_share_to_all_dialog_message_1) + " "
+ getString(R.string.editor_share_to_all_dialog_message_2))

View File

@@ -155,7 +155,7 @@ public class FeatureCategoryFragment
// Duplicate of showNoobDialog()
private void showNoteConfirmationDialog(double lat, double lon, String noteText)
{
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.editor_share_to_all_dialog_title)
.setMessage(getString(R.string.editor_share_to_all_dialog_message_1) + " "
+ getString(R.string.editor_share_to_all_dialog_message_2))

View File

@@ -79,7 +79,7 @@ public class OsmLoginFragment extends BaseMwmToolbarFragment
private void onAuthFail()
{
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.editor_login_error_dialog)
.setPositiveButton(R.string.ok, null)
.show();

View File

@@ -66,7 +66,7 @@ public class FaqFragment extends BaseMwmFragment
FloatingActionButton feedbackFab = root.findViewById(R.id.feedback_fab);
feedbackFab.setOnClickListener(
v
-> new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
-> new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.feedback)
.setNegativeButton(R.string.cancel, null)
.setItems(new CharSequence[] {getString(R.string.feedback_general), getString(R.string.report_a_bug)},

View File

@@ -107,7 +107,7 @@ public class TrafficButtonController implements TrafficManager.TrafficCallback
if (mDialog != null && mDialog.isShowing())
return;
mDialog = new MaterialAlertDialogBuilder(mActivity, R.style.MwmTheme_AlertDialog)
mDialog = new MaterialAlertDialogBuilder(mActivity)
.setMessage(R.string.common_check_internet_connection_dialog)
.setPositiveButton(R.string.ok, (dialog, which) -> TrafficManager.INSTANCE.setEnabled(false))
.setCancelable(true)

View File

@@ -56,7 +56,7 @@ abstract class BaseRoutingErrorDialogFragment extends BaseMwmDialogFragment
public Dialog onCreateDialog(Bundle savedInstanceState)
{
parseArguments();
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireActivity())
.setCancelable(true)
.setNegativeButton(android.R.string.cancel, null);
beforeDialogCreated(builder);

View File

@@ -494,7 +494,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment implements La
pref.setOnPreferenceClickListener(preference -> {
if (MapManager.nativeIsDownloading())
{
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.downloading_is_active)
.setMessage(R.string.cant_change_this_setting)
.setPositiveButton(R.string.ok, null)

View File

@@ -97,7 +97,7 @@ public class StoragePathFragment extends BaseSettingsFragment
final String oldPath = storages.get(currentIndex).mPath;
final String newPath = storages.get(newIndex).mPath;
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setCancelable(false)
.setTitle(R.string.move_maps)
.setPositiveButton(R.string.ok, (dlg, which) -> moveStorage(newPath, oldPath))
@@ -133,7 +133,7 @@ public class StoragePathFragment extends BaseSettingsFragment
if (!result)
{
new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
new MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.move_maps_error)
.setPositiveButton(
R.string.report_a_bug,

View File

@@ -61,6 +61,7 @@ public class StackedButtonsDialog extends AppCompatDialog implements View.OnClic
setCancelable(mCancelable);
setOnCancelListener(mCancelListener);
setContentView(R.layout.dialog_stacked_buttons);
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
TextView title = findViewById(R.id.tv__title);
UiUtils.setTextAndHideIfEmpty(title, mTitle);

View File

@@ -49,8 +49,8 @@ public class MyPositionButton
int colorAttr = R.attr.iconTint;
@DimenRes
int sizeDimen = R.dimen.map_button_icon_size;
if (mode == LocationState.FOLLOW || mode == LocationState.FOLLOW_AND_ROTATE_ROUTE
|| mode == LocationState.FOLLOW_AND_ROTATE_COMPASS || mode == LocationState.PENDING_POSITION)
if (mode == LocationState.FOLLOW || mode == LocationState.FOLLOW_AND_ROTATE
|| mode == LocationState.PENDING_POSITION)
{
colorAttr = com.google.android.material.R.attr.colorSecondary;
if (mode == LocationState.PENDING_POSITION)
@@ -69,8 +69,7 @@ public class MyPositionButton
case LocationState.NOT_FOLLOW_NO_POSITION -> R.drawable.ic_location_off;
case LocationState.NOT_FOLLOW -> R.drawable.ic_location_crosshair;
case LocationState.FOLLOW -> R.drawable.ic_follow;
case LocationState.FOLLOW_AND_ROTATE_COMPASS -> R.drawable.ic_follow_and_rotate;
case LocationState.FOLLOW_AND_ROTATE_ROUTE -> R.drawable.ic_follow_route;
case LocationState.FOLLOW_AND_ROTATE -> R.drawable.ic_follow_and_rotate;
default -> throw new IllegalArgumentException("Invalid button mode: " + mode);
};
image = ResourcesCompat.getDrawable(resources, drawableRes, context.getTheme());

View File

@@ -47,7 +47,7 @@ public class BookmarkColorDialogFragment extends BaseMwmDialogFragment
mIconResId = getArguments().getInt(ICON_RES);
}
return new MaterialAlertDialogBuilder(requireActivity(), R.style.MwmTheme_AlertDialog)
return new MaterialAlertDialogBuilder(requireActivity())
.setView(buildView())
.setTitle(R.string.choose_color)
.setNegativeButton(R.string.cancel, null)

View File

@@ -464,7 +464,7 @@ public class PlacePageController
mAlertDialog.show();
return;
}
mAlertDialog = new MaterialAlertDialogBuilder(requireContext(), R.style.MwmTheme_AlertDialog)
mAlertDialog = new MaterialAlertDialogBuilder(requireContext())
.setTitle(requireContext().getString(R.string.delete_track_dialog_title, mMapObject.getTitle()))
.setCancelable(true)
.setNegativeButton(R.string.cancel, null)

View File

@@ -428,8 +428,9 @@ public class PlacePageView extends Fragment
private void updateBookmarkView()
{
boolean enabled = mMapObject.isBookmark() || mMapObject.isTrack();
updateViewFragment(PlacePageBookmarkFragment.class, BOOKMARK_FRAGMENT_TAG, R.id.place_page_bookmark_fragment,
mMapObject.isBookmark());
enabled);
}
private void updateTrackView()

View File

@@ -23,6 +23,7 @@ import app.organicmaps.R;
import app.organicmaps.sdk.bookmarks.data.Bookmark;
import app.organicmaps.sdk.bookmarks.data.BookmarkManager;
import app.organicmaps.sdk.bookmarks.data.MapObject;
import app.organicmaps.sdk.bookmarks.data.Track;
import app.organicmaps.sdk.util.StringUtils;
import app.organicmaps.util.UiUtils;
import app.organicmaps.util.Utils;
@@ -41,6 +42,7 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL
private PlacePageViewModel mViewModel;
private Bookmark currentBookmark;
private Track currentTrack;
@Nullable
@Override
@@ -88,7 +90,15 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL
private void updateBookmarkDetails()
{
final String notes = currentBookmark.getBookmarkDescription();
String notes = null;
if (currentBookmark != null)
{
notes = currentBookmark.getBookmarkDescription();
}
if (currentTrack != null)
{
notes = currentTrack.getTrackDescription();
}
if (TextUtils.isEmpty(notes))
{
UiUtils.hide(mTvBookmarkNote);
@@ -120,8 +130,16 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL
public void onClick(View v)
{
final FragmentActivity activity = requireActivity();
EditBookmarkFragment.editBookmark(currentBookmark.getCategoryId(), currentBookmark.getBookmarkId(), activity,
getChildFragmentManager(), PlacePageBookmarkFragment.this);
if (currentBookmark != null)
{
EditBookmarkFragment.editBookmark(currentBookmark.getCategoryId(), currentBookmark.getBookmarkId(), activity,
getChildFragmentManager(), PlacePageBookmarkFragment.this);
}
else if (currentTrack != null)
{
EditBookmarkFragment.editBookmark(currentTrack.getCategoryId(), currentTrack.getTrackId(), activity,
getChildFragmentManager(), PlacePageBookmarkFragment.this);
}
}
@Override
@@ -152,6 +170,11 @@ public class PlacePageBookmarkFragment extends Fragment implements View.OnClickL
currentBookmark = (Bookmark) mapObject;
updateBookmarkDetails();
}
if (mapObject != null && mapObject.isTrack())
{
currentTrack = (Track) mapObject;
updateBookmarkDetails();
}
}
@Override

View File

@@ -4,7 +4,7 @@
android:color="?colorControlHighlight">
<item>
<shape>
<solid android:color="?cardBackground" />
<solid android:color="?appBackground" />
</shape>
</item>
<item android:id="@android:id/mask">

View File

@@ -1,30 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:strokeColor="@android:color/white"
android:fillColor="@android:color/white"
android:pathData="M15.15 16.92l-7.04 2.8v0.4l2.63 1.07 0.98 2.67h0.39z"/>
<path
android:strokeColor="@android:color/white"
android:strokeWidth="2"
android:strokeLineJoin="miter"
android:pathData="m 16.25,15.95 c 2.29,-2.29 1.91,-3.87 -4.06,-3.87"/>
<path
android:strokeColor="@android:color/white"
android:strokeWidth="2"
android:strokeLineJoin="miter"
android:pathData="M8.98 7.43c-2.97 2.96-2.72 4.66 3.24 4.66"/>
<path
android:strokeColor="@android:color/white"
android:strokeWidth="2"
android:strokeLineJoin="miter"
android:pathData="M8.89 7.51l8.83-8.79"/>
<path
android:strokeColor="@android:color/white"
android:strokeWidth="2"
android:strokeLineJoin="miter"
android:pathData="M9.2 22.83c-0.64 0.57-2.9 2.5-3.56 3.13"/>
</vector>

View File

@@ -1,12 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
<com.google.android.material.card.MaterialCardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
style="@style/Widget.Material3.CardView.Filled"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/margin_half"
android:background="?cardBackground">
app:cardBackgroundColor="?attr/colorSurfaceContainerHigh"
app:cardCornerRadius="28dp">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
@@ -49,3 +55,4 @@
tools:text="Do not Use Today"/>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -22,12 +22,9 @@
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical"
android:baselineAligned="false"
android:orientation="horizontal"
tools:ignore="ScrollViewSize">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
@@ -111,6 +108,5 @@
android:text="@string/register_at_openstreetmap" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>

View File

@@ -17,6 +17,7 @@
android:id="@+id/street_frame"
android:layout_width="500dp"
android:layout_height="wrap_content"
style="@style/Widget.Material3.CardView.Filled"
android:layout_marginEnd="@dimen/margin_quarter"
app:cardCornerRadius="@dimen/margin_half"
android:elevation="@dimen/nav_elevation"

View File

@@ -11,8 +11,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:backgroundTint="?menuBackground"
android:background="@drawable/onmap_downloader_background"
android:background="?menuBackground"
android:padding="@dimen/margin_base"
android:clipToPadding="false"
android:clipChildren="false"

View File

@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
<com.google.android.material.card.MaterialCardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.Material3.CardView.Filled"
app:cardBackgroundColor="?attr/colorSurfaceContainerHigh"
app:cardCornerRadius="28dp">
<LinearLayout
android:orientation="vertical"
android:background="?cardBackground"
android:minWidth="@dimen/bookmark_purchase_img_width"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@@ -21,9 +27,11 @@
android:layout_marginEnd="@dimen/margin_base_plus"
android:layout_marginStart="@dimen/margin_base_plus"
tools:text="Select list"/>
<include
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler"
android:layout_marginTop="@dimen/margin_base"
android:layout_height="wrap_content"
android:layout_width="match_parent"
layout="@layout/recycler_default"/>
android:scrollbars="vertical"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -1,13 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
<com.google.android.material.card.MaterialCardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="@style/Widget.Material3.CardView.Filled"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_double_and_half"
android:background="?cardBackground"
android:minWidth="@dimen/dialog_min_width"
android:minHeight="@dimen/dialog_min_height"
app:cardBackgroundColor="?attr/colorSurfaceContainerHigh"
app:cardCornerRadius="28dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/margin_base_plus">
@@ -77,3 +82,4 @@
app:buttonTint="@null"/>
</RadioGroup>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -1,12 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
<com.google.android.material.card.MaterialCardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
style="@style/Widget.Material3.CardView.Filled"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/margin_half"
android:background="?cardBackground">
app:cardBackgroundColor="?attr/colorSurfaceContainerHigh"
app:cardCornerRadius="28dp">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
@@ -41,3 +47,4 @@
style="@style/MwmWidget.Button.StackedButtonsDialog"
tools:text="Do not Use Today"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -13,7 +13,6 @@
android:paddingTop="@dimen/margin_half"
android:paddingBottom="@dimen/margin_half"
android:layout_marginEnd="@dimen/margin_base"
android:background="?cardBackground"
android:textAppearance="@style/MwmTextAppearance.Caption"
tools:text="Downloaded"
tools:background="#80FF0000"/>

View File

@@ -6,7 +6,7 @@
android:id="@+id/rl__bookmark_details"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?cardBackground"
android:background="?appBackground"
android:padding="@dimen/margin_half">
<LinearLayout
android:id="@+id/ll__bookmark_name"

View File

@@ -3,7 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="?cardBackground"
android:background="?appBackground"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.MaterialToolbar
@@ -69,7 +69,6 @@
android:inputType="textMultiLine"/>
</com.google.android.material.textfield.TextInputLayout>
<View
android:background="?cardBackground"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>

View File

@@ -11,5 +11,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:fadeScrollbars="false" />
android:fadeScrollbars="false"
android:background="?appBackground"/>
</LinearLayout>

View File

@@ -4,7 +4,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/MwmWidget.Floating"
android:background="?cardBackground"
android:background="?appBackground"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/toolbar_with_search"/>
@@ -17,10 +17,12 @@
style="@style/MwmWidget.Button.Primary"
tools:text="@string/downloader_update_all_button"/>
<include
layout="@layout/recycler_default"
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground"
android:scrollbars="vertical"
android:layout_below="@id/toolbar"
android:layout_above="@id/action"/>

View File

@@ -4,7 +4,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?cardBackground">
android:background="?appBackground">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
style="@style/MwmWidget.ToolbarStyle"

View File

@@ -5,6 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?windowBackgroundForced"
android:orientation="vertical">
<com.google.android.material.appbar.MaterialToolbar

View File

@@ -10,7 +10,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frameLayout"
android:background="?cardBackground">
android:background="?windowBackgroundForced">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/phones_recycler"

View File

@@ -61,12 +61,12 @@
android:layout_height="match_parent"
android:clickable="true"
android:focusable="true"
android:background="?cardBackground">
android:background="?appBackground">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler"
android:clipToPadding="false"
android:background="?cardBackground"
android:background="?appBackground"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

View File

@@ -4,6 +4,10 @@
style="@style/MwmWidget.FrameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/recycler_default"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?appBackground"
android:scrollbars="vertical"/>
</FrameLayout>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -13,36 +13,12 @@
android:orientation="vertical"
android:padding="@dimen/margin_half">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/MwmWidget.M3.Editor.CardView"
card_view:cardBackgroundColor="?cardBackground"
card_view:cardCornerRadius="2dp"
card_view:cardElevation="4dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et__timetable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@null"
android:gravity="top|start"
android:inputType="textMultiLine"
android:padding="@dimen/margin_base"
android:textAppearance="@style/MwmTextAppearance.Body3"
tools:hint="hint"
tools:text="trololo \ntrololo \ntrololo"/>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_half"
card_view:cardBackgroundColor="?cardBackground"
card_view:cardCornerRadius="2dp"
card_view:cardElevation="4dp">
style="@style/MwmWidget.M3.Editor.CardView"
app:cardBackgroundColor="?cardBackground">
<LinearLayout
android:id="@+id/examples"
@@ -50,6 +26,26 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:animateLayoutChanges="true">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_half"
android:layout_marginBottom="@dimen/margin_half"
app:hintEnabled="false">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et__timetable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@null"
android:gravity="top|start"
android:inputType="textMultiLine"
android:padding="@dimen/margin_base"
android:textAppearance="@style/MwmTextAppearance.Body3"
tools:hint="hint"
tools:text="trololo \ntrololo \ntrololo"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__examples_title"

View File

@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?cardBackground"
android:background="?appBackground"
android:padding="@dimen/margin_base">
<LinearLayout

View File

@@ -5,7 +5,7 @@
style="@style/MwmTextAppearance.Headline6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?windowBackgroundForced"
android:background="?appBackground"
android:gravity="start|center_vertical"
android:paddingStart="@dimen/margin_base"
android:paddingTop="@dimen/margin_base_plus"

View File

@@ -6,7 +6,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_gravity="center"
android:orientation="vertical"
android:background="?cardBackground"
android:background="?appBackground"
android:padding="@dimen/margin_base">
<com.google.android.material.textview.MaterialTextView
android:layout_width="match_parent"

View File

@@ -7,7 +7,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?cardBackground"
android:background="?colorSurfaceContainerHigh"
android:minHeight="@dimen/height_item_oneline"
android:paddingStart="@dimen/margin_base_plus"
android:paddingEnd="@dimen/margin_base_plus">

View File

@@ -7,7 +7,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?cardBackground"
android:background="?colorSurfaceContainerHigh"
android:minHeight="@dimen/height_item_oneline"
android:paddingStart="@dimen/margin_base_plus"
android:paddingEnd="@dimen/margin_base_plus">

View File

@@ -1,11 +1,14 @@
<androidx.constraintlayout.widget.ConstraintLayout
<com.google.android.material.card.MaterialCardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/MwmWidget.M3.Editor.CardView"
android:layout_width="match_parent"
android:layout_height="@dimen/height_item_oneline"
android:background="?clickableBackground"
android:layout_marginTop="@dimen/margin_half"
android:layout_margin="@dimen/margin_eighth"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_half"
android:paddingStart="@dimen/margin_half_plus"
android:paddingEnd="@dimen/margin_half_plus">
@@ -25,7 +28,6 @@
android:layout_marginStart="@dimen/margin_half"
android:layout_marginEnd="@dimen/margin_half"
android:layout_toStartOf="@id/delete_icon"
android:textColorHint="?android:textColorSecondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/delete_icon"
app:layout_constraintStart_toEndOf="@+id/phone_icon"
@@ -41,7 +43,6 @@
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/delete_icon"
style="@style/MwmWidget.Editor.MetadataIcon"
android:layout_marginStart="@dimen/margin_half"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -49,3 +50,4 @@
app:srcCompat="@drawable/ic_delete" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -17,6 +17,7 @@
android:id="@+id/street_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.Material3.CardView.Filled"
android:layout_marginStart="@dimen/nav_street_left"
android:layout_marginEnd="@dimen/margin_quarter"
app:cardCornerRadius="@dimen/margin_half"

View File

@@ -4,7 +4,7 @@
android:id="@+id/menu_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?cardBackground"
android:background="?appBackground"
android:clickable="true"
android:visibility="gone"
tools:visibility="visible">

View File

@@ -2,7 +2,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:background="?cardBackground"
android:background="?appBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content">

View File

@@ -29,7 +29,7 @@
<com.google.android.material.textview.MaterialTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?cardBackground"
android:background="?appBackground"
android:padding="@dimen/margin_base"
android:text="@string/editor_focus_map_on_location"
app:layout_constraintTop_toBottomOf="@+id/toolbar_point_chooser" />

View File

@@ -6,7 +6,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/height_block_base"
android:background="?cardBackground"
android:background="?appBackground"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/btn__search_point"

View File

@@ -146,16 +146,13 @@
android:foreground="@drawable/shadow_top"
android:visibility="gone"
tools:visibility="visible">
<RelativeLayout
<LinearLayout
android:id="@+id/driving_options_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?selectableItemBackgroundBorderless"
android:gravity="center"
android:minHeight="@dimen/height_block_base">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/driving_options_btn_img"
android:layout_width="@dimen/margin_base_plus"
@@ -174,8 +171,7 @@
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/text_light"
tools:text="test" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</FrameLayout>
<FrameLayout
style="@style/MwmWidget.FrameLayout.Elevation"

View File

@@ -11,7 +11,7 @@
<item name="android:textColorPrimary">@color/text_light</item>
<item name="android:textColorPrimaryInverse">@color/text_dark</item>
<item name="android:textColorSecondary">@color/text_light_subtitle</item>
<item name="android:windowBackground">?windowBackgroundForced</item>
<item name="android:windowBackground">?appBackground</item>
<item name="android:colorPrimaryDark">@color/bg_primary_dark</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:fontFamily">@string/robotoRegular</item>
@@ -21,7 +21,7 @@
<item name="android:statusBarColor">?colorPrimary</item>
<item name="android:windowTranslucentNavigation">false</item>
<item name="alertDialogTheme">@style/MwmTheme.AlertDialog</item>
<item name="alertDialogTheme">@style/MwmTheme.M3.AlertDialog</item>
<item name="windowBackgroundForced">@color/bg_window</item>
<item name="cardBackground">@color/bg_cards</item>
<item name="titleDialogTheme">@color/white_primary</item>

View File

@@ -120,7 +120,7 @@
<dimen name="nav_frame_padding">@dimen/margin_half</dimen>
<dimen name="zoom_buttons_margin">58dp</dimen>
<dimen name="map_buttons_bottom_margin">184dp</dimen>
<dimen name="map_buttons_bottom_margin">136dp</dimen>
<dimen name="map_buttons_bottom_max_width">300dp</dimen>
<dimen name="appbar_elevation">4dp</dimen>

View File

@@ -12,7 +12,7 @@
<item name="android:textColorPrimary">@color/text_dark</item>
<item name="android:textColorPrimaryInverse">@color/text_light</item>
<item name="android:textColorSecondary">@color/text_dark_subtitle</item>
<item name="android:windowBackground">?windowBackgroundForced</item>
<item name="android:windowBackground">?appBackground</item>
<item name="android:colorPrimaryDark">@color/bg_primary_dark</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:fontFamily">@string/robotoRegular</item>
@@ -20,7 +20,7 @@
<item name="android:windowActionBarOverlay">true</item>
<item name="clickableBackground">?selectableItemBackground</item>
<item name="android:statusBarColor">?colorPrimary</item>
<item name="alertDialogTheme">@style/MwmTheme.AlertDialog</item>
<item name="alertDialogTheme">@style/MwmTheme.M3.AlertDialog</item>
<item name="windowBackgroundForced">@color/bg_window</item>
<item name="cardBackground">@color/bg_cards</item>
<item name="titleDialogTheme">@color/black_primary</item>
@@ -185,11 +185,11 @@
</style>
<style name="MwmTheme.CardBg">
<item name="android:windowBackground">@color/bg_cards</item>
<item name="android:windowBackground">?appBackground</item>
</style>
<style name="MwmTheme.WindowBg">
<item name="android:windowBackground">@color/bg_window</item>
<item name="android:windowBackground">?appBackground</item>
</style>
<style name="MwmTheme.AlertDialog" parent="Theme.Material3.DayNight.Dialog.Alert">
@@ -243,7 +243,7 @@
<style name="MwmTheme.FullScreenDialog">
<item name="android:windowIsFloating">false</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:windowBackground">?appBackground</item>
</style>
<style name="MwmTheme.MaterialTimePicker" parent="ThemeOverlay.MaterialComponents.TimePicker">
@@ -281,4 +281,11 @@
<style name="PopupMenu" parent="ThemeOverlay.Material3">
<item name="android:popupBackground">?windowBackgroundForced</item>
</style>
<!-- Theme required to apply M3 dialog style on preference screen -->
<style name="MwmTheme.M3.AlertDialog" parent="ThemeOverlay.Material3.MaterialAlertDialog">
<item name="dialogCornerRadius">28dp</item>
<item name="cornerFamily">rounded</item>
<item name="android:colorBackground">?attr/colorSurfaceContainerHigh</item>
<item name="android:layout">@layout/m3_alert_dialog</item>
</style>
</resources>

View File

@@ -27,8 +27,6 @@ import app.organicmaps.sdk.util.NetworkPolicy;
import app.organicmaps.sdk.util.log.Logger;
import org.chromium.base.ObserverList;
import java.util.HashMap;
public class LocationHelper implements BaseLocationProvider.Listener
{
private static final long INTERVAL_MS = 500;
@@ -58,12 +56,6 @@ public class LocationHelper implements BaseLocationProvider.Listener
private Handler mHandler;
private Runnable mLocationTimeoutRunnable = this::notifyLocationUpdateTimeout;
private static final double INTERVAL_PROVIDER_DECISION = 3.0; // seconds
private final HashMap<String, Integer> mProviderLocationCounts = new HashMap<>();
private final HashMap<String, Float> mProviderAccuracyMeans = new HashMap<>();
private double mTimeAtLastProviderChange = Double.NaN;
private String mCurrentProvider = null;
@NonNull
private final GnssStatusCompat.Callback mGnssStatusCallback = new GnssStatusCompat.Callback() {
@Override
@@ -195,6 +187,7 @@ public class LocationHelper implements BaseLocationProvider.Listener
@Override
public void onLocationChanged(@NonNull Location location)
{
Logger.d(TAG, "provider = " + mLocationProvider.getClass().getSimpleName() + " location = " + location);
if (!isActive())
{
@@ -208,59 +201,21 @@ public class LocationHelper implements BaseLocationProvider.Listener
return;
}
updateProviderDecision(location);
if(mCurrentProvider != null && !mCurrentProvider.equals(location.getProvider())) {
Logger.d(TAG, "REJECTED: provider = " + mLocationProvider.getClass().getSimpleName() + " location = " + location);
if (mSavedLocation != null)
{
if (!LocationUtils.isLocationBetterThanLast(location, mSavedLocation))
{
Logger.d(TAG, "The new " + location + " is worse than the last " + mSavedLocation);
return;
}
}
Logger.d(TAG, "provider = " + mLocationProvider.getClass().getSimpleName() + " location = " + location);
mSavedLocation = location;
mMyPosition = null;
notifyLocationUpdated();
}
private void updateProviderDecision(Location location) {
if(Double.isNaN(mTimeAtLastProviderChange))
mTimeAtLastProviderChange = location.getElapsedRealtimeNanos() * 1.0E-9;
String provider = location.getProvider();
int count = mProviderLocationCounts.getOrDefault(provider, 0);
float average = mProviderAccuracyMeans.getOrDefault(provider, 0.0f);
float accuracy = location.getAccuracy();
float newAverage = (count * average + accuracy) / (count + 1);
mProviderLocationCounts.put(provider, count + 1);
mProviderAccuracyMeans.put(provider, newAverage);
double currentTime = location.getElapsedRealtimeNanos();
double timeDiff = (currentTime - mTimeAtLastProviderChange) * 1.0E-9;
if(timeDiff > INTERVAL_PROVIDER_DECISION) {
mCurrentProvider = getMinAccuracyProvider();
Logger.d(TAG, "Selected: " + mCurrentProvider + ", with acc. " + mProviderAccuracyMeans.get(mCurrentProvider));
mTimeAtLastProviderChange = currentTime;
mProviderLocationCounts.clear();
mProviderAccuracyMeans.clear();
}
}
private String getMinAccuracyProvider() {
String minAccuracyProvider = null;
float minAccuracy = Float.MAX_VALUE;
for(String p : mProviderAccuracyMeans.keySet()) {
float pAccuracy = mProviderAccuracyMeans.get(p);
if(pAccuracy < minAccuracy) {
minAccuracy = pAccuracy;
minAccuracyProvider = p;
}
}
return minAccuracyProvider;
}
// Used by GoogleFusedLocationProvider.
// Used by GoogleFusedLocationProvider.
@SuppressWarnings("unused")
@Override
@UiThread

View File

@@ -20,8 +20,7 @@ public final class LocationState
}
@Retention(RetentionPolicy.SOURCE)
@IntDef({PENDING_POSITION, NOT_FOLLOW_NO_POSITION, NOT_FOLLOW, FOLLOW, FOLLOW_AND_ROTATE_COMPASS,
FOLLOW_AND_ROTATE_ROUTE})
@IntDef({PENDING_POSITION, NOT_FOLLOW_NO_POSITION, NOT_FOLLOW, FOLLOW, FOLLOW_AND_ROTATE})
@interface Value
{}
@@ -30,8 +29,7 @@ public final class LocationState
public static final int NOT_FOLLOW_NO_POSITION = 1;
public static final int NOT_FOLLOW = 2;
public static final int FOLLOW = 3;
public static final int FOLLOW_AND_ROTATE_COMPASS = 4;
public static final int FOLLOW_AND_ROTATE_ROUTE = 5;
public static final int FOLLOW_AND_ROTATE = 4;
// These constants should correspond to values defined in platform/location.hpp
// Leave 0-value as no any error.
@@ -71,8 +69,7 @@ public final class LocationState
case NOT_FOLLOW_NO_POSITION -> "NOT_FOLLOW_NO_POSITION";
case NOT_FOLLOW -> "NOT_FOLLOW";
case FOLLOW -> "FOLLOW";
case FOLLOW_AND_ROTATE_COMPASS -> "FOLLOW_AND_ROTATE_COMPASS";
case FOLLOW_AND_ROTATE_ROUTE -> "FOLLOW_AND_ROTATE_ROUTE";
case FOLLOW_AND_ROTATE -> "FOLLOW_AND_ROTATE";
default -> "Unknown: " + mode;
};
}

View File

@@ -81,6 +81,20 @@ public class LocationUtils
return location.getAccuracy() > 0.0f;
}
public static boolean isLocationBetterThanLast(@NonNull Location newLocation, @NonNull Location lastLocation)
{
if (newLocation.getElapsedRealtimeNanos() < lastLocation.getElapsedRealtimeNanos())
return false;
// As described in isAccuracySatisfied, GPS may have zero accuracy "for some reasons".
if (isFromGpsProvider(lastLocation) && lastLocation.getAccuracy() == 0.0f)
return true;
double speed = Math.max(DEFAULT_SPEED_MPS, (newLocation.getSpeed() + lastLocation.getSpeed()) / 2.0);
double lastAccuracy = lastLocation.getAccuracy() + speed * LocationUtils.getTimeDiff(lastLocation, newLocation);
return newLocation.getAccuracy() < lastAccuracy;
}
public static boolean areLocationServicesTurnedOn(@NonNull Context context)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)

View File

@@ -947,6 +947,9 @@
<string name="type.railway.monorail">Monorail</string>
<string name="type.railway.monorail.bridge">Monorail Bridge</string>
<string name="type.railway.monorail.tunnel">Monorail Tunnel</string>
<string name="type.railway.miniature">Miniature Railway</string>
<string name="type.railway.miniature.bridge">Miniature Railway Bridge</string>
<string name="type.railway.miniature.tunnel">Miniature Railway Tunnel</string>
<string name="type.railway.narrow_gauge">Narrow Gauge Rail</string>
<string name="type.railway.narrow_gauge.bridge">Narrow Gauge Rail Bridge</string>
<string name="type.railway.narrow_gauge.tunnel">Narrow Gauge Rail Tunnel</string>

File diff suppressed because it is too large Load Diff

View File

@@ -757,9 +757,9 @@ highway|track|grade5|permissive;[highway=track][tracktype=grade5][access=permiss
lateral|port;[seamark:buoy_lateral:category=port],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=tower],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=lattice],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=pile],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=buoyant];;;;632;
lateral|starboard;[seamark:buoy_lateral:category=starboard],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=tower],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=lattice],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=pile],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=buoyant];;;;633;
highway|tertiary_link|tunnel;[highway=tertiary_link][tunnel?];;name;int_name;634;
deprecated|deprecated;635;x
deprecated|deprecated;636;x
deprecated|deprecated;637;x
railway|miniature;635;
railway|miniature|bridge;[railway=miniature][bridge?];;name;int_name;636;
railway|miniature|tunnel;[railway=miniature][tunnel?];;name;int_name;637;
deprecated|deprecated;638;x
deprecated|deprecated;639;x
deprecated|deprecated;640;x
Can't render this file because it contains an unexpected character in line 7 and column 16.

View File

@@ -449,6 +449,7 @@ area|z13-[landuse=quarry],
area|z13-[power=plant],
area|z13-[power=substation],
area|z13-[power=generator],
area|z13-[man_made=wastewater_plant]
{fill-opacity: 1; fill-color: @industrial;}
area|z13-[landuse=construction],

View File

@@ -592,6 +592,7 @@ area|z15-[landuse=industrial],
area|z15-[landuse=construction],
area|z15-[landuse=railway],
area|z15-[landuse=quarry],
area|z15-[man_made=wastewater_plant],
node|z15-[landuse=industrial],
node|z15-[landuse=construction],
node|z15-[landuse=landfill],

View File

@@ -70,8 +70,16 @@ node[amenity=arts_centre],
node[amenity=community_centre],
node[amenity=conference_centre],
node[amenity=exhibition_centre],
node[amenity=place_of_worship]
node[amenity=place_of_worship],
node[amenity=social_facility],
node[historic=castle][castle_type=castrum],
node[historic=castle][castle_type=defensive],
node[historic=castle][castle_type=fortified_church],
node[historic=castle][castle_type=fortress],
node[historic=castle][castle_type=hillfort],
node[historic=castle][castle_type=kremlin],
node[historic=castle][castle_type=shiro],
node[historic=fortress],
node[historic=ship],
node[leisure=hackerspace],
node[social_facility],

View File

@@ -1195,6 +1195,7 @@ line|z14-[railway=monorail],
line|z15-[railway=narrow_gauge],
line|z15-[railway=construction],
line|z15-[railway=preserved],
line|z16-[railway=miniature],
line|z16-[railway=disused],
line|z16-[railway=abandoned],
{color: @railway; opacity: 0.7;}
@@ -1214,12 +1215,14 @@ line|z13-[railway=rail][bridge?]::bridgewhite,
line|z13-[railway=subway][bridge?]::bridgewhite,
line|z13-[railway=light_rail][bridge?]::bridgewhite,
line|z15-[railway=preserved][bridge?]::bridgewhite,
line|z16-[railway=miniature][bridge?]::bridgewhite,
line|z16-[railway=abandoned][bridge?]::bridgewhite,
{casing-linecap: butt;casing-color:@bridge_background;casing-opacity: 0.8;}
line|z16-[railway=rail][bridge?]::bridgeblack,
line|z16-[railway=subway][bridge?]::bridgeblack,
line|z16-[railway=light_rail][bridge?]::bridgeblack,
line|z16-[railway=preserved][bridge?]::bridgeblack,
line|z16-[railway=miniature][bridge?]::bridgeblack,
line|z16-[railway=abandoned][bridge?]::bridgeblack,
{casing-linecap: butt;casing-color:@bridge_casing;casing-opacity: 0.7;}
@@ -1370,6 +1373,7 @@ line|z18-[railway=light_rail][!tunnel]::dash,
line|z15-[railway=preserved],
line|z16-[railway=miniature],
line|z16-[railway=abandoned],
{width: 1.6;dashes: 6.3,6.3;}
@@ -1419,23 +1423,27 @@ line|z13-15[railway=rail][bridge?]::bridgewhite,
line|z13-15[railway=subway][bridge?]::bridgewhite,
line|z13-15[railway=light_rail][bridge?]::bridgewhite,
line|z15[railway=preserved][bridge?]::bridgewhite,
line|z16[railway=miniature][bridge?]::bridgewhite,
{casing-width-add: 1.2;}
line|z16[railway=rail][bridge?]::bridgewhite,
line|z16[railway=subway][bridge?]::bridgewhite,
line|z16[railway=light_rail][bridge?]::bridgewhite,
line|z16[railway=preserved][bridge?]::bridgewhite,
line|z16[railway=miniature][bridge?]::bridgewhite,
line|z16[railway=abandoned][bridge?]::bridgewhite,
{casing-width-add: 1.6;}
line|z17[railway=rail][bridge?]::bridgewhite,
line|z17[railway=subway][bridge?]::bridgewhite,
line|z17[railway=light_rail][bridge?]::bridgewhite,
line|z17[railway=preserved][bridge?]::bridgewhite,
line|z17[railway=miniature][bridge?]::bridgewhite,
line|z17[railway=abandoned][bridge?]::bridgewhite,
{casing-width-add: 2.3;}
line|z18-[railway=rail][bridge?]::bridgewhite,
line|z18-[railway=subway][bridge?]::bridgewhite,
line|z18-[railway=light_rail][bridge?]::bridgewhite,
line|z18-[railway=preserved][bridge?]::bridgewhite,
line|z18-[railway=miniature][bridge?]::bridgewhite,
line|z18-[railway=abandoned][bridge?]::bridgewhite,
{casing-width-add: 3.5;}
@@ -1443,18 +1451,21 @@ line|z16[railway=rail][bridge?]::bridgeblack,
line|z16[railway=subway][bridge?]::bridgeblack,
line|z16[railway=light_rail][bridge?]::bridgeblack,
line|z16[railway=preserved][bridge?]::bridgeblack,
line|z16[railway=miniature][bridge?]::bridgeblack,
line|z16[railway=abandoned][bridge?]::bridgeblack,
{casing-width-add: 2.2;}
line|z17[railway=rail][bridge?]::bridgeblack,
line|z17[railway=subway][bridge?]::bridgeblack,
line|z17[railway=light_rail][bridge?]::bridgeblack,
line|z17[railway=preserved][bridge?]::bridgeblack,
line|z17[railway=miniature][bridge?]::bridgeblack,
line|z17[railway=abandoned][bridge?]::bridgeblack,
{casing-width-add: 3;}
line|z18-[railway=rail][bridge?]::bridgeblack,
line|z18-[railway=subway][bridge?]::bridgeblack,
line|z18-[railway=light_rail][bridge?]::bridgeblack,
line|z18-[railway=preserved][bridge?]::bridgeblack,
line|z18-[railway=miniature][bridge?]::bridgeblack,
line|z18-[railway=abandoned][bridge?]::bridgeblack,
{casing-width-add: 4.4;}

View File

@@ -208,6 +208,7 @@ landuse-industrial # area z13- (also has captio
landuse-industrial-mine # area z13- (also has icon z15-, caption(optional) z15-)
landuse-quarry # area z13- (also has icon z15-, caption(optional) z15-)
landuse-railway # area z13- (also has caption z15-)
man_made-wastewater_plant # area z13- (also has caption z15-)
man_made-works # area z13- (also has icon z16-, caption(optional) z17-)
power-generator # area z13- (also has icon z17-)
power-generator-gas # area z13- (also has icon z17-)

View File

@@ -299,6 +299,9 @@ railway-abandoned-bridge # line z16- (also has line::
railway-abandoned-tunnel # line z16-
railway-construction # line z15-
railway-disused # line z16-
railway-miniature # line z16-
railway-miniature-bridge # line z16- (also has line::bridgeblack z16-, line::bridgewhite z16-)
railway-miniature-tunnel # line z16-
railway-preserved # line z15-
railway-preserved-bridge # line z15- (also has line::bridgeblack z16-, line::bridgewhite z15-)
railway-preserved-tunnel # line z15-
@@ -352,6 +355,7 @@ highway-trunk_link-bridge::bridgewhite # line::bridgewhite z14- (al
highway-unclassified-bridge::bridgewhite # line::bridgewhite z14- (also has line z11-, line::bridgeblack z14-, pathtext z13-)
railway-abandoned-bridge::bridgewhite # line::bridgewhite z16- (also has line z16-, line::bridgeblack z16-)
railway-light_rail-bridge::bridgewhite # line::bridgewhite z13- (also has line z13-, line::bridgeblack z16-, line::dash z16-)
railway-miniature-bridge::bridgewhite # line::bridgewhite z16- (also has line z16-, line::bridgeblack z16-)
railway-preserved-bridge::bridgewhite # line::bridgewhite z15- (also has line z15-, line::bridgeblack z16-)
railway-rail-branch-bridge::bridgewhite # line::bridgewhite z13- (also has line z11-, line::bridgeblack z16-, line::dash z16-)
railway-rail-bridge::bridgewhite # line::bridgewhite z13- (also has line z11-, line::bridgeblack z16-, line::dash z16-)
@@ -388,6 +392,7 @@ highway-trunk_link-bridge::bridgeblack # line::bridgeblack z14- (al
highway-unclassified-bridge::bridgeblack # line::bridgeblack z14- (also has line z11-, line::bridgewhite z14-, pathtext z13-)
railway-abandoned-bridge::bridgeblack # line::bridgeblack z16- (also has line z16-, line::bridgewhite z16-)
railway-light_rail-bridge::bridgeblack # line::bridgeblack z16- (also has line z13-, line::bridgewhite z13-, line::dash z16-)
railway-miniature-bridge::bridgeblack # line::bridgeblack z16- (also has line z16-, line::bridgewhite z16-)
railway-preserved-bridge::bridgeblack # line::bridgeblack z16- (also has line z15-, line::bridgewhite z15-)
railway-rail-branch-bridge::bridgeblack # line::bridgeblack z16- (also has line z11-, line::bridgewhite z13-, line::dash z16-)
railway-rail-bridge::bridgeblack # line::bridgeblack z16- (also has line z11-, line::bridgewhite z13-, line::dash z16-)

View File

@@ -1374,6 +1374,7 @@ leisure-slipway # icon z17- (also has captio
leisure-track # caption z16- (also has line z15-)
leisure-track-area # caption z16- (also has area z15-)
man_made-petroleum_well # icon z17- (also has caption(optional) z18-)
man_made-wastewater_plant # caption z15- (also has area z13-)
power-generator # icon z17- (also has area z13-)
power-generator-gas # icon z17- (also has area z13-)
power-generator-hydro # icon z17- (also has area z13-)

View File

@@ -552,14 +552,17 @@ line|z18-[railway=rail][service=service]::dash,
line|z13-[railway=construction],
line|z13-[railway=preserved],
line|z13-[railway=miniature],
line|z13-[railway=disused],
line|z13-[railway=abandoned],
{color: @railway; opacity:1;}
line|z13-[railway=preserved],
line|z13-[railway=miniature],
line|z13-[railway=abandoned]
{width: 1.6; dashes: 6.3,6.3;}
line|z16-[railway=preserved],
line|z16-[railway=miniature],
line|z16-[railway=abandoned]
{width: 2.2; dashes: 8,8;}

View File

@@ -208,6 +208,7 @@ landuse-industrial # area z13- (also has captio
landuse-industrial-mine # area z13- (also has icon z15-, caption(optional) z15-)
landuse-quarry # area z13- (also has icon z15-, caption(optional) z15-)
landuse-railway # area z13- (also has caption z15-)
man_made-wastewater_plant # area z13- (also has caption z15-)
man_made-works # area z13- (also has icon z16-, caption(optional) z17-)
power-generator # area z13- (also has icon z17-)
power-generator-gas # area z13- (also has icon z17-)

View File

@@ -301,6 +301,9 @@ railway-abandoned-bridge # line z13- (also has line::
railway-abandoned-tunnel # line z13-
railway-construction # line z13-
railway-disused # line z13-
railway-miniature # line z13-
railway-miniature-bridge # line z13- (also has line::bridgeblack z16-, line::bridgewhite z16-)
railway-miniature-tunnel # line z13-
railway-preserved # line z13-
railway-preserved-bridge # line z13- (also has line::bridgeblack z16-, line::bridgewhite z15-)
railway-preserved-tunnel # line z13-
@@ -354,6 +357,7 @@ highway-trunk_link-bridge::bridgewhite # line::bridgewhite z14- (al
highway-unclassified-bridge::bridgewhite # line::bridgewhite z14- (also has line z11-, line::bridgeblack z14-, pathtext z13-)
railway-abandoned-bridge::bridgewhite # line::bridgewhite z16- (also has line z13-, line::bridgeblack z16-)
railway-light_rail-bridge::bridgewhite # line::bridgewhite z13- (also has line z13-, line::bridgeblack z16-, line::dash z16-)
railway-miniature-bridge::bridgewhite # line::bridgewhite z16- (also has line z13-, line::bridgeblack z16-)
railway-preserved-bridge::bridgewhite # line::bridgewhite z15- (also has line z13-, line::bridgeblack z16-)
railway-rail-branch-bridge::bridgewhite # line::bridgewhite z13- (also has line z10-, line::bridgeblack z16-, line::dash z15-)
railway-rail-bridge::bridgewhite # line::bridgewhite z13- (also has line z10-, line::bridgeblack z16-, line::dash z15-)
@@ -390,6 +394,7 @@ highway-trunk_link-bridge::bridgeblack # line::bridgeblack z14- (al
highway-unclassified-bridge::bridgeblack # line::bridgeblack z14- (also has line z11-, line::bridgewhite z14-, pathtext z13-)
railway-abandoned-bridge::bridgeblack # line::bridgeblack z16- (also has line z13-, line::bridgewhite z16-)
railway-light_rail-bridge::bridgeblack # line::bridgeblack z16- (also has line z13-, line::bridgewhite z13-, line::dash z16-)
railway-miniature-bridge::bridgeblack # line::bridgeblack z16- (also has line z13-, line::bridgewhite z16-)
railway-preserved-bridge::bridgeblack # line::bridgeblack z16- (also has line z13-, line::bridgewhite z15-)
railway-rail-branch-bridge::bridgeblack # line::bridgeblack z16- (also has line z10-, line::bridgewhite z13-, line::dash z15-)
railway-rail-bridge::bridgeblack # line::bridgeblack z16- (also has line z10-, line::bridgewhite z13-, line::dash z15-)

View File

@@ -1377,6 +1377,7 @@ leisure-slipway # icon z17- (also has captio
leisure-track # caption z16- (also has line z15-)
leisure-track-area # caption z16- (also has area z15-)
man_made-petroleum_well # icon z14- (also has caption(optional) z18-)
man_made-wastewater_plant # caption z15- (also has area z13-)
power-generator # icon z17- (also has area z13-)
power-generator-gas # icon z17- (also has area z13-)
power-generator-hydro # icon z17- (also has area z13-)

View File

@@ -310,6 +310,7 @@ area|z15-[landuse=quarry],
area|z15-[power=plant],
area|z15-[power=substation],
area|z15-[power=generator],
area|z15-[man_made=wastewater_plant],
{fill-opacity: 1; fill-color: @industrial;}
area|z15-[landuse=construction],

View File

@@ -720,6 +720,7 @@ line|z15-[railway=narrow_gauge],
line|z16-[railway=construction],
line|z16-[railway=disused],
line|z16-[railway=preserved],
line|z16-[railway=miniature],
line|z16-[railway=abandoned],
{color: @railway; opacity: 0.6;}
@@ -740,6 +741,7 @@ line|z14-[railway=rail][bridge?]::bridgewhite,
line|z14-[railway=subway][bridge?]::bridgewhite,
line|z14-[railway=light_rail][bridge?]::bridgewhite,
line|z16-[railway=preserved][bridge?]::bridgewhite,
line|z16-[railway=miniature][bridge?]::bridgewhite,
line|z16-[railway=abandoned][bridge?]::bridgewhite,
line|z16-[railway=tram][bridge?]::bridgewhite,
{casing-linecap: butt;casing-color:@bridge_background; opacity: 0.8;}
@@ -747,6 +749,7 @@ line|z16-[railway=rail][bridge?]::bridgeblack,
line|z16-[railway=subway][bridge?]::bridgeblack,
line|z16-[railway=light_rail][bridge?]::bridgeblack,
line|z16-[railway=preserved][bridge?]::bridgeblack,
line|z16-[railway=miniature][bridge?]::bridgeblack,
line|z16-[railway=abandoned][bridge?]::bridgeblack,
line|z16-[railway=tram][bridge?]::bridgeblack,
{casing-linecap: butt;casing-color:@bridge_casing; opacity: 0.6;}
@@ -910,6 +913,7 @@ line|z19-[railway=light_rail][!tunnel]::dash,
line|z16-[railway=preserved],
line|z16-[railway=miniature],
line|z16-[railway=abandoned]
{width: 1.6;dashes: 6.3,6.3;}
@@ -945,18 +949,21 @@ line|z16[railway=rail][bridge?]::bridgewhite,
line|z16[railway=subway][bridge?]::bridgewhite,
line|z16[railway=light_rail][bridge?]::bridgewhite,
line|z16[railway=preserved][bridge?]::bridgewhite,
line|z16[railway=miniature][bridge?]::bridgewhite,
line|z16[railway=abandoned][bridge?]::bridgewhite,
{casing-width-add: 1.6;}
line|z17[railway=rail][bridge?]::bridgewhite,
line|z17[railway=subway][bridge?]::bridgewhite,
line|z17[railway=light_rail][bridge?]::bridgewhite,
line|z17[railway=preserved][bridge?]::bridgewhite,
line|z17[railway=miniature][bridge?]::bridgewhite,
line|z17[railway=abandoned][bridge?]::bridgewhite,
{casing-width-add: 2.3;}
line|z18-[railway=rail][bridge?]::bridgewhite,
line|z18-[railway=subway][bridge?]::bridgewhite,
line|z18-[railway=light_rail][bridge?]::bridgewhite,
line|z18-[railway=preserved][bridge?]::bridgewhite,
line|z18-[railway=miniature][bridge?]::bridgewhite,
line|z18-[railway=abandoned][bridge?]::bridgewhite,
{casing-width-add: 3.5;}
@@ -964,18 +971,21 @@ line|z16[railway=rail][bridge?]::bridgeblack,
line|z16[railway=subway][bridge?]::bridgeblack,
line|z16[railway=light_rail][bridge?]::bridgeblack,
line|z16[railway=preserved][bridge?]::bridgeblack,
line|z16[railway=miniature][bridge?]::bridgeblack,
line|z16[railway=abandoned][bridge?]::bridgeblack,
{casing-width-add: 2.2;}
line|z17[railway=rail][bridge?]::bridgeblack,
line|z17[railway=subway][bridge?]::bridgeblack,
line|z17[railway=light_rail][bridge?]::bridgeblack,
line|z17[railway=preserved][bridge?]::bridgeblack,
line|z17[railway=miniature][bridge?]::bridgeblack,
line|z17[railway=abandoned][bridge?]::bridgeblack,
{casing-width-add: 3;}
line|z18-[railway=rail][bridge?]::bridgeblack,
line|z18-[railway=subway][bridge?]::bridgeblack,
line|z18-[railway=light_rail][bridge?]::bridgeblack,
line|z18-[railway=preserved][bridge?]::bridgeblack,
line|z18-[railway=miniature][bridge?]::bridgeblack,
line|z18-[railway=abandoned][bridge?]::bridgeblack,
{casing-width-add: 4.4;}

View File

@@ -110,6 +110,7 @@ landuse-industrial-mine # area z15-
landuse-landfill # area z15- (also has caption z15-)
landuse-quarry # area z15- (also has caption z15-)
landuse-railway # area z15- (also has caption z15-)
man_made-wastewater_plant # area z15-
man_made-works # area z15-
power-generator # area z15-
power-generator-gas # area z15-

View File

@@ -276,6 +276,9 @@ railway-abandoned-bridge # line z16- (also has line::
railway-abandoned-tunnel # line z16-
railway-construction # line z16-
railway-disused # line z16-
railway-miniature # line z16-
railway-miniature-bridge # line z16- (also has line::bridgeblack z16-, line::bridgewhite z16-)
railway-miniature-tunnel # line z16-
railway-preserved # line z16-
railway-preserved-bridge # line z16- (also has line::bridgeblack z16-, line::bridgewhite z16-)
railway-preserved-tunnel # line z16-
@@ -295,6 +298,7 @@ highway-trunk_link-bridge::bridgewhite # line::bridgewhite z14- (al
highway-unclassified-bridge::bridgewhite # line::bridgewhite z14- (also has line z11-, line::bridgeblack z14-, pathtext z14-)
railway-abandoned-bridge::bridgewhite # line::bridgewhite z16- (also has line z16-, line::bridgeblack z16-)
railway-light_rail-bridge::bridgewhite # line::bridgewhite z14- (also has line z13-, line::bridgeblack z16-, line::dash z16-)
railway-miniature-bridge::bridgewhite # line::bridgewhite z16- (also has line z16-, line::bridgeblack z16-)
railway-preserved-bridge::bridgewhite # line::bridgewhite z16- (also has line z16-, line::bridgeblack z16-)
railway-rail-branch-bridge::bridgewhite # line::bridgewhite z14- (also has line z11-, line::bridgeblack z16-, line::dash z16-)
railway-rail-bridge::bridgewhite # line::bridgewhite z14- (also has line z11-, line::bridgeblack z16-, line::dash z16-)
@@ -321,6 +325,7 @@ highway-trunk_link-bridge::bridgeblack # line::bridgeblack z14- (al
highway-unclassified-bridge::bridgeblack # line::bridgeblack z14- (also has line z11-, line::bridgewhite z14-, pathtext z14-)
railway-abandoned-bridge::bridgeblack # line::bridgeblack z16- (also has line z16-, line::bridgewhite z16-)
railway-light_rail-bridge::bridgeblack # line::bridgeblack z16- (also has line z13-, line::bridgewhite z14-, line::dash z16-)
railway-miniature-bridge::bridgeblack # line::bridgeblack z16- (also has line z16-, line::bridgewhite z16-)
railway-preserved-bridge::bridgeblack # line::bridgeblack z16- (also has line z16-, line::bridgewhite z16-)
railway-rail-branch-bridge::bridgeblack # line::bridgeblack z16- (also has line z11-, line::bridgewhite z14-, line::dash z16-)
railway-rail-bridge::bridgeblack # line::bridgeblack z16- (also has line z11-, line::bridgewhite z14-, line::dash z16-)

View File

@@ -111,6 +111,21 @@ sudo apk add \
sqlite-dev
```
#### Void
```bash
xbps-install -S \
wget \
optipng \
cmake \
ninja \
qt6-base-devel \
qt6-svg-devel \
qt6-position-devel \
python3-pip
pip3 install "protobuf<3.21" --break-system-packages
```
#### macOS
```bash

View File

@@ -18,7 +18,13 @@ Owners of the CoMaps team and repositories on Codeberg
- [@comaps/admins](https://codeberg.org/org/comaps/teams/admins)
- Administrators of different repositories on Codeberg
Administrators of different repositories on Codeberg
## Mergers
- [compaps/mergers](https://codeberg.org/org/comaps/teams/mergers)
Contributors who have merge permissions on CoMaps repositories, can do "official reviews" (those that count towards PR approvals), and can create branches/tags.
## Android

View File

@@ -151,7 +151,7 @@ public:
// Set speed as-is from parent link.
if (parentHwType == hwType)
return {{s.GetForward(), s.GetUnits()}};
/* Commenting this part out as an attempt to solve displayed (and inexistent) max speed in highway links (https://codeberg.org/comaps/comaps/issues/1000)
using routing::HighwayType;
if ((*parentHwType == HighwayType::HighwayMotorway && hwType == HighwayType::HighwayMotorwayLink) ||
(*parentHwType == HighwayType::HighwayTrunk && hwType == HighwayType::HighwayTrunkLink) ||
@@ -163,6 +163,7 @@ public:
return converter.ClosestValidMacro(
{base::asserted_cast<MaxspeedType>(std::lround(s.GetForward() * kLinkToMainSpeedFactor)), s.GetUnits()});
}
*/
return {};
};

View File

@@ -239,7 +239,7 @@ final class CarPlayService: NSObject {
MapTemplateBuilder.configureBaseUI(mapTemplate: mapTemplate)
if currentPositionMode == .pendingPosition {
mapTemplate.leadingNavigationBarButtons = []
} else if currentPositionMode == .follow || currentPositionMode == .followAndRotateCompass || currentPositionMode == .followAndRotateRoute {
} else if currentPositionMode == .follow || currentPositionMode == .followAndRotate {
MapTemplateBuilder.setupDestinationButton(mapTemplate: mapTemplate)
} else {
MapTemplateBuilder.setupRecenterButton(mapTemplate: mapTemplate)
@@ -623,32 +623,22 @@ extension CarPlayService: CarPlayRouterListener {
extension CarPlayService: LocationModeListener {
func processMyPositionStateModeEvent(_ mode: MWMMyPositionMode) {
currentPositionMode = mode
// make sure we have a rootMapTemplate
guard let rootMapTemplate = rootMapTemplate else {
return
}
// exit if we're navigating
guard let info = rootMapTemplate.userInfo as? MapInfo,
info.type == CPConstants.TemplateType.main else {
MapTemplateBuilder.updateMyPositionModeButton(mapTemplate: rootMapTemplate, newMode: mode)
guard let rootMapTemplate = rootMapTemplate,
let info = rootMapTemplate.userInfo as? MapInfo,
info.type == CPConstants.TemplateType.main else {
return
}
switch mode {
case .follow, .followAndRotateCompass, .followAndRotateRoute:
case .follow, .followAndRotate:
if !rootMapTemplate.isPanningInterfaceVisible {
MapTemplateBuilder.setupDestinationButton(mapTemplate: rootMapTemplate)
MapTemplateBuilder.updateMyPositionModeButton(mapTemplate: rootMapTemplate, newMode: mode)
}
case .notFollow:
if !rootMapTemplate.isPanningInterfaceVisible {
MapTemplateBuilder.setupRecenterButton(mapTemplate: rootMapTemplate)
MapTemplateBuilder.updateMyPositionModeButton(mapTemplate: rootMapTemplate, newMode: mode)
}
case .pendingPosition, .notFollowNoPosition:
rootMapTemplate.leadingNavigationBarButtons = []
MapTemplateBuilder.updateMyPositionModeButton(mapTemplate: rootMapTemplate, newMode: mode)
}
}
}

View File

@@ -5,7 +5,6 @@ final class MapTemplateBuilder {
case startPanning
case zoomIn
case zoomOut
case myPositionMode
}
enum BarButtonType {
case dismissPaning
@@ -29,7 +28,7 @@ final class MapTemplateBuilder {
configureBaseUI(mapTemplate: mapTemplate)
if positionMode == .pendingPosition {
mapTemplate.leadingNavigationBarButtons = []
} else if positionMode == .follow || positionMode == .followAndRotateCompass || positionMode == .followAndRotateRoute {
} else if positionMode == .follow || positionMode == .followAndRotate {
setupDestinationButton(mapTemplate: mapTemplate)
} else {
setupRecenterButton(mapTemplate: mapTemplate)
@@ -70,10 +69,7 @@ final class MapTemplateBuilder {
let zoomOutButton = buildMapButton(type: .zoomOut) { _ in
FrameworkHelper.zoomMap(.out)
}
let myPositionModeButton = buildMapButton(type: .myPositionMode) { _ in
FrameworkHelper.switchMyPositionMode()
}
mapTemplate.mapButtons = [myPositionModeButton, panningButton, zoomInButton, zoomOutButton]
mapTemplate.mapButtons = [panningButton, zoomInButton, zoomOutButton]
let settingsButton = buildBarButton(type: .settings) { _ in
let gridTemplate = SettingsTemplateBuilder.buildGridTemplate()
@@ -103,10 +99,7 @@ final class MapTemplateBuilder {
let panningButton = buildMapButton(type: .startPanning) { _ in
mapTemplate.showPanningInterface(animated: true)
}
let myPositionModeButton = buildMapButton(type: .myPositionMode) { _ in
FrameworkHelper.switchMyPositionMode()
}
mapTemplate.mapButtons = [myPositionModeButton, panningButton]
mapTemplate.mapButtons = [panningButton]
setupMuteAndRedirectButtons(template: mapTemplate)
let endButton = buildBarButton(type: .endRoute) { _ in
CarPlayService.shared.cancelCurrentTrip()
@@ -124,28 +117,6 @@ final class MapTemplateBuilder {
mapTemplate.leadingNavigationBarButtons = [destinationButton]
}
class func updateMyPositionModeButton(mapTemplate: CPMapTemplate, newMode: MWMMyPositionMode) {
let button = CPMapButton(handler: { _ in
FrameworkHelper.switchMyPositionMode()
})
switch newMode {
case .pendingPosition:
button.image = UIImage(systemName: "location.fill")
case .notFollowNoPosition:
button.image = UIImage(systemName: "location")
case .notFollow:
button.image = UIImage(systemName: "location")
case .follow:
button.image = UIImage(systemName: "location.fill")
case .followAndRotate:
button.image = UIImage(systemName: "location.north.line.fill")
}
if mapTemplate.mapButtons.count > 0 {
mapTemplate.mapButtons[0] = button
}
}
class func setupRecenterButton(mapTemplate: CPMapTemplate) {
let recenterButton = buildBarButton(type: .recenter) { _ in
FrameworkHelper.switchMyPositionMode()
@@ -195,8 +166,6 @@ final class MapTemplateBuilder {
button.image = UIImage(systemName: "plus")
case .zoomOut:
button.image = UIImage(systemName: "minus")
case .myPositionMode:
button.image = UIImage(systemName: "location")
}
// Remove code below once Apple has fixed its issue with the button background
if #unavailable(iOS 26) {
@@ -207,8 +176,6 @@ final class MapTemplateBuilder {
button.focusedImage = UIImage(systemName: "plus.circle.fill")
case .zoomOut:
button.focusedImage = UIImage(systemName: "minus.circle.fill")
case .myPositionMode:
button.image = UIImage(systemName: "location.fill")
}
}
return button

View File

@@ -91,8 +91,7 @@ NSString * const kUDDidShowLongTapToShowSideButtonsToast = @"kUDDidShowLongTapTo
case MWMMyPositionModeNotFollow:
case MWMMyPositionModeNotFollowNoPosition: [locBtn setStyleNameAndApply: @"ButtonGetPosition"]; break;
case MWMMyPositionModeFollow: [locBtn setStyleNameAndApply: @"ButtonFollow"]; break;
case MWMMyPositionModeFollowAndRotateCompass: [locBtn setStyleNameAndApply: @"ButtonFollowAndRotateCompass"]; break;
case MWMMyPositionModeFollowAndRotateRoute: [locBtn setStyleNameAndApply: @"ButtonFollowAndRotateRoute"]; break;
case MWMMyPositionModeFollowAndRotate: [locBtn setStyleNameAndApply: @"ButtonFollowAndRotate"]; break;
}
}

View File

@@ -632,8 +632,7 @@ NSString *const kAboutSegue = @"Map2About";
case MWMMyPositionModeNotFollow:
break;
case MWMMyPositionModeFollow:
case MWMMyPositionModeFollowAndRotateCompass:
case MWMMyPositionModeFollowAndRotateRoute:
case MWMMyPositionModeFollowAndRotate:
self.disableStandbyOnLocationStateMode = YES;
break;
}

View File

@@ -32,8 +32,7 @@ static inline MWMMyPositionMode mwmMyPositionMode(location::EMyPositionMode mode
case location::EMyPositionMode::NotFollowNoPosition: return MWMMyPositionModeNotFollowNoPosition;
case location::EMyPositionMode::NotFollow: return MWMMyPositionModeNotFollow;
case location::EMyPositionMode::Follow: return MWMMyPositionModeFollow;
case location::EMyPositionMode::FollowAndRotateCompass: return MWMMyPositionModeFollowAndRotateCompass;
case location::EMyPositionMode::FollowAndRotateRoute: return MWMMyPositionModeFollowAndRotateRoute;
case location::EMyPositionMode::FollowAndRotate: return MWMMyPositionModeFollowAndRotate;
}
}
} // namespace location_helpers

View File

@@ -50,8 +50,7 @@ std::string DebugPrint(MWMMyPositionMode mode) {
case MWMMyPositionModeNotFollowNoPosition: return "MWMMyPositionModeNotFollowNoPosition";
case MWMMyPositionModeNotFollow: return "MWMMyPositionModeNotFollow";
case MWMMyPositionModeFollow: return "MWMMyPositionModeFollow";
case MWMMyPositionModeFollowAndRotateCompass: return "MWMMyPositionModeFollowAndRotateCompass";
case MWMMyPositionModeFollowAndRotateRoute: return "MWMMyPositionModeFollowAndRotateRoute";
case MWMMyPositionModeFollowAndRotate: return "MWMMyPositionModeFollowAndRotate";
}
CHECK(false, ("Unsupported value", static_cast<int>(mode)));
}
@@ -368,8 +367,7 @@ void setShowLocationAlert(BOOL needShow) {
case MWMMyPositionModeNotFollowNoPosition:
case MWMMyPositionModeNotFollow: manager.geoMode = GeoMode::NotInPosition; break;
case MWMMyPositionModeFollow: manager.geoMode = GeoMode::InPosition; break;
case MWMMyPositionModeFollowAndRotateCompass:
case MWMMyPositionModeFollowAndRotateRoute: manager.geoMode = GeoMode::FollowAndRotate; break;
case MWMMyPositionModeFollowAndRotate: manager.geoMode = GeoMode::FollowAndRotate; break;
}
}
}

View File

@@ -30,7 +30,7 @@ NSUInteger constexpr kMaxPredictionCount = 20;
- (void)setMyPositionMode:(MWMMyPositionMode)mode
{
self.isLastPositionModeValid = (mode == MWMMyPositionModeFollowAndRotateCompass);
self.isLastPositionModeValid = (mode == MWMMyPositionModeFollowAndRotate);
[self restart];
}

View File

@@ -3,6 +3,5 @@ typedef NS_CLOSED_ENUM(NSUInteger, MWMMyPositionMode) {
MWMMyPositionModeNotFollowNoPosition,
MWMMyPositionModeNotFollow,
MWMMyPositionModeFollow,
MWMMyPositionModeFollowAndRotateCompass,
MWMMyPositionModeFollowAndRotateRoute
MWMMyPositionModeFollowAndRotate
};

View File

@@ -41,14 +41,13 @@ final class ThemeManager: NSObject {
}
}(actualTheme)
let isCarPlayActive = CarPlayService.shared.isCarplayActivated
if !isCarPlayActive, Settings.mapAppearance == .light {
if Settings.mapAppearance == .light {
if actualTheme == .vehicleDay || actualTheme == .vehicleNight {
FrameworkHelper.setTheme(.vehicleDay)
} else {
FrameworkHelper.setTheme(.day)
}
} else if !isCarPlayActive, Settings.mapAppearance == .dark {
} else if Settings.mapAppearance == .dark {
if actualTheme == .vehicleDay || actualTheme == .vehicleNight {
FrameworkHelper.setTheme(.vehicleNight)
} else {

View File

@@ -7,8 +7,7 @@ enum MapStyleSheet: String, CaseIterable {
case mapButtonPending = "ButtonPending"
case mapButtonGetPosition = "ButtonGetPosition"
case mapButtonFollow = "ButtonFollow"
case mapButtonFollowAndRotateCompass = "ButtonFollowAndRotateCompass"
case mapButtonFollowAndRotateRoute = "ButtonFollowAndRotateRoute"
case mapButtonFollowAndRotate = "ButtonFollowAndRotate"
case mapButtonMapBookmarks = "ButtonMapBookmarks"
case mapPromoDiscoveryButton = "PromoDiscroveryButton"
case mapButtonBookmarksBack = "ButtonBookmarksBack"
@@ -68,14 +67,10 @@ extension MapStyleSheet: IStyleSheet {
return .add { s in
s.mwmImage = "btn_follow"
}
case .mapButtonFollowAndRotateCompass:
case .mapButtonFollowAndRotate:
return .add { s in
s.mwmImage = "btn_follow_and_rotate"
}
case .mapButtonFollowAndRotateRoute:
return .add { s in
s.mwmImage = "btn_follow_route"
}
case .mapButtonMapBookmarks:
return .add { s in
s.mwmImage = "ic_routing_bookmark"

View File

@@ -1,6 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
"version" : 1,
"author" : "xcode"
}
}
}

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "btn_follow_route_dark.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "btn_follow_route_highlighted_dark.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Some files were not shown because too many files have changed in this diff Show More