getAvailableBiometrics method

  1. @override
Future<List<BiometricType>> getAvailableBiometrics()
override

Implementation

@override
Future<List<BiometricType>> getAvailableBiometrics() async {
  final result = await _channel.invokeListMethod<String>(
    'getAvailableBiometrics',
  ) ?? [] ;
  _logger.finer('availables = $result');

  final List<BiometricType> biometrics = <BiometricType>[];
  for (final String value in result) {
    switch (value) {
      case 'face':
        biometrics.add(BiometricType.face);
        break;
      case 'fingerprint':
        biometrics.add(BiometricType.fingerprint);
        break;
      case 'iris':
        biometrics.add(BiometricType.iris);
        break;
      case 'weak':
        biometrics.add(BiometricType.weak);
        break;
      case 'strong':
        biometrics.add(BiometricType.strong);
        break;
      case 'undefined':
      // Sentinel value for the case when nothing is enrolled, but hardware
      // support for biometrics is available.
        break;
    }
  }
  return biometrics;
}