getConnectionStatus method

  1. @Deprecated("Use getPrinterEvents instead")
Stream<ConnectionStatus?> getConnectionStatus()

Implementation

@Deprecated("Use getPrinterEvents instead")
Stream<ConnectionStatus?> getConnectionStatus() {
  return _posEventChannelStatus.receiveBroadcastStream().map((event) {
    print('printerEvent: $event');
    if (event is String) {
      try {
        final result = jsonDecode(event);
        if (result is Map<String, dynamic>) {
          if (result['event'] == 'connectionChange') {
            final isConnected = result['isConnected'] as bool;
            DeviceData? deviceData;
            if (result.containsKey('device')) {
              final e = result['device'] as Map<String, dynamic>;
              deviceData = DeviceData(e['name'], e['address'], e['isBle']);
            }

            return ConnectionStatus(isConnected, deviceData);
          }
          return null;
        }
        return null;
      } catch (e, s) {
        log(s.toString());
        return null;
      }
    }
    return null;
  });
}