refresh method

Future<void> refresh()

Implementation

Future<void> refresh() async {
  final keyPath = _keyPath;
  if (keyPath == null || keyPath.isEmpty) {
    _events = <CatalogActivityEvent>[];
    _error = null;
    _loading = false;
    notifyListeners();
    return;
  }

  final requestGeneration = ++_requestGeneration;
  _loading = true;
  _error = null;
  notifyListeners();
  try {
    final events = await _client.loadActivity(keyPath: keyPath);
    if (requestGeneration != _requestGeneration) {
      return;
    }
    _events = events;
  } catch (error) {
    if (requestGeneration != _requestGeneration) {
      return;
    }
    _error = error.toString();
  } finally {
    if (requestGeneration == _requestGeneration) {
      _loading = false;
      notifyListeners();
    }
  }
}