Compare commits

..

9 Commits

Author SHA1 Message Date
Konstantin Pastbin
2e6922ab7f [android][build] Run configure.sh for publish* gradle tasks
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-12-28 17:38:27 +07:00
Jean-Baptiste
0c2763f3ce [doc] Create an security markdown file
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-27 21:53:01 +01:00
Jean-Baptiste
c9a4483f50 [android] Re-organize charging station sockets by power
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-26 16:21:53 +01:00
Jean-Baptiste
0eafe3482e [android] Remove TextAppearance styles text
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-26 14:56:15 +01:00
x7z4w
e4275cdd3c [search] Add synonyms
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-12-24 17:32:23 +01:00
Chris H. Meyer
4ef9395442 [desktop] Update Fedora dependencies (#2957)
Signed-off-by: Chris H. Meyer <christian.h.meyer@t-online.de>
Co-authored-by: Chris H. Meyer <christian.h.meyer@t-online.de>
Co-committed-by: Chris H. Meyer <christian.h.meyer@t-online.de>
2025-12-24 14:19:00 +01:00
Yannik Bloscheck
30cf2b5770 [styles] Fix wrong filename for car pooling parking
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-12-22 12:24:45 +01:00
Yannik Bloscheck
6aed26c48e [ios] Extend opening hours button in editor
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-12-22 12:04:00 +01:00
Jean-Baptiste
dad91b82a6 [android] Remove custom properties in M3 styles
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-21 19:04:59 +01:00
14 changed files with 74 additions and 54 deletions

17
SECURITY.md Normal file
View File

@@ -0,0 +1,17 @@
## Reporting Vulnerabilities
You can report a security vulnerability by creating an issue or send mail to security@comaps.app
## Verifying Fingerprints
To [verify](https://developer.android.com/studio/command-line/apksigner#usage-verify) the APK, use the following signing certificate fingerprints:
```
SHA-256: 4894e8e6963627ef660031d8593fe77297f835acb4e23810003e926135023b4c
SHA-1: 8b7b5739f917e9f7c681671ced0c9c8562123ade
MD5: 9cce0ffea281dc2f0e0a154d6d2e281e
```
To verify CoMaps via [AppVerifier](https://github.com/soupslurpr/AppVerifier), use the following signing certificate fingerprint:
```
app.comaps
48:94:E8:E6:96:36:27:EF:66:00:31:D8:59:3F:E7:72:97:F8:35:AC:B4:E2:38:10:00:3E:92:61:35:02:3B:4C
```

View File

@@ -351,7 +351,6 @@ 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

@@ -84,10 +84,10 @@
<item name="transitRulerBackground">@color/white_4</item>
<item name="transitStepDivider">@drawable/dot_divider</item>
<item name="accentColorSelector">@color/accent_color_selector</item>
<item name="android:textAppearance">@style/TextAppearance</item>
<item name="android:textAppearanceSmall">@style/TextAppearance.Small</item>
<item name="android:textAppearanceMedium">@style/TextAppearance.Medium</item>
<item name="android:textAppearanceLarge">@style/TextAppearance.Large</item>
<item name="android:textAppearance">@style/MwmTextAppearance.Body3</item>
<item name="android:textAppearanceSmall">@style/MwmTextAppearance.Body4</item>
<item name="android:textAppearanceMedium">@style/MwmTextAppearance.Body2</item>
<item name="android:textAppearanceLarge">@style/MwmTextAppearance.Body1</item>
<item name="drivingOptionsViewBg">@color/bg_primary_dark</item>
<item name="elevationProfilePropertyBg">@drawable/bg_rounded_rect</item>
<item name="elevationProfilePropIconTint">@color/white_secondary</item>

View File

@@ -27,9 +27,9 @@
<item>type2_combo</item>
<item>nacs</item>
<item>chademo</item>
<item>type1</item>
<item>type2_cable</item>
<item>type2</item>
<item>type2_cable</item>
<item>type1</item>
<item>schuko</item>
<item>unknown</item>
</string-array>

View File

@@ -308,26 +308,6 @@
<item name="colorSurface">@color/material_calendar_surface_dark</item>
</style>
<style name="TextAppearance" parent="MwmTextAppearance.Body3"/>
<style name="TextAppearance.Small" parent="MwmTextAppearance.Body4"/>
<style name="TextAppearance.Medium" parent="MwmTextAppearance.Body2"/>
<style name="TextAppearance.Large" parent="MwmTextAppearance.Body1">
<item name="android:textSize">@dimen/text_size_toolbar</item>
</style>
<style name="TextAppearance.Inverse" parent="MwmTextAppearance.Body3.Light"/>
<style name="TextAppearance.Small.Inverse" parent="MwmTextAppearance.Body4.Light"/>
<style name="TextAppearance.Medium.Inverse" parent="MwmTextAppearance.Body2.Light"/>
<style name="TextAppearance.Large.Inverse" parent="MwmTextAppearance.Body1.Light">
<item name="android:textSize">@dimen/text_size_toolbar</item>
</style>
<style
name="MwmTheme.BottomSheetDialog"
parent="@style/ThemeOverlay.Material3.BottomSheetDialog">
@@ -360,9 +340,6 @@
<style name="MwmWidget.M3.Button" parent="Widget.Material3.Button">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">?accentButtonTextColor</item>
<item name="backgroundTint">@null</item>
<item name="cornerRadius">20dp</item>
<item name="android:textSize">16sp</item>
</style>
@@ -372,13 +349,11 @@
<style name="MwmWidget.M3.Button.Secondary" parent="@style/Widget.Material3.Button.OutlinedButton">
<item name="android:textSize">16sp</item>
<item name="strokeColor">?colorSecondary</item>
<item name="android:textColor">?colorSecondary</item>
</style>
<style name="MwmWidget.M3.FAB.Primary" parent="@style/Widget.Material3.FloatingActionButton.Primary">
<item name="shapeAppearance">@style/ShapeAppearanceOverlay.Material3.FloatingActionButton</item>
<item name="rippleColor">@null</item>
<item name="backgroundTint">?colorSecondary</item>
<item name="tint">?android:textColorPrimaryInverse</item>
</style>

View File

@@ -85,14 +85,14 @@
<item name="transitRulerBackground">@color/black_4</item>
<item name="transitStepDivider">@drawable/dot_divider</item>
<item name="accentColorSelector">@color/accent_color_selector</item>
<item name="android:textAppearance">@style/TextAppearance</item>
<item name="android:textAppearanceSmall">@style/TextAppearance.Small</item>
<item name="android:textAppearanceMedium">@style/TextAppearance.Medium</item>
<item name="android:textAppearanceLarge">@style/TextAppearance.Large</item>
<item name="android:textAppearanceInverse">@style/TextAppearance.Inverse</item>
<item name="android:textAppearanceSmallInverse">@style/TextAppearance.Small.Inverse</item>
<item name="android:textAppearanceMediumInverse">@style/TextAppearance.Medium.Inverse</item>
<item name="android:textAppearanceLargeInverse">@style/TextAppearance.Large.Inverse</item>
<item name="android:textAppearance">@style/MwmTextAppearance.Body3</item>
<item name="android:textAppearanceSmall">@style/MwmTextAppearance.Body4</item>
<item name="android:textAppearanceMedium">@style/MwmTextAppearance.Body2</item>
<item name="android:textAppearanceLarge">@style/MwmTextAppearance.Body1</item>
<item name="android:textAppearanceInverse">@style/MwmTextAppearance.Body3.Light</item>
<item name="android:textAppearanceSmallInverse">@style/MwmTextAppearance.Body4.Light</item>
<item name="android:textAppearanceMediumInverse">@style/MwmTextAppearance.Body2.Light</item>
<item name="android:textAppearanceLargeInverse">@style/MwmTextAppearance.Body1.Light</item>
<item name="drivingOptionsViewBg">@color/bg_primary_dark</item>
<item name="elevationProfilePropertyBg">@drawable/bg_rounded_rect</item>
<item name="elevationProfilePropIconTint">@color/black_secondary</item>

View File

@@ -1,15 +1,15 @@
[versions]
androidGradlePlugin = "8.13.2"
androidGradlePlugin = "8.11.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.13.0" }
triplet-play-publisher = { module = "com.github.triplet.gradle:play-publisher", version = "3.12.1" }
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.21" }
jetbrains-kotlin-bom = { module = "org.jetbrains.kotlin:kotlin-bom", version = "2.2.20" }
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,13 +21,12 @@ 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.5.0-android" }
google-guava = { module = "com.google.guava:guava", version = "33.4.8-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.21.0" }
mockito-core = { module = "org.mockito:mockito-core", version = "5.20.0" }
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

View File

@@ -126,7 +126,6 @@ dependencies {
implementation libs.androidx.recyclerview
implementation libs.androidx.preference
implementation libs.android.material
implementation libs.androidx.documentfile
testImplementation libs.junit
}
@@ -147,7 +146,7 @@ project.afterEvaluate {
final taskName = gradle.startParameter.taskNames
if (['assemble', 'bundle', 'compile', 'install', 'run'].any{taskName.any{task->task.startsWith(it)}}) {
if (['assemble', 'bundle', 'compile', 'install', 'run', 'publish'].any{taskName.any{task->task.startsWith(it)}}) {
exec {
workingDir '../..'

View File

@@ -453,7 +453,7 @@
"shop-tattoo": "Tattoo Parlour|4tattoos",
"shop-variety_store|@category_shopping|@shop": "4Variety|6Dollar store|5Pound shop|5Five and dime",
"shop-video|@shop": "4Video|3DVD|videoshop|5video shop|video rental|video rental shop|video rental store",
"shop-video_games|@shop": "Video games|4videogames|video games|videogames|gaming|games|U+1F47E|U+1F579|U+1F3AE",
"shop-video_games|@shop": "Video games|4videogames|video games|videogames|gaming|games|video game|videogame|U+1F47E|U+1F579|U+1F3AE",
"tourism-wilderness_hut|@category_hotel": "4Wilderness Hut|5backcountry hut|hut|mountain hut|bothy|bivvy",
"tourism-gallery|@category_tourism": "3Art Gallery|3Gallery|museum",
"tourism-theme_park|@category_tourism|@category_children": "5Theme park|Amusement park",

View File

@@ -2455,9 +2455,9 @@ node|z17-[amenity=parking],
{icon-image: parking-m.svg;font-size: 11;icon-min-distance: 10}
node|z16-[amenity=car_pooling],
{icon-image: parking-pooling-s.svg;icon-min-distance: 5;}
{icon-image: parking_pooling-s.svg;icon-min-distance: 5;}
node|z17-[amenity=car_pooling],
{icon-image: parking-pooling-m.svg;font-size: 11;icon-min-distance: 10}
{icon-image: parking_pooling-m.svg;font-size: 11;icon-min-distance: 10}
node|z16-[amenity=parking][location=underground],
{icon-image:parking_underground-m.svg;}

View File

@@ -734,7 +734,7 @@ node|z18-[amenity=water_point][drinking_water=not],
node|z15-[amenity=parking],
{icon-image: parking-m.svg;icon-min-distance: 10;font-size: 12.5;}
node|z15-[amenity=car_pooling],
{icon-image: parking-pooling-m.svg;icon-min-distance: 10;font-size: 12.5;}
{icon-image: parking_pooling-m.svg;icon-min-distance: 10;font-size: 12.5;}
node|z17[amenity=parking],
node|z17[amenity=car_pooling],
{icon-min-distance: 15;font-size: 13.75;}

View File

@@ -68,6 +68,10 @@ and apply the [Ubuntu workarounds accordingly](#workarounds-for-older-ubuntu-ver
```bash
sudo dnf install -y \
awk \
wget \
optipng \
git \
clang \
cmake \
ninja-build \
@@ -80,8 +84,13 @@ sudo dnf install -y \
qt6-qtpositioning \
qt6-qtpositioning-devel \
qt6-qtsvg-devel \
python3-protobuf \
sqlite-devel
python3-pip \
sqlite-devel \
libXrandr-devel \
libXinerama-devel \
libXcursor-devel \
libXi-devel
pip3 install "protobuf<3.21" --break-system-packages
```
#### Alpine

View File

@@ -260,6 +260,14 @@ WeekDayView getWeekDayView()
});
}
- (IBAction)extendedToggleButtonTap
{
id<MWMPlacePageOpeningHoursCellProtocol> delegate = self.delegate;
if (delegate.isEditor) {
[delegate setOpeningHoursCellExpanded:!delegate.openingHoursCellExpanded];
}
}
#pragma mark - Properties
- (BOOL)isExpanded

View File

@@ -172,17 +172,30 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fNU-1q-AiR">
<rect key="frame" x="0.0" y="127" width="320" height="122"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<gestureRecognizers/>
<constraints>
<constraint firstAttribute="height" constant="122" id="Ifb-EB-LIb"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hYN-dO-J0e" userLabel="Editor Button">
<rect key="frame" x="0.0" y="0.0" width="320" height="249"/>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain"/>
<connections>
<action selector="extendedToggleButtonTap" destination="KGk-i7-Jjw" eventType="touchUpInside" id="BSf-KC-HgD"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="fNU-1q-AiR" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="08I-np-9jr"/>
<constraint firstAttribute="trailing" secondItem="hYN-dO-J0e" secondAttribute="trailing" id="0Vo-1D-dPq"/>
<constraint firstAttribute="trailing" secondItem="fNU-1q-AiR" secondAttribute="trailing" id="2Hz-cA-KuN"/>
<constraint firstItem="hYN-dO-J0e" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="GVQ-l4-vnQ"/>
<constraint firstItem="0kQ-hh-2Cy" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="60" id="KwF-TF-PmH"/>
<constraint firstAttribute="trailing" secondItem="0kQ-hh-2Cy" secondAttribute="trailing" constant="32" id="RqH-0b-AyG"/>
<constraint firstItem="hYN-dO-J0e" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="Sav-rp-wo2"/>
<constraint firstItem="swk-um-XzG" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="VsQ-qI-dIi"/>
<constraint firstAttribute="bottom" secondItem="hYN-dO-J0e" secondAttribute="bottom" id="Xe1-4J-wRh"/>
<constraint firstItem="0kQ-hh-2Cy" firstAttribute="top" secondItem="swk-um-XzG" secondAttribute="bottom" id="Xrh-Vg-VYg"/>
<constraint firstItem="swk-um-XzG" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="p14-Mi-kcR"/>
<constraint firstItem="fNU-1q-AiR" firstAttribute="top" secondItem="0kQ-hh-2Cy" secondAttribute="bottom" id="uKD-bb-yHT"/>
@@ -192,6 +205,7 @@
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="Background"/>
</userDefinedRuntimeAttributes>
</tableViewCellContentView>
<gestureRecognizers/>
<inset key="separatorInset" minX="60" minY="0.0" maxX="0.0" maxY="0.0"/>
<connections>
<outlet property="currentDay" destination="swk-um-XzG" id="CJG-LQ-Pu8"/>