Skip to content

Commit

Permalink
Merge branch 'master' into fix_#21741
Browse files Browse the repository at this point in the history
  • Loading branch information
Chumva committed Mar 3, 2025
2 parents 5881c4e + b213070 commit a1d4071
Show file tree
Hide file tree
Showing 94 changed files with 1,897 additions and 828 deletions.
6 changes: 2 additions & 4 deletions OsmAnd-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apply plugin: 'com.android.library'
apply plugin: 'ivy-publish'

android {
compileSdk 34
buildToolsVersion = "34.0.0"
compileSdk 35
buildToolsVersion = "35.0.0"

defaultConfig {
minSdkVersion 24
Expand All @@ -27,12 +27,10 @@ android {
}
publishing {
singleVariant('release') {
withSourcesJar()
withJavadocJar()
}

singleVariant('debug') {
withSourcesJar()
withJavadocJar()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -371,8 +371,8 @@ public int getLabelX() {
for(int i = 0; i < len; i++) {
sum += coordinates[2 * i];
}
int average = ((int) (sum >> BinaryMapIndexReader.SHIFT_COORDINATES)/ len)
<< (BinaryMapIndexReader.SHIFT_COORDINATES - LABEL_SHIFT);
int l = (int) ((sum >> BinaryMapIndexReader.SHIFT_COORDINATES)/ len);
int average = l << (BinaryMapIndexReader.SHIFT_COORDINATES - LABEL_SHIFT);
int label31X = (average + this.labelX) << LABEL_SHIFT;
return label31X;
}
Expand All @@ -384,8 +384,8 @@ public int getLabelY() {
for(int i = 0; i < len; i++) {
sum += coordinates[2 * i + 1];
}
int average = ((int) (sum >> BinaryMapIndexReader.SHIFT_COORDINATES)/ len)
<< (BinaryMapIndexReader.SHIFT_COORDINATES - LABEL_SHIFT);
int l = (int) ((sum >> BinaryMapIndexReader.SHIFT_COORDINATES)/ len);
int average = l << (BinaryMapIndexReader.SHIFT_COORDINATES - LABEL_SHIFT);
int label31Y = (average + this.labelY) << LABEL_SHIFT;
return label31Y;
}
Expand Down
29 changes: 17 additions & 12 deletions OsmAnd-java/src/main/java/net/osmand/data/MultipolygonBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import gnu.trove.map.hash.TLongObjectHashMap;
import net.osmand.osm.edit.*;
import net.osmand.osm.io.OsmBaseStorage;
import net.osmand.util.JarvisAlgorithm;
import net.osmand.util.MapUtils;
import org.apache.commons.logging.Log;
Expand Down Expand Up @@ -124,19 +125,19 @@ public ArrayList<Ring> combineToRings(List<Way> ways) {
do {
newWay = merge(multilineStartPoint, getLastId(changedWay), changedWay,
multilineEndPoint, getFirstId(changedWay));
if(newWay == null) {
newWay = merge(multilineEndPoint, getFirstId(changedWay), changedWay,
multilineStartPoint, getLastId(changedWay));
if (newWay == null) {
newWay = merge(multilineEndPoint, getFirstId(changedWay), changedWay, multilineStartPoint,
getLastId(changedWay));
}
if(newWay == null) {
newWay = merge(multilineStartPoint, getFirstId(changedWay), changedWay,
multilineEndPoint, getLastId(changedWay));
if (newWay == null) {
newWay = merge(multilineStartPoint, getFirstId(changedWay), changedWay, multilineEndPoint,
getLastId(changedWay));
}
if(newWay == null) {
newWay = merge(multilineEndPoint, getLastId(changedWay), changedWay,
multilineStartPoint, getFirstId(changedWay));
if (newWay == null) {
newWay = merge(multilineEndPoint, getLastId(changedWay), changedWay, multilineStartPoint,
getFirstId(changedWay));
}
if(newWay != null) {
if (newWay != null) {
changedWay = newWay;
}
} while (newWay != null);
Expand All @@ -147,8 +148,11 @@ public ArrayList<Ring> combineToRings(List<Way> ways) {
}

List<Way> multiLines = new ArrayList<Way>();
for(List<Way> lst : multilineStartPoint.valueCollection()) {
multiLines.addAll(lst);
for (List<Way> lst : multilineStartPoint.valueCollection()) {
if(lst.size() > 0) {
multiLines.addAll(lst);

}
}
ArrayList<Ring> result = new ArrayList<Ring>();
for (Way multiLine : multiLines) {
Expand Down Expand Up @@ -253,6 +257,7 @@ private Way combineTwoWaysIfHasPoints(Way w1, Way w2) {
}
if (combine) {
Way newWay = new Way(nextRandId());
// Way newWay = new Way(-Math.abs(w1.getId()));
boolean nodePresent = w1.getNodes() != null || w1.getNodes().size() != 0;
int w1size = nodePresent ? w1.getNodes().size() : w1.getNodeIds().size();
for (int i = 0; i < w1size; i++) {
Expand Down
4 changes: 4 additions & 0 deletions OsmAnd-java/src/main/java/net/osmand/data/Ring.java
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ public boolean isClosed() {
public List<Node> getBorder() {
return border.getNodes();
}

public Way getBorderWay() {
return border;
}


/**
Expand Down
4 changes: 2 additions & 2 deletions OsmAnd-java/src/main/java/net/osmand/osm/edit/Relation.java
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ public List<RelationMember> getMembers() {
@Override
public void initializeLinks(Map<EntityId, Entity> entities){
if (members != null) {
for(RelationMember rm : members) {
if(rm.entityId != null && entities.containsKey(rm.entityId)) {
for (RelationMember rm : members) {
if (rm.entityId != null && entities.containsKey(rm.entityId)) {
rm.entity = entities.get(rm.entityId);
}
}
Expand Down
5 changes: 4 additions & 1 deletion OsmAnd-shared/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ kotlin {
val commonLoggingVersion = "1.2"
val coroutinesVersion = "1.8.1"
val statelyVersion = "2.1.0"
val coilVersion = "3.1.0"

sourceSets {
commonMain.dependencies {
Expand All @@ -73,6 +74,8 @@ kotlin {
implementation("androidx.sqlite:sqlite:$sqliteVersion")
implementation("androidx.sqlite:sqlite-framework:$sqliteVersion")
implementation("net.sf.kxml:kxml2:$kxml2Version")
implementation("io.coil-kt.coil3:coil-core:$coilVersion")
implementation("io.coil-kt.coil3:coil-network-okhttp:$coilVersion")
}
iosMain.dependencies {
implementation("co.touchlab:sqliter-driver:$sqliterVersion")
Expand All @@ -86,7 +89,7 @@ kotlin {

android {
namespace = "net.osmand.shared"
compileSdk = 34
compileSdk = 35
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package net.osmand.shared.util

import android.content.Context
import coil3.Bitmap
import coil3.ImageLoader
import coil3.disk.DiskCache
import coil3.disk.directory
import coil3.memory.MemoryCache
import coil3.request.Disposable
import coil3.request.ImageRequest
import coil3.request.allowHardware
import coil3.toBitmap

class NetworkImageLoader(private val context: Context, useDiskCache: Boolean = false) {

companion object {
private const val DISK_CACHE_SIZE = 1024 * 1024 * 100L // 100MB
private const val DISK_IMAGES_CACHE_DIR = "net_images_cache"
}

private var imageLoader: ImageLoader = ImageLoader.Builder(context)
.allowHardware(false)
.memoryCache {
MemoryCache.Builder()
.maxSizePercent(context, 0.25)
.build()
}
.apply {
if (useDiskCache) {
diskCache {
DiskCache.Builder()
.directory(context.cacheDir.resolve(DISK_IMAGES_CACHE_DIR))
.maxSizeBytes(DISK_CACHE_SIZE)
.build()
}
}
}
.build()

fun loadImage(
url: String, callback: ImageLoaderCallback, handlePlaceholder: Boolean = false
): LoadingImage {
val request = ImageRequest.Builder(context)
.data(url)
.target(
onStart = { placeholder ->
callback.onStart(placeholder?.takeIf { handlePlaceholder }?.toBitmap())
},
onSuccess = { result ->
callback.onSuccess(result.toBitmap())
},
onError = { _ ->
callback.onError()
})
.build()

return LoadingImage(url, imageLoader.enqueue(request))
}
}

interface ImageLoaderCallback {

fun onStart(bitmap: Bitmap?)

fun onSuccess(bitmap: Bitmap)

fun onError()
}

class LoadingImage(val url: String, private val disposable: Disposable) {

fun cancel(): Boolean {
disposable.dispose()
return true
}
}
6 changes: 3 additions & 3 deletions OsmAnd-telegram/res/values-et/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
<string name="shared_string_cancel">Tühista</string>
<string name="shared_string_settings">Seaded</string>
<string name="osmand_service">Taustarežiim</string>
<string name="yard">yd</string>
<string name="yard">jrd</string>
<string name="foot">jalga</string>
<string name="mile">mi</string>
<string name="km">km</string>
Expand All @@ -73,8 +73,8 @@
<string name="min_mile">min/m</string>
<string name="min_km">min/km</string>
<string name="m_s">m/s</string>
<string name="km_h">km/h</string>
<string name="mile_per_hour">mph</string>
<string name="km_h">km/t</string>
<string name="mile_per_hour">mi/t</string>
<string name="si_kmh">Kilomeetrit tunnis</string>
<string name="si_mph">Miili tunnis</string>
<string name="si_m_s">Meetrit sekundis</string>
Expand Down
7 changes: 5 additions & 2 deletions OsmAnd/build-common.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ tasks.register('printc') {
}

android {
compileSdk 34
buildToolsVersion = "34.0.0"
compileSdk 35
buildToolsVersion = "35.0.0"
// compileNdkVersion "android-ndk-r17b"
namespace = "net.osmand.plus"
defaultConfig {
Expand Down Expand Up @@ -404,6 +404,9 @@ dependencies {
// turn off for now
//implementation 'com.atilika.kuromoji:kuromoji-ipadic:0.9.0'
implementation 'com.squareup.picasso:picasso:2.71828'
//implementation("io.coil-kt.coil3:coil-core:3.1.0")
//implementation("io.coil-kt.coil3:coil-network-okhttp:3.1.0")

implementation 'me.zhanghai.android.materialprogressbar:library:1.4.2'
implementation "net.osmand:antpluginlib:3.8.0@aar"
// JS core
Expand Down
7 changes: 7 additions & 0 deletions OsmAnd/build-library.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,13 @@ android {
osmandTask.dependsOn(copyMapPOIIcons)
osmandTask.dependsOn(copyLargePOIIcons)
}
def generateResources= "generate${taskName}Resources"
tasks.named(generateResources).configure { osmandTask ->
println(osmandTask.getName() + " generate resources")
osmandTask.dependsOn(copyMapShaderIcons)
osmandTask.dependsOn(copyMapPOIIcons)
osmandTask.dependsOn(copyLargePOIIcons)
}
}
}

Expand Down
5 changes: 5 additions & 0 deletions OsmAnd/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,11 @@ android {
println(osmandTask.getName() + " merge resources")
osmandTask.dependsOn(collectExternalResources)
}
def generateResources= "generate${taskName}Resources"
tasks.named(generateResources).configure { osmandTask ->
println(osmandTask.getName() + " generate resources")
osmandTask.dependsOn(collectExternalResources)
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion OsmAnd/res/values-b+sr+Latn/phrases.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4600,7 +4600,7 @@
<string name="poi_board_type_art">Art</string>
<string name="poi_board_type_planet_walk">Šetnja planetama</string>
<string name="poi_board_type_sight">Panoramski pogled</string>
<string name="poi_landuse_education">Obrazovanje</string>
<string name="poi_landuse_education">Područje obrazovne ustanove</string>
<string name="poi_payment_mastercard_contactless_yes">Beskontaktni MasterCard</string>
<string name="poi_payment_girocard_contactless_yes">Beskontaktna Girocard</string>
<string name="poi_payment_girocard_contactless_no">Beskontaktni Girocard se ne prihvata</string>
Expand Down
6 changes: 3 additions & 3 deletions OsmAnd/res/values-b+sr+Latn/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1906,7 +1906,7 @@
<string name="storage_directory_card">Memorijska kartica</string>
<string name="shared_string_is_open_24_7">Otvoreno 24/7</string>
<string name="map_widget_search">Traži</string>
<string name="city_type_neighbourhood">Sused</string>
<string name="city_type_neighbourhood">Kvart</string>
<string name="city_type_district">Distrikt</string>
<string name="shared_string_from">iz</string>
<string name="postcode">Poštanski broj</string>
Expand Down Expand Up @@ -2619,7 +2619,7 @@
<string name="shared_string_recorded">Snimljeno</string>
<string name="shared_string_trip">#Putovanje</string>
<string name="shared_string_paused">Pauzirano</string>
<string name="shared_string_pause">&amp;Pauziraj</string>
<string name="shared_string_pause">Pauza</string>
<string name="shared_string_continue">Nastavi</string>
<string name="shared_string_resume">Nastavi</string>
<string name="shared_string_notifications">Obaveštenja</string>
Expand Down Expand Up @@ -5515,7 +5515,7 @@
<string name="track_does_not_contain_data_to_save">Putanja ne sadrži podatke za čuvanje.</string>
<string name="quick_action_finish_trip_recording_summary">Dugme za čuvanje GPX staze i završetak snimanja putovanja.</string>
<string name="start_trip_recording_first_m">Prvo započni snimanje putovanja.</string>
<string name="quick_action_save_recorded_trip_and_continue">Snimljeno putovanje i nastavi</string>
<string name="quick_action_save_recorded_trip_and_continue">Snimi putovanje i nastavi</string>
<string name="help_article_personal_color_palette_schemes_name">Šeme boja</string>
<string name="quick_action_new_trip_segment">Dugme za pokretanje novog segmenta u tekućem GPX snimanju staze.</string>
<string name="new_segment_started_m">Počelo je snimanje novog segmenta putanje.</string>
Expand Down
2 changes: 1 addition & 1 deletion OsmAnd/res/values-cs/phrases.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4243,7 +4243,7 @@
<string name="poi_handwashing_creme_yes">Krém: ano</string>
<string name="poi_handwashing_creme_no">Krém: ne</string>
<string name="poi_tiles">Obchod s dlaždicemi</string>
<string name="poi_landuse_education">Vzdělávání</string>
<string name="poi_landuse_education">Oblast vzdělávání</string>
<string name="poi_board_type_art">Umění</string>
<string name="poi_board_type_sport">Sport</string>
<string name="poi_handwashing_hand_disinfection_yes">Dezinfekce rukou: ano</string>
Expand Down
4 changes: 2 additions & 2 deletions OsmAnd/res/values-cs/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5473,7 +5473,7 @@
<string name="no_photos_available_descr">K této lokalitě zatím nebyly přidány žádné uživatelské fotografie</string>
<string name="no_photos_available">Nejsou dostupné žádné fotografie</string>
<string name="quick_action_finish_trip_recording_summary">Tlačítko pro uložení GPX stopy a ukončení záznamu cesty.</string>
<string name="quick_action_save_recorded_trip_and_continue">Zaznamenaná cesta a pokračování</string>
<string name="quick_action_save_recorded_trip_and_continue">Zaznamenaný výlet a pokračovat</string>
<string name="track_does_not_contain_data_to_save">Stopa neobsahuje data, která by bylo možné uložit.</string>
<string name="start_trip_recording_first_m">Nejprve spusťte záznam cesty.</string>
<string name="new_segment_started_m">Zahájení nahrávání nového segmentu stopy.</string>
Expand All @@ -5495,7 +5495,7 @@
<string name="obd_support">Podpora OBD</string>
<string name="obd_ambient_air_temp">Teplota okolí</string>
<string name="obd_battery_voltage">Napětí baterie</string>
<string name="new_trip_segment">Nový úsek cesty</string>
<string name="new_trip_segment">Nový segment výletu</string>
<string name="quick_action_verb_start_pause">Spustit / Pozastavit</string>
<string name="help_article_personal_color_palette_schemes_name">Barevná schémata</string>
<string name="movies_list">Seznam filmů</string>
Expand Down
2 changes: 1 addition & 1 deletion OsmAnd/res/values-de/phrases.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4290,7 +4290,7 @@
<string name="poi_post_office_post_partner">Bietet eingeschränkte Dienstleistungen im Auftrag des Postdienstleisters an</string>
<string name="poi_post_office_service_provider">Name des Postdienstleisters</string>
<string name="poi_post_office_service_brand">Markenname der Postdienstleistungen</string>
<string name="poi_landuse_education">Bildung</string>
<string name="poi_landuse_education">Schulischer Bereich</string>
<string name="poi_greenery">Begrünung</string>
<string name="poi_laundry_service_filter">Wäscheservice</string>
<string name="poi_hairdresser_supply">Friseurbedarf</string>
Expand Down
4 changes: 4 additions & 0 deletions OsmAnd/res/values-de/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5727,4 +5727,8 @@
<string name="original_shape_description">Jeder Punkt würde seine eigene Form behalten.</string>
<string name="show_mercator_grids">Mercator statt WGS84 oder UTM verwenden</string>
<string name="show_mercator_grids_description">Gitter in Mercator km statt WGS84 oder UTM anzeigen</string>
<string name="show_dms_grids">Verwende Dezimeter statt Grad</string>
<string name="show_dm_grids">Verwende Dezimeter statt Grad oder Dezimeter pro Meter</string>
<string name="show_dm_grids_description">Zeige Gitter in Grad und Minuten statt in Grad oder DMS</string>
<string name="show_dms_grids_description">Gitter in Grad, Minuten, Sekunden anzeigen statt in Grad</string>
</resources>
2 changes: 1 addition & 1 deletion OsmAnd/res/values-es-rAR/phrases.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4290,7 +4290,7 @@
<string name="poi_board_type_welcome_sign">Cartel de bienvenida</string>
<string name="poi_board_type_sport">Deporte</string>
<string name="poi_board_type_art">Arte</string>
<string name="poi_landuse_education">Educación</string>
<string name="poi_landuse_education">Área educativa</string>
<string name="poi_greenery">Vegetación (decorativa);Follaje;Verdor</string>
<string name="poi_hairdresser_supply">Suministros de peluquería</string>
<string name="poi_changing_table_filter">Cambiador de pañales</string>
Expand Down
2 changes: 1 addition & 1 deletion OsmAnd/res/values-es-rAR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3433,7 +3433,7 @@
<string name="context_menu_item_add_waypoint">Agregar punto de referencia de la traza</string>
<string name="map_widget_monitoring">Grabación de viaje</string>
<string name="marker_save_as_track">Guardar como archivo de traza</string>
<string name="follow_track">Seguir traza</string>
<string name="follow_track">Navegar traza</string>
<string name="follow_track_descr">Elegí el archivo de la traza a seguir</string>
<string name="import_track_descr">Elegí el archivo de la traza a seguir o importalo desde el dispositivo.</string>
<string name="select_another_track">Elegí otra traza</string>
Expand Down
Loading

0 comments on commit a1d4071

Please sign in to comment.