diff --git a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java index d279df769..5e7a53348 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java @@ -158,6 +158,7 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co } else { if (gpsStatusValue.isGpsStarted()) { recordingStatusConnection.unbindAndStop(this); + recordingStatusConnection.startConnection(this); //TODO We need to stay listening! } else { new TrackRecordingServiceConnection((service, connection) -> { service.tryStartSensors(); diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index 35566dcc9..6c24c7de9 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -125,6 +125,9 @@ public class TrackRecordingService extends Service implements TrackPointCreator. if (isRecording()) { endCurrentTrack(); } + if (isSensorStarted()) { + stopSensors(); + } PreferencesUtils.unregisterOnSharedPreferenceChangeListener(this); @@ -248,6 +251,7 @@ public class TrackRecordingService extends Service implements TrackPointCreator. stopForeground(true); notificationManager.cancelNotification(); wakeLock = SystemUtils.releaseWakeLock(wakeLock); + gpsStatusObservable.postValue(STATUS_GPS_DEFAULT); } @Override