From 52228d44a9f1c119c5dd9d30913136d4cb447cd7 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sun, 19 Dec 2021 22:38:50 +0100 Subject: [PATCH] Cleanup. --- .../sensors/BluetoothConnectionManager.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothConnectionManager.java b/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothConnectionManager.java index 3479512c3..4731f3d0e 100644 --- a/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothConnectionManager.java +++ b/src/main/java/de/dennisguse/opentracks/services/sensors/BluetoothConnectionManager.java @@ -226,15 +226,19 @@ public abstract class BluetoothConnectionManager { @Override protected SensorDataCycling.DistanceSpeed parsePayload(String sensorName, String address, BluetoothGattCharacteristic characteristic) { SensorDataCycling.CadenceAndSpeed cadenceAndSpeed = BluetoothUtils.parseCyclingCrankAndWheel(address, sensorName, characteristic); - if (cadenceAndSpeed != null) { - // Workaround for Garmin Speed Sensor 2: provides cadence instead of speed - SensorDataCycling.DistanceSpeed result = cadenceAndSpeed.getDistanceSpeed(); - if (result == null && cadenceAndSpeed.getCadence() != null) { - result = new SensorDataCycling.DistanceSpeed(cadenceAndSpeed.getSensorAddress(), cadenceAndSpeed.getSensorName(), (int) cadenceAndSpeed.getCadence().getCrankRevolutionsCount(), cadenceAndSpeed.getCadence().getCrankRevolutionsTime()); - } - - return result; + if (cadenceAndSpeed == null) { + return null; } + + if (cadenceAndSpeed.getDistanceSpeed() != null) { + return cadenceAndSpeed.getDistanceSpeed(); + } + + // Workaround for Garmin Speed Sensor 2: provides cadence (instead of speed) + if (cadenceAndSpeed.getCadence() != null) { + return new SensorDataCycling.DistanceSpeed(cadenceAndSpeed.getSensorAddress(), cadenceAndSpeed.getSensorName(), (int) cadenceAndSpeed.getCadence().getCrankRevolutionsCount(), cadenceAndSpeed.getCadence().getCrankRevolutionsTime()); + } + return null; } }