continueVerification method

Future<void> continueVerification(
  1. String type, {
  2. Uint8List? qrDataRawBytes,
})

Once you get a ready event, i.e both sides are in a askChoice state, send either m.reciprocate.v1 or m.sas.v1 here. If you continue with qr, send the qrData you just scanned

Implementation

Future<void> continueVerification(
  String type, {
  Uint8List? qrDataRawBytes,
}) async {
  bool qrChecksOut = false;
  if (possibleMethods.contains(type)) {
    if (qrDataRawBytes != null) {
      qrChecksOut = await verifyQrData(qrDataRawBytes);
      // after this scanners state is done
    }
    if (type != EventTypes.Reciprocate || qrChecksOut) {
      final method = _method = _makeVerificationMethod(type, this);
      await method.sendStart();
      if (type == EventTypes.Sas) {
        setState(KeyVerificationState.waitingAccept);
      }
    } else if (type == EventTypes.Reciprocate && !qrChecksOut) {
      Logs().e('[KeyVerification] qr did not check out');
      await cancel('m.invalid_key');
    }
  } else {
    Logs().e(
      '[KeyVerification] tried to continue verification with a unknown method',
    );
    await cancel('m.unknown_method');
  }
}