setDefaultValues method
Set the default preference values
Implementation
Future<bool> setDefaultValues(Map<String, dynamic> values) async {
var result = true;
final keys = getKeys();
for (final key in values.keys) {
if (!keys.contains(key)) {
if (!await put<dynamic>(key, values[key])) {
result = false;
}
} else {
final dynamic value = get<dynamic>(key);
if (value is List) {
if (values[key] is! List) {
if (!await put<dynamic>(key, values[key])) {
result = false;
}
}
} else if (value.runtimeType != values[key].runtimeType) {
if (!await put<dynamic>(key, values[key])) {
result = false;
}
}
}
}
return result;
}