connect static method
Connects to a scanned device.
Implementation
static Future<BrilliantDevice> connect(BrilliantScannedDevice scanned) async {
try {
_log.info("Connecting");
await FlutterBluePlus.stopScan();
await scanned.device.connect(
autoConnect: Platform.isIOS ? true : false,
mtu: null,
);
final connectionState = await scanned.device.connectionState
.firstWhere((event) => event == BluetoothConnectionState.connected)
.timeout(const Duration(seconds: 3));
if (connectionState == BluetoothConnectionState.connected) {
if (Platform.isAndroid) await scanned.device.requestMtu(512);
return await enableServices(scanned.device);
}
throw ("${scanned.device.disconnectReason?.description}");
} catch (error) {
await scanned.device.disconnect();
_log.warning("Couldn't connect. $error");
return Future.error(BrilliantBluetoothException(error.toString()));
}
}