convertNetworkListBytes static method

List<WifiNetwork> convertNetworkListBytes(
  1. Uint8List bytes
)

Implementation

static List<WifiNetwork> convertNetworkListBytes(Uint8List bytes) {
  int currentIndex = 0;
  final networks = <WifiNetwork>[];
  while (currentIndex < bytes.length) {
    final meta = bytes[currentIndex];
    final isSecure = (meta & 0x80) != 0;
    final signalStrength = meta & 0x7F;

    int nullIndex = currentIndex + 1;
    while (nullIndex < bytes.length && bytes[nullIndex] != 0) {
      nullIndex++;
    }
    final ssid = utf8.decode(bytes.sublist(currentIndex + 1, nullIndex));

    networks.add(WifiNetwork(
      ssid: ssid,
      signalStrength: signalStrength,
      isSecure: isSecure,
    ));
    currentIndex = nullIndex + 1;
  }
  return networks;
}