From 8073f12947c23626146da9c6e027e9713cf6a06d Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Thu, 27 Oct 2022 19:31:50 +0200 Subject: [PATCH] Bugfix: prevent crash while stopping recording (race condition). Part of #1328 --- .../dennisguse/opentracks/services/TrackRecordingService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index 8bfd3d660..f0ee43184 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -267,10 +267,11 @@ public class TrackRecordingService extends Service implements TrackPointCreator. @Override public void newGpsStatus(GpsStatusValue gpsStatusValue) { - notificationManager.updateContent(getString(gpsStatusValue.message)); //TODO This check should not be necessary, but prevents a crash; somehow the shutdown is not working correctly as we should not receive a notification then. + // It is likely a race condition as the LocationManager provides location updates without using the Handler. if (gpsStatusObservable != null) { + notificationManager.updateContent(getString(gpsStatusValue.message)); gpsStatusObservable.postValue(gpsStatusValue); } }