mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-23 14:43:43 +00:00
Compare commits
1 Commits
main
...
security-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d6b9e9b09 |
17
SECURITY.md
Normal file
17
SECURITY.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
## Reporting Vulnerabilities
|
||||||
|
You can report a security vulnerability by creating an issue or send mail to legal@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
|
||||||
|
```
|
||||||
@@ -15,13 +15,7 @@
|
|||||||
android:theme="@style/MwmWidget.ToolbarTheme">
|
android:theme="@style/MwmWidget.ToolbarTheme">
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/save"
|
android:id="@+id/save"
|
||||||
android:layout_width="wrap_content"
|
style="@style/MwmWidget.Downloader.ToolbarButton"
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:gravity="center"
|
|
||||||
android:layout_gravity="end|center_vertical"
|
|
||||||
android:background="?selectableItemBackgroundBorderless"
|
|
||||||
android:padding="@dimen/margin_half"
|
|
||||||
android:textAppearance="@style/MwmTextAppearance.Toolbar.Title"
|
|
||||||
android:text="@string/editor_report_problem_send_button"/>
|
android:text="@string/editor_report_problem_send_button"/>
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
</com.google.android.material.appbar.MaterialToolbar>
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:background="?windowBackgroundForced"
|
||||||
android:animateLayoutChanges="true"
|
android:animateLayoutChanges="true"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:background="?cardBackground"
|
android:background="?windowBackgroundForced"
|
||||||
android:padding="@dimen/margin_base">
|
android:padding="@dimen/margin_base">
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?cardBackground"
|
|
||||||
android:minHeight="@dimen/height_item_oneline"
|
android:minHeight="@dimen/height_item_oneline"
|
||||||
android:paddingStart="@dimen/margin_base_plus"
|
android:paddingStart="@dimen/margin_base_plus"
|
||||||
android:paddingEnd="@dimen/margin_base_plus">
|
android:paddingEnd="@dimen/margin_base_plus">
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?cardBackground"
|
|
||||||
android:minHeight="@dimen/height_item_oneline"
|
android:minHeight="@dimen/height_item_oneline"
|
||||||
android:paddingStart="@dimen/margin_base_plus"
|
android:paddingStart="@dimen/margin_base_plus"
|
||||||
android:paddingEnd="@dimen/margin_base_plus">
|
android:paddingEnd="@dimen/margin_base_plus">
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/margin_half_plus"
|
android:layout_marginBottom="@dimen/margin_half_plus"
|
||||||
android:textSize="@dimen/text_size_headline"
|
android:textAppearance="@style/MwmTextAppearance.Title.Toolbar"
|
||||||
android:fontFamily="@string/robotoMedium"
|
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
tools:text="Some long long long placeholder title"/>
|
tools:text="Some long long long placeholder title"/>
|
||||||
|
|||||||
8
android/app/src/main/res/layout/tab_timepicker.xml
Normal file
8
android/app/src/main/res/layout/tab_timepicker.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
style="@style/MwmWidget.Tab"
|
||||||
|
android:textAppearance="@style/MwmTextAppearance.Body3"
|
||||||
|
tools:drawableStart="@drawable/ic_menu_open"
|
||||||
|
tools:text="Some tab"/>
|
||||||
@@ -15,6 +15,11 @@
|
|||||||
<item name="android:textStyle">bold</item>
|
<item name="android:textStyle">bold</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="MwmTextAppearance.Title.Toolbar">
|
||||||
|
<item name="android:textSize">@dimen/text_size_toolbar</item>
|
||||||
|
<item name="android:fontFamily">@string/robotoMedium</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="MwmTextAppearance.Headline">
|
<style name="MwmTextAppearance.Headline">
|
||||||
<item name="android:textSize">@dimen/text_size_headline</item>
|
<item name="android:textSize">@dimen/text_size_headline</item>
|
||||||
<item name="android:textColor">?android:textColorPrimary</item>
|
<item name="android:textColor">?android:textColorPrimary</item>
|
||||||
@@ -116,6 +121,10 @@
|
|||||||
<item name="android:textColor">@color/bg_cards</item>
|
<item name="android:textColor">@color/bg_cards</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="MwmTextAppearance.Toolbar.Title.Button">
|
||||||
|
<item name="android:textSize">@dimen/text_size_body_3</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="MwmTextAppearance.NavMenu">
|
<style name="MwmTextAppearance.NavMenu">
|
||||||
<item name="android:textStyle">bold</item>
|
<item name="android:textStyle">bold</item>
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -287,6 +287,13 @@
|
|||||||
<item name="android:textColor">@color/text_light</item>
|
<item name="android:textColor">@color/text_light</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="MwmWidget.Tab">
|
||||||
|
<item name="android:layout_width">wrap_content</item>
|
||||||
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
<item name="android:textAppearance">@style/MwmTextAppearance.Body3</item>
|
||||||
|
<item name="android:gravity">center</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="MwmWidget.TabLayout" parent="Widget.Design.TabLayout">
|
<style name="MwmWidget.TabLayout" parent="Widget.Design.TabLayout">
|
||||||
<item name="tabMaxWidth">0dp</item>
|
<item name="tabMaxWidth">0dp</item>
|
||||||
<item name="tabTextAppearance">@style/MwmTextAppearance.Tab</item>
|
<item name="tabTextAppearance">@style/MwmTextAppearance.Tab</item>
|
||||||
@@ -298,6 +305,16 @@
|
|||||||
<item name="tabSelectedTextColor">@color/white_primary</item>
|
<item name="tabSelectedTextColor">@color/white_primary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="MwmWidget.Downloader.ToolbarButton">
|
||||||
|
<item name="android:layout_width">wrap_content</item>
|
||||||
|
<item name="android:layout_height">match_parent</item>
|
||||||
|
<item name="android:gravity">center</item>
|
||||||
|
<item name="android:layout_gravity">end|center_vertical</item>
|
||||||
|
<item name="android:background">?selectableItemBackgroundBorderless</item>
|
||||||
|
<item name="android:padding">@dimen/margin_half</item>
|
||||||
|
<item name="android:textAppearance">@style/MwmTextAppearance.Toolbar.Title.Button</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="MwmWidget.MaterialCalendar.Theme.FullScreen.Dark"
|
<style name="MwmWidget.MaterialCalendar.Theme.FullScreen.Dark"
|
||||||
parent="ThemeOverlay.Material3.MaterialCalendar.Fullscreen">
|
parent="ThemeOverlay.Material3.MaterialCalendar.Fullscreen">
|
||||||
<item name="colorSurface">@color/material_calendar_surface_dark</item>
|
<item name="colorSurface">@color/material_calendar_surface_dark</item>
|
||||||
@@ -360,6 +377,9 @@
|
|||||||
<style name="MwmWidget.M3.Button" parent="Widget.Material3.Button">
|
<style name="MwmWidget.M3.Button" parent="Widget.Material3.Button">
|
||||||
<item name="android:layout_width">wrap_content</item>
|
<item name="android:layout_width">wrap_content</item>
|
||||||
<item name="android:layout_height">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>
|
<item name="android:textSize">16sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -369,11 +389,13 @@
|
|||||||
|
|
||||||
<style name="MwmWidget.M3.Button.Secondary" parent="@style/Widget.Material3.Button.OutlinedButton">
|
<style name="MwmWidget.M3.Button.Secondary" parent="@style/Widget.Material3.Button.OutlinedButton">
|
||||||
<item name="android:textSize">16sp</item>
|
<item name="android:textSize">16sp</item>
|
||||||
|
<item name="strokeColor">?colorSecondary</item>
|
||||||
<item name="android:textColor">?colorSecondary</item>
|
<item name="android:textColor">?colorSecondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="MwmWidget.M3.FAB.Primary" parent="@style/Widget.Material3.FloatingActionButton.Primary">
|
<style name="MwmWidget.M3.FAB.Primary" parent="@style/Widget.Material3.FloatingActionButton.Primary">
|
||||||
<item name="shapeAppearance">@style/ShapeAppearanceOverlay.Material3.FloatingActionButton</item>
|
<item name="shapeAppearance">@style/ShapeAppearanceOverlay.Material3.FloatingActionButton</item>
|
||||||
|
<item name="rippleColor">@null</item>
|
||||||
<item name="backgroundTint">?colorSecondary</item>
|
<item name="backgroundTint">?colorSecondary</item>
|
||||||
<item name="tint">?android:textColorPrimaryInverse</item>
|
<item name="tint">?android:textColorPrimaryInverse</item>
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -2455,9 +2455,9 @@ node|z17-[amenity=parking],
|
|||||||
{icon-image: parking-m.svg;font-size: 11;icon-min-distance: 10}
|
{icon-image: parking-m.svg;font-size: 11;icon-min-distance: 10}
|
||||||
|
|
||||||
node|z16-[amenity=car_pooling],
|
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],
|
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],
|
node|z16-[amenity=parking][location=underground],
|
||||||
{icon-image:parking_underground-m.svg;}
|
{icon-image:parking_underground-m.svg;}
|
||||||
|
|||||||
@@ -734,7 +734,7 @@ node|z18-[amenity=water_point][drinking_water=not],
|
|||||||
node|z15-[amenity=parking],
|
node|z15-[amenity=parking],
|
||||||
{icon-image: parking-m.svg;icon-min-distance: 10;font-size: 12.5;}
|
{icon-image: parking-m.svg;icon-min-distance: 10;font-size: 12.5;}
|
||||||
node|z15-[amenity=car_pooling],
|
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=parking],
|
||||||
node|z17[amenity=car_pooling],
|
node|z17[amenity=car_pooling],
|
||||||
{icon-min-distance: 15;font-size: 13.75;}
|
{icon-min-distance: 15;font-size: 13.75;}
|
||||||
|
|||||||
@@ -260,14 +260,6 @@ WeekDayView getWeekDayView()
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)extendedToggleButtonTap
|
|
||||||
{
|
|
||||||
id<MWMPlacePageOpeningHoursCellProtocol> delegate = self.delegate;
|
|
||||||
if (delegate.isEditor) {
|
|
||||||
[delegate setOpeningHoursCellExpanded:!delegate.openingHoursCellExpanded];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - Properties
|
#pragma mark - Properties
|
||||||
|
|
||||||
- (BOOL)isExpanded
|
- (BOOL)isExpanded
|
||||||
|
|||||||
@@ -172,30 +172,17 @@
|
|||||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fNU-1q-AiR">
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fNU-1q-AiR">
|
||||||
<rect key="frame" x="0.0" y="127" width="320" height="122"/>
|
<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"/>
|
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<gestureRecognizers/>
|
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="122" id="Ifb-EB-LIb"/>
|
<constraint firstAttribute="height" constant="122" id="Ifb-EB-LIb"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</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>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="fNU-1q-AiR" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="08I-np-9jr"/>
|
<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 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 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 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 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="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="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"/>
|
<constraint firstItem="fNU-1q-AiR" firstAttribute="top" secondItem="0kQ-hh-2Cy" secondAttribute="bottom" id="uKD-bb-yHT"/>
|
||||||
@@ -205,7 +192,6 @@
|
|||||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="Background"/>
|
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="Background"/>
|
||||||
</userDefinedRuntimeAttributes>
|
</userDefinedRuntimeAttributes>
|
||||||
</tableViewCellContentView>
|
</tableViewCellContentView>
|
||||||
<gestureRecognizers/>
|
|
||||||
<inset key="separatorInset" minX="60" minY="0.0" maxX="0.0" maxY="0.0"/>
|
<inset key="separatorInset" minX="60" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="currentDay" destination="swk-um-XzG" id="CJG-LQ-Pu8"/>
|
<outlet property="currentDay" destination="swk-um-XzG" id="CJG-LQ-Pu8"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user