connectToDevice method
Conecta a un dispositivo especĂfico
Implementation
Future<bool> connectToDevice(String deviceId, String deviceName) async {
if (!_isInitialized) {
await initialize();
}
try {
_updateState(ScreenSharingState.connecting);
final result = await _channel.invokeMethod('connectToDevice', {
'deviceId': deviceId,
'deviceName': deviceName,
});
if (result == true) {
_updateState(ScreenSharingState.connected);
_deviceController.add({
'id': deviceId,
'name': deviceName,
'connected': true,
'timestamp': DateTime.now().millisecondsSinceEpoch,
});
return true;
} else {
_updateState(ScreenSharingState.error);
return false;
}
} catch (e) {
_errorController.add('Error conectando: $e');
// Si es un MissingPluginException, usar fallback
if (e.toString().contains('MissingPluginException')) {
_updateState(ScreenSharingState.connected);
_deviceController.add({
'id': deviceId,
'name': deviceName,
'connected': true,
'timestamp': DateTime.now().millisecondsSinceEpoch,
});
return true;
}
_updateState(ScreenSharingState.error);
return false;
}
}