Skip to content

Commit

Permalink
Revert "fix NPE at null barometer after unregister listener"
Browse files Browse the repository at this point in the history
This reverts commit 5dbd17f.
  • Loading branch information
dennisguse committed Dec 26, 2023
1 parent 826cf0d commit 2fe452c
Showing 1 changed file with 17 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,30 @@
import de.dennisguse.opentracks.data.models.AtmosphericPressure;
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 int SAMPLING_PERIOD = (int) TimeUnit.SECONDS.toMicros(5);

private GainManager observer;

@Override
public void onSensorChanged(SensorEvent event) {
if (!isConnected()) {
Log.w(TAG, "Not connected to sensor, cannot process data.");
return;
}
private final SensorEventListener listener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
if (!isConnected()) {
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) {
SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
Expand All @@ -45,7 +47,7 @@ public void connect(Context context, Handler handler, GainManager observer) {
return;
}

if (sensorManager.registerListener(this, pressureSensor, SAMPLING_PERIOD, handler)) {
if (sensorManager.registerListener(listener, pressureSensor, SAMPLING_PERIOD, handler)) {
this.observer = observer;
return;
}
Expand All @@ -55,7 +57,7 @@ public void connect(Context context, Handler handler, GainManager observer) {

public void disconnect(Context context) {
SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
sensorManager.unregisterListener(this);
sensorManager.unregisterListener(listener);
observer = null;
}

Expand Down

0 comments on commit 2fe452c

Please sign in to comment.