import 'package:collection/collection.dart'; import 'package:local_auth/local_auth.dart'; class BiometricStatus { final List availableBiometrics; final bool canAuthenticate; const BiometricStatus({ required this.availableBiometrics, required this.canAuthenticate, }); @override String toString() => 'BiometricStatus(availableBiometrics: $availableBiometrics, canAuthenticate: $canAuthenticate)'; BiometricStatus copyWith({ List? availableBiometrics, bool? canAuthenticate, }) { return BiometricStatus( availableBiometrics: availableBiometrics ?? this.availableBiometrics, canAuthenticate: canAuthenticate ?? this.canAuthenticate, ); } @override bool operator ==(covariant BiometricStatus other) { if (identical(this, other)) return true; final listEquals = const DeepCollectionEquality().equals; return listEquals(other.availableBiometrics, availableBiometrics) && other.canAuthenticate == canAuthenticate; } @override int get hashCode => availableBiometrics.hashCode ^ canAuthenticate.hashCode; }