enum AppThemeMode { system, light, dark, ugly } class AppSettings { final bool pinRequired; final AppThemeMode themeMode; const AppSettings({required this.pinRequired, required this.themeMode}); AppSettings copyWith({bool? pinRequired, AppThemeMode? themeMode}) { return AppSettings( pinRequired: pinRequired ?? this.pinRequired, themeMode: themeMode ?? this.themeMode, ); } static const AppSettings defaults = AppSettings( pinRequired: false, themeMode: AppThemeMode.system, ); @override bool operator ==(Object other) => identical(this, other) || other is AppSettings && pinRequired == other.pinRequired && themeMode == other.themeMode; @override int get hashCode => Object.hash(pinRequired, themeMode); }