Move AltitudeCorrectionManager to TrackRecordingManager.

Part of #1187.
This commit is contained in:
Dennis Guse
2023-07-31 19:24:56 +02:00
parent e9f24f6bae
commit 0fa0f4b5ec
2 changed files with 7 additions and 13 deletions
@@ -21,6 +21,7 @@ import de.dennisguse.opentracks.data.models.Marker;
import de.dennisguse.opentracks.data.models.Track; import de.dennisguse.opentracks.data.models.Track;
import de.dennisguse.opentracks.data.models.TrackPoint; import de.dennisguse.opentracks.data.models.TrackPoint;
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet; import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
import de.dennisguse.opentracks.services.handlers.AltitudeCorrectionManager;
import de.dennisguse.opentracks.services.handlers.TrackPointCreator; import de.dennisguse.opentracks.services.handlers.TrackPointCreator;
import de.dennisguse.opentracks.settings.PreferencesUtils; import de.dennisguse.opentracks.settings.PreferencesUtils;
import de.dennisguse.opentracks.stats.TrackStatistics; import de.dennisguse.opentracks.stats.TrackStatistics;
@@ -31,9 +32,12 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
private static final String TAG = TrackRecordingManager.class.getSimpleName(); private static final String TAG = TrackRecordingManager.class.getSimpleName();
private static final AltitudeCorrectionManager ALTITUDE_CORRECTION_MANAGER = new AltitudeCorrectionManager();
private final ContentProviderUtils contentProviderUtils; private final ContentProviderUtils contentProviderUtils;
private final Context context; private final Context context;
private Distance recordingDistanceInterval; private Distance recordingDistanceInterval;
private Distance maxRecordingDistance; private Distance maxRecordingDistance;
@@ -118,6 +122,8 @@ class TrackRecordingManager implements SharedPreferences.OnSharedPreferenceChang
tmpTrackStatisticsUpdater.addTrackPoint(current.first); tmpTrackStatisticsUpdater.addTrackPoint(current.first);
ALTITUDE_CORRECTION_MANAGER.correctAltitude(context, current.first);
Track track = contentProviderUtils.getTrack(trackId); //Get copy Track track = contentProviderUtils.getTrack(trackId); //Get copy
if (track == null) { if (track == null) {
Log.w(TAG, "Requesting data if not recording is taking place, should not be done."); Log.w(TAG, "Requesting data if not recording is taking place, should not be done.");
@@ -38,7 +38,6 @@ import de.dennisguse.opentracks.data.models.Track;
import de.dennisguse.opentracks.data.models.TrackPoint; import de.dennisguse.opentracks.data.models.TrackPoint;
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet; import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
import de.dennisguse.opentracks.services.announcement.VoiceAnnouncementManager; import de.dennisguse.opentracks.services.announcement.VoiceAnnouncementManager;
import de.dennisguse.opentracks.services.handlers.AltitudeCorrectionManager;
import de.dennisguse.opentracks.services.handlers.GpsStatusValue; import de.dennisguse.opentracks.services.handlers.GpsStatusValue;
import de.dennisguse.opentracks.services.handlers.TrackPointCreator; import de.dennisguse.opentracks.services.handlers.TrackPointCreator;
import de.dennisguse.opentracks.util.SystemUtils; import de.dennisguse.opentracks.util.SystemUtils;
@@ -91,8 +90,6 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
private VoiceAnnouncementManager voiceAnnouncementManager; private VoiceAnnouncementManager voiceAnnouncementManager;
private TrackRecordingServiceNotificationManager notificationManager; private TrackRecordingServiceNotificationManager notificationManager;
private AltitudeCorrectionManager egm2008CorrectionManager;
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
@@ -104,7 +101,6 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
gpsStatusObservable = new MutableLiveData<>(STATUS_GPS_DEFAULT); gpsStatusObservable = new MutableLiveData<>(STATUS_GPS_DEFAULT);
recordingDataObservable = new MutableLiveData<>(NOT_RECORDING); recordingDataObservable = new MutableLiveData<>(NOT_RECORDING);
egm2008CorrectionManager = new AltitudeCorrectionManager();
trackRecordingManager = new TrackRecordingManager(this); trackRecordingManager = new TrackRecordingManager(this);
trackRecordingManager.start(); trackRecordingManager.start();
trackPointCreator = new TrackPointCreator(this, this, handler); trackPointCreator = new TrackPointCreator(this, this, handler);
@@ -130,8 +126,6 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
notificationManager.stop(); notificationManager.stop();
notificationManager = null; notificationManager = null;
egm2008CorrectionManager = null;
voiceAnnouncementManager.stop(); voiceAnnouncementManager.stop();
voiceAnnouncementManager = null; voiceAnnouncementManager = null;
@@ -304,16 +298,10 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
// Compute temporary track statistics using sensorData and update time. // Compute temporary track statistics using sensorData and update time.
Pair<Track, Pair<TrackPoint, SensorDataSet>> data = trackRecordingManager.getDataForUI(trackPointCreator); Pair<Track, Pair<TrackPoint, SensorDataSet>> data = trackRecordingManager.getDataForUI(trackPointCreator);
if (data == null) {
Log.w(TAG, "Requesting data if not recording is taking place, should not be done.");
return;
}
TrackPoint trackPoint = data.second.first;
egm2008CorrectionManager.correctAltitude(this, trackPoint);
voiceAnnouncementManager.update(this, data.first); voiceAnnouncementManager.update(this, data.first);
recordingDataObservable.postValue(new RecordingData(data.first, trackPoint, data.second.second)); recordingDataObservable.postValue(new RecordingData(data.first, data.second.first, data.second.second));
} }
@VisibleForTesting @VisibleForTesting