mirror of
https://github.com/immich-app/immich.git
synced 2025-08-08 22:29:41 +02:00
* chore: bump dart sdk to 3.8 * chore: make build * make pigeon * chore: format files --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
30 lines
1.1 KiB
Dart
30 lines
1.1 KiB
Dart
import 'package:collection/collection.dart';
|
|
import 'package:local_auth/local_auth.dart';
|
|
|
|
class BiometricStatus {
|
|
final List<BiometricType> availableBiometrics;
|
|
final bool canAuthenticate;
|
|
|
|
const BiometricStatus({required this.availableBiometrics, required this.canAuthenticate});
|
|
|
|
@override
|
|
String toString() => 'BiometricStatus(availableBiometrics: $availableBiometrics, canAuthenticate: $canAuthenticate)';
|
|
|
|
BiometricStatus copyWith({List<BiometricType>? 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;
|
|
}
|