Revert "fix NPE at null barometer after unregister listener"

This reverts commit 5dbd17f3bb.
This commit is contained in:
Dennis Guse
2023-12-25 21:40:22 +01:00
parent 826cf0d468
commit 2fe452c77c
@@ -13,7 +13,7 @@ import java.util.concurrent.TimeUnit;
import de.dennisguse.opentracks.data.models.AtmosphericPressure; import de.dennisguse.opentracks.data.models.AtmosphericPressure;
import de.dennisguse.opentracks.sensors.GainManager; import de.dennisguse.opentracks.sensors.GainManager;
public class BarometerInternal implements SensorEventListener { public class BarometerInternal {
private static final String TAG = BarometerInternal.class.getSimpleName(); private static final String TAG = BarometerInternal.class.getSimpleName();
@@ -21,20 +21,22 @@ public class BarometerInternal implements SensorEventListener {
private GainManager observer; private GainManager observer;
@Override private final SensorEventListener listener = new SensorEventListener() {
public void onSensorChanged(SensorEvent event) { @Override
if (!isConnected()) { public void onSensorChanged(SensorEvent event) {
Log.w(TAG, "Not connected to sensor, cannot process data."); if (!isConnected()) {
return; Log.w(TAG, "Not connected to sensor, cannot process data.");
return;
}
observer.onSensorValueChanged(AtmosphericPressure.ofHPA(event.values[0]));
} }
observer.onSensorValueChanged(AtmosphericPressure.ofHPA(event.values[0])); @Override
} public void onAccuracyChanged(Sensor sensor, int accuracy) {
Log.w(TAG, "Sensor accuracy changes are (currently) ignored.");
@Override }
public void onAccuracyChanged(Sensor sensor, int accuracy) { };
Log.w(TAG, "Sensor accuracy changes are (currently) ignored.");
}
public void connect(Context context, Handler handler, GainManager observer) { public void connect(Context context, Handler handler, GainManager observer) {
SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
@@ -45,7 +47,7 @@ public class BarometerInternal implements SensorEventListener {
return; return;
} }
if (sensorManager.registerListener(this, pressureSensor, SAMPLING_PERIOD, handler)) { if (sensorManager.registerListener(listener, pressureSensor, SAMPLING_PERIOD, handler)) {
this.observer = observer; this.observer = observer;
return; return;
} }
@@ -55,7 +57,7 @@ public class BarometerInternal implements SensorEventListener {
public void disconnect(Context context) { public void disconnect(Context context) {
SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
sensorManager.unregisterListener(this); sensorManager.unregisterListener(listener);
observer = null; observer = null;
} }