Move GPSManager into SensorManager.

Includes Bugfix: SensorManager might not have been stopped.

Part of #1424.
This commit is contained in:
Dennis Guse
2023-05-27 13:22:33 +02:00
parent 1657bf5ec1
commit f336a1da12
5 changed files with 26 additions and 82 deletions
@@ -9,6 +9,7 @@ import androidx.annotation.VisibleForTesting;
import de.dennisguse.opentracks.data.models.TrackPoint;
import de.dennisguse.opentracks.sensors.sensorData.SensorData;
import de.dennisguse.opentracks.sensors.sensorData.SensorDataSet;
import de.dennisguse.opentracks.services.handlers.GPSManager;
import de.dennisguse.opentracks.services.handlers.TrackPointCreator;
public class SensorManager {
@@ -40,14 +41,20 @@ public class SensorManager {
private AltitudeSumManager altitudeSumManager;
public SensorManager(Context context, Handler handler, TrackPointCreator observer) {
private GPSManager gpsManager;
public SensorManager(TrackPointCreator observer) {
this.observer = observer;
bluetoothSensorManager = new BluetoothRemoteSensorManager(context, handler, listener);
altitudeSumManager = new AltitudeSumManager();
}
public void start(Context context, Handler handler) {
gpsManager = new GPSManager(observer); //TODO Pass listener
gpsManager.start(context, handler);
bluetoothSensorManager = new BluetoothRemoteSensorManager(context, handler, listener);
bluetoothSensorManager.start(context, handler);
altitudeSumManager = new AltitudeSumManager();
altitudeSumManager.start(context, handler);
}
@@ -62,6 +69,11 @@ public class SensorManager {
altitudeSumManager = null;
}
if (gpsManager != null) {
gpsManager.stop(context);
gpsManager = null;
}
sensorDataSet.clear();
}
@@ -86,6 +98,10 @@ public class SensorManager {
return bluetoothSensorManager;
}
public GPSManager getGpsManager() {
return gpsManager;
}
@Deprecated
@VisibleForTesting
public AltitudeSumManager getAltitudeSumManager() {