mirror of
https://github.com/immich-app/immich.git
synced 2025-05-24 01:12:58 -04:00
* feat: locked/private view * feat: locked/private view * feat: mobile lock/private view * feat: mobile lock/private view * merge main * pr feedback * pr feedback * bottom sheet sizing * always lock when navigating away
39 lines
1.1 KiB
Dart
39 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;
|
|
}
|