persist method
void
persist()
Here the actual storing takes place
This method can be overridden by subclasses in cases where a subclass needs to store e.g. a data type that is not directly suported by shared_preferences. An overriding subclass should make sure that null values are removed from shared_preferences.
Implementation
void persist() {
if (widget.settingsKey == null) {
return;
}
String settingsKey = widget.settingsKey!;
if (value == null) {
prefs.remove(widget.settingsKey!);
return;
}
switch (T) {
case String:
prefs.setString(settingsKey, value as String);
break;
case bool:
prefs.setBool(settingsKey, value as bool);
break;
case int:
prefs.setInt(settingsKey, value as int);
break;
case double:
prefs.setDouble(settingsKey, value as double);
break;
case List:
if (T is List<String>) {
List<String> val = value as List<String>;
prefs.setStringList(settingsKey, val);
}
break;
default:
break;
}
}