in src/Covi.iOS/Features/Bluetooth/Scanning/PeripheralManager.cs [124:151]
public override void DiscoveredCharacteristic(CBPeripheral peripheral, CBService service, NSError error)
{
var descriptor = peripheral.ToDeviceDescriptor();
if (error != null)
{
_deviceManager.HandleDeviceCommunicationDiscoveredCharacteristicError(descriptor, error.LocalizedFailureReason, (d) =>
{
_centralManager.CancelPeripheralConnection(peripheral);
});
return;
}
var characteristic = service.Characteristics?.FirstOrDefault();
if (characteristic != null)
{
_deviceManager.HandleDeviceCommunicationDiscoveredCharacteristic(descriptor, (d) =>
{
peripheral.ReadValue(characteristic);
});
}
else
{
_deviceManager.HandleIncorrectDevice(descriptor);
_centralManager.CancelPeripheralConnection(peripheral);
}
}