initialize method

Future<bool> initialize()

Inicializa el servicio de compartir pantalla

Implementation

Future<bool> initialize() async {
  if (_isInitialized) return true;

  try {
    // Configurar el canal de método
    _channel.setMethodCallHandler(_handleMethodCall);

    // Inicializar según la plataforma
    final result = await _channel.invokeMethod('initialize');
    if (result == true) {
      _isInitialized = true;
      _updateState(ScreenSharingState.disconnected);

      return true;
    } else {
      throw Exception('Error inicializando el servicio nativo');
    }
  } catch (e) {
    _errorController.add('Error al inicializar: $e');

    // Si es un MissingPluginException, usar fallback
    if (e.toString().contains('MissingPluginException')) {
      _isInitialized = true;
      _updateState(ScreenSharingState.disconnected);
      return true;
    }

    return false;
  }
}