Compare commits

..

1 Commits

Author SHA1 Message Date
Harry Bond
c7b32e240a [android] Always use newest position available in every mode
Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-07-22 23:57:51 +01:00
37 changed files with 2349 additions and 2389 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View File

@@ -1,5 +1,3 @@
Hotfix: Behebung des Absturzes der App beim Start unter Android 5-7
Wir stellen vor: Das neue CoMaps-Logo!
• Verbesserte Höhenlinien in vielen Regionen (Stufen von 20/50 m)
• Links zu Panoramax-Bildern für ausgewählte POIs
@@ -7,4 +5,5 @@ Wir stellen vor: Das neue CoMaps-Logo!
• Neue Farben für viele Objekte und Farben werden früher angezeigt
• Öffnungszeiten werden beim Antippen eines POI angezeigt
• Verschiedene Arten von Feuchtgebieten
Wandern: bessere Darstellung der Höhenlinien
Neue Farben für Vegetation und andere Features; einige neue Icons
• Wandern: bessere Darstellung der Höhenlinien

View File

@@ -1,10 +1,10 @@
Hotfix: solved app crashing at launch on Android 5-7
Introducing CoMaps logo!
• upgrade altitude contour lines for many regions to 20 or 50 meter steps
• upgrade altitude contour lines for many regions to 20 or 50 meters step
• add Panoramax Picture links to selected POIs
• OpenStreetMap data as of July 13
• add color fills to many features and display fills earlier for existing features
• display opening hours state when selecting a POI
• split all wetlands into several distinct types
• update vegetation and other map colors, update some map icons
• outdoors: bolder altitude contour lines

View File

@@ -1,5 +1,3 @@
Revisión: se solucionó el fallo de inicio en Android 5-7
¡Presentamos el logo de CoMaps!
• mejora de isolíneas con más detalle para muchas regiones
• añade enlaces de imágenes de Panoramax a POIs seleccionados
@@ -7,4 +5,5 @@ Revisión: se solucionó el fallo de inicio en Android 5-7
• añadidos rellenos de color a muchas características
• se muestra el estado de horarios de apertura al seleccionar un POI
• se dividen los humedales en tipos distintos
exteriores: líneas de contorno de altitud más gruesas
se actualiza la vegetación y otros colores del mapa, así como otros iconos
• exteriores: líneas de contorno de altitud más gruesas

View File

@@ -1,8 +1,7 @@
Correctif: correction du plantage de l'application au démarrage sur Android 5-7
Présentation du logo CoMaps !
• Amélioration des courbes daltitude à une précision de 20 ou 50 mètres pour de nombreuses régions
• Ajout d'un lien vers les images Panoramax des POI
• Données OpenStreetMap du 13 juillet
• Affichage de létat des heures douverture lors de la sélection dun POI
• Mise à jour du style(végétation et zones humides), mise à jour de certaines icônes de la carte
• Outdoors: Améliorations de la visibilité des courbes d'altitude

View File

@@ -1,5 +1,3 @@
Poprawka: naprawiono awarię aplikacji podczas uruchamiania na systemie Android 5-7
Wprowadzamy logo CoMaps!
• zwiększenie dokładności izolinii w wielu regionach w krokach 20 do 50 metrów
• dodanie linków do zdjęć z Panoramax do wybranych POI
@@ -7,4 +5,5 @@ Wprowadzamy logo CoMaps!
• dodanie wypełnienia kolorem dla wielu typów obiektów
• wyświetlanie stanu godzin otwarcia przy wyborze POI
• podział mokradeł na kilka typów
• aktualizacja koloru roślinności i innych kolorów, aktualizacja części ikon na mapie
• tryb outdoorowy: pogrubione warstwice wysokości

View File

@@ -1,5 +1,3 @@
Correção: corrigir o travamento do aplicativo ao iniciar no Android 5-7
Apresentamos o logo do CoMaps!
• Curvas de nível mais detalhadas em muitas regiões
• Adicionados links de imagens do Panoramax para pontos de interesse selecionados
@@ -7,4 +5,5 @@ Apresentamos o logo do CoMaps!
• Adicionados preenchimentos de cor a muitos elementos
• Exibição de horário de funcionamento ao selecionar um ponto de interesse
• Divididas áreas úmidas em vários tipos distintos
• Ar livre: curvas de nível de altitude mais destacadas
• Atualizada cores/ícones para vegetação e outros elementos
• Ar livre: curvas de nível de altitude mais destacadas

View File

@@ -1,5 +1,3 @@
Исправление: устранён сбой при запуске приложения на Android 5-7
Представляем логотип CoMaps!
• Линии высот для многих регионов с шагом 20м или 50м
• Ссылки на изображения Panoramax к выбранным POI
@@ -7,4 +5,5 @@
• Заливки цветом ко многим объектам и более ранняя заливка для существующих объектов
• Показ часов работы при выборе POI
• Разные водно-болотные угодья отличаются цветом
В стиле "Активный отдых" более четкие линии высот
Обновлены цвета растительности и другие цвета на карте, изменены некоторые иконки
В стиле "Активный отдых" более четкие линии высот

View File

@@ -1,5 +1,3 @@
Хитна исправка: поправка рушења апликације при покретању на Андроиду 57
Представљамо CoMaps лого!
• ажуриране изохипсе за многе регионе на кораке од 20 или 50 метара
• додате везе ка Panoramax сликама за изабране тачке интересовања (POI)
@@ -7,4 +5,5 @@
• додате боје за многе елементе и раније приказивање постојећих површина
• приказ стања радног времена при избору POI-ја
• мочваре подељене на неколико различитих типова
на отвореном: наглашеније изохипсе
ажуриране боје вегетације и других елемената на мапи, ажуриране поједине иконе
• на отвореном: наглашеније изохипсе

View File

@@ -1 +1 @@
version: 2025.08.08-2-FDroid+25080802
version: 2025.03.02-7-FDroid+25030207

View File

@@ -34,10 +34,7 @@ import app.organicmaps.util.log.Logger;
public class LocationHelper implements BaseLocationProvider.Listener
{
private static final long INTERVAL_FOLLOW_MS = 0;
private static final long INTERVAL_NOT_FOLLOW_MS = 3000;
private static final long INTERVAL_NAVIGATION_MS = 1000;
private static final long INTERVAL_TRACK_RECORDING = 0;
private static final long INTERVAL_MS = 0;
private static final long AGPS_EXPIRATION_TIME_MS = 16 * 60 * 60 * 1000; // 16 hours
private static final long LOCATION_UPDATE_TIMEOUT_MS = 30 * 1000; // 30 seconds
@@ -318,18 +315,14 @@ public class LocationHelper implements BaseLocationProvider.Listener
private long calcLocationUpdatesInterval()
{
if (RoutingController.get().isNavigating())
return INTERVAL_NAVIGATION_MS;
if (TrackRecorder.nativeIsTrackRecordingEnabled())
return INTERVAL_TRACK_RECORDING;
final int mode = Map.isEngineCreated() ? LocationState.getMode() : LocationState.NOT_FOLLOW_NO_POSITION;
return switch (mode)
{
case LocationState.PENDING_POSITION, LocationState.FOLLOW, LocationState.FOLLOW_AND_ROTATE ->
INTERVAL_FOLLOW_MS;
case LocationState.NOT_FOLLOW, LocationState.NOT_FOLLOW_NO_POSITION -> INTERVAL_NOT_FOLLOW_MS;
case LocationState.PENDING_POSITION,
LocationState.FOLLOW,
LocationState.FOLLOW_AND_ROTATE,
LocationState.NOT_FOLLOW,
LocationState.NOT_FOLLOW_NO_POSITION -> INTERVAL_MS;
default -> throw new IllegalArgumentException("Unsupported location mode: " + mode);
};
}

View File

@@ -85,7 +85,7 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
case FMD_WEBSITE_MENU ->
mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE_MENU);
case FMD_CONTACT_FACEBOOK, FMD_CONTACT_INSTAGRAM, FMD_CONTACT_TWITTER,
FMD_CONTACT_FEDIVERSE, FMD_CONTACT_BLUESKY, FMD_CONTACT_VK, FMD_CONTACT_LINE, FMD_PANORAMAX ->
FMD_CONTACT_FEDIVERSE, FMD_CONTACT_BLUESKY, FMD_CONTACT_VK, FMD_CONTACT_LINE ->
{
if (TextUtils.isEmpty(mMapObject.getMetadata(type)))
yield "";
@@ -171,7 +171,7 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
mPanoramax = mFrame.findViewById(R.id.ll__place_panoramax);
mTvPanoramax = mFrame.findViewById(R.id.tv__place_panoramax);
mPanoramax.setOnClickListener((v) -> openUrl(Metadata.MetadataType.FMD_PANORAMAX));
mPanoramax.setOnLongClickListener((v) -> copyUrl(mPanoramax, Metadata.MetadataType.FMD_PANORAMAX));
mTvPanoramax.setOnLongClickListener((v) -> copyUrl(mPanoramax, Metadata.MetadataType.FMD_PANORAMAX));
}
private void openUrl(Metadata.MetadataType type)
@@ -192,7 +192,6 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
final String title = switch (type){
case FMD_WEBSITE -> mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE);
case FMD_WEBSITE_MENU -> mMapObject.getWebsiteUrl(false /* strip */, Metadata.MetadataType.FMD_WEBSITE_MENU);
case FMD_PANORAMAX -> null; // Don't add raw ID to list, as it's useless for users.
default -> mMapObject.getMetadata(type);
};
// Add user names for social media if available
@@ -238,8 +237,7 @@ public class PlacePageLinksFragment extends Fragment implements Observer<MapObje
refreshMetadataOrHide(line, mLinePage, mTvLinePage);
final String panoramax = mMapObject.getMetadata(Metadata.MetadataType.FMD_PANORAMAX);
final String panoramaxTitle = TextUtils.isEmpty(panoramax) ? "" : getResources().getString(R.string.panoramax);
refreshMetadataOrHide(panoramaxTitle, mPanoramax, mTvPanoramax);
refreshMetadataOrHide(panoramax, mPanoramax, mTvPanoramax);
}
@Override

View File

@@ -1,15 +1,4 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="64dp"
android:height="64dp"
android:viewportWidth="64"
android:viewportHeight="64">
<path
android:pathData="m43.279,20.906a0.803,0.803 0,0 1,1.236 -0.052,16.697 16.697,0 0,1 4.243,11.142 16.697,16.697 0,0 1,-3.745 10.556,0.803 0.803,0 0,1 -1.256,-0.024l-1.726,-2.272a0.803,0.803 0,0 1,-0.008 -0.963,12.322 12.322,0 0,0 2.38,-7.297c0,-2.978 -1.052,-5.712 -2.806,-7.851a0.803,0.803 0,0 1,-0.02 -0.995z"
android:fillColor="#ccdfca"/>
<path
android:pathData="m25.706,33.561a0.803,0.803 0,0 1,-0.309 -1.473l11.319,-7.12a0.803,0.803 0,0 1,1.2 0.911l-3.893,12.8a0.803,0.803 0,0 1,-1.505 0.088l-1.975,-4.475z"
android:fillColor="#ccdfca"/>
<path
android:pathData="m40.381,45.466a0.803,0.803 0,0 1,-0.249 1.188,16.697 16.697,0 0,1 -8.132,2.103 16.765,16.765 0,0 1,-16.757 -16.761,16.765 16.765,0 0,1 24.215,-15.007 0.803,0.803 0,0 1,0.281 1.204l-1.702,2.24a0.803,0.803 0,0 1,-0.971 0.245,12.322 12.322,0 0,0 -5.065,-1.084 12.402,12.402 0,0 0,-12.402 12.402c0,6.847 5.559,12.402 12.402,12.402a12.322,12.322 0,0 0,5.683 -1.377,0.803 0.803,0 0,1 1.007,0.225z"
android:fillColor="#fefdf6"/>
</vector>
<inset
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/ic_logo"
android:inset="24%" />

View File

@@ -1,12 +1,4 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="64dp"
android:height="64dp"
android:viewportWidth="64"
android:viewportHeight="64">
<path
android:pathData="M43.938,20.588A0.803,0.803 0,0 0,43.279 20.906L41.577,23.15A0.803,0.803 0,0 0,41.597 24.145C43.351,26.284 44.402,29.018 44.402,31.997A12.322,12.322 0,0 1,42.022 39.293A0.803,0.803 0,0 0,42.031 40.257L43.756,42.527A0.803,0.803 0,0 0,45.013 42.552A16.697,16.697 0,0 0,48.757 31.997A16.697,16.697 0,0 0,44.515 20.854A0.803,0.803 0,0 0,43.938 20.588zM37.126,24.842A0.803,0.803 0,0 0,36.716 24.968L25.397,32.089A0.803,0.803 0,0 0,25.707 33.561L30.543,34.292L32.518,38.767A0.803,0.803 0,0 0,34.022 38.679L37.916,25.879A0.803,0.803 0,0 0,37.126 24.842z"
android:fillColor="#BFFFFFFF" />
<path
android:pathData="m40.381,45.466a0.803,0.803 0,0 1,-0.249 1.188,16.697 16.697,0 0,1 -8.132,2.103 16.765,16.765 0,0 1,-16.757 -16.761,16.765 16.765,0 0,1 24.215,-15.007 0.803,0.803 0,0 1,0.281 1.204l-1.702,2.24a0.803,0.803 0,0 1,-0.971 0.245,12.322 12.322,0 0,0 -5.065,-1.084 12.402,12.402 0,0 0,-12.402 12.402c0,6.847 5.559,12.402 12.402,12.402a12.322,12.322 0,0 0,5.683 -1.377,0.803 0.803,0 0,1 1.007,0.225z"
android:fillColor="#FFFFFF"/>
</vector>
<inset
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/ic_logo_monochrome"
android:inset="24%" />

File diff suppressed because it is too large Load Diff

View File

@@ -25,7 +25,8 @@ When reporting a bug please provide as much information as possible: OS and appl
list of actions leading to a bug, a log file produced by the app.
When using CoMaps app on a device, use the built-in "Report a bug" option:
on Android it creates a new e-mail with a log file attached. Enabling logs in CoMaps settings on Android
on Android it creates a new e-mail with a log file attached. Your issue will be processed much
faster if you send it to <bugs@comaps.app>. Enabling logs in CoMaps settings on Android
before sending the bug report also helps us a lot with debugging.
### Translations

View File

@@ -26,7 +26,6 @@ constexpr string_view kVk{"contact:vk"};
constexpr string_view kLine{"contact:line"};
constexpr string_view kFediverse{"contact:mastodon"};
constexpr string_view kBluesky{"contact:bluesky"};
constexpr string_view kPanoramax{"panoramax"};
constexpr string_view kProfilePhp{"profile.php"};
@@ -609,7 +608,7 @@ bool ValidateBlueskyPage(string const & page)
bool isSocialContactTag(string_view tag)
{
return tag == kInstagram || tag == kFacebook || tag == kTwitter || tag == kVk || tag == kLine || tag == kFediverse || tag == kBluesky || tag == kPanoramax;
return tag == kInstagram || tag == kFacebook || tag == kTwitter || tag == kVk || tag == kLine || tag == kFediverse || tag == kBluesky;
}
bool isSocialContactTag(MapObject::MetadataID const metaID)
@@ -620,8 +619,7 @@ bool isSocialContactTag(MapObject::MetadataID const metaID)
metaID == MapObject::MetadataID::FMD_CONTACT_VK ||
metaID == MapObject::MetadataID::FMD_CONTACT_LINE ||
metaID == MapObject::MetadataID::FMD_CONTACT_FEDIVERSE ||
metaID == MapObject::MetadataID::FMD_CONTACT_BLUESKY ||
metaID == MapObject::MetadataID::FMD_PANORAMAX;
metaID == MapObject::MetadataID ::FMD_CONTACT_BLUESKY;
}
// Functions ValidateAndFormat_{facebook,instagram,twitter,vk}(...) by default strip domain name
@@ -649,8 +647,6 @@ string socialContactToURL(string_view tag, string_view value)
else // 'value' is an URL.
return string{kHttps}.append(value);
}
if (tag == kPanoramax)
return string{kUrlPanoramax}.append(value);
return string{value};
}

View File

@@ -1,11 +1,9 @@
#!/usr/bin/env bash
# Concatenates Android release notes in all languages into a single output format
# suitable to upload to Google Play to add or update existing notes.
# suitable to upload to Google Play to update existing notes.
# Original relnotes files:
GPLAY_NOTES=android/app/src/fdroid/play/listings/*/release-notes.txt
# also symlinked for Triple-T automation to android/app/src/google/play/release-notes/*/default.txt
GPLAY_NOTES=android/app/src/google/play/release-notes/*/default.txt
for x in $(ls $GPLAY_NOTES); do
l=$(basename $(dirname $x));