select method

Future<void> select(
  1. String? name
)

Selects an environment by name. null goes back to the app default.

Implementation

Future<void> select(String? name) async {
  if (name != null && !names.contains(name)) {
    throw ArgumentError.value(name, 'name', 'Unknown environment');
  }
  await ready;
  if (name == selected) return;
  _selected = name;
  notifyListeners();
  onChanged?.call(name);
  try {
    final prefs = await SharedPreferences.getInstance();
    if (name == null) {
      await prefs.remove(storageKey);
    } else {
      await prefs.setString(storageKey, name);
    }
  } catch (e) {
    _log('could not save environment: $e');
  }
}