refresh method

Future<void> refresh()

Implementation

Future<void> refresh() async {
  checkNotClosed();

  if (!refreshing_) {
    refreshing_ = true;
    refreshFuture_ = Completer<void>();

    dataProvider_.getContextData().future.then((data) {
      setData(data);
      refreshing_ = false;
      refreshFuture_!.complete();
      logEvent(EventType.refresh, data);
    }).catchError((error) {
      refreshing_ = false;
      refreshFuture_!.completeError(error);
      logError(error);
    });
  }

  if (refreshFuture_ != null) {
    return refreshFuture_!.future;
  }

  return Future.value();
}