check method
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;
}