getConnectionStatus method

  1. @override
Future<ConnectionStatus> getConnectionStatus()
override

Get connection status

Implementation

@override
Future<ConnectionStatus> getConnectionStatus() async {
  if (!isSupported) {
    return ConnectionStatus.disconnected;
  }

  try {
    if (Platform.isIOS || Platform.isMacOS) {
      final status = await _iosEngine.getConnectionStatus();
      switch (status) {
        case 'connected':
          return ConnectionStatus.connected;
        case 'connecting':
          return ConnectionStatus.connecting;
        case 'error':
          return ConnectionStatus.error;
        case 'disconnected':
        default:
          return ConnectionStatus.disconnected;
      }
    } else if (Platform.isAndroid) {
      final status = await _androidEngine.getConnectionStatus();
      switch (status) {
        case 'connected':
          return ConnectionStatus.connected;
        case 'connecting':
          return ConnectionStatus.connecting;
        case 'error':
          return ConnectionStatus.error;
        case 'disconnected':
        default:
          return ConnectionStatus.disconnected;
      }
    }
    return ConnectionStatus.disconnected;
  } catch (e) {
    print('LibXray get status error: $e');
    return ConnectionStatus.disconnected;
  }
}