Files
OpenTracks/src/main/java/de/dennisguse/opentracks/sensors/AltitudeChangeHandler.java
T

51 lines
1.5 KiB
Java

package de.dennisguse.opentracks.sensors;
import androidx.annotation.NonNull;
import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.data.models.AtmosphericPressure;
import de.dennisguse.opentracks.sensors.driver.BarometerBluetooth;
import de.dennisguse.opentracks.sensors.driver.BarometerInternal;
import de.dennisguse.opentracks.sensors.driver.BluetoothDriver;
import de.dennisguse.opentracks.sensors.driver.Driver;
import de.dennisguse.opentracks.sensors.sensorData.Aggregator;
import de.dennisguse.opentracks.sensors.sensorData.AggregatorBarometer;
/**
* Estimates the altitude gain and altitude loss using the device's pressure sensor (i.e., barometer).
*/
//TODO Rename class
public class AltitudeChangeHandler extends SensorHandler<AtmosphericPressure> {
public AltitudeChangeHandler(SensorManager sensorManager) {
super(sensorManager);
}
@Override
protected int getSensorPreferenceKey() {
return R.string.settings_sensor_bluetooth_pressure_key;
}
@NonNull
@Override
protected Driver createDriverInternal() {
return new BarometerInternal(driverObserver);
}
@NonNull
@Override
protected Driver createDriverBluetooth(String address) {
return new BluetoothDriver<>(
BluetoothUtils.getAdapter(getContext()),
driverObserver,
new BarometerBluetooth()
);
}
@NonNull
@Override
public Aggregator<AtmosphericPressure, ?> createAggregator() {
return new AggregatorBarometer("", null);
}
}