package pl.llp.aircasting.sensor.external;
import pl.llp.aircasting.sensor.AbstractSensor;
import pl.llp.aircasting.sensor.ExternalSensorDescriptor;
import pl.llp.aircasting.sensor.ReaderWorker;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothSocket;
import com.google.common.eventbus.EventBus;
public class ExternalSensor extends AbstractSensor
{
ReaderWorker readerWorker;
public ExternalSensor(ExternalSensorDescriptor descriptor, EventBus eventBus, BluetoothAdapter adapter)
{
super(descriptor, eventBus, adapter);
}
@Override
protected void startWorking()
{
readerWorker.start();
}
@Override
protected void injectSocket(BluetoothSocket socket)
{
LineDataReader reader = new LineDataReader(socket, socket.getRemoteDevice().getAddress());
readerWorker = new ReaderWorker(adapter, device, eventBus, reader);
}
@Override
protected void customStop()
{
if(readerWorker != null)
{
readerWorker.stop();
}
}
}