Select Git revision
settings_activity.dart
Benoît Harrault authored
settings_activity.dart 1.80 KiB
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:momomotus/config/default_activity_settings.dart';
class ActivitySettings {
final String lang;
final String length;
final String level;
ActivitySettings({
required this.lang,
required this.length,
required this.level,
});
static String getLangValueFromUnsafe(String lang) {
if (DefaultActivitySettings.allowedLangValues.contains(lang)) {
return lang;
}
return DefaultActivitySettings.defaultLangValue;
}
static String getLengthValueFromUnsafe(String length) {
if (DefaultActivitySettings.allowedLengthValues.contains(length)) {
return length;
}
return DefaultActivitySettings.defaultLengthValue;
}
static String getLevelValueFromUnsafe(String level) {
if (DefaultActivitySettings.allowedLevelValues.contains(level)) {
return level;
}
return DefaultActivitySettings.defaultLevelValue;
}
factory ActivitySettings.createDefault() {
return ActivitySettings(
lang: DefaultActivitySettings.defaultLangValue,
length: DefaultActivitySettings.defaultLengthValue,
level: DefaultActivitySettings.defaultLevelValue,
);
}
void dump() {
printlog('$ActivitySettings:');
printlog(' ${DefaultActivitySettings.parameterCodeLang}: $lang');
printlog(' ${DefaultActivitySettings.parameterCodeLength}: $length');
printlog(' ${DefaultActivitySettings.parameterCodeLevel}: $level');
printlog('');
}
@override
String toString() {
return '$ActivitySettings(${toJson()})';
}
Map<String, dynamic>? toJson() {
return <String, dynamic>{
DefaultActivitySettings.parameterCodeLang: lang,
DefaultActivitySettings.parameterCodeLength: length,
DefaultActivitySettings.parameterCodeLevel: level,
};
}
}