persist method

void persist()

Here the actual storing takes place

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:
      String? data = serialize();
      if (data != null) {
        prefs.setString(settingsKey, data);
      }
      break;
  }
}