From f2bfab04914c9caaf89c94794fb61d3b451f7df3 Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Thu, 3 Sep 2020 23:01:59 +0200 Subject: [PATCH] Huami: do not write elevation to GPX if we have a base altitude of -20000 ( #2001 ) --- .../freeyourgadget/gadgetbridge/export/GPXExporter.java | 4 +++- .../service/devices/huami/HuamiActivityDetailsParser.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java index 33eb1bbee..481ea7570 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java @@ -130,7 +130,9 @@ public class GPXExporter implements ActivityTrackExporter { // lon and lat attributes do not have an explicit namespace ser.attribute(null, "lon", formatLocation(location.getLongitude())); ser.attribute(null, "lat", formatLocation(location.getLatitude())); - ser.startTag(NS_GPX_URI, "ele").text(formatLocation(location.getAltitude())).endTag(NS_GPX_URI, "ele"); + if (location.getAltitude() != -20000) { + ser.startTag(NS_GPX_URI, "ele").text(formatLocation(location.getAltitude())).endTag(NS_GPX_URI, "ele"); + } ser.startTag(NS_GPX_URI, "time").text(DateTimeUtils.formatIso8601UTC(point.getTime())).endTag(NS_GPX_URI, "time"); String description = point.getDescription(); if (description != null) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiActivityDetailsParser.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiActivityDetailsParser.java index 6e8b93f13..4f2861a9e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiActivityDetailsParser.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiActivityDetailsParser.java @@ -179,7 +179,9 @@ public class HuamiActivityDetailsParser { baseLongitude += longitudeDelta; baseLatitude += latitudeDelta; - baseAltitude += altitudeDelta; + if (baseAltitude != -20000) { + baseAltitude += altitudeDelta; + } GPSCoordinate coordinate = new GPSCoordinate( convertHuamiValueToDecimalDegrees(baseLongitude),