dispose method

  1. @override
void dispose()
override

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Implementation

@override
void dispose() {
  if (!_disposed) {
    _disposed = true;

    _changeTokenRegistration?.dispose();

    for (var registration in _providerRegistrations) {
      try {
        if (registration.shouldDispose) {
          registration.provider.dispose();
        }
        // ignore: empty_catches
      } catch (e) {
        // Swallow exceptions on dispose
      }
    }
  }
}