check method

Future<void> check(
  1. String rpId
)

Implementation

Future<void> check(String rpId) async {
  final checkpoints = <Checkpoint>[];

  try {
    if (kIsWeb) {
      checkpoints.add(checkRpidValue(rpId, hostname: Uri.base.host));
      checkpoints.add(_checkWebScript());
    } else {
      checkpoints.add(checkRpidValue(rpId));

      if (Platform.isIOS || Platform.isMacOS) {
        if (Platform.isIOS) {
          final iosAvailability =
              (await _platform.getAvailability()) as AvailabilityTypeIOS;
          final iosCheck = await _checkIosAvailability(iosAvailability);
          if (iosCheck != null) {
            checkpoints.add(iosCheck);
          }
        }
        checkpoints.add(await _checkAASAFile(rpId));
      } else if (Platform.isAndroid) {
        checkpoints.add(await _checkAssetLinks(rpId));
      } else if (Platform.isWindows) {
        checkpoints.add(await _checkWindows());
      }
    }
  } on DoctorException catch (e) {
    // If a DoctorException is thrown, it means that the blocking checkpoint
    // is failing. We add it to the list of checkpoints and return it.
    checkpoints.add(e.blockingCheckpoint);
  }

  _checkpoints.value = checkpoints;
}