dispose method

  1. @visibleForTesting
void dispose()

Dispose resources (for testing only - don't call in production)

Implementation

@visibleForTesting
void dispose() {
  if (_isDisposed) return;

  _isDisposed = true;
  _isPaused = true;

  _debounceTimer?.cancel();
  _debounceTimer = null;

  _heartbeatTimer?.cancel();
  _heartbeatTimer = null;

  _subscription?.cancel();
  _subscription = null;

  WidgetsBinding.instance.removeObserver(this);

  // Don't close controller - it breaks active listeners
  // Only close in tests

  _isInitialized = false;
  debugPrint('🛑 ConnectivityManager disposed');
}