forked from upstream-mirrors/OpenTracks
51 lines
1.5 KiB
Java
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);
|
|
}
|
|
}
|