Compare commits

..

1 Commits

Author SHA1 Message Date
map-per
81fc0e9e9a [editor] More reliable check for deprecated and moved features
Signed-off-by: map-per <map-per@gmx.de>
2025-12-28 18:04:20 +01:00
8 changed files with 2332 additions and 2334 deletions

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

@@ -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
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,4 @@
{
"World": {
"languages": ["int_name", "en", "default"]
},
"WorldCoasts": {
"languages": ["int_name", "en", "default"]
},
"Abkhazia": {
"languages": ["ab", "ru"]
},

View File

@@ -45,8 +45,9 @@
#
# A C++ parser implementation used by the generator is in generator/utils.cpp::ParseMapCSS().
# A python parser implementation used to compile *.mapcss style files is in tools/kothic/src/libkomwm.py::komap_mapswithme().
# The app doesn't use this file directly, it loads a data/types.txt
# The rendering engine in the app doesn't use this file directly, it loads a data/types.txt
# which is derived from this file during style files compilation.
# A C++ parser for matching types to OSM tags is implemented in editor/feature_type_to_osm.cpp.
#
# Types that don't have any style defined are discarded by the generator.
# To prevent discarding, add them to the exceptions in indexer/feature_visibility.cpp::IsUsefulNondrawableType()
Can't render this file because it contains an unexpected character in line 7 and column 16.

View File

@@ -1,7 +1,7 @@
{
"data_format": 1,
"data_url": "https://codeberg.org/comaps/comaps/raw/branch/main/data/taginfo.json",
"data_updated": "20251228T203737Z",
"data_updated": "20251120T121118Z",
"project": {
"name": "CoMaps",
"description": "CoMaps is a community-focused privacy navigation iOS & Android app for travelers - drivers, hikers, and cyclists.",
@@ -176,7 +176,7 @@
"description": "amenity=car_pooling",
"key": "amenity",
"value": "car_pooling",
"icon_url": "https://codeberg.org/comaps/comaps/raw/branch/main/data/styles/default/light/symbols/parking_pooling-m.svg"
"icon_url": "https://codeberg.org/comaps/comaps/raw/branch/main/data/styles/default/light/symbols/parking-pooling-m.svg"
},
{
"description": "amenity=car_rental",
@@ -431,12 +431,6 @@
"value": "hunting_stand",
"icon_url": "https://codeberg.org/comaps/comaps/raw/branch/main/data/styles/default/light/symbols/hunting-tower-m.svg"
},
{
"description": "amenity=hydrant",
"key": "amenity",
"value": "hydrant",
"icon_url": "https://codeberg.org/comaps/comaps/raw/branch/main/data/styles/default/light/symbols/hydrant-m.svg"
},
{
"description": "amenity=ice_cream",
"key": "amenity",

View File

@@ -35,24 +35,31 @@ void TypeToOSMTranslator::LoadFromStream(std::istream & s)
getline(s, line);
strings::Trim(line);
// skip empty lines, comments, deprecated and moved types
if (line.empty() || line.front() == '#' || line.starts_with("deprecated") || line.starts_with("moved") ||
line.back() != ';')
// skip empty lines and comments
if (line.empty() || line.front() == '#')
continue;
std::vector<std::string_view> const rowTokens = strings::Tokenize(line, ";");
if (rowTokens.size() < 2)
std::vector<std::string> rowTokens;
strings::ParseCSVRow(line, ';', rowTokens);
// make sure entry is in full or short format
if (rowTokens.size() != 3 && rowTokens.size() != 7)
{
ASSERT(false, ("Invalid feature type definition:", line));
continue;
}
// skip deprecated and moved types
if ((rowTokens.size() == 3 && !rowTokens[2].empty()) || (rowTokens.size() == 7 && rowTokens[2] == "x"))
continue;
// Get internal feature type
ASSERT(!rowTokens[0].empty(), ("No feature type found:", line));
std::vector<std::string_view> const featureTypeTokens = strings::Tokenize(rowTokens[0], "|");
uint32_t const type = classif().GetTypeByPathSafe(featureTypeTokens);
ASSERT(type != IndexAndTypeMapping::INVALID_TYPE, ("Feature with invalid type:", line));
if (rowTokens.size() == 2)
if (rowTokens.size() == 3)
{
// Derive OSM tags from type name
ASSERT(featureTypeTokens.size() <= 2, ("OSM tags can not be inferred from name:", line));
@@ -77,6 +84,11 @@ void TypeToOSMTranslator::LoadFromStream(std::istream & s)
else
{
// OSM tags are listed in the feature type entry
if (rowTokens[1].empty())
{
ASSERT(false, ("No OSM tags found:", line));
continue;
}
std::vector<std::string_view> const osmTagTokens = strings::Tokenize(rowTokens[1], ",");
// First entry is the best practice way to tag a feature