Compare commits

..

12 Commits

Author SHA1 Message Date
Jean-Baptiste
88a7a7ddbf [android] Use M3 dark background in the app
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-01 08:49:29 +01:00
Jean-Baptiste
008a785564 [android] Update Android dependencies
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-01 07:21:26 +01:00
Jean-Baptiste
a62f9470ec Update copyright of the project
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2026-01-01 00:05:22 +01:00
zyphlar
bfe65e0de0 change date format
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
2025-12-31 19:31:51 +01:00
zyphlar
eee0401a66 update cdn setup for apache
Signed-off-by: zyphlar <zyphlar@noreply.codeberg.org>
2025-12-31 19:31:51 +01:00
Jean-Baptiste
4226e2f999 [android] Fix wrong text style
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-31 19:29:43 +01:00
ldcuof
94bcd5f366 [styles] Replace unpaved warning icon with new one
Signed-off-by: ldcuof <ldcuof@noreply.codeberg.org>
2025-12-31 19:28:43 +01:00
x7z4w
1b64151aee [cmake] Use default linker
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-12-31 19:12:27 +01:00
Jean-Baptiste
899df496ba [android] Rework some styles text
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-30 20:57:03 +01:00
Jean-Baptiste
47f959ec07 [android] Show error message behind text field instead in a floating view
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-30 20:56:46 +01:00
Jean-Baptiste
6e8a0f22e6 [android] Improve color of icons in settings
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-30 20:47:00 +01:00
Jean-Baptiste
2a2007a473 [android] Move url translations to do not translate file
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-30 18:06:24 +01:00
85 changed files with 184 additions and 209 deletions

View File

@@ -28,13 +28,7 @@ jobs:
- uses: actions/cache@v4
with:
path: "~"
key: cache-${{ github.run_id }}-${{ github.run_attempt }}}
- name: Checkout main repo
shell: bash
run: |
echo "Cloning $FORGEJO_SERVER_URL/$FORGEJO_REPOSITORY branch $FORGEJO_REF_NAME"
cd ~
git clone --depth 1 --recurse-submodules --shallow-submodules -b $FORGEJO_REF_NAME --single-branch $FORGEJO_SERVER_URL/$FORGEJO_REPOSITORY.git comaps
key: cache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Checkout subways repo
shell: bash
run: |

View File

@@ -116,20 +116,6 @@ endif()
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
if (PLATFORM_LINUX OR PLATFORM_ANDROID)
find_program(LLD_FOUND ld.lld)
if (LLD_FOUND)
message(STATUS "Using ld.lld linker")
set(CMAKE_EXE_LINKER_FLAGS "-fuse-ld=lld")
else()
find_program(GOLD_FOUND ld.gold)
if (GOLD_FOUND)
message(STATUS "Using ld.gold")
set(CMAKE_EXE_LINKER_FLAGS "-fuse-ld=gold")
endif()
endif()
endif()
if (NOT SKIP_TESTS)
enable_testing()
# Enables ctest -T memcheck with valgrind

2
NOTICE
View File

@@ -1,6 +1,6 @@
Copyright 2020 My.com B.V. (Mail.Ru Group)
Copyright 2025 Organic Maps Contributors
Copyright 2025 CoMaps Contributors
Copyright 2026 CoMaps Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@@ -351,6 +351,7 @@ dependencies {
implementation libs.androidx.recyclerview
implementation libs.androidx.work.runtime
implementation libs.androidx.lifecycle.process
implementation libs.androidx.documentfile
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

@@ -152,7 +152,7 @@ public class EditTextDialogFragment extends BaseMwmDialogFragment
if (mInputValidator != null)
{
final String maybeError = mInputValidator.validate(activity, input);
mEtInputLayout.getEditText().setError(maybeError);
mEtInputLayout.setError(maybeError);
mEtInputLayout.requestFocus();
return maybeError == null;
}

View File

@@ -196,10 +196,8 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe
{
final Context context = mInputBuildingLevels.getContext();
final boolean isValid = Editor.nativeIsLevelValid(s.toString());
UiUtils.setInputError(mInputBuildingLevels,
isValid ? null
: context.getString(R.string.error_enter_correct_storey_number,
Editor.nativeGetMaxEditableBuildingLevels()));
mInputBuildingLevels.setError(isValid ? null : context.getString(R.string.error_enter_correct_storey_number,
Editor.nativeGetMaxEditableBuildingLevels()));
}
});

View File

@@ -24,7 +24,6 @@ import androidx.annotation.ColorInt;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import androidx.core.content.ContextCompat;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.WindowCompat;
@@ -209,15 +208,7 @@ public final class UiUtils
}
public static void setInputError(@NonNull TextInputLayout layout, @StringRes int error)
{
setInputError(layout, error == 0 ? null : layout.getContext().getString(error));
}
public static void setInputError(@NonNull TextInputLayout layout, String error)
{
layout.getEditText().setError(error);
layout.getEditText().setTextColor(error == null
? ThemeUtils.getColor(layout.getContext(), android.R.attr.textColorPrimary)
: ContextCompat.getColor(layout.getContext(), R.color.base_red));
layout.setError(error == 0 ? null : layout.getContext().getString(error));
}
public static void setFullscreen(@NonNull Activity activity, boolean fullscreen)

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M80,360v-160q0,-33 23.5,-56.5T160,120h640q33,0 56.5,23.5T880,200v160h-80v-160L160,200v160L80,360ZM160,720q-33,0 -56.5,-23.5T80,640v-200h80v200h640v-200h80v200q0,33 -23.5,56.5T800,720L160,720ZM40,840v-80h880v80L40,840ZM480,420ZM80,440v-80h240q11,0 21,6t15,16l47,93 123,-215q5,-9 14,-14.5t20,-5.5q11,0 21,5.5t15,16.5l49,98h235v80L620,440q-11,0 -21,-5.5T584,418l-26,-53 -123,215q-5,10 -15,15t-21,5q-11,0 -20.5,-6T364,578l-69,-138L80,440Z"
android:fillColor="#fff"/>

View File

@@ -1,5 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:tint="?colorControlNormal"
android:tint="?iconTint"
android:height="24dp"
android:width="24dp"
android:viewportHeight="960"

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M480,840q-150,0 -255,-105T120,480q0,-150 105,-255t255,-105q14,0 27.5,1t26.5,3q-41,29 -65.5,75.5T444,300q0,90 63,153t153,63q55,0 101,-24.5t75,-65.5q2,13 3,26.5t1,27.5q0,150 -105,255T480,840ZM480,760q88,0 158,-48.5T740,585q-20,5 -40,8t-40,3q-123,0 -209.5,-86.5T364,300q0,-20 3,-40t8,-40q-78,32 -126.5,102T200,480q0,116 82,198t198,82ZM470,490Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M19,9h-4v-6h-6v6h-4l7,7 7,-7ZM5,18v2h14v-2h-14Z"
android:fillColor="#FFF"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M216,784q-45,-45 -70.5,-104T120,558q0,-63 24,-124.5T222,318q35,-35 86.5,-60t122,-39.5Q501,204 591.5,201t202.5,7q8,106 5,195t-16.5,160.5q-13.5,71.5 -38,125T684,778q-53,53 -112.5,77.5T450,880q-65,0 -127,-25.5T216,784ZM328,768q29,17 59.5,24.5T450,800q46,0 91,-18.5t86,-59.5q18,-18 36.5,-50.5t32,-85Q709,534 716,459.5t2,-177.5q-49,-2 -110.5,-1.5T485,290q-61,9 -116,29t-90,55q-45,45 -62,89t-17,85q0,59 22.5,103.5T262,714q42,-80 111,-153.5T534,440q-72,63 -125.5,142.5T328,768ZM328,768ZM328,768Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M200,800v-280h-80v-80h240v80h-80v280h-80ZM200,360v-200h80v200h-80ZM360,360v-80h80v-120h80v120h80v80L360,360ZM440,800v-360h80v360h-80ZM680,800v-120h-80v-80h240v80h-80v120h-80ZM680,520v-360h80v360h-80Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M280,920q-33,0 -56.5,-23.5T200,840v-720q0,-33 23.5,-56.5T280,40h400q33,0 56.5,23.5T760,120v124q18,7 29,22t11,34v80q0,19 -11,34t-29,22v404q0,33 -23.5,56.5T680,920L280,920ZM280,840h400v-720L280,120v720ZM280,840v-720,720ZM394,640h172q14,0 24,-10t10,-24v-132q0,-14 -10,-24t-24,-10h-6v-40q0,-33 -23.5,-56.5T480,320q-33,0 -56.5,23.5T400,400v40h-6q-14,0 -24,10t-10,24v132q0,14 10,24t24,10ZM440,440v-40q0,-17 11.5,-28.5T480,360q17,0 28.5,11.5T520,400v40h-80Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M339,698q22,-22 49.5,-36t58.5,-19q-5,19 -8,38t-3,39q0,24 3.5,47t11.5,44L339,698ZM254,614 L170,528q62,-62 142,-95t168,-33q49,0 96,10.5t90,30.5q-44,8 -81.5,29T517,522q-9,-1 -18.5,-1.5T480,520q-64,0 -122.5,24.5T254,614ZM84,444 L0,360q95,-97 219.5,-148.5T480,160q136,0 260.5,51.5T960,360l-84,84q-79,-79 -181.5,-121.5T480,280q-112,0 -214.5,42.5T84,444ZM760,520 L772,580q12,5 22.5,10.5T816,604l58,-18 40,68 -46,40q2,12 2,26t-2,26l46,40 -40,68 -58,-18q-11,8 -21.5,13.5T772,860l-12,60h-80l-12,-60q-12,-5 -22.5,-10.5T624,836l-58,18 -40,-68 46,-40q-2,-12 -2,-26t2,-26l-46,-40 40,-68 58,18q11,-8 21.5,-13.5T668,580l12,-60h80ZM720,640q-33,0 -56.5,23.5T640,720q0,33 23.5,56.5T720,800q33,0 56.5,-23.5T800,720q0,-33 -23.5,-56.5T720,640Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M480,480q-66,0 -113,-47t-47,-113q0,-66 47,-113t113,-47q66,0 113,47t47,113q0,66 -47,113t-113,47ZM160,800v-112q0,-34 17.5,-62.5T224,582q62,-31 126,-46.5T480,520q66,0 130,15.5T736,582q29,15 46.5,43.5T800,688v112L160,800ZM240,720h480v-32q0,-11 -5.5,-20T700,654q-54,-27 -109,-40.5T480,600q-56,0 -111,13.5T260,654q-9,5 -14.5,14t-5.5,20v32ZM480,400q33,0 56.5,-23.5T560,320q0,-33 -23.5,-56.5T480,240q-33,0 -56.5,23.5T400,320q0,33 23.5,56.5T480,400ZM480,320ZM480,720Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="m798,638 l-62,-62q44,-41 69,-97t25,-119q0,-63 -25,-118t-69,-96l62,-64q56,53 89,125t33,153q0,81 -33,153t-89,125ZM670,510l-64,-64q18,-17 29,-38.5t11,-47.5q0,-26 -11,-47.5T606,274l64,-64q32,29 50,67.5t18,82.5q0,44 -18,82.5T670,510ZM360,520q-66,0 -113,-47t-47,-113q0,-66 47,-113t113,-47q66,0 113,47t47,113q0,66 -47,113t-113,47ZM40,840v-112q0,-33 17,-62t47,-44q51,-26 115,-44t141,-18q77,0 141,18t115,44q30,15 47,44t17,62v112L40,840ZM120,760h480v-32q0,-11 -5.5,-20T580,694q-36,-18 -92.5,-36T360,640q-71,0 -127.5,18T140,694q-9,5 -14.5,14t-5.5,20v32ZM360,440q33,0 56.5,-23.5T440,360q0,-33 -23.5,-56.5T360,280q-33,0 -56.5,23.5T280,360q0,33 23.5,56.5T360,440ZM360,360ZM360,760Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M360,440h80v-160h-80v160ZM480,440h80v-160h-80v160ZM600,440h80v-160h-80v160ZM240,880q-33,0 -56.5,-23.5T160,800v-480l240,-240h320q33,0 56.5,23.5T800,160v640q0,33 -23.5,56.5T720,880L240,880ZM240,800h480v-640L434,160L240,354v446ZM240,800h480,-480Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:fillColor="@android:color/white"
android:pathData="M13.26,3C8.17,2.86 4,6.95 4,12L2.21,12c-0.45,0 -0.67,0.54 -0.35,0.85l2.79,2.8c0.2,0.2 0.51,0.2 0.71,0l2.79,-2.8c0.31,-0.31 0.09,-0.85 -0.36,-0.85L6,12c0,-3.9 3.18,-7.05 7.1,-7 3.72,0.05 6.85,3.18 6.9,6.9 0.05,3.91 -3.1,7.1 -7,7.1 -1.61,0 -3.1,-0.55 -4.28,-1.48 -0.4,-0.31 -0.96,-0.28 -1.32,0.08 -0.42,0.42 -0.39,1.13 0.08,1.49C9,20.29 10.91,21 13,21c5.05,0 9.14,-4.17 9,-9.26 -0.13,-4.69 -4.05,-8.61 -8.74,-8.74zM12.75,8c-0.41,0 -0.75,0.34 -0.75,0.75v3.68c0,0.35 0.19,0.68 0.49,0.86l3.12,1.85c0.36,0.21 0.82,0.09 1.03,-0.26 0.21,-0.36 0.09,-0.82 -0.26,-1.03l-2.88,-1.71v-3.4c0,-0.4 -0.34,-0.74 -0.75,-0.74z"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M480,560q-33,0 -56.5,-23.5T400,480q0,-33 23.5,-56.5T480,400q33,0 56.5,23.5T560,480q0,33 -23.5,56.5T480,560ZM480,840q-139,0 -241,-91.5T122,520h82q14,104 92.5,172T480,760q117,0 198.5,-81.5T760,480q0,-117 -81.5,-198.5T480,200q-69,0 -129,32t-101,88h110v80L120,400v-240h80v94q51,-64 124.5,-99T480,120q75,0 140.5,28.5t114,77q48.5,48.5 77,114T840,480q0,75 -28.5,140.5t-77,114q-48.5,48.5 -114,77T480,840Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M160,720q-33,0 -56.5,-23.5T80,640v-320q0,-33 23.5,-56.5T160,240h640q33,0 56.5,23.5T880,320v320q0,33 -23.5,56.5T800,720L160,720ZM160,640h640v-320L680,320v160h-80v-160h-80v160h-80v-160h-80v160h-80v-160L160,320v320ZM280,480h80,-80ZM440,480h80,-80ZM600,480h80,-80ZM480,480Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M280,800v-520L80,280v-120h520v120L400,280v520L280,800ZM640,800v-320L520,480v-120h360v120L760,480v320L640,800Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M480,880q-83,0 -156,-31.5T197,763q-54,-54 -85.5,-127T80,480h80q0,115 72.5,203T418,794l-58,-58 56,-56L598,862q-29,10 -58.5,14T480,880ZM500,600v-240h120q17,0 28.5,11.5T660,400v160q0,17 -11.5,28.5T620,600L500,600ZM300,600v-60h100v-40h-60v-40h60v-40L300,420v-60h120q17,0 28.5,11.5T460,400v160q0,17 -11.5,28.5T420,600L300,600ZM560,540h40v-120h-40v120ZM800,480q0,-115 -72.5,-203T542,166l58,58 -56,56 -182,-182q29,-10 58.5,-14t59.5,-4q83,0 156,31.5T763,197q54,54 85.5,127T880,480h-80Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="m476,880 l182,-480h84L924,880h-84l-43,-122L603,758L560,880h-84ZM160,760l-56,-56 202,-202q-35,-35 -63.5,-80T190,320h84q20,39 40,68t48,58q33,-33 68.5,-92.5T484,240L40,240v-80h280v-80h80v80h280v80L564,240q-21,72 -63,148t-83,116l96,98 -30,82 -122,-125 -202,201ZM628,688h144l-72,-204 -72,204Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="m476,880 l182,-480h84L924,880h-84l-43,-122L603,758L560,880h-84ZM628,688h144l-72,-204 -72,204ZM254,640q-66,0 -123.5,-38.5T44,498l72,-36q21,42 58,70t79,28q38,0 62.5,-23.5T340,480q0,-33 -23.5,-56.5T260,400h-60v-80h60q25,0 42.5,-17.5T320,260q0,-25 -17,-42.5T261,200q-23,0 -41,15t-32,33l-63,-49q26,-32 60,-55.5t77,-23.5q57,0 97.5,40.5T400,259q0,27 -10,52.5T361,357q10,10 18.5,20.5T396,400h124v-200h-80v-80h240v80h-80v116l-61,164L420,480v4q0,63 -46,109.5T254,640Z"
android:fillColor="#fff"/>

View File

@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?colorControlNormal">
android:tint="?iconTint">
<path
android:pathData="M480,840 L0,359q93,-93 215.5,-146T480,160q142,0 264.5,53T960,359l-56,57q-81,-81 -190,-128.5T480,240q-103,0 -195,32.5T117,363l419,420 -56,57ZM864,800L761,698q-18,11 -38,16.5t-43,5.5q-68,0 -114,-46t-46,-114q0,-68 46,-114t114,-46q68,0 114,46t46,114q0,23 -5.5,43T818,641l102,103 -56,56ZM680,640q34,0 57,-23t23,-57q0,-34 -23,-57t-57,-23q-34,0 -57,23t-23,57q0,34 23,57t57,23ZM480,783Z"
android:fillColor="#fff"/>

View File

@@ -47,7 +47,7 @@
android:layout_height="wrap_content"
android:text="@string/about_headline"
android:textAlignment="center"
android:textAppearance="@style/MwmTextAppearance.Headline"
android:textAppearance="@style/MwmTextAppearance.Headline6"
android:textColor="?android:textColorPrimary"
app:layout_constraintTop_toTopOf="@id/version" />
</LinearLayout>

View File

@@ -42,7 +42,7 @@
android:layout_marginBottom="@dimen/margin_base"
android:text="@string/about_headline"
android:textAlignment="center"
android:textAppearance="@style/MwmTextAppearance.Headline"
android:textAppearance="@style/MwmTextAppearance.Headline6"
android:textColor="?android:textColorPrimary" />
<com.google.android.material.textview.MaterialTextView

View File

@@ -38,7 +38,7 @@
app:tint="?colorSecondary"/>
<com.google.android.material.textview.MaterialTextView
android:id="@+id/head_message"
style="@style/TextAppearance.Headline6"
style="@style/MwmTextAppearance.Headline6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_base"
@@ -48,7 +48,7 @@
android:text="@string/download_map_title" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/download_message"
style="@style/TextAppearance.Body2"
style="@style/MwmTextAppearance.Body2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_base"

View File

@@ -28,7 +28,7 @@
android:layout_marginBottom="8dp"
android:text="@string/aa_connected_title"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.Headline4"
android:textAppearance="@style/MwmTextAppearance.Headline4"
android:textStyle="bold" />
<com.google.android.material.textview.MaterialTextView
@@ -36,7 +36,7 @@
android:layout_height="wrap_content"
android:text="@string/car_used_on_the_car_screen"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.Body1" />
android:textAppearance="@style/MwmTextAppearance.Body1" />
</LinearLayout>
<com.google.android.material.button.MaterialButton

View File

@@ -20,7 +20,7 @@
android:layout_marginStart="32dp"
android:text="@string/aa_request_permission_activity_text"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.Headline4"
android:textAppearance="@style/MwmTextAppearance.Headline4"
android:textStyle="bold" />
<com.google.android.material.button.MaterialButton

View File

@@ -22,7 +22,7 @@
android:layout_marginStart="@dimen/margin_base"
android:maxLines="3"
android:ellipsize="end"
android:textAppearance="@style/TextAppearance.Headline6"
android:textAppearance="@style/MwmTextAppearance.Headline6"
tools:text="Title" />
<androidx.recyclerview.widget.RecyclerView

View File

@@ -12,7 +12,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_base"
android:text="@string/download_country_ask"
android:textAppearance="@style/TextAppearance.Body2"
android:textAppearance="@style/MwmTextAppearance.Body2"
android:visibility="gone"
tools:visibility="visible"/>
<com.google.android.material.progressindicator.LinearProgressIndicator

View File

@@ -27,7 +27,7 @@
android:layout_marginTop="@dimen/margin_base">
<RadioButton
style="@style/TextAppearance.Subtitle1"
style="@style/MwmTextAppearance.Subtitle1"
android:id="@+id/sort_by_default"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -37,7 +37,7 @@
app:buttonTint="@null"/>
<RadioButton
style="@style/TextAppearance.Subtitle1"
style="@style/MwmTextAppearance.Subtitle1"
android:id="@+id/sort_by_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -47,7 +47,7 @@
app:buttonTint="@null"/>
<RadioButton
style="@style/TextAppearance.Subtitle1"
style="@style/MwmTextAppearance.Subtitle1"
android:id="@+id/sort_by_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -57,7 +57,7 @@
app:buttonTint="@null"/>
<RadioButton
style="@style/TextAppearance.Subtitle1"
style="@style/MwmTextAppearance.Subtitle1"
android:id="@+id/sort_by_distance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -67,7 +67,7 @@
app:buttonTint="@null"/>
<RadioButton
style="@style/TextAppearance.Subtitle1"
style="@style/MwmTextAppearance.Subtitle1"
android:id="@+id/sort_by_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"

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

@@ -17,7 +17,7 @@
android:layout_marginEnd="@dimen/margin_base"
android:paddingTop="@dimen/margin_half"
android:paddingBottom="@dimen/margin_base"
android:textAppearance="@style/TextAppearance.Headline6"
android:textAppearance="@style/MwmTextAppearance.Headline6"
tools:text="Xindian Shitoushan Trail" />
<include
layout="@layout/item_divider"

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

@@ -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"/>

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

@@ -10,13 +10,12 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frameLayout"
android:background="?cardBackground">
android:background="?appBackground">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/phones_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?cardBackground"
android:scrollbars="vertical" />
</FrameLayout>

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

@@ -9,7 +9,7 @@
style="@style/MwmWidget.FrameLayout.Elevation"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?windowBackgroundForced"
android:background="?appBackground"
android:layout_above="@+id/tv__mode_switch"
android:layout_below="@id/toolbar"/>
@@ -19,7 +19,7 @@
android:layout_height="wrap_content"
android:layout_alignTop="@+id/tv__mode_switch"
android:layout_alignParentBottom="true"
android:background="?cardBackground"/>
android:background="?appBackground"/>
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__mode_switch"

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"
@@ -17,9 +17,8 @@
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">
app:cardBackgroundColor="?cardBackground"
app:cardElevation="4dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et__timetable"
@@ -40,9 +39,9 @@
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"
app:cardElevation="4dp">
<LinearLayout
android:id="@+id/examples"

View File

@@ -16,7 +16,7 @@
android:layout_marginStart="@dimen/margin_base"
android:layout_marginTop="@dimen/margin_base"
android:text="@string/layers_title"
android:textAppearance="@style/TextAppearance.Headline6"
android:textAppearance="@style/MwmTextAppearance.Headline6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.button.MaterialButton

View File

@@ -30,7 +30,7 @@
android:ellipsize="middle"
android:singleLine="true"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.Body1"
android:textAppearance="@style/MwmTextAppearance.Body1"
tools:text="Bookmark name looooooooooooooooooongasdasdasd" />
<LinearLayout
android:id="@+id/bottom_line_container"

View File

@@ -25,7 +25,7 @@
android:layout_marginEnd="@dimen/bookmark_collection_item_end_margin"
android:ellipsize="middle"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.Body1"
android:textAppearance="@style/MwmTextAppearance.Body1"
tools:text="Bookmark name looooooooooooooooooongasdasdasd" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/size"
@@ -37,7 +37,7 @@
android:ellipsize="end"
android:singleLine="true"
android:textColor="?android:textColorSecondary"
style="@style/TextAppearance.Body2"
style="@style/MwmTextAppearance.Body2"
tools:text="42000000" />
</LinearLayout>
</LinearLayout>

View File

@@ -12,7 +12,7 @@
android:paddingBottom="@dimen/margin_half_plus">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/text_message"
style="@style/TextAppearance.Headline6"
style="@style/MwmTextAppearance.Headline6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"

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

@@ -2,10 +2,10 @@
<com.google.android.material.textview.MaterialTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text"
style="@style/TextAppearance.Headline6"
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"
@@ -14,7 +14,7 @@
android:gravity="center"
android:maxWidth="500dp"
android:text="@string/editor_category_unsuitable_title"
android:textAppearance="@style/TextAppearance.Headline6"
android:textAppearance="@style/MwmTextAppearance.Headline6"
android:textStyle="bold" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/editor_category_unsuitable_text"

View File

@@ -29,7 +29,7 @@
android:layout_marginTop="@dimen/margin_base"
android:layout_marginEnd="@dimen/bookmark_collection_item_end_margin"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.Body1"
android:textAppearance="@style/MwmTextAppearance.Body1"
tools:text="@string/tracks_title" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv__bookmark_distance"
@@ -39,7 +39,7 @@
android:layout_marginBottom="@dimen/margin_half_plus"
android:singleLine="true"
android:textColor="?android:textColorSecondary"
android:textAppearance="@style/TextAppearance.Body2"
android:textAppearance="@style/MwmTextAppearance.Body2"
tools:text="@string/by_distance" />
</LinearLayout>
<com.google.android.material.imageview.ShapeableImageView

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

@@ -82,7 +82,7 @@
<com.google.android.material.textview.MaterialTextView
android:id="@+id/place_page_last_checked"
style="@style/TextAppearance.Caption"
style="@style/MwmTextAppearance.Caption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/margin_half"

View File

@@ -65,7 +65,7 @@
<com.google.android.material.textview.MaterialTextView
android:id="@+id/oh_check_date"
style="@style/TextAppearance.Caption"
style="@style/MwmTextAppearance.Caption"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentEnd="true"

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

@@ -4,5 +4,5 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?cardBackground"
android:background="?appBackground"
android:scrollbars="vertical"/>

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

@@ -923,7 +923,6 @@
<string name="advanced">Avançat</string>
<string name="download_resources_custom_url_title">Servidor de Mapes Personalitzat</string>
<string name="download_resources_custom_url_message">Sobreescriu el servidor de descàrrega de mapes per defecte. Deixa en blanc per a emprar el servidor per defecte de CoMaps.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">No establert</string>
<string name="download_resources_custom_url_error_scheme">Per favor introdueix una URL completa que comence amb https:// i acabe amb /</string>
</resources>

View File

@@ -915,7 +915,6 @@
<string name="navigation_start_tts_disabled_message">Hlasové pokyny vypnuty: služba TTS není dostupná</string>
<string name="download_resources_custom_url_title">Vlastní mapový server</string>
<string name="download_resources_custom_url_message">Přepsat výchozí server používaný ke stahování map. Nechte pole prázdné, pokud chcete použít výchozí server CoMaps.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_error_scheme">Zadejte prosím celou adresu URL začínající na https:// a končící s /</string>
<string name="advanced">Pokročilé</string>
<string name="download_resources_custom_url_summary_none">Není nastaveno</string>

View File

@@ -920,5 +920,4 @@
<string name="download_resources_custom_url_summary_none">Nicht konfiguriert</string>
<string name="download_resources_custom_url_message">Standardserver für Kartendownloads überschreiben. Leer lassen, um den CoMaps-Standardserver zu nutzen.</string>
<string name="download_resources_custom_url_error_scheme">Bitte eine vollständige URL eingeben, die mit https:// beginnt und mit / endet</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
</resources>

View File

@@ -927,5 +927,4 @@
<string name="download_resources_custom_url_message">Sobreescribe el servidor de mapas por defecto. Deja en blanco para usar el servidor de CoMaps por defecto.</string>
<string name="download_resources_custom_url_summary_none">No establecido</string>
<string name="download_resources_custom_url_error_scheme">Por favor introduce un URL completo empezando con https:// y terminando con /</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
</resources>

View File

@@ -915,6 +915,5 @@
<string name="advanced">Täiendavad seadistused</string>
<string name="download_resources_custom_url_title">Sinu oma kaardiserver</string>
<string name="download_resources_custom_url_message">Kui tahad kasutada oma kaardiserverit, siis lisa ta siia. CoMapsi vaikimisi serveri kasutamiseks jäta tühjaks.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_error_scheme">Palun sisesta täismahuline võrguaadress, mille alguses on https:// ja lõpus /</string>
</resources>

View File

@@ -923,7 +923,6 @@
<string name="navigation_start_tts_disabled_message">Instructions vocales désactivées : moteur de synthèse vocale non disponible</string>
<string name="advanced">Avancé</string>
<string name="download_resources_custom_url_summary_none">Non défini</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_title">Serveur de cartes personnalisé</string>
<string name="download_resources_custom_url_error_scheme">Veuillez saisir une URL complète débutant par https:// et se terminant par /</string>
<string name="download_resources_custom_url_message">Serveur pour télécharger les cartes. Laissez vide pour utiliser le serveur par défaut CoMaps.</string>

View File

@@ -908,7 +908,6 @@
<string name="navigation_start_tts_message">"Inizio Navigazione, lingua per istruzioni vocali: "</string>
<string name="download_resources_custom_url_error_scheme">Aggiungere un URL che inizia con https:// e finisce con /</string>
<string name="download_resources_custom_url_summary_none">Non impostato</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_message">Sovrascrivi il server da cui scaricare le mappe. Lascia vuoto per usare i server default di CoMaps.</string>
<string name="download_resources_custom_url_title">Server mappe personalizzato</string>
<string name="advanced">Avanzate</string>

View File

@@ -899,7 +899,6 @@
<string name="advanced">Kita</string>
<string name="download_resources_custom_url_title">Pasirinktinis žemėlapių serveris</string>
<string name="download_resources_custom_url_message">Žemėlapiams parsisiųsti galite nurodyti kitą, nei numatytasis, serverį. Palikite lauką tuščią, jei norite naudoti numatytąjį „CoMaps“ serverį.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">Nenurodytas</string>
<string name="download_resources_custom_url_error_scheme">Įveskite visą URL adresą, pradedant „https://“ ir baigiant „/“</string>
</resources>

View File

@@ -853,7 +853,6 @@
<string name="navigation_start_tts_disabled_message">Balss norādes atspējotas: nav pieejams teksta pārveidošanas runā dzinējs</string>
<string name="prefs_speed_cameras_information">Brīdinājumi par ātruma noteikšanas kamerā ir atspējoti valstīs, kurās šādus brīdinājumus aizliedz vietējais likums.</string>
<string name="navigation_start_tts_message">"Uzsāk navigāciju, balss norāžu valoda: "</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">Nav iestatīts</string>
<string name="download_resources_custom_url_error_scheme">Lūgums ievadīt pilnu URL, kas sākas ar https:// un beidzas ar /</string>
<string name="advanced">Iestatījumi: izvērsta kopa</string>

View File

@@ -909,7 +909,6 @@
<string name="advanced">Avansert</string>
<string name="download_resources_custom_url_summary_none">Ikke angitt</string>
<string name="download_resources_custom_url_error_scheme">Angi en fullstendig nettadresse som starter med https:// og slutter med /</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_message">Overstyr standardserveren som brukes til nedlasting av kart. La det stå tomt for å bruke CoMaps standardserver.</string>
<string name="download_resources_custom_url_title">Tilpasset kartserver</string>
</resources>

View File

@@ -918,7 +918,6 @@
<string name="advanced">Geavanceerd</string>
<string name="download_resources_custom_url_title">Aangepaste server voor kaarten</string>
<string name="download_resources_custom_url_message">Overschrijf de standaard kaartdownloadserver die wordt gebruikt voor kaartdownloads. Laat leeg om de standaardserver van CoMaps te gebruiken.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">Niet ingesteld</string>
<string name="download_resources_custom_url_error_scheme">Voer een volledige URL in, beginnend met https:// en eindigend met /</string>
</resources>

View File

@@ -912,7 +912,6 @@
<string name="advanced">Avançadas</string>
<string name="download_resources_custom_url_title">Servidor de Mapa Personalizado</string>
<string name="download_resources_custom_url_message">Substitui o servidor de download de mapas normal. Deixe em branco para usar o servidor do CoMaps padrão.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">Indefinido</string>
<string name="download_resources_custom_url_error_scheme">Por favor insira um URL inteiro começando com https:// e acabando com /</string>
</resources>

View File

@@ -662,5 +662,4 @@
<string name="download_resources_custom_url_message">Prepiši privzeti strežnik za prenos zemljevidov, ki se uporablja za prenos zemljevidov. Pustite prazno, če želite uporabiti privzeti strežnik CoMaps.</string>
<string name="download_resources_custom_url_summary_none">Ni nastavljeno</string>
<string name="download_resources_custom_url_error_scheme">Prosimo, vnesite polni URL, ki se začne z https:// in konča z /</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
</resources>

View File

@@ -917,7 +917,6 @@
<string name="advanced">Напредно</string>
<string name="download_resources_custom_url_title">Сопствени сервер мапа</string>
<string name="download_resources_custom_url_message">Замени подразумевани сервер за преузимање мапа који се користи за преузимања мапа. Оставите празно да бисте користили CoMaps сервер.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">Није постављено</string>
<string name="download_resources_custom_url_error_scheme">Унесите пуну УРЛ адресу која почиње са https:// и која се завршава са /</string>
</resources>

View File

@@ -917,7 +917,6 @@
<string name="place_page_app_too_old_description">您当前的地图数据非常旧,请更新 CoMaps 应用。</string>
<string name="place_page_update_too_old_map">更新地图区域</string>
<string name="place_page_too_old_to_edit">由于地图数据太旧OpenStreetMap 编辑被禁用。</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">未设置</string>
<string name="download_resources_custom_url_error_scheme">请输入以 https:// 开头、以 / 结尾的完整 URL</string>
<string name="advanced">高级</string>

View File

@@ -105,4 +105,5 @@
<string name="count_label" translatable="false">× %d</string>
<string name="kw_label" translatable="false">%s kW</string>
<string name="phone_format" translatable="false">+ XX X XX XX XX</string>
<string name="download_resources_custom_url_hint" translatable="false">https://cdn-fi-1.comaps.app/</string>
</resources>

View File

@@ -971,7 +971,6 @@
<!-- Custom Download URL -->
<string name="download_resources_custom_url_title">Custom Map Server</string>
<string name="download_resources_custom_url_message">Override the default map download server used for map downloads. Leave empty to use CoMaps default server.</string>
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">Not set</string>
<string name="download_resources_custom_url_error_scheme">Please enter a full URL starting with https:// and ending with /</string>
</resources>

View File

@@ -15,12 +15,6 @@
<item name="android:textStyle">bold</item>
</style>
<style name="MwmTextAppearance.Headline">
<item name="android:textSize">@dimen/text_size_headline</item>
<item name="android:textColor">?android:textColorPrimary</item>
<item name="android:fontFamily">@string/robotoMedium</item>
</style>
<style name="MwmTextAppearance.Body1" parent="TextAppearance.MaterialComponents.Headline6">
<item name="android:textSize">@dimen/text_size_body_1</item>
<item name="android:textColor">?android:textColorPrimary</item>
@@ -176,94 +170,59 @@
<item name="android:textColor">@color/white_secondary</item>
</style>
<style name="TextAppearance.Headline1"
<style name="MwmTextAppearance.Headline1"
parent="TextAppearance.Material3.DisplayLarge">
<item name="fontFamily">@string/robotoLight</item>
<item name="android:fontFamily">@string/robotoLight</item>
<item name="android:textSize">96sp</item>
</style>
<style name="TextAppearance.Headline2"
<style name="MwmTextAppearance.Headline2"
parent="TextAppearance.Material3.DisplayLarge">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">60sp</item>
</style>
<style name="TextAppearance.Headline3"
<style name="MwmTextAppearance.Headline3"
parent="TextAppearance.Material3.DisplayMedium">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">48sp</item>
</style>
<style name="TextAppearance.Headline4"
<style name="MwmTextAppearance.Headline4"
parent="TextAppearance.Material3.HeadlineLarge">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">34sp</item>
</style>
<style name="TextAppearance.Headline5"
<style name="MwmTextAppearance.Headline5"
parent="TextAppearance.Material3.HeadlineMedium">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">24sp</item>
</style>
<style name="TextAppearance.Headline6"
<style name="MwmTextAppearance.Headline6"
parent="TextAppearance.Material3.HeadlineSmall">
<item name="fontFamily">@string/robotoMedium</item>
<item name="android:fontFamily">@string/robotoMedium</item>
<item name="android:textSize">20sp</item>
</style>
<style name="TextAppearance.Subtitle1"
<style name="MwmTextAppearance.Subtitle1"
parent="TextAppearance.Material3.TitleMedium">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">16sp</item>
</style>
<style name="TextAppearance.Subtitle2"
<style name="MwmTextAppearance.Subtitle2"
parent="TextAppearance.Material3.TitleSmall">
<item name="fontFamily">@string/robotoMedium</item>
<item name="android:fontFamily">@string/robotoMedium</item>
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Body1"
parent="TextAppearance.Material3.BodyLarge">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">16sp</item>
</style>
<style name="TextAppearance.Body2"
parent="TextAppearance.Material3.BodyMedium">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Button"
parent="TextAppearance.MaterialComponents.Button">
<item name="fontFamily">@string/robotoMedium</item>
<item name="android:fontFamily">@string/robotoMedium</item>
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Caption"
parent="TextAppearance.Material3.LabelMedium">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">12sp</item>
</style>
<style name="TextAppearance.Overline"
parent="TextAppearance.MaterialComponents.Overline">
<item name="fontFamily">@string/robotoRegular</item>
<item name="android:fontFamily">@string/robotoRegular</item>
<item name="android:textSize">10sp</item>
</style>
</resources>

View File

@@ -1,15 +1,15 @@
[versions]
androidGradlePlugin = "8.11.2"
androidGradlePlugin = "8.13.2"
androidxCarApp = "1.7.0"
[libraries]
android-tools = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" }
triplet-play-publisher = { module = "com.github.triplet.gradle:play-publisher", version = "3.12.1" }
triplet-play-publisher = { module = "com.github.triplet.gradle:play-publisher", version = "3.13.0" }
huawei-publish = { module = "ru.cian:huawei-publish-gradle-plugin", version = "1.4.2" }
android-tools-desugar = { module = "com.android.tools:desugar_jdk_libs", version = "2.1.5" }
microg-services-location = { module = "org.microg.gms:play-services-location", version = "0.3.6.244735" }
androidx-core = { module = "androidx.core:core", version = "1.17.0" }
jetbrains-kotlin-bom = { module = "org.jetbrains.kotlin:kotlin-bom", version = "2.2.20" }
jetbrains-kotlin-bom = { module = "org.jetbrains.kotlin:kotlin-bom", version = "2.2.21" }
androidx-annotation = { module = "androidx.annotation:annotation", version = "1.9.1" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.1" }
androidx-car-app = { module = "androidx.car.app:app", version.ref = "androidxCarApp" }
@@ -21,12 +21,13 @@ androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version
androidx-work-runtime = { module = "androidx.work:work-runtime", version = "2.10.5" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version = "2.9.4" }
androidx-media = { module = "androidx.media:media", version = "1.7.1" }
androidx-documentfile= { module = "androidx.documentfile:documentfile", version ="1.1.0" }
android-material = { module = "com.google.android.material:material", version = "1.12.0" }
google-guava = { module = "com.google.guava:guava", version = "33.4.8-android" }
google-guava = { module = "com.google.guava:guava", version = "33.5.0-android" }
appdevnext-androidchart = { module = "com.github.AppDevNext:AndroidChart", version = "3.1.0.31" }
androidx-test-junit = { module = "androidx.test.ext:junit", version = "1.3.0" }
junit = { module = "junit:junit", version = "4.13.2" }
mockito-core = { module = "org.mockito:mockito-core", version = "5.20.0" }
mockito-core = { module = "org.mockito:mockito-core", version = "5.21.0" }
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

View File

@@ -126,6 +126,7 @@ dependencies {
implementation libs.androidx.recyclerview
implementation libs.androidx.preference
implementation libs.android.material
implementation libs.androidx.documentfile
testImplementation libs.junit
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26" height="33" version="1.1" viewBox="0 0 26 33" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="linearGradient1" x1="13" x2="13" y1="1" y2="30" gradientUnits="userSpaceOnUse">
<stop stop-color="#e8514e" offset="0"/>
<stop stop-color="#cc3633" offset="1"/>
</linearGradient>
<filter id="filter1" x="-.0882" y="-.441" width="1.1764" height="1.882" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.55125"/>
</filter>
</defs>
<ellipse cx="13" cy="30.177" rx="7.5" ry="1.5" filter="url(#filter1)" opacity=".1" stroke-linecap="round" stroke-linejoin="round"/>
<path d="m13 1c-6.3513 0-11.5 5.1487-11.5 11.5 2.4e-4 4.6124 2.7473 8.7238 6.8871 10.534 0.76685 0.33537 1.7261 1.1233 2.097 1.8742l2.5159 5.0935 2.5159-5.0935c0.37091-0.75091 1.3301-1.5388 2.0969-1.8742 4.1398-1.8104 6.8869-5.9219 6.8871-10.534 0-6.3513-5.1487-11.5-11.5-11.5z" fill="url(#linearGradient1)" stroke="#fff" stroke-linejoin="round" stroke-width="2"/>
<path d="m11.91 13.481-0.31705-4.7458q-0.08917-1.3871-0.08917-1.9915 0-0.82234 0.42603-1.2781 0.43594-0.46566 1.1394-0.46566 0.85206 0 1.1394 0.59446 0.28732 0.58456 0.28732 1.6942 0 0.65391-0.06935 1.3276l-0.42603 4.8845q-0.06935 0.87188-0.29723 1.3375-0.22788 0.46566-0.75299 0.46566-0.53502 0-0.74308-0.44585-0.20806-0.45576-0.29724-1.3772zm1.0998 6.5193q-0.60437 0-1.0601-0.3864-0.44585-0.39631-0.44585-1.0998 0-0.61428 0.42603-1.0403 0.43594-0.43594 1.0601-0.43594t1.0601 0.43594q0.44585 0.42603 0.44585 1.0403 0 0.69354-0.44585 1.0898-0.44585 0.39631-1.0403 0.39631z" fill="#fff" aria-label="!" data-font-family="Arial Rounded MT Bold"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,15 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26" height="33" version="1.1" viewBox="0 0 26 33" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="linearGradient1" x1="13" x2="13" y1="1" y2="30" gradientUnits="userSpaceOnUse">
<stop stop-color="#e8514e" offset="0"/>
<stop stop-color="#cc3633" offset="1"/>
</linearGradient>
<filter id="filter1" x="-.0882" y="-.441" width="1.1764" height="1.882" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.55125"/>
</filter>
</defs>
<ellipse cx="13" cy="30.177" rx="7.5" ry="1.5" filter="url(#filter1)" opacity=".1" stroke-linecap="round" stroke-linejoin="round"/>
<path d="m13 1c-6.3513 0-11.5 5.1487-11.5 11.5 2.4e-4 4.6124 2.7473 8.7238 6.8871 10.534 0.76685 0.33537 1.7261 1.1233 2.097 1.8742l2.5159 5.0935 2.5159-5.0935c0.37091-0.75091 1.3301-1.5388 2.0969-1.8742 4.1398-1.8104 6.8869-5.9219 6.8871-10.534 0-6.3513-5.1487-11.5-11.5-11.5z" fill="url(#linearGradient1)" stroke="#fff" stroke-linejoin="round" stroke-width="2"/>
<path d="m11.91 13.481-0.31705-4.7458q-0.08917-1.3871-0.08917-1.9915 0-0.82234 0.42603-1.2781 0.43594-0.46566 1.1394-0.46566 0.85206 0 1.1394 0.59446 0.28732 0.58456 0.28732 1.6942 0 0.65391-0.06935 1.3276l-0.42603 4.8845q-0.06935 0.87188-0.29723 1.3375-0.22788 0.46566-0.75299 0.46566-0.53502 0-0.74308-0.44585-0.20806-0.45576-0.29724-1.3772zm1.0998 6.5193q-0.60437 0-1.0601-0.3864-0.44585-0.39631-0.44585-1.0998 0-0.61428 0.42603-1.0403 0.43594-0.43594 1.0601-0.43594t1.0601 0.43594q0.44585 0.42603 0.44585 1.0403 0 0.69354-0.44585 1.0898-0.44585 0.39631-1.0403 0.39631z" fill="#fff" aria-label="!" data-font-family="Arial Rounded MT Bold"/>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="26" height="33" viewBox="0 0 26 33">
<defs>
<linearGradient id="a" x1="13" x2="13" y1="1" y2="30" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#e8514e"/>
<stop offset="1" stop-color="#cc3633"/>
</linearGradient>
<linearGradient xlink:href="#a" id="d" x1="13" x2="13" y1="1" y2="30" gradientTransform="translate(.122 .703)" gradientUnits="userSpaceOnUse"/>
<filter id="b" width="1.176" height="1.882" x="-.088" y="-.441" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation=".551"/>
</filter>
<filter id="c" width="1.176" height="1.882" x="-.088" y="-.441" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation=".551"/>
</filter>
</defs>
<ellipse cx="13.122" cy="30.88" filter="url(#b)" opacity=".1" rx="7.5" ry="1.5" style="filter:url(#c)"/>
<path fill="url(#a)" stroke="#000" stroke-linejoin="round" stroke-width="2" d="M13.122 1.703c-6.352 0-11.5 5.149-11.5 11.5a11.5 11.5 0 0 0 6.887 10.534c.766.335 1.726 1.123 2.097 1.874l2.516 5.094 2.515-5.094c.371-.75 1.33-1.539 2.097-1.874a11.5 11.5 0 0 0 6.887-10.534c0-6.351-5.148-11.5-11.5-11.5z" style="fill:url(#d)"/>
<path d="M17.228 10.192v3.071h1.198v-3.071ZM17.228 7.424v1.721h1.198V7.423ZM7.088 10.192v3.071h1.198v-3.071ZM7.088 7.424v1.721h1.198V7.423Z" style="fill:#000;stroke-width:1.19817;stroke-linecap:square;stroke-linejoin:round" transform="translate(.365 -.337)"/>
<path d="m34.133 11.683-2.257-.84.1-2.405 2.32-.648 1.332 2.006z" style="fill:#000;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(38.951 8.225 -4.95)scale(.63342)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#000;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(38.951 16.064 -7.581)scale(.80453)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#000;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(-33.724 21.526 30.482)scale(.76175)"/>
<path d="M7.088 14.395v3.071h1.198v-3.071zM7.088 18.514v1.723h1.198v-1.723zM17.228 14.395v3.071h1.198v-3.071zM17.228 18.514v1.723h1.198v-1.723z" style="fill:#000;stroke-width:1.19817;stroke-linecap:square;stroke-linejoin:round" transform="translate(.365 -.337)"/>
<path d="m34.133 11.683-2.257-.84.1-2.405 2.32-.648 1.332 2.006z" style="fill:#000;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(218.951 18.726 11.626)scale(.63342)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#000;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(218.951 22.916 15.042)scale(.80453)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#000;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(146.276 17.093 9.794)scale(.76175)"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26" height="33" version="1.1" viewBox="0 0 26 33" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="linearGradient1" x1="13" x2="13" y1="1" y2="30" gradientUnits="userSpaceOnUse">
<stop stop-color="#e8514e" offset="0"/>
<stop stop-color="#cc3633" offset="1"/>
</linearGradient>
<filter id="filter1" x="-.0882" y="-.441" width="1.1764" height="1.882" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.55125"/>
</filter>
</defs>
<ellipse cx="13" cy="30.177" rx="7.5" ry="1.5" filter="url(#filter1)" opacity=".1" stroke-linecap="round" stroke-linejoin="round"/>
<path d="m13 1c-6.3513 0-11.5 5.1487-11.5 11.5 2.4e-4 4.6124 2.7473 8.7238 6.8871 10.534 0.76685 0.33537 1.7261 1.1233 2.097 1.8742l2.5159 5.0935 2.5159-5.0935c0.37091-0.75091 1.3301-1.5388 2.0969-1.8742 4.1398-1.8104 6.8869-5.9219 6.8871-10.534 0-6.3513-5.1487-11.5-11.5-11.5z" fill="url(#linearGradient1)" stroke="#fff" stroke-linejoin="round" stroke-width="2"/>
<path d="m11.91 13.481-0.31705-4.7458q-0.08917-1.3871-0.08917-1.9915 0-0.82234 0.42603-1.2781 0.43594-0.46566 1.1394-0.46566 0.85206 0 1.1394 0.59446 0.28732 0.58456 0.28732 1.6942 0 0.65391-0.06935 1.3276l-0.42603 4.8845q-0.06935 0.87188-0.29723 1.3375-0.22788 0.46566-0.75299 0.46566-0.53502 0-0.74308-0.44585-0.20806-0.45576-0.29724-1.3772zm1.0998 6.5193q-0.60437 0-1.0601-0.3864-0.44585-0.39631-0.44585-1.0998 0-0.61428 0.42603-1.0403 0.43594-0.43594 1.0601-0.43594t1.0601 0.43594q0.44585 0.42603 0.44585 1.0403 0 0.69354-0.44585 1.0898-0.44585 0.39631-1.0403 0.39631z" fill="#fff" aria-label="!" data-font-family="Arial Rounded MT Bold"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,15 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="26" height="33" version="1.1" viewBox="0 0 26 33" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="linearGradient1" x1="13" x2="13" y1="1" y2="30" gradientUnits="userSpaceOnUse">
<stop stop-color="#e8514e" offset="0"/>
<stop stop-color="#cc3633" offset="1"/>
</linearGradient>
<filter id="filter1" x="-.0882" y="-.441" width="1.1764" height="1.882" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.55125"/>
</filter>
</defs>
<ellipse cx="13" cy="30.177" rx="7.5" ry="1.5" filter="url(#filter1)" opacity=".1" stroke-linecap="round" stroke-linejoin="round"/>
<path d="m13 1c-6.3513 0-11.5 5.1487-11.5 11.5 2.4e-4 4.6124 2.7473 8.7238 6.8871 10.534 0.76685 0.33537 1.7261 1.1233 2.097 1.8742l2.5159 5.0935 2.5159-5.0935c0.37091-0.75091 1.3301-1.5388 2.0969-1.8742 4.1398-1.8104 6.8869-5.9219 6.8871-10.534 0-6.3513-5.1487-11.5-11.5-11.5z" fill="url(#linearGradient1)" stroke="#fff" stroke-linejoin="round" stroke-width="2"/>
<path d="m11.91 13.481-0.31705-4.7458q-0.08917-1.3871-0.08917-1.9915 0-0.82234 0.42603-1.2781 0.43594-0.46566 1.1394-0.46566 0.85206 0 1.1394 0.59446 0.28732 0.58456 0.28732 1.6942 0 0.65391-0.06935 1.3276l-0.42603 4.8845q-0.06935 0.87188-0.29723 1.3375-0.22788 0.46566-0.75299 0.46566-0.53502 0-0.74308-0.44585-0.20806-0.45576-0.29724-1.3772zm1.0998 6.5193q-0.60437 0-1.0601-0.3864-0.44585-0.39631-0.44585-1.0998 0-0.61428 0.42603-1.0403 0.43594-0.43594 1.0601-0.43594t1.0601 0.43594q0.44585 0.42603 0.44585 1.0403 0 0.69354-0.44585 1.0898-0.44585 0.39631-1.0403 0.39631z" fill="#fff" aria-label="!" data-font-family="Arial Rounded MT Bold"/>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="26" height="33" viewBox="0 0 26 33">
<defs>
<linearGradient id="a" x1="13" x2="13" y1="1" y2="30" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#e8514e"/>
<stop offset="1" stop-color="#cc3633"/>
</linearGradient>
<linearGradient xlink:href="#a" id="d" x1="13" x2="13" y1="1" y2="30" gradientTransform="translate(.122 .703)" gradientUnits="userSpaceOnUse"/>
<filter id="b" width="1.176" height="1.882" x="-.088" y="-.441" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation=".551"/>
</filter>
<filter id="c" width="1.176" height="1.882" x="-.088" y="-.441" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation=".551"/>
</filter>
</defs>
<ellipse cx="13.122" cy="30.88" filter="url(#b)" opacity=".1" rx="7.5" ry="1.5" style="filter:url(#c)"/>
<path fill="url(#a)" stroke="#fff" stroke-linejoin="round" stroke-width="2" d="M13.122 1.703c-6.352 0-11.5 5.149-11.5 11.5a11.5 11.5 0 0 0 6.887 10.534c.766.335 1.726 1.123 2.097 1.874l2.516 5.094 2.515-5.094c.371-.75 1.33-1.539 2.097-1.874a11.5 11.5 0 0 0 6.887-10.534c0-6.351-5.148-11.5-11.5-11.5z" style="fill:url(#d)"/>
<path d="M17.228 10.192v3.071h1.198v-3.071ZM17.228 7.424v1.721h1.198V7.423ZM7.088 10.192v3.071h1.198v-3.071ZM7.088 7.424v1.721h1.198V7.423Z" style="fill:#fff;stroke-width:1.19817;stroke-linecap:square;stroke-linejoin:round" transform="translate(.365 -.337)"/>
<path d="m34.133 11.683-2.257-.84.1-2.405 2.32-.648 1.332 2.006z" style="fill:#fff;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(38.951 8.225 -4.95)scale(.63342)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#fff;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(38.951 16.064 -7.581)scale(.80453)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#fff;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(-33.724 21.526 30.482)scale(.76175)"/>
<path d="M7.088 14.395v3.071h1.198v-3.071zM7.088 18.514v1.723h1.198v-1.723zM17.228 14.395v3.071h1.198v-3.071zM17.228 18.514v1.723h1.198v-1.723z" style="fill:#fff;stroke-width:1.19817;stroke-linecap:square;stroke-linejoin:round" transform="translate(.365 -.337)"/>
<path d="m34.133 11.683-2.257-.84.1-2.405 2.32-.648 1.332 2.006z" style="fill:#fff;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(218.951 18.726 11.626)scale(.63342)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#fff;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(218.951 22.916 15.042)scale(.80453)"/>
<path d="M34.79 11.804 31.165 9.71l3.627-2.094Z" style="fill:#fff;fill-opacity:1;stroke-width:6;stroke-linecap:square;stroke-linejoin:round" transform="rotate(146.276 17.093 9.794)scale(.76175)"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1 +1 @@
© 2025 CoMaps Contributors
© 2026 CoMaps Contributors

View File

@@ -22,13 +22,26 @@ vim /etc/nginx/nginx.conf
access_log /var/log/nginx/access.log comaps;
```
if using Apache, try this:
```
LogFormat "0.0.0.0 %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" comaps
CustomLog ${APACHE_LOG_DIR}/access.log comaps
```
### set up monitoring:
apt install goaccess
edit /etc/goaccess/goaccess.conf and uncomment time-format %H:%M:%S, date-format %Y-%m-%d, log-format COMBINED
edit /etc/goaccess/goaccess.conf and uncomment:
- time-format %H:%M:%S
- date-format %d/%b/%Y
- log-format COMBINED
vim /etc/crontab
`*/5 * * * * root /usr/bin/goaccess /var/log/nginx/access.log -o /var/www/html/monitor.html`
or Apache: `*/5 * * * * root /usr/bin/goaccess /var/log/apache2/access.log -o /var/www/html/monitor.html`
### set up basic http pages/responses:
cd /var/www/html/
mkdir maps