import '../assets/constants.dart' as constants; class Settings { final String exportDirectoryPath; final bool alwaysExportEnabled; Settings._({ required this.exportDirectoryPath, required this.alwaysExportEnabled, }); Map toJson() { return { 'exportDirectoryPath': exportDirectoryPath, 'alwaysExportEnabled': alwaysExportEnabled, }; } factory Settings.fromJson(Map json) { return Settings._( exportDirectoryPath: json['exportDirectoryPath'] as String, alwaysExportEnabled: json['alwaysExportEnabled'] as bool, ); } factory Settings.defaults() { return Settings._( exportDirectoryPath: constants.defaultAndroidExportDirectory, alwaysExportEnabled: false, ); } Settings copyWith({String? exportDirectoryPath, bool? alwaysExportEnabled}) { return Settings._( exportDirectoryPath: exportDirectoryPath ?? this.exportDirectoryPath, alwaysExportEnabled: alwaysExportEnabled ?? this.alwaysExportEnabled, ); } }