dispose method

  1. @override
  2. @mustCallSuper
void dispose()
override

Disposes this ValueListenable. Successive calls to this method will be ignored.

The single source of truth for "is this disposed?" is WeakChangeNotifier.isDisposed. Subclasses must consult that getter rather than maintaining their own flag.

Implementation

@override
@mustCallSuper
void dispose() {
  if (!isDisposed) {
    super.dispose();
    try {
      onAfterDispose?.call();
    } catch (e) {
      Log.err(e, tags: {#df_pod});
    }
  } else {
    Log.alert('Tried to dispose a Pod again!', tags: {#df_pod});
  }
}