From 45f41d6401eb2984ed8b8310b58c7e6a2a9df43f Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sun, 6 Aug 2023 10:38:12 +0200 Subject: [PATCH] Bugfix: Android 14's AltitudeConverter throws exception if no geo coords are present. --- .../services/handlers/AltitudeCorrectionManager.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java b/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java index eecec56a6..161cdaeba 100644 --- a/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java +++ b/src/main/java/de/dennisguse/opentracks/services/handlers/AltitudeCorrectionManager.java @@ -29,6 +29,10 @@ public class AltitudeCorrectionManager { } public void correctAltitude(Context context, TrackPoint trackPoint) { + if (!trackPoint.hasLocation() || !trackPoint.hasAltitude()) { + Log.d(TAG, "No altitude correction necessary."); + return; + } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE && altitudeConverter != null) { try { Location loc = trackPoint.getLocation(); @@ -52,11 +56,6 @@ public class AltitudeCorrectionManager { private EGM2008Utils.EGM2008Correction egm2008Correction; public void correctAltitude(Context context, TrackPoint trackPoint) { - if (!trackPoint.hasLocation() || !trackPoint.hasAltitude()) { - Log.d(TAG, "No altitude correction necessary."); - return; - } - if (egm2008Correction == null || !egm2008Correction.canCorrect(trackPoint.getLocation())) { try { egm2008Correction = EGM2008Utils.createCorrection(context, trackPoint.getLocation());