find static method

Stream<DialScreen> find({
  1. bool silent = true,
})

Implementation

static Stream<DialScreen> find({
  bool silent: true
}) async* {
  var discovery = DeviceDiscoverer();
  var ids = Set<String?>();

  await for (DiscoveredClient client in discovery.quickDiscoverClients(
    timeout: const Duration(seconds: 5),
    query: CommonDevices.DIAL
  )) {
    if (ids.contains(client.usn)) {
      continue;
    }
    ids.add(client.usn);

    try {
      var dev = await client.getDevice();
      yield DialScreen(
        Uri.parse(Uri.parse(client.location).origin),
        dev.friendlyName
      );
    } catch (e) {
      if (!silent) {
        rethrow;
      }
    }
  }
}