put<T> method

  1. @override
FutureOr<bool> put<T>(
  1. String key,
  2. T val
)
override

Set a preference value, always trigger a change

Implementation

@override
FutureOr<bool> put<T>(String key, T val) async {
  if (val == null) {
    return remove(key);
  } else if (val is bool) {
    if (await sharedPreferences.setBool('$prefix$key', val)) {
      return super.put<T>(key, val);
    }
  } else if (val is double) {
    if (await sharedPreferences.setDouble('$prefix$key', val)) {
      return super.put<T>(key, val);
    }
  } else if (val is int) {
    if (await sharedPreferences.setInt('$prefix$key', val)) {
      return super.put<T>(key, val);
    }
  } else if (val is String) {
    if (await sharedPreferences.setString('$prefix$key', val)) {
      return super.put<T>(key, val);
    }
  } else if (val is List<String>) {
    if (await sharedPreferences.setStringList('$prefix$key', val)) {
      return super.put<T>(key, val);
    }
  }
  return false;
}