getConnectionStatus static method

Future<String> getConnectionStatus()

Get the current WebSocket connection status.

Migration Note: Migrated from platform channels to native Dart implementation. Uses RealtimeRepository to get current connection state. Behavior and signature remain identical for backward compatibility.

Android Reference: CometChat.getConnectionStatus()

Returns connection status as string: "connected", "connecting", "disconnected", "error"

Implementation

static Future<String> getConnectionStatus() async {
  try {
    // Get SDK instance
    final sdk = SdkRegistry.getInstance();

    // Get connection state from realtime repository
    final state = sdk.realtime.connectionState;

    // Convert ConnectionState enum to string matching Android SDK
    switch (state) {
      case sdk_connection.ConnectionState.connected:
        return 'connected';
      case sdk_connection.ConnectionState.connecting:
        return 'connecting';
      case sdk_connection.ConnectionState.disconnected:
        return 'disconnected';
      case sdk_connection.ConnectionState.error:
        return 'error';
      case sdk_connection.ConnectionState.featureThrottled:
        return 'featureThrottled';
      default:
        return 'disconnected';
    }
  } catch (e) {
    throw e;
  }
}