mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-06-05 21:49:48 +02:00
Huami: Persist workout raw details even if gpx has no points
This commit is contained in:
@@ -123,19 +123,23 @@ public class FetchSportsDetailsOperation extends AbstractFetchOperation {
|
|||||||
String fileName = FileUtils.makeValidFileName("gadgetbridge-" + trackType.toLowerCase() + "-" + DateTimeUtils.formatIso8601(summary.getStartTime()) + ".gpx");
|
String fileName = FileUtils.makeValidFileName("gadgetbridge-" + trackType.toLowerCase() + "-" + DateTimeUtils.formatIso8601(summary.getStartTime()) + ".gpx");
|
||||||
File targetFile = new File(FileUtils.getExternalFilesDir(), fileName);
|
File targetFile = new File(FileUtils.getExternalFilesDir(), fileName);
|
||||||
|
|
||||||
|
boolean exportGpxSuccess = true;
|
||||||
try {
|
try {
|
||||||
exporter.performExport(track, targetFile);
|
exporter.performExport(track, targetFile);
|
||||||
|
|
||||||
try (DBHandler dbHandler = GBApplication.acquireDB()) {
|
|
||||||
summary.setGpxTrack(targetFile.getAbsolutePath());
|
|
||||||
if (rawBytesPath != null) {
|
|
||||||
summary.setRawDetailsPath(rawBytesPath);
|
|
||||||
}
|
|
||||||
dbHandler.getDaoSession().getBaseActivitySummaryDao().update(summary);
|
|
||||||
}
|
|
||||||
} catch (ActivityTrackExporter.GPXTrackEmptyException ex) {
|
} catch (ActivityTrackExporter.GPXTrackEmptyException ex) {
|
||||||
|
exportGpxSuccess = false;
|
||||||
GB.toast(getContext(), "This activity does not contain GPX tracks.", Toast.LENGTH_LONG, GB.ERROR, ex);
|
GB.toast(getContext(), "This activity does not contain GPX tracks.", Toast.LENGTH_LONG, GB.ERROR, ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try (DBHandler dbHandler = GBApplication.acquireDB()) {
|
||||||
|
if (exportGpxSuccess) {
|
||||||
|
summary.setGpxTrack(targetFile.getAbsolutePath());
|
||||||
|
}
|
||||||
|
if (rawBytesPath != null) {
|
||||||
|
summary.setRawDetailsPath(rawBytesPath);
|
||||||
|
}
|
||||||
|
dbHandler.getDaoSession().getBaseActivitySummaryDao().update(summary);
|
||||||
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
GB.toast(getContext(), "Error getting activity details: " + ex.getMessage(), Toast.LENGTH_LONG, GB.ERROR, ex);
|
GB.toast(getContext(), "Error getting activity details: " + ex.getMessage(), Toast.LENGTH_LONG, GB.ERROR, ex);
|
||||||
parseSuccess = false;
|
parseSuccess = false;
|
||||||
|
Reference in New Issue
Block a user