package org.osmdroid;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
public class SensorEventListenerProxy implements SensorEventListener {
private final SensorManager mSensorManager;
private SensorEventListener mListener = null;
public SensorEventListenerProxy(final SensorManager pSensorManager) {
mSensorManager = pSensorManager;
}
public boolean startListening(final SensorEventListener pListener, final int pSensorType,
final int pRate) {
final Sensor sensor = mSensorManager.getDefaultSensor(pSensorType);
if (sensor == null)
return false;
mListener = pListener;
return mSensorManager.registerListener(this, sensor, pRate);
}
public void stopListening() {
mListener = null;
mSensorManager.unregisterListener(this);
}
@Override
public void onAccuracyChanged(final Sensor pSensor, final int pAccuracy) {
if (mListener != null) {
mListener.onAccuracyChanged(pSensor, pAccuracy);
}
}
@Override
public void onSensorChanged(final SensorEvent pEvent) {
if (mListener != null) {
mListener.onSensorChanged(pEvent);
}
}
}